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/server.js
CHANGED
|
@@ -1002,7 +1002,7 @@ ${J}
|
|
|
1002
1002
|
|
|
1003
1003
|
`;break}case"tool":throw new H6({functionality:"tool messages"});default:throw Error(`Unsupported role: ${Y}`)}return X+=`${G}:
|
|
1004
1004
|
`,{prompt:X,stopSequences:[`
|
|
1005
|
-
${Z}:`]}}function pr1({id:$,model:Z,created:G}){return{id:$!=null?$:void 0,modelId:Z!=null?Z:void 0,timestamp:G!=null?new Date(G*1000):void 0}}function tr1($){switch($){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 jn8($){return zn8.some((Z)=>$.startsWith(Z))}function ar1($,Z,G){if($==null)return{};let X={};if($.image_tokens!=null){let Y=Math.floor($.image_tokens/G),Q=$.image_tokens-Y*(G-1);X.imageTokens=Z===G-1?Q:Y}if($.text_tokens!=null){let Y=Math.floor($.text_tokens/G),Q=$.text_tokens-Y*(G-1);X.textTokens=Z===G-1?Q:Y}return X}async function In8($){if(!$)return;if($.type==="url")return ay0($.url);let Z=$.data instanceof Uint8Array?$.data:w9($.data);return new Blob([Z],{type:$.mediaType})}function sr1($){var Z,G,X,Y;if($==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:Q,output_tokens:J}=$,W=(G=(Z=$.input_tokens_details)==null?void 0:Z.cached_tokens)!=null?G:0,K=(Y=(X=$.output_tokens_details)==null?void 0:X.reasoning_tokens)!=null?Y:0;return{inputTokens:{total:Q,noCache:Q-W,cacheRead:W,cacheWrite:void 0},outputTokens:{total:J,text:J-K,reasoning:K},raw:$}}function Hp8($){return JSON.stringify($===void 0?{}:$)}function er1($,Z){if(!Z)return!1;return Z.some((G)=>$.startsWith(G))}async function Np8({prompt:$,toolNameMapping:Z,systemMessageMode:G,providerOptionsName:X,fileIdPrefixes:Y,passThroughUnsupportedFiles:Q=!1,store:J,hasConversation:W=!1,hasPreviousResponseId:K=!1,hasLocalShellTool:w=!1,hasShellTool:U=!1,hasApplyPatchTool:F=!1,customProviderToolNames:H}){var N,B,D,E,L,z,j,P,A,M,S,q,V,t,f,v,Z0,a,B0,O0,W0,J0,s;let A0=[],U0=[],f0=new Set;for(let{role:m0,content:x0}of $)switch(m0){case"system":{switch(G){case"system":{A0.push({role:"system",content:x0});break}case"developer":{A0.push({role:"developer",content:x0});break}case"remove":{U0.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${G}`)}break}case"user":{A0.push({role:"user",content:x0.map((n0,N0)=>{var _0,I0,F0;switch(n0.type){case"text":return{type:"input_text",text:n0.text};case"file":{let Q0=n0.mediaType==="image/*"?"image/jpeg":n0.mediaType;if(Q0.startsWith("image/"))return{type:"input_image",...n0.data instanceof URL?{image_url:n0.data.toString()}:typeof n0.data==="string"&&er1(n0.data,Y)?{file_id:n0.data}:{image_url:`data:${Q0};base64,${p9(n0.data)}`},detail:(I0=(_0=n0.providerOptions)==null?void 0:_0[X])==null?void 0:I0.imageDetail};if(n0.data instanceof URL)return{type:"input_file",file_url:n0.data.toString()};if(Q0!=="application/pdf"&&!Q)throw new H6({functionality:`file part media type ${Q0}`});return{type:"input_file",...typeof n0.data==="string"&&er1(n0.data,Y)?{file_id:n0.data}:{filename:(F0=n0.filename)!=null?F0:Q0==="application/pdf"?`part-${N0}.pdf`:`part-${N0}`,file_data:`data:${Q0};base64,${p9(n0.data)}`}}}}})});break}case"assistant":{let n0={};for(let N0 of x0)switch(N0.type){case"text":{let _0=(N=N0.providerOptions)==null?void 0:N[X],I0=_0==null?void 0:_0.itemId,F0=_0==null?void 0:_0.phase;if(W&&I0!=null)break;if(J&&I0!=null){A0.push({type:"item_reference",id:I0});break}A0.push({role:"assistant",content:[{type:"output_text",text:N0.text}],id:I0,...F0!=null&&{phase:F0}});break}case"tool-call":{let _0=(z=(D=(B=N0.providerOptions)==null?void 0:B[X])==null?void 0:D.itemId)!=null?z:(L=(E=N0.providerMetadata)==null?void 0:E[X])==null?void 0:L.itemId,I0=(S=(P=(j=N0.providerOptions)==null?void 0:j[X])==null?void 0:P.namespace)!=null?S:(M=(A=N0.providerMetadata)==null?void 0:A[X])==null?void 0:M.namespace;if(W&&_0!=null)break;let F0=Z.toProviderToolName(N0.toolName);if(F0==="tool_search"){if(J&&_0!=null){A0.push({type:"item_reference",id:_0});break}let X0=typeof N0.input==="string"?await $g0({text:N0.input,schema:Ic0}):await g$({value:N0.input,schema:Ic0}),S0=X0.call_id!=null?"client":"server";A0.push({type:"tool_search_call",id:_0!=null?_0:N0.toolCallId,execution:S0,call_id:(q=X0.call_id)!=null?q:null,status:"completed",arguments:X0.arguments});break}if(N0.providerExecuted){if(J&&_0!=null)A0.push({type:"item_reference",id:_0});break}if(K&&J&&_0!=null)break;let Q0=w&&F0==="local_shell"||U&&F0==="shell"||F&&F0==="apply_patch"||((V=H==null?void 0:H.has(F0))!=null?V:!1);if(J&&_0!=null&&Q0){A0.push({type:"item_reference",id:_0});break}if(w&&F0==="local_shell"){let X0=await g$({value:N0.input,schema:Uo1});A0.push({type:"local_shell_call",call_id:N0.toolCallId,id:_0,action:{type:"exec",command:X0.action.command,timeout_ms:X0.action.timeoutMs,user:X0.action.user,working_directory:X0.action.workingDirectory,env:X0.action.env}});break}if(U&&F0==="shell"){let X0=await g$({value:N0.input,schema:Ho1});A0.push({type:"shell_call",call_id:N0.toolCallId,id:_0,status:"completed",action:{commands:X0.action.commands,timeout_ms:X0.action.timeoutMs,max_output_length:X0.action.maxOutputLength}});break}if(F&&F0==="apply_patch"){let X0=await g$({value:N0.input,schema:Jo1});A0.push({type:"apply_patch_call",call_id:X0.callId,id:_0,status:"completed",operation:X0.operation});break}if(H==null?void 0:H.has(F0)){A0.push({type:"custom_tool_call",call_id:N0.toolCallId,name:F0,input:typeof N0.input==="string"?N0.input:JSON.stringify(N0.input),id:_0});break}A0.push({type:"function_call",call_id:N0.toolCallId,name:F0,arguments:Hp8(N0.input),...I0!=null&&{namespace:I0}});break}case"tool-result":{if(N0.output.type==="execution-denied"||N0.output.type==="json"&&typeof N0.output.value==="object"&&N0.output.value!=null&&"type"in N0.output.value&&N0.output.value.type==="execution-denied")break;if(W)break;let _0=Z.toProviderToolName(N0.toolName);if(_0==="tool_search"){let I0=(v=(f=(t=N0.providerOptions)==null?void 0:t[X])==null?void 0:f.itemId)!=null?v:N0.toolCallId;if(J)A0.push({type:"item_reference",id:I0});else if(N0.output.type==="json"){let F0=await g$({value:N0.output.value,schema:Rc0});A0.push({type:"tool_search_output",id:I0,execution:"server",call_id:null,status:"completed",tools:F0.tools})}break}if(U&&_0==="shell"){if(N0.output.type==="json"){let I0=await g$({value:N0.output.value,schema:Tc0});A0.push({type:"shell_call_output",call_id:N0.toolCallId,output:I0.output.map((F0)=>({stdout:F0.stdout,stderr:F0.stderr,outcome:F0.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:F0.outcome.exitCode}}))})}break}if(J){let I0=(B0=(a=(Z0=N0.providerOptions)==null?void 0:Z0[X])==null?void 0:a.itemId)!=null?B0:N0.toolCallId;A0.push({type:"item_reference",id:I0})}else U0.push({type:"other",message:`Results for OpenAI tool ${N0.toolName} are not sent to the API when store is false`});break}case"reasoning":{let _0=await A8({provider:X,providerOptions:N0.providerOptions,schema:Bp8}),I0=_0==null?void 0:_0.itemId;if((W||K)&&I0!=null)break;if(I0!=null){let F0=n0[I0];if(J){if(F0===void 0)A0.push({type:"item_reference",id:I0}),n0[I0]={type:"reasoning",id:I0,summary:[]}}else{let Q0=[];if(N0.text.length>0)Q0.push({type:"summary_text",text:N0.text});else if(F0!==void 0)U0.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(N0)}.`});if(F0===void 0)n0[I0]={type:"reasoning",id:I0,encrypted_content:_0==null?void 0:_0.reasoningEncryptedContent,summary:Q0},A0.push(n0[I0]);else if(F0.summary.push(...Q0),(_0==null?void 0:_0.reasoningEncryptedContent)!=null)F0.encrypted_content=_0.reasoningEncryptedContent}}else{let F0=_0==null?void 0:_0.reasoningEncryptedContent;if(F0!=null){let Q0=[];if(N0.text.length>0)Q0.push({type:"summary_text",text:N0.text});A0.push({type:"reasoning",encrypted_content:F0,summary:Q0})}else U0.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(N0)}.`})}break}}break}case"tool":{for(let n0 of x0){if(n0.type==="tool-approval-response"){let F0=n0;if(f0.has(F0.approvalId))continue;if(f0.add(F0.approvalId),J)A0.push({type:"item_reference",id:F0.approvalId});A0.push({type:"mcp_approval_response",approval_request_id:F0.approvalId,approve:F0.approved});continue}let N0=n0.output;if(N0.type==="execution-denied"){if((W0=(O0=N0.providerOptions)==null?void 0:O0.openai)==null?void 0:W0.approvalId)continue}let _0=Z.toProviderToolName(n0.toolName);if(_0==="tool_search"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Rc0});A0.push({type:"tool_search_output",execution:"client",call_id:n0.toolCallId,status:"completed",tools:F0.tools});continue}if(w&&_0==="local_shell"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Fo1});A0.push({type:"local_shell_call_output",call_id:n0.toolCallId,output:F0.output});continue}if(U&&_0==="shell"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Tc0});A0.push({type:"shell_call_output",call_id:n0.toolCallId,output:F0.output.map((Q0)=>({stdout:Q0.stdout,stderr:Q0.stderr,outcome:Q0.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Q0.outcome.exitCode}}))});continue}if(F&&n0.toolName==="apply_patch"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Wo1});A0.push({type:"apply_patch_call_output",call_id:n0.toolCallId,status:F0.status,output:F0.output});continue}if(H==null?void 0:H.has(_0)){let F0;switch(N0.type){case"text":case"error-text":F0=N0.value;break;case"execution-denied":F0=(J0=N0.reason)!=null?J0:"Tool execution denied.";break;case"json":case"error-json":F0=JSON.stringify(N0.value);break;case"content":F0=N0.value.map((Q0)=>{var X0,S0,n,$0,t0;switch(Q0.type){case"text":return{type:"input_text",text:Q0.text};case"image-data":return{type:"input_image",image_url:`data:${Q0.mediaType};base64,${Q0.data}`,detail:(S0=(X0=Q0.providerOptions)==null?void 0:X0[X])==null?void 0:S0.imageDetail};case"image-url":return{type:"input_image",image_url:Q0.url,detail:($0=(n=Q0.providerOptions)==null?void 0:n[X])==null?void 0:$0.imageDetail};case"file-data":return{type:"input_file",filename:(t0=Q0.filename)!=null?t0:"data",file_data:`data:${Q0.mediaType};base64,${Q0.data}`};case"file-url":return{type:"input_file",file_url:Q0.url};default:U0.push({type:"other",message:`unsupported custom tool content part type: ${Q0.type}`});return}}).filter(TD);break;default:F0=""}A0.push({type:"custom_tool_call_output",call_id:n0.toolCallId,output:F0});continue}let I0;switch(N0.type){case"text":case"error-text":I0=N0.value;break;case"execution-denied":I0=(s=N0.reason)!=null?s:"Tool execution denied.";break;case"json":case"error-json":I0=JSON.stringify(N0.value);break;case"content":I0=N0.value.map((F0)=>{var Q0,X0,S0,n,$0;switch(F0.type){case"text":return{type:"input_text",text:F0.text};case"image-data":return{type:"input_image",image_url:`data:${F0.mediaType};base64,${F0.data}`,detail:(X0=(Q0=F0.providerOptions)==null?void 0:Q0[X])==null?void 0:X0.imageDetail};case"image-url":return{type:"input_image",image_url:F0.url,detail:(n=(S0=F0.providerOptions)==null?void 0:S0[X])==null?void 0:n.imageDetail};case"file-data":return{type:"input_file",filename:($0=F0.filename)!=null?$0:"data",file_data:`data:${F0.mediaType};base64,${F0.data}`};case"file-url":return{type:"input_file",file_url:F0.url};default:{U0.push({type:"other",message:`unsupported tool content part type: ${F0.type}`});return}}}).filter(TD);break}A0.push({type:"function_call_output",call_id:n0.toolCallId,output:I0})}break}default:throw Error(`Unsupported role: ${m0}`)}if(!J&&A0.some((m0)=>("type"in m0)&&m0.type==="reasoning"&&m0.encrypted_content==null))U0.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),A0=A0.filter((m0)=>!("type"in m0)||m0.type!=="reasoning"||m0.encrypted_content!=null);return{input:A0,warnings:U0}}function Pc0({finishReason:$,hasFunctionCall:Z}){switch($){case void 0:case null:return Z?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return Z?"tool-calls":"other"}}async function Lp8({tools:$,toolChoice:Z,allowedTools:G,toolNameMapping:X,customProviderToolNames:Y}){var Q,J,W;$=($==null?void 0:$.length)?$:void 0;let K=[];if($==null)return{tools:void 0,toolChoice:void 0,toolWarnings:K};let w=[],U=new Map,F=Y!=null?Y:new Set;for(let N of $)switch(N.type){case"function":{let B=(Q=N.providerOptions)==null?void 0:Q.openai,D=zp8({tool:N,options:B}),E=B==null?void 0:B.namespace;if(E==null)w.push(D);else{let L=U.get(E.name);if(L==null)L={type:"namespace",name:E.name,description:E.description,tools:[]},U.set(E.name,L),w.push(L);else if(L.description!==E.description)throw new H6({functionality:`conflicting descriptions for OpenAI tool namespace "${E.name}"`});L.tools.push(D)}break}case"provider":{switch(N.id){case"openai.file_search":{let B=await g$({value:N.args,schema:vn8});w.push({type:"file_search",vector_store_ids:B.vectorStoreIds,max_num_results:B.maxNumResults,ranking_options:B.ranking?{ranker:B.ranking.ranker,score_threshold:B.ranking.scoreThreshold}:void 0,filters:B.filters});break}case"openai.local_shell":{w.push({type:"local_shell"});break}case"openai.shell":{let B=await g$({value:N.args,schema:nn8});w.push({type:"shell",...B.environment&&{environment:jp8(B.environment)}});break}case"openai.apply_patch":{w.push({type:"apply_patch"});break}case"openai.web_search_preview":{let B=await g$({value:N.args,schema:Gp8});w.push({type:"web_search_preview",search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.web_search":{let B=await g$({value:N.args,schema:an8});w.push({type:"web_search",filters:B.filters!=null?{allowed_domains:B.filters.allowedDomains}:void 0,external_web_access:B.externalWebAccess,search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.code_interpreter":{let B=await g$({value:N.args,schema:Sn8});w.push({type:"code_interpreter",container:B.container==null?{type:"auto",file_ids:void 0}:typeof B.container==="string"?B.container:{type:"auto",file_ids:B.container.fileIds}});break}case"openai.image_generation":{let B=await g$({value:N.args,schema:hn8});w.push({type:"image_generation",background:B.background,input_fidelity:B.inputFidelity,input_image_mask:B.inputImageMask?{file_id:B.inputImageMask.fileId,image_url:B.inputImageMask.imageUrl}:void 0,model:B.model,moderation:B.moderation,partial_images:B.partialImages,quality:B.quality,output_compression:B.outputCompression,output_format:B.outputFormat,size:B.size});break}case"openai.mcp":{let B=await g$({value:N.args,schema:Jp8}),D=(z)=>({tool_names:z.toolNames}),E=B.requireApproval,L=E==null?void 0:typeof E==="string"?E:E.never!=null?{never:D(E.never)}:void 0;w.push({type:"mcp",server_label:B.serverLabel,allowed_tools:Array.isArray(B.allowedTools)?B.allowedTools:B.allowedTools?{read_only:B.allowedTools.readOnly,tool_names:B.allowedTools.toolNames}:void 0,authorization:B.authorization,connector_id:B.connectorId,headers:B.headers,require_approval:L!=null?L:"never",server_description:B.serverDescription,server_url:B.serverUrl});break}case"openai.custom":{let B=await g$({value:N.args,schema:_n8});w.push({type:"custom",name:B.name,description:B.description,format:B.format}),F.add(B.name);break}case"openai.tool_search":{let B=await g$({value:N.args,schema:tn8});w.push({type:"tool_search",...B.execution!=null?{execution:B.execution}:{},...B.description!=null?{description:B.description}:{},...B.parameters!=null?{parameters:B.parameters}:{}});break}}break}default:K.push({type:"unsupported",feature:`function tool ${N}`});break}if(G!=null)return{tools:w,toolChoice:{type:"allowed_tools",mode:(J=G.mode)!=null?J:"auto",tools:G.toolNames.map((N)=>{var B;return{type:"function",name:(B=X==null?void 0:X.toProviderToolName(N))!=null?B:N}})},toolWarnings:K};if(Z==null)return{tools:w,toolChoice:void 0,toolWarnings:K};let H=Z.type;switch(H){case"auto":case"none":case"required":return{tools:w,toolChoice:H,toolWarnings:K};case"tool":{let N=(W=X==null?void 0:X.toProviderToolName(Z.toolName))!=null?W:Z.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}:F.has(N)?{type:"custom",name:N}:{type:"function",name:N},toolWarnings:K}}default:throw new H6({functionality:`tool choice type: ${H}`})}}function zp8({tool:$,options:Z}){let G=Z==null?void 0:Z.deferLoading;return{type:"function",name:$.name,description:$.description,parameters:$.inputSchema,...$.strict!=null?{strict:$.strict}:{},...G!=null?{defer_loading:G}:{}}}function jp8($){if($.type==="containerReference")return{type:"container_reference",container_id:$.containerId};if($.type==="containerAuto"){let G=$;return{type:"container_auto",file_ids:G.fileIds,memory_limit:G.memoryLimit,network_policy:G.networkPolicy==null?void 0:G.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:G.networkPolicy.allowedDomains,domain_secrets:G.networkPolicy.domainSecrets},skills:Pp8(G.skills)}}return{type:"local",skills:$.skills}}function Pp8($){return $==null?void 0:$.map((Z)=>Z.type==="skillReference"?{type:"skill_reference",skill_id:Z.skillId,version:Z.version}:{type:"inline",name:Z.name,description:Z.description,source:{type:"base64",media_type:Z.source.mediaType,data:Z.source.data}})}function Zo1($){var Z,G;let X={};for(let Y of $){if(Y.role!=="assistant")continue;for(let Q of Y.content){if(Q.type!=="tool-call")continue;let J=(G=(Z=Q.providerOptions)==null?void 0:Z.openai)==null?void 0:G.approvalRequestId;if(J!=null)X[J]=Q.toolCallId}}return X}function Tp8($){return $.type==="response.output_text.delta"}function Ip8($){return $.type==="response.output_item.done"}function Rp8($){return $.type==="response.completed"||$.type==="response.incomplete"}function qp8($){return $.type==="response.failed"}function Mp8($){return $.type==="response.created"}function kp8($){return $.type==="response.function_call_arguments.delta"}function Sp8($){return $.type==="response.custom_tool_call_input.delta"}function Vp8($){return $.type==="response.image_generation_call.partial_image"}function Cp8($){return $.type==="response.code_interpreter_call_code.delta"}function _p8($){return $.type==="response.code_interpreter_call_code.done"}function bp8($){return $.type==="response.apply_patch_call_operation_diff.delta"}function fp8($){return $.type==="response.apply_patch_call_operation_diff.done"}function Go1($){return $.type==="response.output_item.added"}function xp8($){return $.type==="response.output_text.annotation.added"}function vp8($){return $.type==="error"}function Xo1($){var Z;if($==null)return{};switch($.type){case"search":return{action:{type:"search",query:(Z=$.query)!=null?Z:void 0,...$.queries!=null&&{queries:$.queries}},...$.sources!=null&&{sources:$.sources}};case"open_page":return{action:{type:"openPage",url:$.url}};case"find_in_page":return{action:{type:"findInPage",url:$.url,pattern:$.pattern}}}}function tD($){return JSON.stringify($).slice(1,-1)}function rD($={}){var Z,G;let X=(Z=_H(FW({settingValue:$.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?Z:"https://api.openai.com/v1",Y=(G=$.name)!=null?G:"openai",Q=()=>t6({Authorization:`Bearer ${rf({apiKey:$.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":$.organization,"OpenAI-Project":$.project,...$.headers},`ai-sdk/openai/${dp8}`),J=(D)=>new Un8(D,{provider:`${Y}.chat`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),W=(D)=>new Bn8(D,{provider:`${Y}.completion`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),K=(D)=>new En8(D,{provider:`${Y}.embedding`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),w=(D)=>new Tn8(D,{provider:`${Y}.image`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),U=(D)=>new up8(D,{provider:`${Y}.transcription`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),F=(D)=>new gp8(D,{provider:`${Y}.speech`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),H=(D)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return N(D)},N=(D)=>{return new Ap8(D,{provider:`${Y}.responses`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch,fileIdPrefixes:["file-"]})},B=function(D){return H(D)};return B.specificationVersion="v3",B.languageModel=H,B.chat=J,B.completion=W,B.responses=N,B.embedding=K,B.embeddingModel=K,B.textEmbedding=K,B.textEmbeddingModel=K,B.image=w,B.imageModel=w,B.transcription=U,B.transcriptionModel=U,B.speech=F,B.speechModel=F,B.tools=Fp8,B}var Mc0,p3,Jn8,Wn8,Kn8,Un8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=$,this.config=Z}get provider(){return this.config.provider}async getArgs({prompt:$,maxOutputTokens:Z,temperature:G,topP:X,topK:Y,frequencyPenalty:Q,presencePenalty:J,stopSequences:W,responseFormat:K,seed:w,tools:U,toolChoice:F,providerOptions:H}){var N,B,D,E,L;let z=[],j=(N=await A8({provider:"openai",providerOptions:H,schema:Kn8}))!=null?N:{},P=Qo1(this.modelId),A=(B=j.forceReasoning)!=null?B:P.isReasoningModel;if(Y!=null)z.push({type:"unsupported",feature:"topK"});let{messages:M,warnings:S}=Qn8({prompt:$,systemMessageMode:(D=j.systemMessageMode)!=null?D:A?"developer":P.systemMessageMode});z.push(...S);let q=(E=j.strictJsonSchema)!=null?E:!0,V={model:this.modelId,logit_bias:j.logitBias,logprobs:j.logprobs===!0||typeof j.logprobs==="number"?!0:void 0,top_logprobs:typeof j.logprobs==="number"?j.logprobs:typeof j.logprobs==="boolean"?j.logprobs?0:void 0:void 0,user:j.user,parallel_tool_calls:j.parallelToolCalls,max_tokens:Z,temperature:G,top_p:X,frequency_penalty:Q,presence_penalty:J,response_format:(K==null?void 0:K.type)==="json"?K.schema!=null?{type:"json_schema",json_schema:{schema:K.schema,strict:q,name:(L=K.name)!=null?L:"response",description:K.description}}:{type:"json_object"}:void 0,stop:W,seed:w,verbosity:j.textVerbosity,max_completion_tokens:j.maxCompletionTokens,store:j.store,metadata:j.metadata,prediction:j.prediction,reasoning_effort:j.reasoningEffort,service_tier:j.serviceTier,prompt_cache_key:j.promptCacheKey,prompt_cache_retention:j.promptCacheRetention,safety_identifier:j.safetyIdentifier,messages:M};if(A){if(j.reasoningEffort!=="none"||!P.supportsNonReasoningParameters){if(V.temperature!=null)V.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(V.top_p!=null)V.top_p=void 0,z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(V.logprobs!=null)V.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(V.frequency_penalty!=null)V.frequency_penalty=void 0,z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(V.presence_penalty!=null)V.presence_penalty=void 0,z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(V.logit_bias!=null)V.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(V.top_logprobs!=null)V.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(V.max_tokens!=null){if(V.max_completion_tokens==null)V.max_completion_tokens=V.max_tokens;V.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(V.temperature!=null)V.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(j.serviceTier==="flex"&&!P.supportsFlexProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),V.service_tier=void 0;if(j.serviceTier==="priority"&&!P.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"}),V.service_tier=void 0;let{tools:t,toolChoice:f,toolWarnings:v}=wn8({tools:U,toolChoice:F});return{args:{...V,tools:t,tool_choice:f},warnings:[...z,...v]}}async doGenerate($){var Z,G,X,Y,Q,J,W;let{args:K,warnings:w}=await this.getArgs($),{responseHeaders:U,value:F,rawValue:H}=await F8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:K,failedResponseHandler:p3,successfulResponseHandler:Z8(Jn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),N=F.choices[0],B=[],D=N.message.content;if(D!=null&&D.length>0)B.push({type:"text",text:D});for(let j of(Z=N.message.tool_calls)!=null?Z:[])B.push({type:"tool-call",toolCallId:(G=j.id)!=null?G:l1(),toolName:j.function.name,input:j.function.arguments});for(let j of(X=N.message.annotations)!=null?X:[])B.push({type:"source",sourceType:"url",id:l1(),url:j.url_citation.url,title:j.url_citation.title});let E=(Y=F.usage)==null?void 0:Y.completion_tokens_details,L=(Q=F.usage)==null?void 0:Q.prompt_tokens_details,z={openai:{}};if((E==null?void 0:E.accepted_prediction_tokens)!=null)z.openai.acceptedPredictionTokens=E==null?void 0:E.accepted_prediction_tokens;if((E==null?void 0:E.rejected_prediction_tokens)!=null)z.openai.rejectedPredictionTokens=E==null?void 0:E.rejected_prediction_tokens;if(((J=N.logprobs)==null?void 0:J.content)!=null)z.openai.logprobs=N.logprobs.content;return{content:B,finishReason:{unified:ir1(N.finish_reason),raw:(W=N.finish_reason)!=null?W:void 0},usage:mr1(F.usage),request:{body:K},response:{...Lc0(F),headers:U,body:H},warnings:w,providerMetadata:z}}async doStream($){let{args:Z,warnings:G}=await this.getArgs($),X={...Z,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:Y,value:Q}=await F8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:X,failedResponseHandler:p3,successfulResponseHandler:b7(Wn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),J=[],W={unified:"other",raw:void 0},K=void 0,w=!1,U=!1,F={openai:{}};return{stream:Q.pipeThrough(new TransformStream({start(H){H.enqueue({type:"stream-start",warnings:G})},transform(H,N){var B,D,E,L,z,j,P,A,M,S,q,V,t,f,v,Z0,a;if($.includeRawChunks)N.enqueue({type:"raw",rawValue:H.rawValue});if(!H.success){W={unified:"error",raw:void 0},N.enqueue({type:"error",error:H.error});return}let B0=H.value;if("error"in B0){W={unified:"error",raw:void 0},N.enqueue({type:"error",error:B0.error});return}if(!w){let J0=Lc0(B0);if(Object.values(J0).some(Boolean))w=!0,N.enqueue({type:"response-metadata",...Lc0(B0)})}if(B0.usage!=null){if(K=B0.usage,((B=B0.usage.completion_tokens_details)==null?void 0:B.accepted_prediction_tokens)!=null)F.openai.acceptedPredictionTokens=(D=B0.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens;if(((E=B0.usage.completion_tokens_details)==null?void 0:E.rejected_prediction_tokens)!=null)F.openai.rejectedPredictionTokens=(L=B0.usage.completion_tokens_details)==null?void 0:L.rejected_prediction_tokens}let O0=B0.choices[0];if((O0==null?void 0:O0.finish_reason)!=null)W={unified:ir1(O0.finish_reason),raw:O0.finish_reason};if(((z=O0==null?void 0:O0.logprobs)==null?void 0:z.content)!=null)F.openai.logprobs=O0.logprobs.content;if((O0==null?void 0:O0.delta)==null)return;let W0=O0.delta;if(W0.content!=null){if(!U)N.enqueue({type:"text-start",id:"0"}),U=!0;N.enqueue({type:"text-delta",id:"0",delta:W0.content})}if(W0.tool_calls!=null)for(let J0 of W0.tool_calls){let s=J0.index;if(J[s]==null){if(J0.type!=null&&J0.type!=="function")throw new mf({data:J0,message:"Expected 'function' type."});if(J0.id==null)throw new mf({data:J0,message:"Expected 'id' to be a string."});if(((j=J0.function)==null?void 0:j.name)==null)throw new mf({data:J0,message:"Expected 'function.name' to be a string."});N.enqueue({type:"tool-input-start",id:J0.id,toolName:J0.function.name}),J[s]={id:J0.id,type:"function",function:{name:J0.function.name,arguments:(P=J0.function.arguments)!=null?P:""},hasFinished:!1};let U0=J[s];if(((A=U0.function)==null?void 0:A.name)!=null&&((M=U0.function)==null?void 0:M.arguments)!=null){if(U0.function.arguments.length>0)N.enqueue({type:"tool-input-delta",id:U0.id,delta:U0.function.arguments});if(Zg0(U0.function.arguments))N.enqueue({type:"tool-input-end",id:U0.id}),N.enqueue({type:"tool-call",toolCallId:(S=U0.id)!=null?S:l1(),toolName:U0.function.name,input:U0.function.arguments}),U0.hasFinished=!0}continue}let A0=J[s];if(A0.hasFinished)continue;if(((q=J0.function)==null?void 0:q.arguments)!=null)A0.function.arguments+=(t=(V=J0.function)==null?void 0:V.arguments)!=null?t:"";if(N.enqueue({type:"tool-input-delta",id:A0.id,delta:(f=J0.function.arguments)!=null?f:""}),((v=A0.function)==null?void 0:v.name)!=null&&((Z0=A0.function)==null?void 0:Z0.arguments)!=null&&Zg0(A0.function.arguments))N.enqueue({type:"tool-input-end",id:A0.id}),N.enqueue({type:"tool-call",toolCallId:(a=A0.id)!=null?a:l1(),toolName:A0.function.name,input:A0.function.arguments}),A0.hasFinished=!0}if(W0.annotations!=null)for(let J0 of W0.annotations)N.enqueue({type:"source",sourceType:"url",id:l1(),url:J0.url_citation.url,title:J0.url_citation.title})},flush(H){if(U)H.enqueue({type:"text-end",id:"0"});H.enqueue({type:"finish",finishReason:W,usage:mr1(K),...F!=null?{providerMetadata:F}:{}})}})),request:{body:X},response:{headers:Y}}}},Hn8,Nn8,rr1,Bn8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={},this.modelId=$,this.config=Z}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:$,maxOutputTokens:Z,temperature:G,topP:X,topK:Y,frequencyPenalty:Q,presencePenalty:J,stopSequences:W,responseFormat:K,tools:w,toolChoice:U,seed:F,providerOptions:H}){let N=[],B={...await A8({provider:"openai",providerOptions:H,schema:rr1}),...await A8({provider:this.providerOptionsName,providerOptions:H,schema:rr1})};if(Y!=null)N.push({type:"unsupported",feature:"topK"});if(w==null?void 0:w.length)N.push({type:"unsupported",feature:"tools"});if(U!=null)N.push({type:"unsupported",feature:"toolChoice"});if(K!=null&&K.type!=="text")N.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:D,stopSequences:E}=Fn8({prompt:$}),L=[...E!=null?E:[],...W!=null?W:[]];return{args:{model:this.modelId,echo:B.echo,logit_bias:B.logitBias,logprobs:(B==null?void 0:B.logprobs)===!0?0:(B==null?void 0:B.logprobs)===!1?void 0:B==null?void 0:B.logprobs,suffix:B.suffix,user:B.user,max_tokens:Z,temperature:G,top_p:X,frequency_penalty:Q,presence_penalty:J,seed:F,prompt:D,stop:L.length>0?L:void 0},warnings:N}}async doGenerate($){var Z;let{args:G,warnings:X}=await this.getArgs($),{responseHeaders:Y,value:Q,rawValue:J}=await F8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:G,failedResponseHandler:p3,successfulResponseHandler:Z8(Hn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),W=Q.choices[0],K={openai:{}};if(W.logprobs!=null)K.openai.logprobs=W.logprobs;return{content:[{type:"text",text:W.text}],usage:nr1(Q.usage),finishReason:{unified:tr1(W.finish_reason),raw:(Z=W.finish_reason)!=null?Z:void 0},request:{body:G},response:{...pr1(Q),headers:Y,body:J},providerMetadata:K,warnings:X}}async doStream($){let{args:Z,warnings:G}=await this.getArgs($),X={...Z,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:Y,value:Q}=await F8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:X,failedResponseHandler:p3,successfulResponseHandler:b7(Nn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),J={unified:"other",raw:void 0},W={openai:{}},K=void 0,w=!0;return{stream:Q.pipeThrough(new TransformStream({start(U){U.enqueue({type:"stream-start",warnings:G})},transform(U,F){if($.includeRawChunks)F.enqueue({type:"raw",rawValue:U.rawValue});if(!U.success){J={unified:"error",raw:void 0},F.enqueue({type:"error",error:U.error});return}let H=U.value;if("error"in H){J={unified:"error",raw:void 0},F.enqueue({type:"error",error:H.error});return}if(w)w=!1,F.enqueue({type:"response-metadata",...pr1(H)}),F.enqueue({type:"text-start",id:"0"});if(H.usage!=null)K=H.usage;let N=H.choices[0];if((N==null?void 0:N.finish_reason)!=null)J={unified:tr1(N.finish_reason),raw:N.finish_reason};if((N==null?void 0:N.logprobs)!=null)W.openai.logprobs=N.logprobs;if((N==null?void 0:N.text)!=null&&N.text.length>0)F.enqueue({type:"text-delta",id:"0",delta:N.text})},flush(U){if(!w)U.enqueue({type:"text-end",id:"0"});U.enqueue({type:"finish",finishReason:J,providerMetadata:W,usage:nr1(K)})}})),request:{body:X},response:{headers:Y}}}},On8,Dn8,En8=class{constructor($,Z){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=$,this.config=Z}get provider(){return this.config.provider}async doEmbed({values:$,headers:Z,abortSignal:G,providerOptions:X}){var Y;if($.length>this.maxEmbeddingsPerCall)throw new nf({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:$});let Q=(Y=await A8({provider:"openai",providerOptions:X,schema:On8}))!=null?Y:{},{responseHeaders:J,value:W,rawValue:K}=await F8({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:p$(this.config.headers(),Z),body:{model:this.modelId,input:$,encoding_format:"float",dimensions:Q.dimensions,user:Q.user},failedResponseHandler:p3,successfulResponseHandler:Z8(Dn8),abortSignal:G,fetch:this.config.fetch});return{warnings:[],embeddings:W.data.map((w)=>w.embedding),usage:W.usage?{tokens:W.usage.prompt_tokens}:void 0,response:{headers:J,body:K}}}},or1,Ln8,zn8,kc0,s85,Pn8,An8,Tn8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get maxImagesPerCall(){var $;return($=Ln8[this.modelId])!=null?$:1}get provider(){return this.config.provider}async doGenerate({prompt:$,files:Z,mask:G,n:X,size:Y,aspectRatio:Q,seed:J,providerOptions:W,headers:K,abortSignal:w}){var U,F,H,N,B,D,E,L,z,j,P;let A=[];if(Q!=null)A.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(J!=null)A.push({type:"unsupported",feature:"seed"});let M=(H=(F=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:F.call(U))!=null?H:new Date;if(Z!=null){let t=(N=await A8({provider:"openai",providerOptions:W,schema:An8}))!=null?N:{},{value:f,responseHeaders:v}=await N60({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:p$(this.config.headers(),K),formData:di1({model:this.modelId,prompt:$,image:await Promise.all(Z.map((Z0)=>Z0.type==="file"?new Blob([Z0.data instanceof Uint8Array?new Blob([Z0.data],{type:Z0.mediaType}):new Blob([w9(Z0.data)],{type:Z0.mediaType})],{type:Z0.mediaType}):ay0(Z0.url))),mask:G!=null?await In8(G):void 0,n:X,size:Y,quality:t.quality,background:t.background,output_format:t.outputFormat,output_compression:t.outputCompression,input_fidelity:t.inputFidelity,user:t.user}),failedResponseHandler:p3,successfulResponseHandler:Z8(or1),abortSignal:w,fetch:this.config.fetch});return{images:f.data.map((Z0)=>Z0.b64_json),warnings:A,usage:f.usage!=null?{inputTokens:(B=f.usage.input_tokens)!=null?B:void 0,outputTokens:(D=f.usage.output_tokens)!=null?D:void 0,totalTokens:(E=f.usage.total_tokens)!=null?E:void 0}:void 0,response:{timestamp:M,modelId:this.modelId,headers:v},providerMetadata:{openai:{images:f.data.map((Z0,a)=>{var B0,O0,W0,J0,s,A0;return{...Z0.revised_prompt?{revisedPrompt:Z0.revised_prompt}:{},created:(B0=f.created)!=null?B0:void 0,size:(O0=f.size)!=null?O0:void 0,quality:(W0=f.quality)!=null?W0:void 0,background:(J0=f.background)!=null?J0:void 0,outputFormat:(s=f.output_format)!=null?s:void 0,...ar1((A0=f.usage)==null?void 0:A0.input_tokens_details,a,f.data.length)}})}}}}let S=(L=await A8({provider:"openai",providerOptions:W,schema:Pn8}))!=null?L:{},{value:q,responseHeaders:V}=await F8({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:p$(this.config.headers(),K),body:{model:this.modelId,prompt:$,n:X,size:Y,quality:S.quality,style:S.style,background:S.background,moderation:S.moderation,output_format:S.outputFormat,output_compression:S.outputCompression,user:S.user,...!jn8(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:p3,successfulResponseHandler:Z8(or1),abortSignal:w,fetch:this.config.fetch});return{images:q.data.map((t)=>t.b64_json),warnings:A,usage:q.usage!=null?{inputTokens:(z=q.usage.input_tokens)!=null?z:void 0,outputTokens:(j=q.usage.output_tokens)!=null?j:void 0,totalTokens:(P=q.usage.total_tokens)!=null?P:void 0}:void 0,response:{timestamp:M,modelId:this.modelId,headers:V},providerMetadata:{openai:{images:q.data.map((t,f)=>{var v,Z0,a,B0,O0,W0;return{...t.revised_prompt?{revisedPrompt:t.revised_prompt}:{},created:(v=q.created)!=null?v:void 0,size:(Z0=q.size)!=null?Z0:void 0,quality:(a=q.quality)!=null?a:void 0,background:(B0=q.background)!=null?B0:void 0,outputFormat:(O0=q.output_format)!=null?O0:void 0,...ar1((W0=q.usage)==null?void 0:W0.input_tokens_details,f,q.data.length)}})}}}}},Jo1,Wo1,Z65,Rn8,qn8,Mn8,kn8,Sn8,Vn8,Cn8=($={})=>{return Vn8($)},_n8,bn8,fn8,xn8=($)=>fn8($),Ko1,wo1,vn8,yn8,gn8,hn8,cn8,un8,dn8,ln8=($={})=>{return dn8($)},Uo1,Fo1,mn8,Ho1,Tc0,in8,nn8,pn8,tn8,Ic0,Rc0,rn8,on8=($={})=>rn8($),an8,sn8,en8,$p8,Zp8=($={})=>$p8($),Gp8,Xp8,Yp8,Qp8,qc0,Jp8,Wp8,Kp8,wp8,Up8=($)=>wp8($),Fp8,Bp8,em,Op8,Dp8,No1=20,Ep8,C65,$o1,Ap8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=$,this.config=Z}get provider(){return this.config.provider}async getArgs({maxOutputTokens:$,temperature:Z,stopSequences:G,topP:X,topK:Y,presencePenalty:Q,frequencyPenalty:J,seed:W,prompt:K,providerOptions:w,tools:U,toolChoice:F,responseFormat:H}){var N,B,D,E,L,z,j,P,A,M,S;let q=[],V=Qo1(this.modelId);if(Y!=null)q.push({type:"unsupported",feature:"topK"});if(W!=null)q.push({type:"unsupported",feature:"seed"});if(Q!=null)q.push({type:"unsupported",feature:"presencePenalty"});if(J!=null)q.push({type:"unsupported",feature:"frequencyPenalty"});if(G!=null)q.push({type:"unsupported",feature:"stopSequences"});let t=this.config.provider.includes("azure")?"azure":"openai",f=await A8({provider:t,providerOptions:w,schema:$o1});if(f==null&&t!=="openai")f=await A8({provider:"openai",providerOptions:w,schema:$o1});let v=(N=f==null?void 0:f.forceReasoning)!=null?N:V.isReasoningModel;if((f==null?void 0:f.conversation)&&(f==null?void 0:f.previousResponseId))q.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let Z0=U60({tools:U,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:(Q0)=>Q0.id==="openai.custom"?Q0.args.name:void 0}),a=new Set,{tools:B0,toolChoice:O0,toolWarnings:W0}=await Lp8({tools:U,toolChoice:F,allowedTools:(B=f==null?void 0:f.allowedTools)!=null?B:void 0,toolNameMapping:Z0,customProviderToolNames:a}),{input:J0,warnings:s}=await Np8({prompt:K,toolNameMapping:Z0,systemMessageMode:(D=f==null?void 0:f.systemMessageMode)!=null?D:v?"developer":V.systemMessageMode,providerOptionsName:t,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(E=f==null?void 0:f.passThroughUnsupportedFiles)!=null?E:!1,store:(L=f==null?void 0:f.store)!=null?L:!0,hasConversation:(f==null?void 0:f.conversation)!=null,hasPreviousResponseId:(f==null?void 0:f.previousResponseId)!=null,hasLocalShellTool:m0("openai.local_shell"),hasShellTool:m0("openai.shell"),hasApplyPatchTool:m0("openai.apply_patch"),customProviderToolNames:a.size>0?a:void 0});q.push(...s);let A0=(z=f==null?void 0:f.strictJsonSchema)!=null?z:!0,U0=f==null?void 0:f.include;function f0(Q0){if(U0==null)U0=[Q0];else if(!U0.includes(Q0))U0=[...U0,Q0]}function m0(Q0){return(U==null?void 0:U.find((X0)=>X0.type==="provider"&&X0.id===Q0))!=null}let x0=typeof(f==null?void 0:f.logprobs)==="number"?f==null?void 0:f.logprobs:(f==null?void 0:f.logprobs)===!0?No1:void 0;if(x0)f0("message.output_text.logprobs");let n0=(j=U==null?void 0:U.find((Q0)=>Q0.type==="provider"&&(Q0.id==="openai.web_search"||Q0.id==="openai.web_search_preview")))==null?void 0:j.name;if(n0)f0("web_search_call.action.sources");if(m0("openai.code_interpreter"))f0("code_interpreter_call.outputs");let N0=f==null?void 0:f.store;if(N0===!1&&v)f0("reasoning.encrypted_content");let _0={model:this.modelId,input:J0,temperature:Z,top_p:X,max_output_tokens:$,...((H==null?void 0:H.type)==="json"||(f==null?void 0:f.textVerbosity))&&{text:{...(H==null?void 0:H.type)==="json"&&{format:H.schema!=null?{type:"json_schema",strict:A0,name:(P=H.name)!=null?P:"response",description:H.description,schema:H.schema}:{type:"json_object"}},...(f==null?void 0:f.textVerbosity)&&{verbosity:f.textVerbosity}}},conversation:f==null?void 0:f.conversation,max_tool_calls:f==null?void 0:f.maxToolCalls,metadata:f==null?void 0:f.metadata,parallel_tool_calls:f==null?void 0:f.parallelToolCalls,previous_response_id:f==null?void 0:f.previousResponseId,store:N0,user:f==null?void 0:f.user,instructions:f==null?void 0:f.instructions,service_tier:f==null?void 0:f.serviceTier,include:U0,prompt_cache_key:f==null?void 0:f.promptCacheKey,prompt_cache_retention:f==null?void 0:f.promptCacheRetention,safety_identifier:f==null?void 0:f.safetyIdentifier,top_logprobs:x0,truncation:f==null?void 0:f.truncation,...v&&((f==null?void 0:f.reasoningEffort)!=null||(f==null?void 0:f.reasoningSummary)!=null)&&{reasoning:{...(f==null?void 0:f.reasoningEffort)!=null&&{effort:f.reasoningEffort},...(f==null?void 0:f.reasoningSummary)!=null&&{summary:f.reasoningSummary}}}};if(v){if(!((f==null?void 0:f.reasoningEffort)==="none"&&V.supportsNonReasoningParameters)){if(_0.temperature!=null)_0.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(_0.top_p!=null)_0.top_p=void 0,q.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((f==null?void 0:f.reasoningEffort)!=null)q.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((f==null?void 0:f.reasoningSummary)!=null)q.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((f==null?void 0:f.serviceTier)==="flex"&&!V.supportsFlexProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete _0.service_tier;if((f==null?void 0:f.serviceTier)==="priority"&&!V.supportsPriorityProcessing)q.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 _0.service_tier;let I0=(S=(M=(A=U==null?void 0:U.find((Q0)=>Q0.type==="provider"&&Q0.id==="openai.shell"))==null?void 0:A.args)==null?void 0:M.environment)==null?void 0:S.type,F0=I0==="containerAuto"||I0==="containerReference";return{webSearchToolName:n0,args:{..._0,tools:B0,tool_choice:O0},warnings:[...q,...W0],store:N0,toolNameMapping:Z0,providerOptionsName:t,isShellProviderExecuted:F0}}async doGenerate($){var Z,G,X,Y,Q,J,W,K,w,U,F,H,N,B,D,E,L,z,j,P,A,M,S,q,V,t,f,v;let{args:Z0,warnings:a,webSearchToolName:B0,toolNameMapping:O0,providerOptionsName:W0,isShellProviderExecuted:J0}=await this.getArgs($),s=this.config.url({path:"/responses",modelId:this.modelId}),A0=Zo1($.prompt),{responseHeaders:U0,value:f0,rawValue:m0}=await F8({url:s,headers:p$(this.config.headers(),$.headers),body:Z0,failedResponseHandler:p3,successfulResponseHandler:Z8(Dp8),abortSignal:$.abortSignal,fetch:this.config.fetch});if(f0.error)throw new Q8({message:f0.error.message,url:s,requestBodyValues:Z0,statusCode:400,responseHeaders:U0,responseBody:m0,isRetryable:!1});let x0=[],n0=[],N0=!1,_0=[];for(let Q0 of f0.output)switch(Q0.type){case"reasoning":{if(Q0.summary.length===0)Q0.summary.push({type:"summary_text",text:""});for(let X0 of Q0.summary)x0.push({type:"reasoning",text:X0.text,providerMetadata:{[W0]:{itemId:Q0.id,reasoningEncryptedContent:(Z=Q0.encrypted_content)!=null?Z:null}}});break}case"image_generation_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("image_generation"),result:{result:Q0.result}});break}case"tool_search_call":{let X0=(G=Q0.call_id)!=null?G:Q0.id,S0=Q0.execution==="server";if(S0)_0.push(X0);x0.push({type:"tool-call",toolCallId:X0,toolName:O0.toCustomToolName("tool_search"),input:JSON.stringify({arguments:Q0.arguments,call_id:Q0.call_id}),...S0?{providerExecuted:!0}:{},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"tool_search_output":{let X0=(Y=(X=Q0.call_id)!=null?X:_0.shift())!=null?Y:Q0.id;x0.push({type:"tool-result",toolCallId:X0,toolName:O0.toCustomToolName("tool_search"),result:{tools:Q0.tools},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"local_shell_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("local_shell"),input:JSON.stringify({action:Q0.action}),providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"shell_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("shell"),input:JSON.stringify({action:{commands:Q0.action.commands}}),...J0&&{providerExecuted:!0},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"shell_call_output":{x0.push({type:"tool-result",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("shell"),result:{output:Q0.output.map((X0)=>({stdout:X0.stdout,stderr:X0.stderr,outcome:X0.outcome.type==="exit"?{type:"exit",exitCode:X0.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let X0 of Q0.content){if(((J=(Q=$.providerOptions)==null?void 0:Q[W0])==null?void 0:J.logprobs)&&X0.logprobs)n0.push(X0.logprobs);let S0={itemId:Q0.id,...Q0.phase!=null&&{phase:Q0.phase},...X0.annotations.length>0&&{annotations:X0.annotations}};x0.push({type:"text",text:X0.text,providerMetadata:{[W0]:S0}});for(let n of X0.annotations)if(n.type==="url_citation")x0.push({type:"source",sourceType:"url",id:(w=(K=(W=this.config).generateId)==null?void 0:K.call(W))!=null?w:l1(),url:n.url,title:n.title});else if(n.type==="file_citation")x0.push({type:"source",sourceType:"document",id:(H=(F=(U=this.config).generateId)==null?void 0:F.call(U))!=null?H:l1(),mediaType:"text/plain",title:n.filename,filename:n.filename,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,index:n.index}}});else if(n.type==="container_file_citation")x0.push({type:"source",sourceType:"document",id:(D=(B=(N=this.config).generateId)==null?void 0:B.call(N))!=null?D:l1(),mediaType:"text/plain",title:n.filename,filename:n.filename,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,containerId:n.container_id}}});else if(n.type==="file_path")x0.push({type:"source",sourceType:"document",id:(z=(L=(E=this.config).generateId)==null?void 0:L.call(E))!=null?z:l1(),mediaType:"application/octet-stream",title:n.file_id,filename:n.file_id,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,index:n.index}}})}break}case"function_call":{N0=!0,x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:Q0.name,input:Q0.arguments,providerMetadata:{[W0]:{itemId:Q0.id,...Q0.namespace!=null&&{namespace:Q0.namespace}}}});break}case"custom_tool_call":{N0=!0;let X0=O0.toCustomToolName(Q0.name);x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:X0,input:JSON.stringify(Q0.input),providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"web_search_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName(B0!=null?B0:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName(B0!=null?B0:"web_search"),result:Xo1(Q0.action)});break}case"mcp_call":{let X0=Q0.approval_request_id!=null?(j=A0[Q0.approval_request_id])!=null?j:Q0.id:Q0.id,S0=`mcp.${Q0.name}`;x0.push({type:"tool-call",toolCallId:X0,toolName:S0,input:Q0.arguments,providerExecuted:!0,dynamic:!0}),x0.push({type:"tool-result",toolCallId:X0,toolName:S0,result:{type:"call",serverLabel:Q0.server_label,name:Q0.name,arguments:Q0.arguments,...Q0.output!=null?{output:Q0.output}:{},...Q0.error!=null?{error:Q0.error}:{}},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let X0=(P=Q0.approval_request_id)!=null?P:Q0.id,S0=(S=(M=(A=this.config).generateId)==null?void 0:M.call(A))!=null?S:l1(),n=`mcp.${Q0.name}`;x0.push({type:"tool-call",toolCallId:S0,toolName:n,input:Q0.arguments,providerExecuted:!0,dynamic:!0}),x0.push({type:"tool-approval-request",approvalId:X0,toolCallId:S0});break}case"computer_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:Q0.status||"completed"}});break}case"file_search_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("file_search"),result:{queries:Q0.queries,results:(V=(q=Q0.results)==null?void 0:q.map((X0)=>({attributes:X0.attributes,fileId:X0.file_id,filename:X0.filename,score:X0.score,text:X0.text})))!=null?V:null}});break}case"code_interpreter_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("code_interpreter"),input:JSON.stringify({code:Q0.code,containerId:Q0.container_id}),providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("code_interpreter"),result:{outputs:Q0.outputs}});break}case"apply_patch_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("apply_patch"),input:JSON.stringify({callId:Q0.call_id,operation:Q0.operation}),providerMetadata:{[W0]:{itemId:Q0.id}}});break}}let I0={[W0]:{responseId:f0.id,...n0.length>0?{logprobs:n0}:{},...typeof f0.service_tier==="string"?{serviceTier:f0.service_tier}:{}}},F0=f0.usage;return{content:x0,finishReason:{unified:Pc0({finishReason:(t=f0.incomplete_details)==null?void 0:t.reason,hasFunctionCall:N0}),raw:(v=(f=f0.incomplete_details)==null?void 0:f.reason)!=null?v:void 0},usage:sr1(F0),request:{body:Z0},response:{id:f0.id,timestamp:new Date(f0.created_at*1000),modelId:f0.model,headers:U0,body:m0},providerMetadata:I0,warnings:a}}async doStream($){let{args:Z,warnings:G,webSearchToolName:X,toolNameMapping:Y,store:Q,providerOptionsName:J,isShellProviderExecuted:W}=await this.getArgs($),{responseHeaders:K,value:w}=await F8({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:{...Z,stream:!0},failedResponseHandler:p3,successfulResponseHandler:b7(Op8),abortSignal:$.abortSignal,fetch:this.config.fetch}),U=this,F=Zo1($.prompt),H=new Map,N={unified:"other",raw:void 0},B=void 0,D=[],E=null,L={},z=[],j,P=!1,A={},M,S=[];return{stream:w.pipeThrough(new TransformStream({start(q){q.enqueue({type:"stream-start",warnings:G})},transform(q,V){var t,f,v,Z0,a,B0,O0,W0,J0,s,A0,U0,f0,m0,x0,n0,N0,_0,I0,F0,Q0,X0,S0,n,$0,t0,R0,d,m,V0,v0,N1,i0,z1,R$,B6,P4,h5;if($.includeRawChunks)V.enqueue({type:"raw",rawValue:q.rawValue});if(!q.success){N={unified:"error",raw:void 0},V.enqueue({type:"error",error:q.error});return}let e=q.value;if(Go1(e)){if(e.item.type==="function_call")L[e.output_index]={toolName:e.item.name,toolCallId:e.item.call_id},V.enqueue({type:"tool-input-start",id:e.item.call_id,toolName:e.item.name});else if(e.item.type==="custom_tool_call"){let J1=Y.toCustomToolName(e.item.name);L[e.output_index]={toolName:J1,toolCallId:e.item.call_id},V.enqueue({type:"tool-input-start",id:e.item.call_id,toolName:J1})}else if(e.item.type==="web_search_call")L[e.output_index]={toolName:Y.toCustomToolName(X!=null?X:"web_search"),toolCallId:e.item.id},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),providerExecuted:!0}),V.enqueue({type:"tool-input-end",id:e.item.id}),V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(e.item.type==="computer_call")L[e.output_index]={toolName:Y.toCustomToolName("computer_use"),toolCallId:e.item.id},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName("computer_use"),providerExecuted:!0});else if(e.item.type==="code_interpreter_call")L[e.output_index]={toolName:Y.toCustomToolName("code_interpreter"),toolCallId:e.item.id,codeInterpreter:{containerId:e.item.container_id}},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName("code_interpreter"),providerExecuted:!0}),V.enqueue({type:"tool-input-delta",id:e.item.id,delta:`{"containerId":"${e.item.container_id}","code":"`});else if(e.item.type==="file_search_call")V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(e.item.type==="image_generation_call")V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(e.item.type==="tool_search_call"){let J1=e.item.id,r$=Y.toCustomToolName("tool_search"),o$=e.item.execution==="server";if(L[e.output_index]={toolName:r$,toolCallId:J1,toolSearchExecution:(t=e.item.execution)!=null?t:"server"},o$)V.enqueue({type:"tool-input-start",id:J1,toolName:r$,providerExecuted:!0})}else if(e.item.type==="tool_search_output");else if(e.item.type==="mcp_call"||e.item.type==="mcp_list_tools"||e.item.type==="mcp_approval_request");else if(e.item.type==="apply_patch_call"){let{call_id:J1,operation:r$}=e.item;if(L[e.output_index]={toolName:Y.toCustomToolName("apply_patch"),toolCallId:J1,applyPatch:{hasDiff:r$.type==="delete_file",endEmitted:r$.type==="delete_file"}},V.enqueue({type:"tool-input-start",id:J1,toolName:Y.toCustomToolName("apply_patch")}),r$.type==="delete_file"){let o$=JSON.stringify({callId:J1,operation:r$});V.enqueue({type:"tool-input-delta",id:J1,delta:o$}),V.enqueue({type:"tool-input-end",id:J1})}else V.enqueue({type:"tool-input-delta",id:J1,delta:`{"callId":"${tD(J1)}","operation":{"type":"${tD(r$.type)}","path":"${tD(r$.path)}","diff":"`})}else if(e.item.type==="shell_call")L[e.output_index]={toolName:Y.toCustomToolName("shell"),toolCallId:e.item.call_id};else if(e.item.type==="shell_call_output");else if(e.item.type==="message")z.splice(0,z.length),j=(f=e.item.phase)!=null?f:void 0,V.enqueue({type:"text-start",id:e.item.id,providerMetadata:{[J]:{itemId:e.item.id,...e.item.phase!=null&&{phase:e.item.phase}}}});else if(Go1(e)&&e.item.type==="reasoning")A[e.item.id]={encryptedContent:e.item.encrypted_content,summaryParts:{0:"active"}},V.enqueue({type:"reasoning-start",id:`${e.item.id}:0`,providerMetadata:{[J]:{itemId:e.item.id,reasoningEncryptedContent:(v=e.item.encrypted_content)!=null?v:null}}})}else if(Ip8(e)){if(e.item.type==="message"){let J1=(Z0=e.item.phase)!=null?Z0:j;j=void 0,V.enqueue({type:"text-end",id:e.item.id,providerMetadata:{[J]:{itemId:e.item.id,...J1!=null&&{phase:J1},...z.length>0&&{annotations:z}}}})}else if(e.item.type==="function_call")L[e.output_index]=void 0,P=!0,V.enqueue({type:"tool-input-end",id:e.item.call_id,...e.item.namespace!=null&&{providerMetadata:{[J]:{namespace:e.item.namespace}}}}),V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:e.item.name,input:e.item.arguments,providerMetadata:{[J]:{itemId:e.item.id,...e.item.namespace!=null&&{namespace:e.item.namespace}}}});else if(e.item.type==="custom_tool_call"){L[e.output_index]=void 0,P=!0;let J1=Y.toCustomToolName(e.item.name);V.enqueue({type:"tool-input-end",id:e.item.call_id}),V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:J1,input:JSON.stringify(e.item.input),providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="web_search_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),result:Xo1(e.item.action)});else if(e.item.type==="computer_call")L[e.output_index]=void 0,V.enqueue({type:"tool-input-end",id:e.item.id}),V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:e.item.status||"completed"}});else if(e.item.type==="file_search_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("file_search"),result:{queries:e.item.queries,results:(B0=(a=e.item.results)==null?void 0:a.map((J1)=>({attributes:J1.attributes,fileId:J1.file_id,filename:J1.filename,score:J1.score,text:J1.text})))!=null?B0:null}});else if(e.item.type==="code_interpreter_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("code_interpreter"),result:{outputs:e.item.outputs}});else if(e.item.type==="image_generation_call")V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("image_generation"),result:{result:e.item.result}});else if(e.item.type==="tool_search_call"){let J1=L[e.output_index],r$=e.item.execution==="server";if(J1!=null){let o$=r$?J1.toolCallId:(O0=e.item.call_id)!=null?O0:e.item.id;if(r$)S.push(o$);else V.enqueue({type:"tool-input-start",id:o$,toolName:J1.toolName});V.enqueue({type:"tool-input-end",id:o$}),V.enqueue({type:"tool-call",toolCallId:o$,toolName:J1.toolName,input:JSON.stringify({arguments:e.item.arguments,call_id:r$?null:o$}),...r$?{providerExecuted:!0}:{},providerMetadata:{[J]:{itemId:e.item.id}}})}L[e.output_index]=void 0}else if(e.item.type==="tool_search_output"){let J1=(J0=(W0=e.item.call_id)!=null?W0:S.shift())!=null?J0:e.item.id;V.enqueue({type:"tool-result",toolCallId:J1,toolName:Y.toCustomToolName("tool_search"),result:{tools:e.item.tools},providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="mcp_call"){L[e.output_index]=void 0;let J1=(s=e.item.approval_request_id)!=null?s:void 0,r$=J1!=null?(U0=(A0=H.get(J1))!=null?A0:F[J1])!=null?U0:e.item.id:e.item.id,o$=`mcp.${e.item.name}`;V.enqueue({type:"tool-call",toolCallId:r$,toolName:o$,input:e.item.arguments,providerExecuted:!0,dynamic:!0}),V.enqueue({type:"tool-result",toolCallId:r$,toolName:o$,result:{type:"call",serverLabel:e.item.server_label,name:e.item.name,arguments:e.item.arguments,...e.item.output!=null?{output:e.item.output}:{},...e.item.error!=null?{error:e.item.error}:{}},providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="mcp_list_tools")L[e.output_index]=void 0;else if(e.item.type==="apply_patch_call"){let J1=L[e.output_index];if((J1==null?void 0:J1.applyPatch)&&!J1.applyPatch.endEmitted&&e.item.operation.type!=="delete_file"){if(!J1.applyPatch.hasDiff)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.item.operation.diff)});V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),J1.applyPatch.endEmitted=!0}if(J1&&e.item.status==="completed")V.enqueue({type:"tool-call",toolCallId:J1.toolCallId,toolName:Y.toCustomToolName("apply_patch"),input:JSON.stringify({callId:e.item.call_id,operation:e.item.operation}),providerMetadata:{[J]:{itemId:e.item.id}}});L[e.output_index]=void 0}else if(e.item.type==="mcp_approval_request"){L[e.output_index]=void 0;let J1=(x0=(m0=(f0=U.config).generateId)==null?void 0:m0.call(f0))!=null?x0:l1(),r$=(n0=e.item.approval_request_id)!=null?n0:e.item.id;H.set(r$,J1);let o$=`mcp.${e.item.name}`;V.enqueue({type:"tool-call",toolCallId:J1,toolName:o$,input:e.item.arguments,providerExecuted:!0,dynamic:!0}),V.enqueue({type:"tool-approval-request",approvalId:r$,toolCallId:J1})}else if(e.item.type==="local_shell_call")L[e.output_index]=void 0,V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:e.item.action.command,timeoutMs:e.item.action.timeout_ms,user:e.item.action.user,workingDirectory:e.item.action.working_directory,env:e.item.action.env}}),providerMetadata:{[J]:{itemId:e.item.id}}});else if(e.item.type==="shell_call")L[e.output_index]=void 0,V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("shell"),input:JSON.stringify({action:{commands:e.item.action.commands}}),...W&&{providerExecuted:!0},providerMetadata:{[J]:{itemId:e.item.id}}});else if(e.item.type==="shell_call_output")V.enqueue({type:"tool-result",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("shell"),result:{output:e.item.output.map((J1)=>({stdout:J1.stdout,stderr:J1.stderr,outcome:J1.outcome.type==="exit"?{type:"exit",exitCode:J1.outcome.exit_code}:{type:"timeout"}}))}});else if(e.item.type==="reasoning"){let J1=A[e.item.id],r$=Object.entries(J1.summaryParts).filter(([o$,L9])=>L9==="active"||L9==="can-conclude").map(([o$])=>o$);for(let o$ of r$)V.enqueue({type:"reasoning-end",id:`${e.item.id}:${o$}`,providerMetadata:{[J]:{itemId:e.item.id,reasoningEncryptedContent:(N0=e.item.encrypted_content)!=null?N0:null}}});delete A[e.item.id]}}else if(kp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:e.delta})}else if(Sp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:e.delta})}else if(bp8(e)){let J1=L[e.output_index];if(J1==null?void 0:J1.applyPatch)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.delta)}),J1.applyPatch.hasDiff=!0}else if(fp8(e)){let J1=L[e.output_index];if((J1==null?void 0:J1.applyPatch)&&!J1.applyPatch.endEmitted){if(!J1.applyPatch.hasDiff)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.diff)}),J1.applyPatch.hasDiff=!0;V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),J1.applyPatch.endEmitted=!0}}else if(Vp8(e))V.enqueue({type:"tool-result",toolCallId:e.item_id,toolName:Y.toCustomToolName("image_generation"),result:{result:e.partial_image_b64},preliminary:!0});else if(Cp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.delta)})}else if(_p8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),V.enqueue({type:"tool-call",toolCallId:J1.toolCallId,toolName:Y.toCustomToolName("code_interpreter"),input:JSON.stringify({code:e.code,containerId:J1.codeInterpreter.containerId}),providerExecuted:!0})}else if(Mp8(e))E=e.response.id,V.enqueue({type:"response-metadata",id:e.response.id,timestamp:new Date(e.response.created_at*1000),modelId:e.response.model});else if(Tp8(e)){if(V.enqueue({type:"text-delta",id:e.item_id,delta:e.delta}),((I0=(_0=$.providerOptions)==null?void 0:_0[J])==null?void 0:I0.logprobs)&&e.logprobs)D.push(e.logprobs)}else if(e.type==="response.reasoning_summary_part.added"){if(e.summary_index>0){let J1=A[e.item_id];J1.summaryParts[e.summary_index]="active";for(let r$ of Object.keys(J1.summaryParts))if(J1.summaryParts[r$]==="can-conclude")V.enqueue({type:"reasoning-end",id:`${e.item_id}:${r$}`,providerMetadata:{[J]:{itemId:e.item_id}}}),J1.summaryParts[r$]="concluded";V.enqueue({type:"reasoning-start",id:`${e.item_id}:${e.summary_index}`,providerMetadata:{[J]:{itemId:e.item_id,reasoningEncryptedContent:(Q0=(F0=A[e.item_id])==null?void 0:F0.encryptedContent)!=null?Q0:null}}})}}else if(e.type==="response.reasoning_summary_text.delta")V.enqueue({type:"reasoning-delta",id:`${e.item_id}:${e.summary_index}`,delta:e.delta,providerMetadata:{[J]:{itemId:e.item_id}}});else if(e.type==="response.reasoning_summary_part.done")if(Q)V.enqueue({type:"reasoning-end",id:`${e.item_id}:${e.summary_index}`,providerMetadata:{[J]:{itemId:e.item_id}}}),A[e.item_id].summaryParts[e.summary_index]="concluded";else A[e.item_id].summaryParts[e.summary_index]="can-conclude";else if(Rp8(e)){if(N={unified:Pc0({finishReason:(X0=e.response.incomplete_details)==null?void 0:X0.reason,hasFunctionCall:P}),raw:(n=(S0=e.response.incomplete_details)==null?void 0:S0.reason)!=null?n:void 0},B=e.response.usage,typeof e.response.service_tier==="string")M=e.response.service_tier}else if(qp8(e)){let J1=($0=e.response.incomplete_details)==null?void 0:$0.reason;N={unified:J1?Pc0({finishReason:J1,hasFunctionCall:P}):"error",raw:J1!=null?J1:"error"},B=(t0=e.response.usage)!=null?t0:void 0}else if(xp8(e)){if(z.push(e.annotation),e.annotation.type==="url_citation")V.enqueue({type:"source",sourceType:"url",id:(m=(d=(R0=U.config).generateId)==null?void 0:d.call(R0))!=null?m:l1(),url:e.annotation.url,title:e.annotation.title});else if(e.annotation.type==="file_citation")V.enqueue({type:"source",sourceType:"document",id:(N1=(v0=(V0=U.config).generateId)==null?void 0:v0.call(V0))!=null?N1:l1(),mediaType:"text/plain",title:e.annotation.filename,filename:e.annotation.filename,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,index:e.annotation.index}}});else if(e.annotation.type==="container_file_citation")V.enqueue({type:"source",sourceType:"document",id:(R$=(z1=(i0=U.config).generateId)==null?void 0:z1.call(i0))!=null?R$:l1(),mediaType:"text/plain",title:e.annotation.filename,filename:e.annotation.filename,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,containerId:e.annotation.container_id}}});else if(e.annotation.type==="file_path")V.enqueue({type:"source",sourceType:"document",id:(h5=(P4=(B6=U.config).generateId)==null?void 0:P4.call(B6))!=null?h5:l1(),mediaType:"application/octet-stream",title:e.annotation.file_id,filename:e.annotation.file_id,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,index:e.annotation.index}}})}else if(vp8(e))V.enqueue({type:"error",error:e})},flush(q){let V={[J]:{responseId:E,...D.length>0?{logprobs:D}:{},...M!==void 0?{serviceTier:M}:{}}};q.enqueue({type:"finish",finishReason:N,usage:sr1(B),providerMetadata:V})}})),request:{body:Z},response:{headers:K}}}},yp8,gp8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:$,voice:Z="alloy",outputFormat:G="mp3",speed:X,instructions:Y,language:Q,providerOptions:J}){let W=[],K=await A8({provider:"openai",providerOptions:J,schema:yp8}),w={model:this.modelId,input:$,voice:Z,response_format:"mp3",speed:X,instructions:Y};if(G)if(["mp3","opus","aac","flac","wav","pcm"].includes(G))w.response_format=G;else W.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${G}. Using mp3 instead.`});if(K){let U={};for(let F in U){let H=U[F];if(H!==void 0)w[F]=H}}if(Q)W.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${Q}" was ignored.`});return{requestBody:w,warnings:W}}async doGenerate($){var Z,G,X;let Y=(X=(G=(Z=this.config._internal)==null?void 0:Z.currentDate)==null?void 0:G.call(Z))!=null?X:new Date,{requestBody:Q,warnings:J}=await this.getArgs($),{value:W,responseHeaders:K,rawValue:w}=await F8({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:Q,failedResponseHandler:p3,successfulResponseHandler:Yn1(),abortSignal:$.abortSignal,fetch:this.config.fetch});return{audio:W,warnings:J,request:{body:JSON.stringify(Q)},response:{timestamp:Y,modelId:this.modelId,headers:K,body:w}}}},hp8,cp8,Yo1,up8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:$,mediaType:Z,providerOptions:G}){let X=[],Y=await A8({provider:"openai",providerOptions:G,schema:cp8}),Q=new FormData,J=$ instanceof Uint8Array?new Blob([$]):new Blob([w9($)]);Q.append("model",this.modelId);let W=ai1(Z);if(Q.append("file",new File([J],"audio",{type:Z}),`audio.${W}`),Y){let K={include:Y.include,language:Y.language,prompt:Y.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:Y.temperature,timestamp_granularities:Y.timestampGranularities};for(let[w,U]of Object.entries(K))if(U!=null)if(Array.isArray(U))for(let F of U)Q.append(`${w}[]`,String(F));else Q.append(w,String(U))}return{formData:Q,warnings:X}}async doGenerate($){var Z,G,X,Y,Q,J,W,K;let w=(X=(G=(Z=this.config._internal)==null?void 0:Z.currentDate)==null?void 0:G.call(Z))!=null?X:new Date,{formData:U,warnings:F}=await this.getArgs($),{value:H,responseHeaders:N,rawValue:B}=await N60({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),formData:U,failedResponseHandler:p3,successfulResponseHandler:Z8(hp8),abortSignal:$.abortSignal,fetch:this.config.fetch}),D=H.language!=null&&H.language in Yo1?Yo1[H.language]:void 0;return{text:H.text,segments:(W=(J=(Y=H.segments)==null?void 0:Y.map((E)=>({text:E.text,startSecond:E.start,endSecond:E.end})))!=null?J:(Q=H.words)==null?void 0:Q.map((E)=>({text:E.word,startSecond:E.start,endSecond:E.end})))!=null?W:[],language:D,durationInSeconds:(K=H.duration)!=null?K:void 0,warnings:F,response:{timestamp:w,modelId:this.modelId,headers:N,body:B}}}},dp8="3.0.73",d65;var L40=O(()=>{e0();m1();e0();e0();m1();e0();e0();e0();m1();e0();m1();e0();e0();m1();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();m1();e0();m1();e0();e0();e0();m1();e0();e0();e0();e0();e0();e0();Mc0=iH.object({error:iH.object({message:iH.string(),type:iH.string().nullish(),param:iH.any().nullish(),code:iH.union([iH.string(),iH.number()]).nullish()})}),p3=L5({errorSchema:Mc0,errorToMessage:($)=>$.error.message});Jn8=C0(()=>H0(R1.object({id:R1.string().nullish(),created:R1.number().nullish(),model:R1.string().nullish(),choices:R1.array(R1.object({message:R1.object({role:R1.literal("assistant").nullish(),content:R1.string().nullish(),tool_calls:R1.array(R1.object({id:R1.string().nullish(),type:R1.literal("function"),function:R1.object({name:R1.string(),arguments:R1.string()})})).nullish(),annotations:R1.array(R1.object({type:R1.literal("url_citation"),url_citation:R1.object({start_index:R1.number(),end_index:R1.number(),url:R1.string(),title:R1.string()})})).nullish()}),index:R1.number(),logprobs:R1.object({content:R1.array(R1.object({token:R1.string(),logprob:R1.number(),top_logprobs:R1.array(R1.object({token:R1.string(),logprob:R1.number()}))})).nullish()}).nullish(),finish_reason:R1.string().nullish()})),usage:R1.object({prompt_tokens:R1.number().nullish(),completion_tokens:R1.number().nullish(),total_tokens:R1.number().nullish(),prompt_tokens_details:R1.object({cached_tokens:R1.number().nullish()}).nullish(),completion_tokens_details:R1.object({reasoning_tokens:R1.number().nullish(),accepted_prediction_tokens:R1.number().nullish(),rejected_prediction_tokens:R1.number().nullish()}).nullish()}).nullish()}))),Wn8=C0(()=>H0(R1.union([R1.object({id:R1.string().nullish(),created:R1.number().nullish(),model:R1.string().nullish(),choices:R1.array(R1.object({delta:R1.object({role:R1.enum(["assistant"]).nullish(),content:R1.string().nullish(),tool_calls:R1.array(R1.object({index:R1.number(),id:R1.string().nullish(),type:R1.literal("function").nullish(),function:R1.object({name:R1.string().nullish(),arguments:R1.string().nullish()})})).nullish(),annotations:R1.array(R1.object({type:R1.literal("url_citation"),url_citation:R1.object({start_index:R1.number(),end_index:R1.number(),url:R1.string(),title:R1.string()})})).nullish()}).nullish(),logprobs:R1.object({content:R1.array(R1.object({token:R1.string(),logprob:R1.number(),top_logprobs:R1.array(R1.object({token:R1.string(),logprob:R1.number()}))})).nullish()}).nullish(),finish_reason:R1.string().nullish(),index:R1.number()})),usage:R1.object({prompt_tokens:R1.number().nullish(),completion_tokens:R1.number().nullish(),total_tokens:R1.number().nullish(),prompt_tokens_details:R1.object({cached_tokens:R1.number().nullish()}).nullish(),completion_tokens_details:R1.object({reasoning_tokens:R1.number().nullish(),accepted_prediction_tokens:R1.number().nullish(),rejected_prediction_tokens:R1.number().nullish()}).nullish()}).nullish()}),Mc0]))),Kn8=C0(()=>H0(o4.object({logitBias:o4.record(o4.coerce.number(),o4.number()).optional(),logprobs:o4.union([o4.boolean(),o4.number()]).optional(),parallelToolCalls:o4.boolean().optional(),user:o4.string().optional(),reasoningEffort:o4.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:o4.number().optional(),store:o4.boolean().optional(),metadata:o4.record(o4.string().max(64),o4.string().max(512)).optional(),prediction:o4.record(o4.string(),o4.any()).optional(),serviceTier:o4.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:o4.boolean().optional(),textVerbosity:o4.enum(["low","medium","high"]).optional(),promptCacheKey:o4.string().optional(),promptCacheRetention:o4.enum(["in_memory","24h"]).optional(),safetyIdentifier:o4.string().optional(),systemMessageMode:o4.enum(["system","developer","remove"]).optional(),forceReasoning:o4.boolean().optional()})));Hn8=C0(()=>H0(W8.object({id:W8.string().nullish(),created:W8.number().nullish(),model:W8.string().nullish(),choices:W8.array(W8.object({text:W8.string(),finish_reason:W8.string(),logprobs:W8.object({tokens:W8.array(W8.string()),token_logprobs:W8.array(W8.number()),top_logprobs:W8.array(W8.record(W8.string(),W8.number())).nullish()}).nullish()})),usage:W8.object({prompt_tokens:W8.number(),completion_tokens:W8.number(),total_tokens:W8.number()}).nullish()}))),Nn8=C0(()=>H0(W8.union([W8.object({id:W8.string().nullish(),created:W8.number().nullish(),model:W8.string().nullish(),choices:W8.array(W8.object({text:W8.string(),finish_reason:W8.string().nullish(),index:W8.number(),logprobs:W8.object({tokens:W8.array(W8.string()),token_logprobs:W8.array(W8.number()),top_logprobs:W8.array(W8.record(W8.string(),W8.number())).nullish()}).nullish()})),usage:W8.object({prompt_tokens:W8.number(),completion_tokens:W8.number(),total_tokens:W8.number()}).nullish()}),Mc0]))),rr1=C0(()=>H0(AW.object({echo:AW.boolean().optional(),logitBias:AW.record(AW.string(),AW.number()).optional(),suffix:AW.string().optional(),user:AW.string().optional(),logprobs:AW.union([AW.boolean(),AW.number()]).optional()}))),On8=C0(()=>H0(zc0.object({dimensions:zc0.number().optional(),user:zc0.string().optional()}))),Dn8=C0(()=>H0(pD.object({data:pD.array(pD.object({embedding:pD.array(pD.number())})),usage:pD.object({prompt_tokens:pD.number()}).nullish()}))),or1=C0(()=>H0(Z7.object({created:Z7.number().nullish(),data:Z7.array(Z7.object({b64_json:Z7.string(),revised_prompt:Z7.string().nullish()})),background:Z7.string().nullish(),output_format:Z7.string().nullish(),size:Z7.string().nullish(),quality:Z7.string().nullish(),usage:Z7.object({input_tokens:Z7.number().nullish(),output_tokens:Z7.number().nullish(),total_tokens:Z7.number().nullish(),input_tokens_details:Z7.object({image_tokens:Z7.number().nullish(),text_tokens:Z7.number().nullish()}).nullish()}).nullish()}))),Ln8={"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},zn8=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];kc0=Vw.object({quality:Vw.enum(["standard","hd","low","medium","high","auto"]).optional(),background:Vw.enum(["transparent","opaque","auto"]).optional(),outputFormat:Vw.enum(["png","jpeg","webp"]).optional(),outputCompression:Vw.number().int().min(0).max(100).optional(),user:Vw.string().optional()}),s85=C0(()=>H0(kc0)),Pn8=C0(()=>H0(kc0.extend({style:Vw.enum(["vivid","natural"]).optional(),moderation:Vw.enum(["auto","low"]).optional()}))),An8=C0(()=>H0(kc0.extend({inputFidelity:Vw.enum(["high","low"]).optional()})));Jo1=C0(()=>H0(AZ.object({callId:AZ.string(),operation:AZ.discriminatedUnion("type",[AZ.object({type:AZ.literal("create_file"),path:AZ.string(),diff:AZ.string()}),AZ.object({type:AZ.literal("delete_file"),path:AZ.string()}),AZ.object({type:AZ.literal("update_file"),path:AZ.string(),diff:AZ.string()})])}))),Wo1=C0(()=>H0(AZ.object({status:AZ.enum(["completed","failed"]),output:AZ.string().optional()}))),Z65=C0(()=>H0(AZ.object({}))),Rn8=t$({id:"openai.apply_patch",inputSchema:Jo1,outputSchema:Wo1}),qn8=Rn8,Mn8=C0(()=>H0(TZ.object({code:TZ.string().nullish(),containerId:TZ.string()}))),kn8=C0(()=>H0(TZ.object({outputs:TZ.array(TZ.discriminatedUnion("type",[TZ.object({type:TZ.literal("logs"),logs:TZ.string()}),TZ.object({type:TZ.literal("image"),url:TZ.string()})])).nullish()}))),Sn8=C0(()=>H0(TZ.object({container:TZ.union([TZ.string(),TZ.object({fileIds:TZ.array(TZ.string()).optional()})]).optional()}))),Vn8=t$({id:"openai.code_interpreter",inputSchema:Mn8,outputSchema:kn8}),_n8=C0(()=>H0(n3.object({name:n3.string(),description:n3.string().optional(),format:n3.union([n3.object({type:n3.literal("grammar"),syntax:n3.enum(["regex","lark"]),definition:n3.string()}),n3.object({type:n3.literal("text")})]).optional()}))),bn8=C0(()=>H0(n3.string())),fn8=_6({id:"openai.custom",inputSchema:bn8}),Ko1=R6.object({key:R6.string(),type:R6.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:R6.union([R6.string(),R6.number(),R6.boolean(),R6.array(R6.string())])}),wo1=R6.object({type:R6.enum(["and","or"]),filters:R6.array(R6.union([Ko1,R6.lazy(()=>wo1)]))}),vn8=C0(()=>H0(R6.object({vectorStoreIds:R6.array(R6.string()),maxNumResults:R6.number().optional(),ranking:R6.object({ranker:R6.string().optional(),scoreThreshold:R6.number().optional()}).optional(),filters:R6.union([Ko1,wo1]).optional()}))),yn8=C0(()=>H0(R6.object({queries:R6.array(R6.string()),results:R6.array(R6.object({attributes:R6.record(R6.string(),R6.unknown()),fileId:R6.string(),filename:R6.string(),score:R6.number(),text:R6.string()})).nullable()}))),gn8=t$({id:"openai.file_search",inputSchema:R6.object({}),outputSchema:yn8}),hn8=C0(()=>H0(c7.object({background:c7.enum(["auto","opaque","transparent"]).optional(),inputFidelity:c7.enum(["low","high"]).optional(),inputImageMask:c7.object({fileId:c7.string().optional(),imageUrl:c7.string().optional()}).optional(),model:c7.string().optional(),moderation:c7.enum(["auto"]).optional(),outputCompression:c7.number().int().min(0).max(100).optional(),outputFormat:c7.enum(["png","jpeg","webp"]).optional(),partialImages:c7.number().int().min(0).max(3).optional(),quality:c7.enum(["auto","low","medium","high"]).optional(),size:c7.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),cn8=C0(()=>H0(c7.object({}))),un8=C0(()=>H0(c7.object({result:c7.string()}))),dn8=t$({id:"openai.image_generation",inputSchema:cn8,outputSchema:un8}),Uo1=C0(()=>H0(OY.object({action:OY.object({type:OY.literal("exec"),command:OY.array(OY.string()),timeoutMs:OY.number().optional(),user:OY.string().optional(),workingDirectory:OY.string().optional(),env:OY.record(OY.string(),OY.string()).optional()})}))),Fo1=C0(()=>H0(OY.object({output:OY.string()}))),mn8=t$({id:"openai.local_shell",inputSchema:Uo1,outputSchema:Fo1}),Ho1=C0(()=>H0(F$.object({action:F$.object({commands:F$.array(F$.string()),timeoutMs:F$.number().optional(),maxOutputLength:F$.number().optional()})}))),Tc0=C0(()=>H0(F$.object({output:F$.array(F$.object({stdout:F$.string(),stderr:F$.string(),outcome:F$.discriminatedUnion("type",[F$.object({type:F$.literal("timeout")}),F$.object({type:F$.literal("exit"),exitCode:F$.number()})])}))}))),in8=F$.array(F$.discriminatedUnion("type",[F$.object({type:F$.literal("skillReference"),skillId:F$.string(),version:F$.string().optional()}),F$.object({type:F$.literal("inline"),name:F$.string(),description:F$.string(),source:F$.object({type:F$.literal("base64"),mediaType:F$.literal("application/zip"),data:F$.string()})})])).optional(),nn8=C0(()=>H0(F$.object({environment:F$.union([F$.object({type:F$.literal("containerAuto"),fileIds:F$.array(F$.string()).optional(),memoryLimit:F$.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:F$.discriminatedUnion("type",[F$.object({type:F$.literal("disabled")}),F$.object({type:F$.literal("allowlist"),allowedDomains:F$.array(F$.string()),domainSecrets:F$.array(F$.object({domain:F$.string(),name:F$.string(),value:F$.string()})).optional()})]).optional(),skills:in8}),F$.object({type:F$.literal("containerReference"),containerId:F$.string()}),F$.object({type:F$.literal("local").optional(),skills:F$.array(F$.object({name:F$.string(),description:F$.string(),path:F$.string()})).optional()})]).optional()}))),pn8=t$({id:"openai.shell",inputSchema:Ho1,outputSchema:Tc0}),tn8=C0(()=>H0(NX.object({execution:NX.enum(["server","client"]).optional(),description:NX.string().optional(),parameters:NX.record(NX.string(),NX.unknown()).optional()}))),Ic0=C0(()=>H0(NX.object({arguments:NX.unknown().optional(),call_id:NX.string().nullish()}))),Rc0=C0(()=>H0(NX.object({tools:NX.array(NX.record(NX.string(),NX.unknown()))}))),rn8=t$({id:"openai.tool_search",inputSchema:Ic0,outputSchema:Rc0}),an8=C0(()=>H0(I6.object({externalWebAccess:I6.boolean().optional(),filters:I6.object({allowedDomains:I6.array(I6.string()).optional()}).optional(),searchContextSize:I6.enum(["low","medium","high"]).optional(),userLocation:I6.object({type:I6.literal("approximate"),country:I6.string().optional(),city:I6.string().optional(),region:I6.string().optional(),timezone:I6.string().optional()}).optional()}))),sn8=C0(()=>H0(I6.object({}))),en8=C0(()=>H0(I6.object({action:I6.discriminatedUnion("type",[I6.object({type:I6.literal("search"),query:I6.string().optional(),queries:I6.array(I6.string()).optional()}),I6.object({type:I6.literal("openPage"),url:I6.string().nullish()}),I6.object({type:I6.literal("findInPage"),url:I6.string().nullish(),pattern:I6.string().nullish()})]).optional(),sources:I6.array(I6.discriminatedUnion("type",[I6.object({type:I6.literal("url"),url:I6.string()}),I6.object({type:I6.literal("api"),name:I6.string()})])).optional()}))),$p8=t$({id:"openai.web_search",inputSchema:sn8,outputSchema:en8}),Gp8=C0(()=>H0(H9.object({searchContextSize:H9.enum(["low","medium","high"]).optional(),userLocation:H9.object({type:H9.literal("approximate"),country:H9.string().optional(),city:H9.string().optional(),region:H9.string().optional(),timezone:H9.string().optional()}).optional()}))),Xp8=C0(()=>H0(H9.object({}))),Yp8=C0(()=>H0(H9.object({action:H9.discriminatedUnion("type",[H9.object({type:H9.literal("search"),query:H9.string().optional()}),H9.object({type:H9.literal("openPage"),url:H9.string().nullish()}),H9.object({type:H9.literal("findInPage"),url:H9.string().nullish(),pattern:H9.string().nullish()})]).optional()}))),Qp8=t$({id:"openai.web_search_preview",inputSchema:Xp8,outputSchema:Yp8}),qc0=v8.lazy(()=>v8.union([v8.string(),v8.number(),v8.boolean(),v8.null(),v8.array(qc0),v8.record(v8.string(),qc0)])),Jp8=C0(()=>H0(v8.object({serverLabel:v8.string(),allowedTools:v8.union([v8.array(v8.string()),v8.object({readOnly:v8.boolean().optional(),toolNames:v8.array(v8.string()).optional()})]).optional(),authorization:v8.string().optional(),connectorId:v8.string().optional(),headers:v8.record(v8.string(),v8.string()).optional(),requireApproval:v8.union([v8.enum(["always","never"]),v8.object({never:v8.object({toolNames:v8.array(v8.string()).optional()}).optional()})]).optional(),serverDescription:v8.string().optional(),serverUrl:v8.string().optional()}).refine(($)=>$.serverUrl!=null||$.connectorId!=null,"One of serverUrl or connectorId must be provided."))),Wp8=C0(()=>H0(v8.object({}))),Kp8=C0(()=>H0(v8.object({type:v8.literal("call"),serverLabel:v8.string(),name:v8.string(),arguments:v8.string(),output:v8.string().nullish(),error:v8.union([v8.string(),qc0]).optional()}))),wp8=t$({id:"openai.mcp",inputSchema:Wp8,outputSchema:Kp8}),Fp8={applyPatch:qn8,customTool:xn8,codeInterpreter:Cn8,fileSearch:gn8,imageGeneration:ln8,localShell:mn8,shell:pn8,webSearchPreview:Qp8,webSearch:Zp8,mcp:Up8,toolSearch:on8};Bp8=jc0.object({itemId:jc0.string().nullish(),reasoningEncryptedContent:jc0.string().nullish()});em=T.lazy(()=>T.union([T.string(),T.number(),T.boolean(),T.null(),T.array(em),T.record(T.string(),em.optional())])),Op8=C0(()=>H0(T.union([T.object({type:T.literal("response.output_text.delta"),item_id:T.string(),delta:T.string(),logprobs:T.array(T.object({token:T.string(),logprob:T.number(),top_logprobs:T.array(T.object({token:T.string(),logprob:T.number()}))})).nullish()}),T.object({type:T.enum(["response.completed","response.incomplete"]),response:T.object({incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.failed"),response:T.object({error:T.object({code:T.string().nullish(),message:T.string()}).nullish(),incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}).nullish(),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.created"),response:T.object({id:T.string(),created_at:T.number(),model:T.string(),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.output_item.added"),output_index:T.number(),item:T.discriminatedUnion("type",[T.object({type:T.literal("message"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish()}),T.object({type:T.literal("function_call"),id:T.string(),call_id:T.string(),name:T.string(),arguments:T.string(),namespace:T.string().nullish()}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string()}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.string()}),T.object({type:T.literal("file_search_call"),id:T.string()}),T.object({type:T.literal("image_generation_call"),id:T.string()}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),container_id:T.string(),code:T.string().nullable(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable(),status:T.string()}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string()}),T.object({type:T.literal("mcp_approval_request"),id:T.string()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("custom_tool_call"),id:T.string(),call_id:T.string(),name:T.string(),input:T.string()}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])}),T.object({type:T.literal("response.output_item.done"),output_index:T.number(),item:T.discriminatedUnion("type",[T.object({type:T.literal("message"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish()}),T.object({type:T.literal("function_call"),id:T.string(),call_id:T.string(),name:T.string(),arguments:T.string(),status:T.literal("completed"),namespace:T.string().nullish()}),T.object({type:T.literal("custom_tool_call"),id:T.string(),call_id:T.string(),name:T.string(),input:T.string(),status:T.literal("completed")}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),code:T.string().nullable(),container_id:T.string(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable()}),T.object({type:T.literal("image_generation_call"),id:T.string(),result:T.string()}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string(),action:T.discriminatedUnion("type",[T.object({type:T.literal("search"),query:T.string().nullish(),queries:T.array(T.string()).nullish(),sources:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url"),url:T.string()}),T.object({type:T.literal("api"),name:T.string()})])).nullish()}),T.object({type:T.literal("open_page"),url:T.string().nullish()}),T.object({type:T.literal("find_in_page"),url:T.string().nullish(),pattern:T.string().nullish()})]).nullish()}),T.object({type:T.literal("file_search_call"),id:T.string(),queries:T.array(T.string()),results:T.array(T.object({attributes:T.record(T.string(),T.union([T.string(),T.number(),T.boolean()])),file_id:T.string(),filename:T.string(),score:T.number(),text:T.string()})).nullish()}),T.object({type:T.literal("local_shell_call"),id:T.string(),call_id:T.string(),action:T.object({type:T.literal("exec"),command:T.array(T.string()),timeout_ms:T.number().optional(),user:T.string().optional(),working_directory:T.string().optional(),env:T.record(T.string(),T.string()).optional()})}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.literal("completed")}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),arguments:T.string(),name:T.string(),server_label:T.string(),output:T.string().nullish(),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).nullish(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string(),server_label:T.string(),tools:T.array(T.object({name:T.string(),description:T.string().optional(),input_schema:T.any(),annotations:T.record(T.string(),T.unknown()).optional()})),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).optional()}),T.object({type:T.literal("mcp_approval_request"),id:T.string(),server_label:T.string(),name:T.string(),arguments:T.string(),approval_request_id:T.string().optional()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])}),T.object({type:T.literal("response.function_call_arguments.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.custom_tool_call_input.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.image_generation_call.partial_image"),item_id:T.string(),output_index:T.number(),partial_image_b64:T.string()}),T.object({type:T.literal("response.code_interpreter_call_code.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.code_interpreter_call_code.done"),item_id:T.string(),output_index:T.number(),code:T.string()}),T.object({type:T.literal("response.output_text.annotation.added"),annotation:T.discriminatedUnion("type",[T.object({type:T.literal("url_citation"),start_index:T.number(),end_index:T.number(),url:T.string(),title:T.string()}),T.object({type:T.literal("file_citation"),file_id:T.string(),filename:T.string(),index:T.number()}),T.object({type:T.literal("container_file_citation"),container_id:T.string(),file_id:T.string(),filename:T.string(),start_index:T.number(),end_index:T.number()}),T.object({type:T.literal("file_path"),file_id:T.string(),index:T.number()})])}),T.object({type:T.literal("response.reasoning_summary_part.added"),item_id:T.string(),summary_index:T.number()}),T.object({type:T.literal("response.reasoning_summary_text.delta"),item_id:T.string(),summary_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.reasoning_summary_part.done"),item_id:T.string(),summary_index:T.number()}),T.object({type:T.literal("response.apply_patch_call_operation_diff.delta"),item_id:T.string(),output_index:T.number(),delta:T.string(),obfuscation:T.string().nullish()}),T.object({type:T.literal("response.apply_patch_call_operation_diff.done"),item_id:T.string(),output_index:T.number(),diff:T.string()}),T.object({type:T.literal("error"),sequence_number:T.number(),error:T.object({type:T.string(),code:T.string(),message:T.string(),param:T.string().nullish()})}),T.object({type:T.string()}).loose().transform(($)=>({type:"unknown_chunk",message:$.type}))]))),Dp8=C0(()=>H0(T.object({id:T.string().optional(),created_at:T.number().optional(),error:T.object({message:T.string(),type:T.string(),param:T.string().nullish(),code:T.string()}).nullish(),model:T.string().optional(),output:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("message"),role:T.literal("assistant"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish(),content:T.array(T.object({type:T.literal("output_text"),text:T.string(),logprobs:T.array(T.object({token:T.string(),logprob:T.number(),top_logprobs:T.array(T.object({token:T.string(),logprob:T.number()}))})).nullish(),annotations:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url_citation"),start_index:T.number(),end_index:T.number(),url:T.string(),title:T.string()}),T.object({type:T.literal("file_citation"),file_id:T.string(),filename:T.string(),index:T.number()}),T.object({type:T.literal("container_file_citation"),container_id:T.string(),file_id:T.string(),filename:T.string(),start_index:T.number(),end_index:T.number()}),T.object({type:T.literal("file_path"),file_id:T.string(),index:T.number()})]))}))}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string(),action:T.discriminatedUnion("type",[T.object({type:T.literal("search"),query:T.string().nullish(),queries:T.array(T.string()).nullish(),sources:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url"),url:T.string()}),T.object({type:T.literal("api"),name:T.string()})])).nullish()}),T.object({type:T.literal("open_page"),url:T.string().nullish()}),T.object({type:T.literal("find_in_page"),url:T.string().nullish(),pattern:T.string().nullish()})]).nullish()}),T.object({type:T.literal("file_search_call"),id:T.string(),queries:T.array(T.string()),results:T.array(T.object({attributes:T.record(T.string(),T.union([T.string(),T.number(),T.boolean()])),file_id:T.string(),filename:T.string(),score:T.number(),text:T.string()})).nullish()}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),code:T.string().nullable(),container_id:T.string(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable()}),T.object({type:T.literal("image_generation_call"),id:T.string(),result:T.string()}),T.object({type:T.literal("local_shell_call"),id:T.string(),call_id:T.string(),action:T.object({type:T.literal("exec"),command:T.array(T.string()),timeout_ms:T.number().optional(),user:T.string().optional(),working_directory:T.string().optional(),env:T.record(T.string(),T.string()).optional()})}),T.object({type:T.literal("function_call"),call_id:T.string(),name:T.string(),arguments:T.string(),id:T.string(),namespace:T.string().nullish()}),T.object({type:T.literal("custom_tool_call"),call_id:T.string(),name:T.string(),input:T.string(),id:T.string()}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.string().optional()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish(),summary:T.array(T.object({type:T.literal("summary_text"),text:T.string()}))}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),arguments:T.string(),name:T.string(),server_label:T.string(),output:T.string().nullish(),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).nullish(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string(),server_label:T.string(),tools:T.array(T.object({name:T.string(),description:T.string().optional(),input_schema:T.any(),annotations:T.record(T.string(),T.unknown()).optional()})),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).optional()}),T.object({type:T.literal("mcp_approval_request"),id:T.string(),server_label:T.string(),name:T.string(),arguments:T.string(),approval_request_id:T.string().optional()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])).optional(),service_tier:T.string().nullish(),incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}).optional()}))),Ep8=["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"],C65=["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",...Ep8],$o1=C0(()=>H0(W4.object({conversation:W4.string().nullish(),include:W4.array(W4.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:W4.string().nullish(),logprobs:W4.union([W4.boolean(),W4.number().min(1).max(No1)]).optional(),maxToolCalls:W4.number().nullish(),metadata:W4.any().nullish(),parallelToolCalls:W4.boolean().nullish(),previousResponseId:W4.string().nullish(),promptCacheKey:W4.string().nullish(),promptCacheRetention:W4.enum(["in_memory","24h"]).nullish(),reasoningEffort:W4.string().nullish(),reasoningSummary:W4.string().nullish(),safetyIdentifier:W4.string().nullish(),serviceTier:W4.enum(["auto","flex","priority","default"]).nullish(),store:W4.boolean().nullish(),passThroughUnsupportedFiles:W4.boolean().optional(),strictJsonSchema:W4.boolean().nullish(),textVerbosity:W4.enum(["low","medium","high"]).nullish(),truncation:W4.enum(["auto","disabled"]).nullish(),user:W4.string().nullish(),systemMessageMode:W4.enum(["system","developer","remove"]).optional(),forceReasoning:W4.boolean().optional(),allowedTools:W4.object({toolNames:W4.array(W4.string()).min(1),mode:W4.enum(["auto","required"]).optional()}).optional()})));yp8=C0(()=>H0(Ac0.object({instructions:Ac0.string().nullish(),speed:Ac0.number().min(0.25).max(4).default(1).nullish()}))),hp8=C0(()=>H0(r5.object({text:r5.string(),language:r5.string().nullish(),duration:r5.number().nullish(),words:r5.array(r5.object({word:r5.string(),start:r5.number(),end:r5.number()})).nullish(),segments:r5.array(r5.object({id:r5.number(),seek:r5.number(),start:r5.number(),end:r5.number(),text:r5.string(),tokens:r5.array(r5.number()),temperature:r5.number(),avg_logprob:r5.number(),compression_ratio:r5.number(),no_speech_prob:r5.number()})).nullish()}))),cp8=C0(()=>H0(nH.object({include:nH.array(nH.string()).optional(),language:nH.string().optional(),prompt:nH.string().optional(),temperature:nH.number().min(0).max(1).default(0).optional(),timestampGranularities:nH.array(nH.enum(["word","segment"])).default(["segment"]).optional()}))),Yo1={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"};d65=rD()});var Bo1="https://api.llmapi.ai/v1",lp8="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",Oo1;var Do1=O(()=>{L40();Oo1={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:lp8},supportedMethods:["api-key"],create($){let Z=rD({apiKey:$||"not-needed",baseURL:Bo1,name:"llmapi"}),G=Object.assign((...X)=>Z.chat(...X),Z,{languageModel:Z.chat});return{info:this.info,aiSdk:G,async listModels(){let X=await fetch(`${Bo1}/models`,{headers:$?{Authorization:`Bearer ${$}`}:{},signal:AbortSignal.timeout(15000)});if(!X.ok)throw Error(`LLMAPI listModels failed: ${X.status}`);let{data:Y}=await X.json();return Y.map((Q)=>{let J=Q.architecture??{},W=!!Q.reasoning_levels?.length||!!Q.providers?.some((K)=>K.reasoning);return{providerId:"llmapi",modelId:Q.id,title:Q.name||Q.id,description:Q.description??null,logo:null,capabilities:[...new Set([...(J.input_modalities??[]).map((K)=>K==="image"?"vision":K),...J.output_modalities??[],...Q.supported_parameters?.includes("tools")?["tools"]:[],...W?["reasoning"]:[]])],limits:{contextWindow:Q.context_length??0,maxOutputTokens:null},costs:{input:Number(Q.pricing?.prompt)||0,output:Number(Q.pricing?.completion)||0}}})}}}}});function mp8($){let Z=JSON.parse($);if(!Z.baseUrl||typeof Z.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let G=Z.baseUrl.replace(/\/+$/,"");if(!G.endsWith("/v1"))G+="/v1";return{baseUrl:G,apiKey:Z.apiKey??""}}var ip8="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",Eo1;var Lo1=O(()=>{L40();Eo1={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:ip8},supportedMethods:["api-key"],create($){let{baseUrl:Z,apiKey:G}=mp8($),X=rD({baseURL:Z,apiKey:G||"not-needed",name:"openai-compatible"}),Y=Object.assign((...Q)=>X.chat(...Q),X,{languageModel:X.chat});return{info:this.info,aiSdk:Y,async listModels(){let Q={};if(G)Q.Authorization=`Bearer ${G}`;let J=await fetch(`${Z}/models`,{headers:Q,signal:AbortSignal.timeout(15000)});if(!J.ok)throw Error(`OpenAI-compatible listModels failed: ${J.status}`);return(await J.json()).data.map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function G7(){return{...E1().aiGatewayEnabled&&{deco:gu},anthropic:$r1,google:dr1,openrouter:F$0,llmapi:Oo1,"openai-compatible":Eo1}}var Cw=O(()=>{Zr1();lr1();Do1();Lo1();wf0();Ff0();z8()});function np8($){return $.includes("/")?$.split("/").slice(1).join("/"):$}function pp8($){let Z=$.supported_parameters.includes("tools"),G=$.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:np8($.id),title:$.name,description:$.description||null,logo:null,capabilities:[...new Set([...$.architecture.input_modalities.map((X)=>X==="image"?"vision":X),...$.architecture.output_modalities,...Z?["tools"]:[],...G?["reasoning"]:[]])],limits:{contextWindow:$.context_length,maxOutputTokens:$.top_provider.max_completion_tokens||null},costs:{input:$.pricing.prompt,output:$.pricing.completion}}}function jo1($){let Z=new Map;for(let G of $){let X={description:G.description,capabilities:G.capabilities,limits:G.limits,costs:G.costs};Z.set(G.modelId,X);let Y=G.modelId.replace(/\./g,"-");if(Y!==G.modelId)Z.set(Y,X)}return Z}async function tp8($){if($){let Z=await $.get(zo1,"openrouter");if(Z)return jo1(Z)}try{let Z=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Z.ok)return new Map;let{data:G}=await Z.json(),X=G.map(pp8);if($)await $.set(zo1,"openrouter",X);return jo1(X)}catch{return new Map}}function rp8($){let Z=$.replace(/\./g,"-"),G=$.replace(/-\d{8}$/,""),X=G.replace(/\./g,"-");return[...new Set([$,Z,G,X])]}function op8($){return $.providerId==="anthropic"||$.modelId.startsWith("anthropic/")}function Ao1($,Z){if(op8(Z)&&$.includes("vision")&&!$.includes("file"))return[...$,"file"];return $}function ap8($,Z){return $.map((G)=>{let Y=rp8(G.modelId).map((W)=>Z.get(W)).find(Boolean),Q=G.capabilities.length?G.capabilities:Y?.capabilities??[],J=Ao1(Q,G);if(!Y)return J===Q?G:{...G,capabilities:J};return{...G,description:G.description??Y.description??null,capabilities:J,limits:G.limits??Y.limits??null,costs:G.costs??Y.costs??null}})}class Sc0{storage;cache;constructor($,Z){this.storage=$;this.cache=Z}async activate($,Z){let{keyInfo:G,apiKey:X}=await this.storage.resolve($,Z),Y=G7()[G.providerId];if(!Y)throw Error(`Unknown provider: ${G.providerId}`);return Y.create(X)}async listModels($,Z){let{keyInfo:G,apiKey:X}=await this.storage.resolve($,Z),Y=G.providerId,Q=G7()[Y];if(!Q)throw Error(`Unknown provider: ${Y}`);if(this.cache){let F=await this.cache.get(Z,Y);if(F)return Po1(F,Q,X)}let W=await Q.create(X).listModels(),K=new Set,w=W.filter((F)=>{if(F.deprecated)return!1;if(K.has(F.modelId))return!1;return K.add(F.modelId),!0});if(Y!=="openrouter"){let F=await tp8(this.cache);w=ap8(w,F)}else w=w.map((F)=>({...F,capabilities:Ao1(F.capabilities,F)}));let U=w.map((F)=>({...F,providerId:Y}));if(this.cache)await this.cache.set(Z,Y,U);return Po1(U,Q,X)}}function Po1($,Z,G){let Y=Z.create(G).asyncResearch;if(!Y)return $;return $.map((Q)=>Y.canHandle(Q.modelId)?{...Q,asyncResearch:!0}:Q)}var zo1="_global";var To1=O(()=>{Cw()});import{createHash as sp8}from"crypto";function Io1($){let Z=$;while(Z?.[z40])Z=Z[z40];return Z}function Cc0($){let{objectStorage:Z,baseUrl:G,orgSlug:X,prefix:Y="connection-icons",maxBytes:Q=$t8,dryRun:J=!1}=$;return async(W)=>{if(typeof W!=="string")return W;let K=W.match(ep8);if(!K)return W;if(!Z||!X)return W;let[,w,U]=K,F=w.toLowerCase(),H=Gt8[F];if(!H)return W;if(Math.floor(U.length*3/4)>Q)return console.warn(`[asset-hoister] asset exceeds ${Q} bytes, keeping inline`),W;let N=Buffer.from(U,"base64"),B=sp8("sha256").update(N).digest("hex"),D=`${Y}/${B}.${H}`;if(J)return T_(G,X,D);try{return await Z.put(D,N,{contentType:F}),T_(G,X,D)}catch(E){return console.error("[asset-hoister] upload failed, keeping inline asset:",E),W}}}async function Vc0($,Z,G=0){if(G>Zt8)return $;if(typeof $==="string")return await Z($)??$;if(Array.isArray($)){let X=await Promise.all($.map((Y)=>Vc0(Y,Z,G+1)));return X.some((Y,Q)=>Y!==$[Q])?X:$}if($!==null&&typeof $==="object"){let X=Object.entries($),Y=await Promise.all(X.map(([,W])=>Vc0(W,Z,G+1))),Q=!1,J={};return X.forEach(([W,K],w)=>{if(J[W]=Y[w],Y[w]!==K)Q=!0}),Q?J:$}return $}async function $i($,Z){let G={...$};if(typeof G.icon==="string")G.icon=await Z(G.icon);if(G.metadata!==null&&typeof G.metadata==="object")G.metadata=await Vc0(G.metadata,Z);return G}function Xt8($,Z){return new Proxy($,{get(G,X,Y){if(X===z40)return G;if(X==="create")return async(J)=>G.create(await $i(J,Z));if(X==="createNew")return async(J)=>G.createNew(await $i(J,Z));if(X==="update")return async(J,W)=>G.update(J,await $i(W,Z));let Q=Reflect.get(G,X,Y);return typeof Q==="function"?Q.bind(G):Q}})}function Yt8($,Z){return new Proxy($,{get(G,X,Y){if(X===z40)return G;if(X==="create")return async(J,W,K,w)=>G.create(J,W,await $i(K,Z),w);if(X==="update")return async(J,W,K)=>G.update(J,W,await $i(K,Z));let Q=Reflect.get(G,X,Y);return typeof Q==="function"?Q.bind(G):Q}})}function _c0($,Z){let G=Cc0(Z);if(Ro1($.connections))$.connections=Xt8(Io1($.connections),G);if(Ro1($.virtualMcps))$.virtualMcps=Yt8(Io1($.virtualMcps),G)}function Ro1($){return $!==null&&typeof $==="object"}var ep8,$t8=5242880,Zt8=64,z40,Gt8;var bc0=O(()=>{vJ();ep8=/^data:((?:image|audio|video)\/[^;,]+)(?:;[^,]+)?;base64,(.+)$/is,z40=Symbol("assetHoistingTarget"),Gt8={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/x-icon":"ico","image/vnd.microsoft.icon":"ico","audio/mpeg":"mp3","audio/mp4":"m4a","audio/wav":"wav","audio/x-wav":"wav","audio/ogg":"ogg","audio/webm":"weba","audio/aac":"aac","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogv","video/quicktime":"mov"}});import{SpanStatusCode as qo1}from"@opentelemetry/api";function Qt8($){if(!$)return;try{let Z=JSON.parse($);if(typeof Z!=="object"||Z===null||Array.isArray(Z))return;let G={};for(let[X,Y]of Object.entries(Z))if(typeof Y==="string")G[X]=Y;return Object.keys(G).length>0?G:void 0}catch{return}}function xc0($){let{auth:Z,headers:G,role:X,permissions:Y,userId:Q,apiKeyId:J}=$,W=!!J,K=Z.api.hasPermission;return{isApiKeyPrincipal:W,hasPermission:async(w,U)=>{if(W)return Py0(Y??{},w);if(X&&KQ.includes(X))return!0;if(Y)return Py0(Y,w);let F=Em1(U?.role,w,Lm1());if(F!=="fallback")return F==="grant";if(!K)return console.error("[Auth] hasPermission API not available"),!1;let H=U?.organizationId?{organizationId:U.organizationId}:{};try{if((await K({headers:G,body:{permission:w,...H}}))?.success===!0)return!0;let B=Qm1(w);return(await K({headers:G,body:{permission:B,...H}}))?.success===!0}catch(N){let B=N?.statusCode;if(B!==401&&B!==403)console.error("[Auth] Permission check failed:",N instanceof Error?N.message:String(N));return!1}},organization:{create:async(w)=>{return Z.api.createOrganization({headers:G,body:w})},update:async(w)=>{return Z.api.updateOrganization({headers:G,body:w})},delete:async(w)=>{await Z.api.deleteOrganization({headers:G,body:{organizationId:w}})},get:async(w)=>{return Z.api.getFullOrganization({headers:G,query:w?{organizationId:w}:void 0})},list:async(w)=>{return(await Z.api.listOrganizations({headers:G,query:w?{userId:w}:void 0})).filter((F)=>!AG(F))},addMember:async(w)=>{return Z.api.addMember({headers:G,body:w})},removeMember:async(w)=>{await Z.api.removeMember({headers:G,body:w})},listMembers:async(w)=>{return Z.api.listMembers({headers:G,query:w?{organizationId:w.organizationId,limit:w.limit,offset:w.offset}:void 0})},updateMemberRole:async(w)=>{return Z.api.updateMemberRole({headers:G,body:w})}},apiKey:{create:async(w)=>{return Z.api.createApiKey({body:{...w,userId:Q}})},list:async()=>{return Z.api.listApiKeys({headers:G})},update:async(w)=>{return Z.api.updateApiKey({body:{...w,userId:Q}})},delete:async(w)=>{await Z.api.deleteApiKey({headers:G,body:{keyId:w}})}}}}async function vc0($,Z,G){if(a80.includes(G))return;let X=await $.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Z).where("role","=",G).executeTakeFirst();if(!X?.permission)return;try{return JSON.parse(X.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${G}`);return}}async function ko1($,Z,G,X){let Y=Mo1.get(G);if(Y&&Date.now()-Y.at<Jt8)return Y.archived;let Q=await Z.measure(X,()=>$.selectFrom("organization").select(["metadata"]).where("id","=",G).executeTakeFirst()),J=AG(Q);return Mo1.set(G,{archived:J,at:Date.now()}),J}async function fc0($,Z,G,X,Y){let Q=Y?.get(G,X);if(Q)return Q;let W=(await Z.measure("auth_query_membership",()=>$.selectFrom("member").select(["member.role"]).where("member.userId","=",G).where("member.organizationId","=",X).executeTakeFirst()))?.role;if(W)Y?.set(G,X,W);return W}async function Wt8($,Z,G,X,Y){let Q=$.headers.get("x-mesh-token");if(!Q)return;let J=await G.measure("auth_verify_onbehalf_mesh_jwt",()=>if0(Q));if(!J?.sub)return;let W=J.metadata?.organizationId;if(X&&W&&W!==X)return;let K=X?await fc0(Z,G,J.sub,X,Y):J.user?.role??void 0;return{id:J.sub,email:J.user?.email,name:J.user?.name,role:K}}async function Kt8($,Z,G,X=Vo1,Y){let Q=$.headers.get("Authorization");try{let J=new Headers($.headers);J.set("X-MCP-Session-Auth","true");let W=await X.measure("auth_get_mcp_session",()=>Z.api.getMcpSession({headers:J}));if(W){let K=W.userId,w=$.headers.get("x-org-id"),U=$.headers.get("x-org-slug"),F=await X.measure("auth_query_membership",()=>{let D=G.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","=",K);if(w)return D.where("organization.id","=",w).executeTakeFirst();if(U)return D.where("organization.slug","=",U).executeTakeFirst();return D.orderBy("member.createdAt","asc").limit(2).execute().then((E)=>E.length===1?E[0]:void 0)});if(AG({metadata:F?.orgMetadata}))throw Error("Organization is archived");let H=F?.role,N=F?{id:F.orgId,slug:F.orgSlug,name:F.orgName}:void 0;if(F&&H)Y?.set(K,F.organizationId,H);let B;if(F&&H)B=await X.measure("auth_fetch_role_permissions",()=>vc0(G,F.organizationId,H));return{user:{id:K,role:H},role:H,permissions:B,organization:N}}}catch(J){console.error("[Auth] OAuth session check failed:",J)}if(Q?.startsWith("Bearer ")){let J=Q.replace("Bearer ","").trim();try{let W=await X.measure("auth_verify_mesh_jwt",()=>if0(J));if(W){let K,w=W.metadata?.organizationId;if(W.sub&&w)K=await fc0(G,X,W.sub,w,Y);let U,F=W.metadata?.organizationId;if(F){let H=W.metadata?.organizationName,N=W.metadata?.organizationSlug;if(H||N){if(await ko1(G,X,F,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};U={id:F,name:H,slug:N}}else{let B=await X.measure("auth_query_org_for_mesh_jwt",()=>G.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",F).executeTakeFirst());if(AG(B))return{user:void 0};U=B?{id:B.id,slug:B.slug,name:B.name}:{id:F}}}return{user:{id:W.sub,connectionId:W.metadata?.connectionId,role:K},role:K,permissions:W.permissions,organization:U}}}catch{}try{let W=await X.measure("auth_verify_api_key",()=>Z.api.verifyApiKey({body:{key:J}}));if(W?.valid&&W.key){let K=W.key.metadata?.organization;if(K?.id&&await ko1(G,X,K.id,"auth_query_org_for_api_key"))return{user:void 0};let w=W.key.permissions,U,F=W.key.userId;if(F&&K?.id)U=await fc0(G,X,F,K.id,Y);let H=await Wt8($,G,X,K?.id,Y);return{apiKeyId:W.key.id,user:H??{id:W.key.userId,role:U},role:H?H.role:U,permissions:w,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch(W){let K=W;if(K.body?.code==="INVALID_API_KEY"||K.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL($.url).pathname,method:$.method,ua:$.headers.get("user-agent")??void 0,ip:$.headers.get("x-forwarded-for")??$.headers.get("x-real-ip")??void 0,tokenPrefix:J.slice(0,8)});else console.error("[Auth] API key check failed:",K)}}try{let J=new Headers($.headers);J.delete("Authorization");let W=await X.measure("auth_get_session",()=>Z.api.getSession({headers:J}));if(W){let K,w,U=$.headers.get("x-org-id"),F=$.headers.get("x-org-slug");if(!U&&!F&&$.method.toUpperCase()==="GET")try{let H=new URL($.url).searchParams;U=H.get("x-org-id"),F=H.get("x-org-slug")}catch{}if(U||F){let H=await X.measure("auth_query_membership_from_header",()=>{let N=G.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","=",W.user.id);if(U)N=N.where("organization.id","=",U);else if(F)N=N.where("organization.slug","=",F);return N.executeTakeFirst()});if(AG({metadata:H?.orgMetadata}))throw Error("Organization is archived");if(H)K={id:H.orgId,slug:H.orgSlug,name:H.orgName},w=H.role}else if(W.session.activeOrganizationId){let H=await X.measure("auth_get_full_organization",()=>Z.api.getFullOrganization({headers:J}).catch(()=>null));if(H){if(AG(H))throw Error("Organization is archived");K={id:H.id,slug:H.slug,name:H.name},w=H.members?.find((B)=>B.userId===W.user.id)?.role}else K={id:W.session.activeOrganizationId,slug:"",name:""}}return{user:{id:W.user.id,email:W.user.email,emailVerified:!!W.user.emailVerified,name:W.user.name,image:W.user.image??void 0,role:w},role:w,organization:K}}}catch(J){let W=J;console.error("[Auth] Session check failed:",JSON.stringify({message:W.message,body:W.body,stack:W.stack},null,2))}return{user:void 0}}async function Co1($){let Z=new Fw($.encryption.key),G=E1(),X=G.clickhouseUrl,Y=!!X,Q=!Y&&!!G.monitoringS3Bucket,J=Y?"clickhouse":"duckdb",{resolve:W}=await import("path"),K=W(mQ()),w=W(DK()),U=(A)=>`read_ndjson('${K}/${A}/**/*.ndjson', auto_detect=true)`,F=(A)=>`read_ndjson('${w}/${A}/**/*.ndjson', auto_detect=true)`,H,N,B,D,E=!1;if($.monitoringEngines)H=$.monitoringEngines.monitoringEngine,N=$.monitoringEngines.metricEngine,B=U,D=F;else if(Y){let A=G.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(G.clickhouseMaxMemoryUsage)}:void 0;H=new Ll(X,A),N=new Ll(X,A),B=(M)=>"studio_monitoring_logs",D=(M)=>"studio_monitoring_logs"}else if(Q){let A=G.monitoringS3AccessKeyId??G.s3AccessKeyId,M=G.monitoringS3SecretAccessKey??G.s3SecretAccessKey,S=G.duckdbExtensionDirectory;if(!A||!M||!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 q={endpoint:G.monitoringS3Endpoint??G.s3Endpoint??"storage.googleapis.com",region:G.monitoringS3Region??G.s3Region,accessKeyId:A,secretAccessKey:M,extensionDirectory:S},V=new El(q,{memoryLimit:G.duckdbMemoryLimit,threads:G.duckdbThreads});H=V,N=V;let t=G.monitoringS3Bucket,f=G.monitoringS3Prefix??"",v=(Z0,a)=>cl1({bucket:t,prefix:f,range:a});B=v,D=v,E=!0}else{let{engine:A}=await ov0({basePath:mQ()}),{engine:M}=await ov0({basePath:DK()});H=A,N=M,B=U,D=F}let L=new uf($.db),z=new kl($.db),j=new Al($.db),P={connections:new du($.db,Z),connectionCredentialVault:new Nx0($.db),organizationSettings:new av0($.db),monitoring:new zx0(H,B,N,D,J,E),virtualMcps:new bb($.db),users:new Hy0($.db),tags:new Fy0($.db),virtualMcpPluginConfigs:new sv0($.db),aiProviderKeys:new uu($.db,Z,$.providerKeyCache),secrets:new vy0($.db,Z),orgFileConfigs:new yy0($.db,Z),orgSites:new uy0($.db),taskBoard:new dy0($.db),orgFsEntries:new Uc($.db),oauthPkceStates:new ly0($.db),automations:_80($.db),triggerCallbackTokens:new jl($.db),orgSsoConfig:new Qy0($.db,Z),orgSsoSessions:new Jy0($.db),registry:{items:new bf($.db),publishRequests:new ff($.db),publishApiKeys:new xf($.db),monitorRuns:new u80($.db),monitorResults:new d80($.db),monitorConnections:new l80($.db)},brandContext:new Pl($.db),organizationDomains:new QY($.db),organizationJoinRequests:new _f($.db),kv:j,interests:new Yy0(j)};return async(A,M)=>{let S=M?.timings??Vo1,q=Z60(),V=A?await $.observability.tracer.startActiveSpan("studio.auth",async(f0)=>{try{let m0=await Kt8(A,$.auth,$.db,S,$.memberRoleCache);return f0.setStatus({code:qo1.OK}),m0}catch(m0){throw f0.setStatus({code:qo1.ERROR,message:m0.message}),f0.recordException(m0),m0}finally{f0.end()}}):{user:void 0},t=A?.headers.get("x-caller-id")??V.user?.connectionId??void 0,f=xc0({auth:$.auth,headers:A?.headers??new Headers,role:V.role,permissions:V.permissions,userId:V.user?.id,apiKeyId:V.apiKeyId}),v={user:V.user};if(V.apiKeyId)v.apiKey={id:V.apiKeyId,name:"",userId:""};let Z0=V.organization,a=A?E1().baseUrl??`${new URL(A.url).origin}`:EZ(),B0=new zD(v.user?.id,void 0,f,V.role,"self",void 0,Z0?.id),O0={...P,virtualMcps:yy1(P.virtualMcps),threads:new ky0(L,Z0?.id),asyncResearchJobs:new by0(z,Z0?.id)},W0=new Sc0(O0.aiProviderKeys,$.modelListCache),J0=oX(),s=!Z0?null:J0?W3(J0,Z0.id):new yJ(Z0.id,a),A0=Z0&&s?new hJ(s,O0.orgFsEntries,Z0.id):null;_c0(O0,{objectStorage:s,baseUrl:a,orgSlug:Z0?.slug});let U0={timings:S,auth:v,connectionId:t,organization:Z0,storage:O0,vault:Z,authInstance:$.auth,boundAuth:f,access:B0,db:$.db,tracer:$.observability.tracer,meter:$.observability.meter,baseUrl:a,objectStorage:s,orgFs:A0,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(wt8.map((f0)=>[f0,A?.headers.get(f0)??null]).filter(([f0,m0])=>m0!==null)),userAgent:A?.headers.get("x-mesh-client")||A?.headers.get("User-Agent")||void 0,ipAddress:(A?.headers.get("CF-Connecting-IP")||A?.headers.get("X-Forwarded-For"))??void 0,properties:Qt8(A?.headers.get("x-mesh-properties"))},linkStatusProbe:$.linkStatusProbe,publishLinkControlFrame:$.publishLinkControlFrame,aiProviders:W0,createMCPProxy:async(f0)=>{return await Om1(f0,U0)},invalidateMemberRole:$.memberRoleCache?(f0,m0)=>$.memberRoleCache.invalidate(f0,m0):void 0,getOrCreateClient:q,pendingRevalidations:[],firecrawlApiKey:E1().firecrawlApiKey};return U0}}function j40($,Z){$.storage.threads.setOrganizationId(Z.id),$.storage.asyncResearchJobs.setOrganizationId(Z.id);let G=oX();$.objectStorage=G?W3(G,Z.id):new yJ(Z.id,$.baseUrl),$.orgFs=new hJ($.objectStorage,$.storage.orgFsEntries,Z.id),_c0($.storage,{objectStorage:$.objectStorage,baseUrl:$.baseUrl,orgSlug:Z.slug??void 0})}var Jt8=60000,Mo1,So1,pH,Vo1,wt8;var Zi=O(()=>{pO();cu();z8();nG();zf0();x$0();lf0();Kh1();ul1();gX();dl1();ev0();$y0();Gy0();Xm1();Ym1();jD();jy0();KW();Iy0();Sy0();fy0();xy0();Bf0();X60();Sm1();Cm1();_m1();MS0();q_();To1();HO();Qc();bc0();Mo1=new Map;pH={set:($)=>{So1=$},create:async($,Z)=>{return await So1($,Z)}},Vo1={measure:async($,Z)=>{return await Z()}},wt8=["x-hub-signature-256"]});function gc0($){return $?`/api/${$}`:""}function _o1($){let G=new URL($).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let X=(Y)=>{let Q=new URL($);return Q.pathname=Y,Q.toString()};return[X(`${G}/.well-known/oauth-protected-resource`),X(`/.well-known/oauth-protected-resource${G}`),X("/.well-known/oauth-protected-resource")]}function bo1($){let G=new URL($).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let X=G!==""&&G!=="/",Y=(Q)=>{let J=new URL($);return J.pathname=Q,J.toString()};if(X)return[Y(`/.well-known/oauth-authorization-server${G}`),Y(`/.well-known/openid-configuration${G}`),Y(`${G}/.well-known/openid-configuration`)];return[Y("/.well-known/oauth-authorization-server"),Y("/.well-known/openid-configuration")]}function fo1($){return"issuer"in $&&!("resource"in $)&&(("authorization_endpoint"in $)||("token_endpoint"in $))}function xo1($){let Z=$.toLowerCase();return Z.includes("resource_metadata=")||Z.includes("invalid_token")||Z.includes("oauth")}function vo1($){let Z=$.message?.toLowerCase()??"";return $.status===401||$.code===401||($.message?.includes("401")??!1)||Z.includes("unauthorized")||Z.includes("invalid_token")||Z.includes("api key required")||Z.includes("api-key required")}function yo1($,{proxyResourceUrl:Z,proxyAuthServer:G}){return{...$,resource:Z,authorization_servers:[G]}}function hc0({proxyResourceUrl:$,proxyAuthServer:Z,scopesSupported:G=["*"]}){return{resource:$,authorization_servers:[Z],bearer_methods_supported:["header"],scopes_supported:G}}function go1($){return"scopes_supported"in $&&Array.isArray($.scopes_supported)&&$.scopes_supported.length>0?$.scopes_supported:["*"]}function ho1($,Z){return{...$,authorization_endpoint:$.authorization_endpoint?`${Z}/authorize`:void 0,token_endpoint:$.token_endpoint?`${Z}/token`:void 0,registration_endpoint:$.registration_endpoint?`${Z}/register`:void 0}}function co1({origin:$,prefix:Z,connectionId:G}){return`Bearer realm="mcp",resource_metadata="${$}${Z}/mcp/${G}/.well-known/oauth-protected-resource"`}var yc0;var uo1=O(()=>{yc0=[404,401,406]});async function Ut8($,Z,G){return(await Z.storage.connections.findById($,G))?.connection_url??null}async function do1($,Z={}){try{let G=await dc0($,{method:"POST",headers:{...Z,"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(G.status===401){let X=G.headers.get("WWW-Authenticate");if(X){if(xo1(X))return X}if(await Ft8($))return'Bearer realm="mcp"'}return null}catch{return null}}async function Ft8($){try{let Z=new URL($),G=new URL("/.well-known/oauth-authorization-server",Z.origin),X=await dc0(G.toString(),{method:"GET",headers:{Accept:"application/json"}});if(X.ok){let Y=await X.json();if(Y.authorization_endpoint||Y.token_endpoint||Y.issuer)return!0}return!1}catch{return!1}}async function Rx($){let Z=_o1($),G;for(let X=0;X<Z.length;X++){if(G=await to1(Z[X],{method:"GET",headers:{Accept:"application/json"}}),G.ok)return G;if(X<Z.length-1&&!yc0.includes(G.status))return G}return G}async function Ht8($){let Z;try{Z=new URL($).origin}catch{return null}try{let G=await Rx($);if(G.ok){let X=await G.json();if(X.authorization_servers?.[0])return X.authorization_servers[0]}}catch{}return Z}async function lo1($){let Z=$.get("meshContext");if(!Z)Z=await pH.create($.req.raw),$.set("meshContext",Z);return Z}async function uc0({error:$,reqUrl:Z,connectionId:G,connectionUrl:X,headers:Y,orgSlug:Q}){if(!vo1($))return null;if(Boolean(await do1(X,Y)))return new Response(null,{status:401,headers:{"WWW-Authenticate":co1({origin:Z.origin,prefix:gc0(Q),connectionId:G})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function dc0($,Z,G=po1){return fetch($,{...Z,signal:AbortSignal.timeout(G)})}class cc0{response;constructor($){this.response=$}}async function to1($,Z,{attempts:G=3,timeoutMs:X=po1}={}){try{return await BK(async()=>{let Y=await dc0($,Z,X);if(Y.status>=500)throw new cc0(Y);return Y},{maxAttempts:G,minTimeout:150,multiplier:2,jitter:0})}catch(Y){if(Y instanceof NK){if(Y.cause instanceof cc0)return Y.cause.response;throw Y.cause}throw Y}}async function Xi($){let Z=bo1($),G=null;for(let X of Z){if(G=await to1(X,{method:"GET",headers:{Accept:"application/json"}}),G.ok)return G;if(G.status!==404&&G.status!==401)return G}return G}var mo1=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $},Gi=async($)=>{let Z=$.req.param("connectionId"),G=await lo1($),X=mo1(new URL($.req.url)),Y=$.req.param("org")??G.organization?.slug,Q;if(Y)if(G.organization?.id&&G.organization.slug===Y)Q=G.organization.id;else{let U=await G.db.selectFrom("organization").select("id").where("slug","=",Y).executeTakeFirst();if(!U)return $.json({error:"Connection not found"},404);Q=U.id}let J=await Ut8(Z,G,Q);if(!J)return $.json({error:"Connection not found"},404);let W=gc0(Y),K=`${X.origin}${W}/mcp/${Z}`,w=`${X.origin}/oauth-proxy/${Z}`;try{let U=await Rx(J);if(!U.ok&&yc0.includes(U.status)){if(await do1(J)){let B=hc0({proxyResourceUrl:K,proxyAuthServer:w});return new Response(JSON.stringify(B),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}if(!U.ok)return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}});let F=await U.json();if(fo1(F)){let N=hc0({proxyResourceUrl:K,proxyAuthServer:w,scopesSupported:go1(F)});return new Response(JSON.stringify(N),{status:200,headers:{"Content-Type":"application/json"}})}let H=yo1(F,{proxyResourceUrl:K,proxyAuthServer:w});return new Response(JSON.stringify(H),{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}catch(U){let F=U;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",F),$.json({error:"Failed to proxy OAuth metadata",message:F.message},502)}},io1=()=>{let $=new g1;return $.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Z)=>Gi(Z)),$.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Z)=>Gi(Z)),$},no1=()=>{let $=new g1;return $.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Z)=>Gi(Z)),$},po1=4000,Nt8=async($)=>{let Z=$.req.param("connectionId"),G=await lo1($),X=await G.storage.connections.findById(Z);if(!X?.connection_url)return $.json({error:"Connection not found or no auth server"},404);let Y=await Ht8(X.connection_url);if(!Y)return $.json({error:"Connection not found or no auth server"},404);let Q=await G.db.selectFrom("organization").select("slug").where("id","=",X.organization_id).executeTakeFirst();try{let J=await Xi(Y);if(!J.ok)return new Response(J.body,{status:J.status,statusText:J.statusText,headers:{"Content-Type":"application/json"}});let W=await J.json(),K=mo1(new URL($.req.url)),w=Q?.slug?`${K.origin}/api/${Q.slug}/oauth-proxy/${Z}`:`${K.origin}/oauth-proxy/${Z}`,U=ho1(W,w);return new Response(JSON.stringify(U),{status:200,headers:{"Content-Type":"application/json"}})}catch(J){let W=J;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",W),$.json({error:"Failed to proxy auth server metadata",message:W.message},502)}},ro1=()=>{let $=new g1;return $.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",Nt8),$};var Yi=O(()=>{m6();Zi();Z9();uo1()});async function qx($){try{let Z;try{let X=await Rx($);if(X.ok)Z=(await X.json()).authorization_servers?.[0]}catch{}if(!Z)Z=new URL($).origin;let G=await Xi(Z);if(G.ok)return(await G.json()).token_endpoint??null;return null}catch{return null}}var P40=O(()=>{Yi()});function T40($){return!!$.refreshToken&&!!$.tokenEndpoint&&!!$.clientId}function Bt8($,Z){if($.includes("/oauth-proxy/"))return!0;try{return new URL($).host!==new URL(Z).host}catch{return!1}}async function Et8($,Z){let G=await rg1($);if(!G.success||!G.accessToken){if(G.permanent===!0)await Z.delete($.connectionId);return null}return await Z.upsert({connectionId:$.connectionId,accessToken:G.accessToken,refreshToken:G.refreshToken??$.refreshToken,scope:G.scope??$.scope,expiresAt:G.expiresIn?new Date(Date.now()+G.expiresIn*1000):null,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint}),G.accessToken}function I40($,Z){let G=lc0.get($.connectionId);if(G)return G;let X=A40.get($.connectionId);if(X&&Date.now()<X.nextAttemptAt)return Promise.resolve(null);let Y=Et8($,Z).then((Q)=>{if(Q)A40.delete($.connectionId);else{let J=A40.get($.connectionId)?.attempt??0,W=yX(Dt8,Ot8,J,2,0.5);A40.set($.connectionId,{attempt:J+1,nextAttemptAt:Date.now()+W})}return Q}).finally(()=>{lc0.delete($.connectionId)});return lc0.set($.connectionId,Y),Y}async function tH($){let{connectionId:Z,connectionUrl:G,tokenStorage:X}=$,Y=await X.get(Z);if(!Y)return{state:"missing",accessToken:null};let Q=T40(Y),J=Q?$.bufferMs??Qi:0;if(!X.isExpired(Y,J))return{state:"valid",accessToken:Y.accessToken};if(!Q)return await X.delete(Z),{state:"expired_without_refresh",accessToken:null};let W=Y.tokenEndpoint;if(G&&W&&Bt8(W,G)){let w=await qx(G);if(w)W=w}let K=await I40({...Y,tokenEndpoint:W},X);if(!K)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:K}}var Qi=300000,oo1=3300000,u7="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",lc0,Ot8=30000,Dt8=300000,A40;var rH=O(()=>{Z9();og1();P40();lc0=new Map,A40=new Map});class V5{db;vault;constructor($,Z){this.db=$;this.vault=Z}async get($){let Z=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",$).executeTakeFirst();if(!Z)return null;return this.decryptToken(Z)}async upsert($){let Z=new Date().toISOString(),G=await this.vault.encrypt($.accessToken),X=$.refreshToken?await this.vault.encrypt($.refreshToken):null,Y=$.clientSecret?await this.vault.encrypt($.clientSecret):null;return await this.db.transaction().execute(async(Q)=>{let J=await Q.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",$.connectionId).executeTakeFirst();if(J)return await Q.updateTable("downstream_tokens").set({accessToken:G,refreshToken:X,scope:$.scope,expiresAt:$.expiresAt?.toISOString()??null,clientId:$.clientId,clientSecret:Y,tokenEndpoint:$.tokenEndpoint,updatedAt:Z}).where("id","=",J.id).execute(),{id:J.id,connectionId:$.connectionId,accessToken:$.accessToken,refreshToken:$.refreshToken,scope:$.scope,expiresAt:$.expiresAt,createdAt:J.createdAt,updatedAt:Z,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint};let W=P6("dtok");return await Q.insertInto("downstream_tokens").values({id:W,connectionId:$.connectionId,accessToken:G,refreshToken:X,scope:$.scope,expiresAt:$.expiresAt?.toISOString()??null,clientId:$.clientId,clientSecret:Y,tokenEndpoint:$.tokenEndpoint,createdAt:Z,updatedAt:Z}).execute(),{id:W,connectionId:$.connectionId,accessToken:$.accessToken,refreshToken:$.refreshToken,scope:$.scope,expiresAt:$.expiresAt,createdAt:Z,updatedAt:Z,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint}})}async delete($){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",$).execute()}isExpired($,Z=0){if(!$.expiresAt)return!1;let X=($.expiresAt instanceof Date?$.expiresAt:new Date($.expiresAt)).getTime();if(Number.isNaN(X))return!0;return X-Z<Date.now()}async decryptToken($){let Z=await this.vault.decrypt($.accessToken),G=$.refreshToken?await this.vault.decrypt($.refreshToken):null,X=$.clientSecret?await this.vault.decrypt($.clientSecret):null;return{id:$.id,connectionId:$.connectionId,accessToken:Z,refreshToken:G,scope:$.scope,expiresAt:$.expiresAt,createdAt:$.createdAt,updatedAt:$.updatedAt,clientId:$.clientId,clientSecret:X,tokenEndpoint:$.tokenEndpoint}}}var t3=O(()=>{zG()});function Lt8($){if(!$||typeof $!=="object"||Array.isArray($))return ao1;let Z=$;if(Object.values(Z).some((G)=>typeof G!=="string"))return ao1;return Z}function zt8($){if(typeof $!=="number"||!Number.isFinite($)||!Number.isInteger($)||$<=0)return;return $}function TW($){let Z=$.metadata?.repoScope;if(!Z||typeof Z.installationId!=="number"||!Number.isFinite(Z.installationId)||!Number.isInteger(Z.installationId)||Z.installationId<=0||typeof Z.owner!=="string"||typeof Z.repo!=="string"||Z.owner.length===0||Z.repo.length===0)return null;let G=zt8(Z.repositoryId);return{sourceConnectionId:typeof Z.sourceConnectionId==="string"?Z.sourceConnectionId:void 0,installationId:Z.installationId,repositoryId:G,owner:Z.owner,repo:Z.repo,permissions:Lt8(Z.permissions),grantProvider:Z.grantProvider==="github-mcp"?"github-mcp":void 0}}function so1($){return $.metadata?.orgShared===!0}var ao1;var oD=O(()=>{ao1={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function jt8($,Z){let G=$.organization?.id;if(!G)throw Error(u7);if(!Z.sourceConnectionId)throw Error(u7);let X=await $.storage.connections.findById(Z.sourceConnectionId,G);if(!X)throw Error(u7);let{clientFromConnection:Y}=await Promise.resolve().then(() => (ql(),eo1)),Q=await Y(X,$,!0);try{let J=await Q.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:Z.installationId,owner:Z.owner,repo:Z.repo,permissions:Z.permissions}}),W=J.structuredContent?.token;if(J.isError||!W)throw Error(u7);let K=J.structuredContent?.expiresAt;return{accessToken:W,expiresAt:K?new Date(K):null}}finally{await Q.close().catch(()=>{})}}function Pt8($,Z){return($?.getTime()??0)>Z?$:new Date(Z+oo1)}async function At8($,Z,G,X){let Y=Date.now(),Q=await jt8($,G),J=Pt8(Q.expiresAt,Y);return await X.upsert({connectionId:Z,accessToken:Q.accessToken,refreshToken:null,scope:null,expiresAt:J,clientId:null,clientSecret:null,tokenEndpoint:null}),Q.accessToken}async function R40($,Z,G){let X=TW(Z);if(!X)throw Error("Connection is not repo-scoped");if(!X.sourceConnectionId)throw Error(u7);let Y=new V5($.db,$.vault),Q=await Y.get(Z.id);if(!G?.forceRefresh&&Q&&!Y.isExpired(Q,Qi))return Q.accessToken;let J=mc0.get(Z.id);if(J)return J;let W=At8($,Z.id,X,Y).finally(()=>{mc0.delete(Z.id)});return mc0.set(Z.id,W),W}var mc0;var ic0=O(()=>{rH();oD();t3();mc0=new Map});import{SpanStatusCode as $a1}from"@opentelemetry/api";function Tt8($){if(!$)return;let Z={};for(let[G,X]of Object.entries($))if(X&&typeof X==="object"&&!Array.isArray(X)&&"__binding"in X){let{__binding:Y,...Q}=X;Z[G]=Q}else Z[G]=X;return Z}async function nc0($,Z,G){return Z.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":$.id}},async(X)=>{try{let Y=await It8($,Z,G);return X.setStatus({code:$a1.OK}),Y}catch(Y){throw X.setStatus({code:$a1.ERROR,message:Y.message}),X.recordException(Y),Y}finally{X.end()}})}async function It8($,Z,G){let X=$.id,Y=wx0($.configuration_state,$.configuration_scopes),Q=Z.auth.user,J=Q?.id??Z.auth.apiKey?.userId??(G?$.created_by:void 0),[W,K]=J?await Yg1({sub:J,user:{id:J,email:Q?.email,name:Q?.name,role:Q?.role},metadata:{state:Tt8($.configuration_state),meshUrl:Z.baseUrl,connectionId:X,organizationId:Z.organization?.id,organizationName:Z.organization?.name,organizationSlug:Z.organization?.slug},permissions:Y}).then((B)=>[B,null]).catch((B)=>[null,B]):[null,Error("User ID required to issue configuration token")];if(K)console.error("Failed to issue configuration token:",W);let w=Z.auth.user?.connectionId,U={...w?{"x-caller-id":w}:{},...Z.metadata.wellKnownForwardableHeaders??{},"x-request-id":Z.metadata.requestId};if(Z.metadata.runMetadata&&Object.keys(Z.metadata.runMetadata).length>0)U["x-mesh-run-metadata"]=JSON.stringify(Z.metadata.runMetadata);let F=null;if(!!TW($)?.sourceConnectionId)try{F=await R40(Z,$)}catch(B){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:X,error:B.message})}else{let B=new V5(Z.db,Z.vault),D=await tH({connectionId:X,connectionUrl:$.connection_url,tokenStorage:B});if(D.accessToken)F=D.accessToken;else if(D.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${X} with no refresh capability`)}if(!F&&$.connection_token)F=$.connection_token;if(F)U.Authorization=`Bearer ${F}`;if(W)U["x-mesh-token"]=W;return U}var Za1=O(()=>{Ux0();pO();rH();t3();ic0();oD()});function Ga1($){let Z=new tu({command:$.command,args:$.args,env:$.env,cwd:$.cwd,stderr:"pipe"}),G=$.name||$.id,X="\x1B[2m",Y="\x1B[0m";return Z.stderr?.on("data",(Q)=>{let J=Q.toString().trimEnd();if(J)console.error(`${J} \x1B[2m[${G}]\x1B[0m`)}),Z}var Xa1=O(()=>{uf0()});var Rt8="mcp.mesh",Mx;var Ya1=O(()=>{XY();jD();BG();Mx=class Mx extends Xb{options;constructor($,Z){super($);this.options=Z}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise(($)=>{let Z=`auth-tools-${Date.now()}`,G=this.innerTransport.onmessage;this.innerTransport.onmessage=(X)=>{if("id"in X&&X.id===Z)if(this.innerTransport.onmessage=G,this.toolsListPromise=null,"result"in X){let Y=X.result?.tools??null;$(Y)}else $(null);else G?.(X)},this.innerTransport.send({jsonrpc:"2.0",id:Z,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=G,this.toolsListPromise=null,$(null)})});return this.toolsListPromise}async ensureToolsMap(){let $=this.options.cache??W9(),Z=await sF("tools",this.options.connection.id,async()=>{let G=await this.fetchToolsFromServer();if(G===null)throw Error("Failed to fetch tools list");return G},$,(G)=>this.options.ctx.pendingRevalidations.push(G),aF);if(!Z)return new Map;return new Map(Z.map((G)=>[G.name,G]))}async handleOutgoingMessage($){if(!this.isRequest($))return this.innerTransport.send($);let Z=$;if(Z.method==="tools/call")await this.authorizeToolCall(Z),this.stripMetaFromArguments(Z);return this.innerTransport.send($)}async authorizeToolCall($){if(this.options.superUser)return;let G=$.params.name,{ctx:X,connection:Y}=this.options;if(await this.isPublicTool(G))return;if(!X.auth.user?.id&&!X.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let Q=async()=>{return(await this.ensureToolsMap()).get(G)?._meta};await new zD(X.auth.user?.id??X.auth.apiKey?.userId,G,X.boundAuth,X.organization?.role??X.auth.user?.role,Y.id,Q,X.organization?.id).check(G)}async isPublicTool($){if($.startsWith("MESH_PUBLIC_"))return!0;let G=(await this.ensureToolsMap()).get($);if(!G?._meta)return!1;return G._meta[Rt8]?.public_tool===!0}stripMetaFromArguments($){let Z=$.params;if(Z.arguments&&"_meta"in Z.arguments){let{_meta:G,...X}=Z.arguments;Z.arguments=X}}}});class pc0{redact($){if($===null||$===void 0)return $;if(typeof $==="string")return this.redactString($);if(Array.isArray($))return $.map((Z)=>this.redact(Z));if(typeof $==="object"){let Z={};for(let[G,X]of Object.entries($)){let Y=this.redactString(G);Z[Y]=this.redact(X)}return Z}return $}redactString($){return $.replace(Mt8,(Z,...G)=>{let X=G[G.length-1];if(X){for(let Y of qt8)if(X[Y]!=null)return`[REDACTED:${Y}]`}return Z})}}var qt8,Mt8;var Qa1=O(()=>{qt8=["jwt","api_key","email","credit_card","ssn"],Mt8=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 Ja1}from"@opentelemetry/api-logs";function Ji($,Z){try{if(!$.organizationId)return;let G=tc0.redactString(QC(JSON.stringify($.toolArguments??{}))),X=tc0.redactString(QC(JSON.stringify($.result??{}))),Y=$.errorMessage?tc0.redactString(QC($.errorMessage)):"";a$1().emit({severityNumber:$.isError?Ja1.ERROR:Ja1.INFO,severityText:$.isError?"ERROR":"INFO",body:$.toolName,attributes:{[D6.TYPE]:$.type??Ug,[D6.ORGANIZATION_ID]:$.organizationId,[D6.CONNECTION_ID]:$.connectionId,[D6.CONNECTION_TITLE]:"",[D6.TOOL_NAME]:$.toolName,[D6.INPUT]:G,[D6.OUTPUT]:X,[D6.IS_ERROR]:$.isError,[D6.ERROR_MESSAGE]:Y,[D6.DURATION_MS]:$.duration,[D6.USER_ID]:$.userId||"",[D6.REQUEST_ID]:$.requestId,[D6.USER_AGENT]:$.userAgent||"",[D6.VIRTUAL_MCP_ID]:$.virtualMcpId||"",[D6.PROPERTIES]:$.properties?JSON.stringify($.properties):""},context:Z})}catch{}}var tc0;var q40=O(()=>{IL0();Qa1();gX();TL0();tc0=new pc0});function rc0($){let{ctx:Z,organizationId:G,connectionId:X,toolName:Y,durationMs:Q,isError:J}=$;if(!G||!X||!Y)return;let W={"tool.name":Y,"organization.id":G,"connection.id":X,status:J?"error":"success","error.type":J?$.errorType||"Error":""};Z.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(Q,W),Z.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,W)}import{trace as s55,context as e55}from"@opentelemetry/api";function Wa1($){if(!$.isError)return;let Z=$.content;if(!Array.isArray(Z))return;for(let G of Z)if(G&&typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&typeof G.text==="string")return G.text;return}function Ka1($){if(!$)return;let Z=$._meta;if(!Z||typeof Z!=="object"||Array.isArray(Z))return;let G=Z.properties;if(!G||typeof G!=="object"||Array.isArray(G))return;let X={};for(let[Y,Q]of Object.entries(G))if(typeof Q==="string")X[Y]=Q;return Object.keys(X).length>0?X:void 0}function wa1($,Z){if(!$&&!Z)return;if(!$)return Z;if(!Z)return $;return{...Z,...$}}var Ua1=O(()=>{t8();q40();gX()});import{trace as kt8,context as Fa1}from"@opentelemetry/api";var kx;var Ha1=O(()=>{BG();q40();Ua1();kx=class kx extends Xb{options;inflightRequests=new Map;requestContext;constructor($,Z){super($);this.options=Z;this.requestContext=Fa1.active()}async handleOutgoingMessage($){if(this.isRequest($)){let Z=$;this.onRequestStart(Z)}return this.innerTransport.send($)}handleIncomingMessage($){if(this.isResponse($)){let Z=$;this.onResponseEnd(Z)}this.onmessage?.($)}onRequestStart($){let{ctx:Z,connectionId:G}=this.options,X,Y;if($.method==="tools/call"&&$.params){let J=$.params;X=J.name,Y=J.arguments}let Q;if($.method==="tools/call"&&X)Q=Z.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":G,"tool.name":X,"request.id":Z.metadata.requestId,"jsonrpc.id":$.id,"jsonrpc.method":$.method}},this.requestContext);if($.id!==null&&$.id!==void 0)this.inflightRequests.set($.id,{startTime:Date.now(),method:$.method,toolName:X,toolArguments:Y,span:Q})}onResponseEnd($){if($.id===null||$.id===void 0)return;let Z=this.inflightRequests.get($.id);if(!Z)return;let{ctx:G,connectionId:X}=this.options,{startTime:Y,method:Q,toolName:J,toolArguments:W,span:K}=Z,w=Date.now()-Y;if(this.inflightRequests.delete($.id),Q!=="tools/call"||!J)return;let U=G.organization?.id??"",F="error"in $,H=F?$.error:$.result,N=F?{content:[{type:"text",text:$.error?.message||"Unknown error"}],isError:!0}:H,B=F||N?.isError===!0,D=F?$.error?.message:void 0,E=Wa1(N)||null;if(G.meter.createHistogram("connection.proxy.duration").record(w,{"connection.id":X,"organization.id":U,"tool.name":J,status:B?"error":"success"}),B)G.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":X,"organization.id":U,"tool.name":J,error:D??E??void 0});else G.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":X,"organization.id":U,"tool.name":J,status:"success"});if(U)rc0({ctx:G,organizationId:U,connectionId:X,toolName:J,durationMs:w,isError:B,errorType:F?"RemoteError":B?"ToolError":""});if(K){if(B)K.recordException(Error(D??E??"Tool error"));let L=Ka1(W),z=wa1(G.metadata.properties,L),j=kt8.setSpan(Fa1.active(),K);Ji({organizationId:G.organization?.id??"",connectionId:X,toolName:J,toolArguments:W,result:N,duration:w,isError:B,errorMessage:E,userId:G.auth.user?.id||G.auth.apiKey?.userId||null,requestId:G.metadata.requestId,userAgent:G.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:z||null},j),K.end()}}async close(){for(let $ of this.inflightRequests.values())if($.span)$.span.setAttributes({"transport.closed":!0}),$.span.end();return this.inflightRequests.clear(),super.close()}}});var Na1=O(()=>{BG();Ya1();Ha1()});async function Ba1($,Z,G=!1){let X=$.id,Y=Z.connectionId&&Z.connectionId!==X?Z.connectionId:void 0;switch($.connection_type){case"STDIO":{if(!E1().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let Q=$.connection_headers;if(!rJ(Q))throw Error("STDIO connection missing parameters");let J=Ga1({id:X,name:$.title,command:Q.command,args:Q.args,env:Q.envVars,cwd:Q.cwd});return J=Yb(J,(W)=>new Mx(W,{ctx:Z,connection:$,superUser:G}),(W)=>new kx(W,{ctx:Z,connectionId:X,virtualMcpId:Y})),St8(J,X)}case"HTTP":case"Websocket":{if(!$.connection_url)throw Error(`${$.connection_type} connection missing URL`);let Q=await nc0($,Z,G),J=$.connection_headers;if(J&&"headers"in J)Object.assign(Q,J.headers);let W=new P3(new URL($.connection_url),{requestInit:{headers:Q}});return W=Yb(W,(K)=>new Mx(K,{ctx:Z,connection:$,superUser:G}),(K)=>new kx(K,{ctx:Z,connectionId:X,virtualMcpId:Y})),Z.getOrCreateClient(W,X)}case"SSE":{if(!$.connection_url)throw Error("SSE connection missing URL");let Q=await nc0($,Z,G),J=$.connection_headers;if(J&&"headers"in J)Object.assign(Q,J.headers);let W=new Bw(new URL($.connection_url),{requestInit:{headers:Q}});return W=Yb(W,(K)=>new Mx(K,{ctx:Z,connection:$,superUser:G}),(K)=>new kx(K,{ctx:Z,connectionId:X,virtualMcpId:Y})),Z.getOrCreateClient(W,X)}default:throw Error(`Unknown connection type: ${$.connection_type}`)}}var St8;var Oa1=O(()=>{z8();eJ();pu();kO();Za1();xy0();Xa1();Na1();St8=Z60()});function zQ($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function Wi($){if($&&typeof $==="object"&&"gatewayClientId"in $&&typeof $.gatewayClientId==="string")return $.gatewayClientId;return}function Ki($,Z){if(!Z)return $;let G=`${zQ(Z)}_`;return $.startsWith(G)?$.slice(G.length):$}function Vt8($){return $.split(/[-_]/).map((Z)=>Z?Z.charAt(0).toUpperCase()+Z.slice(1):Z).join(" ")}var M40;var Da1=O(()=>{j3();M40=class M40 extends Q9{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor($,Z){super(Z?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Z?.capabilities});this.clients=$;for(let G of Object.keys($)){let X=zQ(G);if(this.slugToKey.has(X))throw Error(`GatewayClient: duplicate slug "${X}" from keys "${this.slugToKey.get(X)}" and "${G}"`);this.slugToKey.set(X,G)}}namespace($,Z){return`${zQ($)}_${Z}`}async resolveToolTarget($){let Z=$.indexOf("_");if(Z!==-1){let X=$.slice(0,Z),Y=this.slugToKey.get(X);if(Y)return[Y,$.slice(Z+1)]}let{tools:G}=await this.listTools();for(let X of G){let Y=Wi(X._meta);if(!Y)continue;if(Ki(X.name,Y)===$)return[Y,$]}if(Z===-1)throw Error(`GatewayClient: could not resolve tool "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Z)}" in "${$}" and not found by original name in any client`)}async resolvePromptTarget($){let Z=$.indexOf("_");if(Z!==-1){let X=$.slice(0,Z),Y=this.slugToKey.get(X);if(Y)return[Y,$.slice(Z+1)]}let{prompts:G}=await this.listPrompts();for(let X of G){let Y=Wi(X._meta);if(!Y)continue;if(Ki(X.name,Y)===$)return[Y,$]}if(Z===-1)throw Error(`GatewayClient: could not resolve prompt "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Z)}" in "${$}" and not found by original name in any client`)}resolveClient($){let Z=this.resolvedClients.get($);if(Z)return Z;let G=this.clients[$];if(!G)return Promise.reject(Error(`GatewayClient: unknown client key "${$}"`));let X=G.client,Q=(typeof X==="function"?Promise.resolve(X()):Promise.resolve(X)).catch((J)=>{throw this.resolvedClients.delete($),J});return this.resolvedClients.set($,Q),Q}getResolvedClient($){return this.resolveClient($)}async fetchAllTools($){let Z=[],G;do{let X=await $.listTools(G?{cursor:G}:void 0);Z.push(...X.tools),G=X.nextCursor}while(G);return Z}async fetchAllResources($){let Z=[],G;do{let X=await $.listResources(G?{cursor:G}:void 0);Z.push(...X.resources),G=X.nextCursor}while(G);return Z}async fetchAllResourceTemplates($){let Z=[],G;do{let X=await $.listResourceTemplates(G?{cursor:G}:void 0);Z.push(...X.resourceTemplates),G=X.nextCursor}while(G);return Z}async fetchAllPrompts($){let Z=[],G;do{let X=await $.listPrompts(G?{cursor:G}:void 0);Z.push(...X.prompts),G=X.nextCursor}while(G);return Z}listTools($,Z){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let $=[];for(let[Z,G]of Object.entries(this.clients)){let X=await this.resolveClient(Z),Y=await this.fetchAllTools(X),Q=G.tools,J=Q?new Set(Q):null;for(let W of Y){if(J&&!J.has(W.name))continue;$.push({...W,name:this.namespace(Z,W.name),_meta:{...W._meta??{},gatewayClientId:Z}})}}return{tools:$}}listResources($,Z){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let $=new Set,Z=[],G=new Map;for(let[X,Y]of Object.entries(this.clients)){let Q=await this.resolveClient(X),J=await this.fetchAllResources(Q),W=Y.resources,K=W?new Set(W):null;for(let w of J){if(K&&!K.has(w.uri)&&!(w.name&&K.has(w.name)))continue;if($.has(w.uri)){console.warn(`GatewayClient: duplicate resource "${w.uri}" from client "${X}" \u2014 skipping`);continue}$.add(w.uri),G.set(w.uri,X),Z.push({...w,_meta:{...w._meta??{},gatewayClientId:X}})}}return this.resourceRouteMap=G,{resources:Z}}listResourceTemplates($,Z){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let $=new Set,Z=[];for(let[G,X]of Object.entries(this.clients)){let Y=await this.resolveClient(G),Q=await this.fetchAllResourceTemplates(Y);for(let J of Q){if($.has(J.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${J.uriTemplate}" from client "${G}" \u2014 skipping`);continue}$.add(J.uriTemplate),Z.push({...J,_meta:{...J._meta??{},gatewayClientId:G}})}}return{resourceTemplates:Z}}listPrompts($,Z){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let $=[];for(let[Z,G]of Object.entries(this.clients)){let X=await this.resolveClient(Z),Y=await this.fetchAllPrompts(X),Q=G.prompts,J=Q?new Set(Q):null;for(let W of Y){if(J&&!J.has(W.name))continue;$.push({...W,name:this.namespace(Z,W.name),title:W.title??Vt8(W.name),_meta:{...W._meta??{},gatewayClientId:Z}})}}return{prompts:$}}async callTool($,Z,G){let[X,Y]=await this.resolveToolTarget($.name);return(await this.resolveClient(X)).callTool({...$,name:Y},Z,G)}async readResource($,Z){let G=await this.resolveResourceRoute($.uri);return(await this.resolveClient(G)).readResource($)}async getPrompt($,Z){let[G,X]=await this.resolvePromptTarget($.name);return(await this.resolveClient(G)).getPrompt({...$,name:X})}async resolveResourceRoute($){let Z=this.resourceRouteMap.get($);if(Z)return Z;if(this.resourcesCache=null,await this.listResources(),Z=this.resourceRouteMap.get($),Z)return Z;throw Error(`GatewayClient: resource "${$}" 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 $=[...this.resolvedClients.values()].map((Z)=>Z.then((G)=>G.close()).catch(()=>{}));await Promise.allSettled($),await super.close()}}});var k40=O(()=>{Da1()});function oc0($){return zQ($)}function Ct8($,Z){let G=zQ(Z)||"prompt";return`${$}-${G}`}async function ac0($,Z,G){try{await $.delete(S40,oc0(Z),{actor:G})}catch(X){console.error("[agent-prompts] failed to delete prompts",{agentId:Z,err:X})}}async function V40($,Z,G,X){let Y=oc0(Z);await ac0($,Z,G),await Promise.all(X.slice(0,Ea1).map(async(Q,J)=>{let W=Ct8(J,Q.title),K={name:W,title:Q.title,description:Q.description,text:Q.text};try{await $.write(S40,`${Y}/${W}.json`,JSON.stringify(K),{actor:G,contentType:"application/json"})}catch(w){console.error("[agent-prompts] failed to seed prompt",{agentId:Z,name:W,err:w})}}))}async function La1($,Z){let G=oc0(Z),X;try{X=await $.listDir(S40,G)}catch{return[]}let Y=X.filter((J)=>J.kind==="file"&&J.path.endsWith(".json")).slice(0,Ea1),Q=[];for(let J of Y)try{let W=await $.read(S40,J.path),K=JSON.parse(new TextDecoder().decode(W));if(K&&typeof K.name==="string"&&typeof K.title==="string"&&typeof K.text==="string")Q.push(K)}catch{}return Q}var S40="agent-prompts",Ea1=20;var wi=O(()=>{k40()});var aD="home";var C40=()=>{};function sD($,Z){let G;if($==="home")G=`org/${aD}`;else if($==="outputs")G=`org/${za1}`;else if($==="uploads")G=`org/${ja1}`;else if(BO($))G=`org/public/${$.slice(7)}`;else G=`org/${$}`;return Z?`${G}/${Z}`:G}function bt8($){return{baseUrl:$.baseUrl.replace(/\/+$/,""),orgSlug:$.orgSlug,token:$.token,mounts:[{volume:"home",path:aD},..._t8.map((Z)=>({...Z})),...($.publicSets??[]).map((Z)=>({volume:OF(Z),path:`public/${Z}`,readonly:!0}))]}}async function _40($,Z){try{let G=await $.boundAuth.apiKey.create({name:`orgfs-${Z.orgSlug}`,permissions:{self:["*"]},expiresIn:ft8,metadata:{organization:{id:Z.orgId,slug:Z.orgSlug}}});return JSON.stringify(bt8({baseUrl:Z.baseUrl,orgSlug:Z.orgSlug,token:G.key,publicSets:tY().map((X)=>X.set)}))}catch(G){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",G);return}}var za1=".outputs",ja1=".uploads",_t8,ft8=604800;var Sx=O(()=>{C40();M_();_t8=[{volume:"outputs",path:za1},{volume:"uploads",path:ja1}]});function xt8($){let Z=[$.contentType??"file"];if($.size!=null)Z.push(`${$.size} bytes`);return Z.join(", ")}function vt8($){let Z=($??[]).filter((X)=>X.kind!=="skill");if(Z.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:",Z.map((X)=>`- ${X.name} (${xt8(X)}), read it at \`${sD(X.volume,X.path)}\``).join(`
|
|
1005
|
+
${Z}:`]}}function pr1({id:$,model:Z,created:G}){return{id:$!=null?$:void 0,modelId:Z!=null?Z:void 0,timestamp:G!=null?new Date(G*1000):void 0}}function tr1($){switch($){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 jn8($){return zn8.some((Z)=>$.startsWith(Z))}function ar1($,Z,G){if($==null)return{};let X={};if($.image_tokens!=null){let Y=Math.floor($.image_tokens/G),Q=$.image_tokens-Y*(G-1);X.imageTokens=Z===G-1?Q:Y}if($.text_tokens!=null){let Y=Math.floor($.text_tokens/G),Q=$.text_tokens-Y*(G-1);X.textTokens=Z===G-1?Q:Y}return X}async function In8($){if(!$)return;if($.type==="url")return ay0($.url);let Z=$.data instanceof Uint8Array?$.data:w9($.data);return new Blob([Z],{type:$.mediaType})}function sr1($){var Z,G,X,Y;if($==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:Q,output_tokens:J}=$,W=(G=(Z=$.input_tokens_details)==null?void 0:Z.cached_tokens)!=null?G:0,K=(Y=(X=$.output_tokens_details)==null?void 0:X.reasoning_tokens)!=null?Y:0;return{inputTokens:{total:Q,noCache:Q-W,cacheRead:W,cacheWrite:void 0},outputTokens:{total:J,text:J-K,reasoning:K},raw:$}}function Hp8($){return JSON.stringify($===void 0?{}:$)}function er1($,Z){if(!Z)return!1;return Z.some((G)=>$.startsWith(G))}async function Np8({prompt:$,toolNameMapping:Z,systemMessageMode:G,providerOptionsName:X,fileIdPrefixes:Y,passThroughUnsupportedFiles:Q=!1,store:J,hasConversation:W=!1,hasPreviousResponseId:K=!1,hasLocalShellTool:w=!1,hasShellTool:U=!1,hasApplyPatchTool:F=!1,customProviderToolNames:H}){var N,B,D,E,L,z,j,P,A,M,S,q,V,t,f,v,Z0,a,B0,O0,W0,J0,s;let A0=[],U0=[],f0=new Set;for(let{role:m0,content:x0}of $)switch(m0){case"system":{switch(G){case"system":{A0.push({role:"system",content:x0});break}case"developer":{A0.push({role:"developer",content:x0});break}case"remove":{U0.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${G}`)}break}case"user":{A0.push({role:"user",content:x0.map((n0,N0)=>{var _0,I0,F0;switch(n0.type){case"text":return{type:"input_text",text:n0.text};case"file":{let Q0=n0.mediaType==="image/*"?"image/jpeg":n0.mediaType;if(Q0.startsWith("image/"))return{type:"input_image",...n0.data instanceof URL?{image_url:n0.data.toString()}:typeof n0.data==="string"&&er1(n0.data,Y)?{file_id:n0.data}:{image_url:`data:${Q0};base64,${p9(n0.data)}`},detail:(I0=(_0=n0.providerOptions)==null?void 0:_0[X])==null?void 0:I0.imageDetail};if(n0.data instanceof URL)return{type:"input_file",file_url:n0.data.toString()};if(Q0!=="application/pdf"&&!Q)throw new H6({functionality:`file part media type ${Q0}`});return{type:"input_file",...typeof n0.data==="string"&&er1(n0.data,Y)?{file_id:n0.data}:{filename:(F0=n0.filename)!=null?F0:Q0==="application/pdf"?`part-${N0}.pdf`:`part-${N0}`,file_data:`data:${Q0};base64,${p9(n0.data)}`}}}}})});break}case"assistant":{let n0={};for(let N0 of x0)switch(N0.type){case"text":{let _0=(N=N0.providerOptions)==null?void 0:N[X],I0=_0==null?void 0:_0.itemId,F0=_0==null?void 0:_0.phase;if(W&&I0!=null)break;if(J&&I0!=null){A0.push({type:"item_reference",id:I0});break}A0.push({role:"assistant",content:[{type:"output_text",text:N0.text}],id:I0,...F0!=null&&{phase:F0}});break}case"tool-call":{let _0=(z=(D=(B=N0.providerOptions)==null?void 0:B[X])==null?void 0:D.itemId)!=null?z:(L=(E=N0.providerMetadata)==null?void 0:E[X])==null?void 0:L.itemId,I0=(S=(P=(j=N0.providerOptions)==null?void 0:j[X])==null?void 0:P.namespace)!=null?S:(M=(A=N0.providerMetadata)==null?void 0:A[X])==null?void 0:M.namespace;if(W&&_0!=null)break;let F0=Z.toProviderToolName(N0.toolName);if(F0==="tool_search"){if(J&&_0!=null){A0.push({type:"item_reference",id:_0});break}let X0=typeof N0.input==="string"?await $g0({text:N0.input,schema:Ic0}):await g$({value:N0.input,schema:Ic0}),S0=X0.call_id!=null?"client":"server";A0.push({type:"tool_search_call",id:_0!=null?_0:N0.toolCallId,execution:S0,call_id:(q=X0.call_id)!=null?q:null,status:"completed",arguments:X0.arguments});break}if(N0.providerExecuted){if(J&&_0!=null)A0.push({type:"item_reference",id:_0});break}if(K&&J&&_0!=null)break;let Q0=w&&F0==="local_shell"||U&&F0==="shell"||F&&F0==="apply_patch"||((V=H==null?void 0:H.has(F0))!=null?V:!1);if(J&&_0!=null&&Q0){A0.push({type:"item_reference",id:_0});break}if(w&&F0==="local_shell"){let X0=await g$({value:N0.input,schema:Uo1});A0.push({type:"local_shell_call",call_id:N0.toolCallId,id:_0,action:{type:"exec",command:X0.action.command,timeout_ms:X0.action.timeoutMs,user:X0.action.user,working_directory:X0.action.workingDirectory,env:X0.action.env}});break}if(U&&F0==="shell"){let X0=await g$({value:N0.input,schema:Ho1});A0.push({type:"shell_call",call_id:N0.toolCallId,id:_0,status:"completed",action:{commands:X0.action.commands,timeout_ms:X0.action.timeoutMs,max_output_length:X0.action.maxOutputLength}});break}if(F&&F0==="apply_patch"){let X0=await g$({value:N0.input,schema:Jo1});A0.push({type:"apply_patch_call",call_id:X0.callId,id:_0,status:"completed",operation:X0.operation});break}if(H==null?void 0:H.has(F0)){A0.push({type:"custom_tool_call",call_id:N0.toolCallId,name:F0,input:typeof N0.input==="string"?N0.input:JSON.stringify(N0.input),id:_0});break}A0.push({type:"function_call",call_id:N0.toolCallId,name:F0,arguments:Hp8(N0.input),...I0!=null&&{namespace:I0}});break}case"tool-result":{if(N0.output.type==="execution-denied"||N0.output.type==="json"&&typeof N0.output.value==="object"&&N0.output.value!=null&&"type"in N0.output.value&&N0.output.value.type==="execution-denied")break;if(W)break;let _0=Z.toProviderToolName(N0.toolName);if(_0==="tool_search"){let I0=(v=(f=(t=N0.providerOptions)==null?void 0:t[X])==null?void 0:f.itemId)!=null?v:N0.toolCallId;if(J)A0.push({type:"item_reference",id:I0});else if(N0.output.type==="json"){let F0=await g$({value:N0.output.value,schema:Rc0});A0.push({type:"tool_search_output",id:I0,execution:"server",call_id:null,status:"completed",tools:F0.tools})}break}if(U&&_0==="shell"){if(N0.output.type==="json"){let I0=await g$({value:N0.output.value,schema:Tc0});A0.push({type:"shell_call_output",call_id:N0.toolCallId,output:I0.output.map((F0)=>({stdout:F0.stdout,stderr:F0.stderr,outcome:F0.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:F0.outcome.exitCode}}))})}break}if(J){let I0=(B0=(a=(Z0=N0.providerOptions)==null?void 0:Z0[X])==null?void 0:a.itemId)!=null?B0:N0.toolCallId;A0.push({type:"item_reference",id:I0})}else U0.push({type:"other",message:`Results for OpenAI tool ${N0.toolName} are not sent to the API when store is false`});break}case"reasoning":{let _0=await A8({provider:X,providerOptions:N0.providerOptions,schema:Bp8}),I0=_0==null?void 0:_0.itemId;if((W||K)&&I0!=null)break;if(I0!=null){let F0=n0[I0];if(J){if(F0===void 0)A0.push({type:"item_reference",id:I0}),n0[I0]={type:"reasoning",id:I0,summary:[]}}else{let Q0=[];if(N0.text.length>0)Q0.push({type:"summary_text",text:N0.text});else if(F0!==void 0)U0.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(N0)}.`});if(F0===void 0)n0[I0]={type:"reasoning",id:I0,encrypted_content:_0==null?void 0:_0.reasoningEncryptedContent,summary:Q0},A0.push(n0[I0]);else if(F0.summary.push(...Q0),(_0==null?void 0:_0.reasoningEncryptedContent)!=null)F0.encrypted_content=_0.reasoningEncryptedContent}}else{let F0=_0==null?void 0:_0.reasoningEncryptedContent;if(F0!=null){let Q0=[];if(N0.text.length>0)Q0.push({type:"summary_text",text:N0.text});A0.push({type:"reasoning",encrypted_content:F0,summary:Q0})}else U0.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(N0)}.`})}break}}break}case"tool":{for(let n0 of x0){if(n0.type==="tool-approval-response"){let F0=n0;if(f0.has(F0.approvalId))continue;if(f0.add(F0.approvalId),J)A0.push({type:"item_reference",id:F0.approvalId});A0.push({type:"mcp_approval_response",approval_request_id:F0.approvalId,approve:F0.approved});continue}let N0=n0.output;if(N0.type==="execution-denied"){if((W0=(O0=N0.providerOptions)==null?void 0:O0.openai)==null?void 0:W0.approvalId)continue}let _0=Z.toProviderToolName(n0.toolName);if(_0==="tool_search"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Rc0});A0.push({type:"tool_search_output",execution:"client",call_id:n0.toolCallId,status:"completed",tools:F0.tools});continue}if(w&&_0==="local_shell"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Fo1});A0.push({type:"local_shell_call_output",call_id:n0.toolCallId,output:F0.output});continue}if(U&&_0==="shell"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Tc0});A0.push({type:"shell_call_output",call_id:n0.toolCallId,output:F0.output.map((Q0)=>({stdout:Q0.stdout,stderr:Q0.stderr,outcome:Q0.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Q0.outcome.exitCode}}))});continue}if(F&&n0.toolName==="apply_patch"&&N0.type==="json"){let F0=await g$({value:N0.value,schema:Wo1});A0.push({type:"apply_patch_call_output",call_id:n0.toolCallId,status:F0.status,output:F0.output});continue}if(H==null?void 0:H.has(_0)){let F0;switch(N0.type){case"text":case"error-text":F0=N0.value;break;case"execution-denied":F0=(J0=N0.reason)!=null?J0:"Tool execution denied.";break;case"json":case"error-json":F0=JSON.stringify(N0.value);break;case"content":F0=N0.value.map((Q0)=>{var X0,S0,n,$0,t0;switch(Q0.type){case"text":return{type:"input_text",text:Q0.text};case"image-data":return{type:"input_image",image_url:`data:${Q0.mediaType};base64,${Q0.data}`,detail:(S0=(X0=Q0.providerOptions)==null?void 0:X0[X])==null?void 0:S0.imageDetail};case"image-url":return{type:"input_image",image_url:Q0.url,detail:($0=(n=Q0.providerOptions)==null?void 0:n[X])==null?void 0:$0.imageDetail};case"file-data":return{type:"input_file",filename:(t0=Q0.filename)!=null?t0:"data",file_data:`data:${Q0.mediaType};base64,${Q0.data}`};case"file-url":return{type:"input_file",file_url:Q0.url};default:U0.push({type:"other",message:`unsupported custom tool content part type: ${Q0.type}`});return}}).filter(TD);break;default:F0=""}A0.push({type:"custom_tool_call_output",call_id:n0.toolCallId,output:F0});continue}let I0;switch(N0.type){case"text":case"error-text":I0=N0.value;break;case"execution-denied":I0=(s=N0.reason)!=null?s:"Tool execution denied.";break;case"json":case"error-json":I0=JSON.stringify(N0.value);break;case"content":I0=N0.value.map((F0)=>{var Q0,X0,S0,n,$0;switch(F0.type){case"text":return{type:"input_text",text:F0.text};case"image-data":return{type:"input_image",image_url:`data:${F0.mediaType};base64,${F0.data}`,detail:(X0=(Q0=F0.providerOptions)==null?void 0:Q0[X])==null?void 0:X0.imageDetail};case"image-url":return{type:"input_image",image_url:F0.url,detail:(n=(S0=F0.providerOptions)==null?void 0:S0[X])==null?void 0:n.imageDetail};case"file-data":return{type:"input_file",filename:($0=F0.filename)!=null?$0:"data",file_data:`data:${F0.mediaType};base64,${F0.data}`};case"file-url":return{type:"input_file",file_url:F0.url};default:{U0.push({type:"other",message:`unsupported tool content part type: ${F0.type}`});return}}}).filter(TD);break}A0.push({type:"function_call_output",call_id:n0.toolCallId,output:I0})}break}default:throw Error(`Unsupported role: ${m0}`)}if(!J&&A0.some((m0)=>("type"in m0)&&m0.type==="reasoning"&&m0.encrypted_content==null))U0.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),A0=A0.filter((m0)=>!("type"in m0)||m0.type!=="reasoning"||m0.encrypted_content!=null);return{input:A0,warnings:U0}}function Pc0({finishReason:$,hasFunctionCall:Z}){switch($){case void 0:case null:return Z?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return Z?"tool-calls":"other"}}async function Lp8({tools:$,toolChoice:Z,allowedTools:G,toolNameMapping:X,customProviderToolNames:Y}){var Q,J,W;$=($==null?void 0:$.length)?$:void 0;let K=[];if($==null)return{tools:void 0,toolChoice:void 0,toolWarnings:K};let w=[],U=new Map,F=Y!=null?Y:new Set;for(let N of $)switch(N.type){case"function":{let B=(Q=N.providerOptions)==null?void 0:Q.openai,D=zp8({tool:N,options:B}),E=B==null?void 0:B.namespace;if(E==null)w.push(D);else{let L=U.get(E.name);if(L==null)L={type:"namespace",name:E.name,description:E.description,tools:[]},U.set(E.name,L),w.push(L);else if(L.description!==E.description)throw new H6({functionality:`conflicting descriptions for OpenAI tool namespace "${E.name}"`});L.tools.push(D)}break}case"provider":{switch(N.id){case"openai.file_search":{let B=await g$({value:N.args,schema:vn8});w.push({type:"file_search",vector_store_ids:B.vectorStoreIds,max_num_results:B.maxNumResults,ranking_options:B.ranking?{ranker:B.ranking.ranker,score_threshold:B.ranking.scoreThreshold}:void 0,filters:B.filters});break}case"openai.local_shell":{w.push({type:"local_shell"});break}case"openai.shell":{let B=await g$({value:N.args,schema:nn8});w.push({type:"shell",...B.environment&&{environment:jp8(B.environment)}});break}case"openai.apply_patch":{w.push({type:"apply_patch"});break}case"openai.web_search_preview":{let B=await g$({value:N.args,schema:Gp8});w.push({type:"web_search_preview",search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.web_search":{let B=await g$({value:N.args,schema:an8});w.push({type:"web_search",filters:B.filters!=null?{allowed_domains:B.filters.allowedDomains}:void 0,external_web_access:B.externalWebAccess,search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.code_interpreter":{let B=await g$({value:N.args,schema:Sn8});w.push({type:"code_interpreter",container:B.container==null?{type:"auto",file_ids:void 0}:typeof B.container==="string"?B.container:{type:"auto",file_ids:B.container.fileIds}});break}case"openai.image_generation":{let B=await g$({value:N.args,schema:hn8});w.push({type:"image_generation",background:B.background,input_fidelity:B.inputFidelity,input_image_mask:B.inputImageMask?{file_id:B.inputImageMask.fileId,image_url:B.inputImageMask.imageUrl}:void 0,model:B.model,moderation:B.moderation,partial_images:B.partialImages,quality:B.quality,output_compression:B.outputCompression,output_format:B.outputFormat,size:B.size});break}case"openai.mcp":{let B=await g$({value:N.args,schema:Jp8}),D=(z)=>({tool_names:z.toolNames}),E=B.requireApproval,L=E==null?void 0:typeof E==="string"?E:E.never!=null?{never:D(E.never)}:void 0;w.push({type:"mcp",server_label:B.serverLabel,allowed_tools:Array.isArray(B.allowedTools)?B.allowedTools:B.allowedTools?{read_only:B.allowedTools.readOnly,tool_names:B.allowedTools.toolNames}:void 0,authorization:B.authorization,connector_id:B.connectorId,headers:B.headers,require_approval:L!=null?L:"never",server_description:B.serverDescription,server_url:B.serverUrl});break}case"openai.custom":{let B=await g$({value:N.args,schema:_n8});w.push({type:"custom",name:B.name,description:B.description,format:B.format}),F.add(B.name);break}case"openai.tool_search":{let B=await g$({value:N.args,schema:tn8});w.push({type:"tool_search",...B.execution!=null?{execution:B.execution}:{},...B.description!=null?{description:B.description}:{},...B.parameters!=null?{parameters:B.parameters}:{}});break}}break}default:K.push({type:"unsupported",feature:`function tool ${N}`});break}if(G!=null)return{tools:w,toolChoice:{type:"allowed_tools",mode:(J=G.mode)!=null?J:"auto",tools:G.toolNames.map((N)=>{var B;return{type:"function",name:(B=X==null?void 0:X.toProviderToolName(N))!=null?B:N}})},toolWarnings:K};if(Z==null)return{tools:w,toolChoice:void 0,toolWarnings:K};let H=Z.type;switch(H){case"auto":case"none":case"required":return{tools:w,toolChoice:H,toolWarnings:K};case"tool":{let N=(W=X==null?void 0:X.toProviderToolName(Z.toolName))!=null?W:Z.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}:F.has(N)?{type:"custom",name:N}:{type:"function",name:N},toolWarnings:K}}default:throw new H6({functionality:`tool choice type: ${H}`})}}function zp8({tool:$,options:Z}){let G=Z==null?void 0:Z.deferLoading;return{type:"function",name:$.name,description:$.description,parameters:$.inputSchema,...$.strict!=null?{strict:$.strict}:{},...G!=null?{defer_loading:G}:{}}}function jp8($){if($.type==="containerReference")return{type:"container_reference",container_id:$.containerId};if($.type==="containerAuto"){let G=$;return{type:"container_auto",file_ids:G.fileIds,memory_limit:G.memoryLimit,network_policy:G.networkPolicy==null?void 0:G.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:G.networkPolicy.allowedDomains,domain_secrets:G.networkPolicy.domainSecrets},skills:Pp8(G.skills)}}return{type:"local",skills:$.skills}}function Pp8($){return $==null?void 0:$.map((Z)=>Z.type==="skillReference"?{type:"skill_reference",skill_id:Z.skillId,version:Z.version}:{type:"inline",name:Z.name,description:Z.description,source:{type:"base64",media_type:Z.source.mediaType,data:Z.source.data}})}function Zo1($){var Z,G;let X={};for(let Y of $){if(Y.role!=="assistant")continue;for(let Q of Y.content){if(Q.type!=="tool-call")continue;let J=(G=(Z=Q.providerOptions)==null?void 0:Z.openai)==null?void 0:G.approvalRequestId;if(J!=null)X[J]=Q.toolCallId}}return X}function Tp8($){return $.type==="response.output_text.delta"}function Ip8($){return $.type==="response.output_item.done"}function Rp8($){return $.type==="response.completed"||$.type==="response.incomplete"}function qp8($){return $.type==="response.failed"}function Mp8($){return $.type==="response.created"}function kp8($){return $.type==="response.function_call_arguments.delta"}function Sp8($){return $.type==="response.custom_tool_call_input.delta"}function Vp8($){return $.type==="response.image_generation_call.partial_image"}function Cp8($){return $.type==="response.code_interpreter_call_code.delta"}function _p8($){return $.type==="response.code_interpreter_call_code.done"}function bp8($){return $.type==="response.apply_patch_call_operation_diff.delta"}function fp8($){return $.type==="response.apply_patch_call_operation_diff.done"}function Go1($){return $.type==="response.output_item.added"}function xp8($){return $.type==="response.output_text.annotation.added"}function vp8($){return $.type==="error"}function Xo1($){var Z;if($==null)return{};switch($.type){case"search":return{action:{type:"search",query:(Z=$.query)!=null?Z:void 0,...$.queries!=null&&{queries:$.queries}},...$.sources!=null&&{sources:$.sources}};case"open_page":return{action:{type:"openPage",url:$.url}};case"find_in_page":return{action:{type:"findInPage",url:$.url,pattern:$.pattern}}}}function tD($){return JSON.stringify($).slice(1,-1)}function rD($={}){var Z,G;let X=(Z=_H(FW({settingValue:$.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?Z:"https://api.openai.com/v1",Y=(G=$.name)!=null?G:"openai",Q=()=>t6({Authorization:`Bearer ${rf({apiKey:$.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":$.organization,"OpenAI-Project":$.project,...$.headers},`ai-sdk/openai/${dp8}`),J=(D)=>new Un8(D,{provider:`${Y}.chat`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),W=(D)=>new Bn8(D,{provider:`${Y}.completion`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),K=(D)=>new En8(D,{provider:`${Y}.embedding`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),w=(D)=>new Tn8(D,{provider:`${Y}.image`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),U=(D)=>new up8(D,{provider:`${Y}.transcription`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),F=(D)=>new gp8(D,{provider:`${Y}.speech`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch}),H=(D)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return N(D)},N=(D)=>{return new Ap8(D,{provider:`${Y}.responses`,url:({path:E})=>`${X}${E}`,headers:Q,fetch:$.fetch,fileIdPrefixes:["file-"]})},B=function(D){return H(D)};return B.specificationVersion="v3",B.languageModel=H,B.chat=J,B.completion=W,B.responses=N,B.embedding=K,B.embeddingModel=K,B.textEmbedding=K,B.textEmbeddingModel=K,B.image=w,B.imageModel=w,B.transcription=U,B.transcriptionModel=U,B.speech=F,B.speechModel=F,B.tools=Fp8,B}var Mc0,p3,Jn8,Wn8,Kn8,Un8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=$,this.config=Z}get provider(){return this.config.provider}async getArgs({prompt:$,maxOutputTokens:Z,temperature:G,topP:X,topK:Y,frequencyPenalty:Q,presencePenalty:J,stopSequences:W,responseFormat:K,seed:w,tools:U,toolChoice:F,providerOptions:H}){var N,B,D,E,L;let z=[],j=(N=await A8({provider:"openai",providerOptions:H,schema:Kn8}))!=null?N:{},P=Qo1(this.modelId),A=(B=j.forceReasoning)!=null?B:P.isReasoningModel;if(Y!=null)z.push({type:"unsupported",feature:"topK"});let{messages:M,warnings:S}=Qn8({prompt:$,systemMessageMode:(D=j.systemMessageMode)!=null?D:A?"developer":P.systemMessageMode});z.push(...S);let q=(E=j.strictJsonSchema)!=null?E:!0,V={model:this.modelId,logit_bias:j.logitBias,logprobs:j.logprobs===!0||typeof j.logprobs==="number"?!0:void 0,top_logprobs:typeof j.logprobs==="number"?j.logprobs:typeof j.logprobs==="boolean"?j.logprobs?0:void 0:void 0,user:j.user,parallel_tool_calls:j.parallelToolCalls,max_tokens:Z,temperature:G,top_p:X,frequency_penalty:Q,presence_penalty:J,response_format:(K==null?void 0:K.type)==="json"?K.schema!=null?{type:"json_schema",json_schema:{schema:K.schema,strict:q,name:(L=K.name)!=null?L:"response",description:K.description}}:{type:"json_object"}:void 0,stop:W,seed:w,verbosity:j.textVerbosity,max_completion_tokens:j.maxCompletionTokens,store:j.store,metadata:j.metadata,prediction:j.prediction,reasoning_effort:j.reasoningEffort,service_tier:j.serviceTier,prompt_cache_key:j.promptCacheKey,prompt_cache_retention:j.promptCacheRetention,safety_identifier:j.safetyIdentifier,messages:M};if(A){if(j.reasoningEffort!=="none"||!P.supportsNonReasoningParameters){if(V.temperature!=null)V.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(V.top_p!=null)V.top_p=void 0,z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(V.logprobs!=null)V.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(V.frequency_penalty!=null)V.frequency_penalty=void 0,z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(V.presence_penalty!=null)V.presence_penalty=void 0,z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(V.logit_bias!=null)V.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(V.top_logprobs!=null)V.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(V.max_tokens!=null){if(V.max_completion_tokens==null)V.max_completion_tokens=V.max_tokens;V.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(V.temperature!=null)V.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(j.serviceTier==="flex"&&!P.supportsFlexProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),V.service_tier=void 0;if(j.serviceTier==="priority"&&!P.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"}),V.service_tier=void 0;let{tools:t,toolChoice:f,toolWarnings:v}=wn8({tools:U,toolChoice:F});return{args:{...V,tools:t,tool_choice:f},warnings:[...z,...v]}}async doGenerate($){var Z,G,X,Y,Q,J,W;let{args:K,warnings:w}=await this.getArgs($),{responseHeaders:U,value:F,rawValue:H}=await F8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:K,failedResponseHandler:p3,successfulResponseHandler:Z8(Jn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),N=F.choices[0],B=[],D=N.message.content;if(D!=null&&D.length>0)B.push({type:"text",text:D});for(let j of(Z=N.message.tool_calls)!=null?Z:[])B.push({type:"tool-call",toolCallId:(G=j.id)!=null?G:l1(),toolName:j.function.name,input:j.function.arguments});for(let j of(X=N.message.annotations)!=null?X:[])B.push({type:"source",sourceType:"url",id:l1(),url:j.url_citation.url,title:j.url_citation.title});let E=(Y=F.usage)==null?void 0:Y.completion_tokens_details,L=(Q=F.usage)==null?void 0:Q.prompt_tokens_details,z={openai:{}};if((E==null?void 0:E.accepted_prediction_tokens)!=null)z.openai.acceptedPredictionTokens=E==null?void 0:E.accepted_prediction_tokens;if((E==null?void 0:E.rejected_prediction_tokens)!=null)z.openai.rejectedPredictionTokens=E==null?void 0:E.rejected_prediction_tokens;if(((J=N.logprobs)==null?void 0:J.content)!=null)z.openai.logprobs=N.logprobs.content;return{content:B,finishReason:{unified:ir1(N.finish_reason),raw:(W=N.finish_reason)!=null?W:void 0},usage:mr1(F.usage),request:{body:K},response:{...Lc0(F),headers:U,body:H},warnings:w,providerMetadata:z}}async doStream($){let{args:Z,warnings:G}=await this.getArgs($),X={...Z,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:Y,value:Q}=await F8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:X,failedResponseHandler:p3,successfulResponseHandler:b7(Wn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),J=[],W={unified:"other",raw:void 0},K=void 0,w=!1,U=!1,F={openai:{}};return{stream:Q.pipeThrough(new TransformStream({start(H){H.enqueue({type:"stream-start",warnings:G})},transform(H,N){var B,D,E,L,z,j,P,A,M,S,q,V,t,f,v,Z0,a;if($.includeRawChunks)N.enqueue({type:"raw",rawValue:H.rawValue});if(!H.success){W={unified:"error",raw:void 0},N.enqueue({type:"error",error:H.error});return}let B0=H.value;if("error"in B0){W={unified:"error",raw:void 0},N.enqueue({type:"error",error:B0.error});return}if(!w){let J0=Lc0(B0);if(Object.values(J0).some(Boolean))w=!0,N.enqueue({type:"response-metadata",...Lc0(B0)})}if(B0.usage!=null){if(K=B0.usage,((B=B0.usage.completion_tokens_details)==null?void 0:B.accepted_prediction_tokens)!=null)F.openai.acceptedPredictionTokens=(D=B0.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens;if(((E=B0.usage.completion_tokens_details)==null?void 0:E.rejected_prediction_tokens)!=null)F.openai.rejectedPredictionTokens=(L=B0.usage.completion_tokens_details)==null?void 0:L.rejected_prediction_tokens}let O0=B0.choices[0];if((O0==null?void 0:O0.finish_reason)!=null)W={unified:ir1(O0.finish_reason),raw:O0.finish_reason};if(((z=O0==null?void 0:O0.logprobs)==null?void 0:z.content)!=null)F.openai.logprobs=O0.logprobs.content;if((O0==null?void 0:O0.delta)==null)return;let W0=O0.delta;if(W0.content!=null){if(!U)N.enqueue({type:"text-start",id:"0"}),U=!0;N.enqueue({type:"text-delta",id:"0",delta:W0.content})}if(W0.tool_calls!=null)for(let J0 of W0.tool_calls){let s=J0.index;if(J[s]==null){if(J0.type!=null&&J0.type!=="function")throw new mf({data:J0,message:"Expected 'function' type."});if(J0.id==null)throw new mf({data:J0,message:"Expected 'id' to be a string."});if(((j=J0.function)==null?void 0:j.name)==null)throw new mf({data:J0,message:"Expected 'function.name' to be a string."});N.enqueue({type:"tool-input-start",id:J0.id,toolName:J0.function.name}),J[s]={id:J0.id,type:"function",function:{name:J0.function.name,arguments:(P=J0.function.arguments)!=null?P:""},hasFinished:!1};let U0=J[s];if(((A=U0.function)==null?void 0:A.name)!=null&&((M=U0.function)==null?void 0:M.arguments)!=null){if(U0.function.arguments.length>0)N.enqueue({type:"tool-input-delta",id:U0.id,delta:U0.function.arguments});if(Zg0(U0.function.arguments))N.enqueue({type:"tool-input-end",id:U0.id}),N.enqueue({type:"tool-call",toolCallId:(S=U0.id)!=null?S:l1(),toolName:U0.function.name,input:U0.function.arguments}),U0.hasFinished=!0}continue}let A0=J[s];if(A0.hasFinished)continue;if(((q=J0.function)==null?void 0:q.arguments)!=null)A0.function.arguments+=(t=(V=J0.function)==null?void 0:V.arguments)!=null?t:"";if(N.enqueue({type:"tool-input-delta",id:A0.id,delta:(f=J0.function.arguments)!=null?f:""}),((v=A0.function)==null?void 0:v.name)!=null&&((Z0=A0.function)==null?void 0:Z0.arguments)!=null&&Zg0(A0.function.arguments))N.enqueue({type:"tool-input-end",id:A0.id}),N.enqueue({type:"tool-call",toolCallId:(a=A0.id)!=null?a:l1(),toolName:A0.function.name,input:A0.function.arguments}),A0.hasFinished=!0}if(W0.annotations!=null)for(let J0 of W0.annotations)N.enqueue({type:"source",sourceType:"url",id:l1(),url:J0.url_citation.url,title:J0.url_citation.title})},flush(H){if(U)H.enqueue({type:"text-end",id:"0"});H.enqueue({type:"finish",finishReason:W,usage:mr1(K),...F!=null?{providerMetadata:F}:{}})}})),request:{body:X},response:{headers:Y}}}},Hn8,Nn8,rr1,Bn8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={},this.modelId=$,this.config=Z}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:$,maxOutputTokens:Z,temperature:G,topP:X,topK:Y,frequencyPenalty:Q,presencePenalty:J,stopSequences:W,responseFormat:K,tools:w,toolChoice:U,seed:F,providerOptions:H}){let N=[],B={...await A8({provider:"openai",providerOptions:H,schema:rr1}),...await A8({provider:this.providerOptionsName,providerOptions:H,schema:rr1})};if(Y!=null)N.push({type:"unsupported",feature:"topK"});if(w==null?void 0:w.length)N.push({type:"unsupported",feature:"tools"});if(U!=null)N.push({type:"unsupported",feature:"toolChoice"});if(K!=null&&K.type!=="text")N.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:D,stopSequences:E}=Fn8({prompt:$}),L=[...E!=null?E:[],...W!=null?W:[]];return{args:{model:this.modelId,echo:B.echo,logit_bias:B.logitBias,logprobs:(B==null?void 0:B.logprobs)===!0?0:(B==null?void 0:B.logprobs)===!1?void 0:B==null?void 0:B.logprobs,suffix:B.suffix,user:B.user,max_tokens:Z,temperature:G,top_p:X,frequency_penalty:Q,presence_penalty:J,seed:F,prompt:D,stop:L.length>0?L:void 0},warnings:N}}async doGenerate($){var Z;let{args:G,warnings:X}=await this.getArgs($),{responseHeaders:Y,value:Q,rawValue:J}=await F8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:G,failedResponseHandler:p3,successfulResponseHandler:Z8(Hn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),W=Q.choices[0],K={openai:{}};if(W.logprobs!=null)K.openai.logprobs=W.logprobs;return{content:[{type:"text",text:W.text}],usage:nr1(Q.usage),finishReason:{unified:tr1(W.finish_reason),raw:(Z=W.finish_reason)!=null?Z:void 0},request:{body:G},response:{...pr1(Q),headers:Y,body:J},providerMetadata:K,warnings:X}}async doStream($){let{args:Z,warnings:G}=await this.getArgs($),X={...Z,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:Y,value:Q}=await F8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:X,failedResponseHandler:p3,successfulResponseHandler:b7(Nn8),abortSignal:$.abortSignal,fetch:this.config.fetch}),J={unified:"other",raw:void 0},W={openai:{}},K=void 0,w=!0;return{stream:Q.pipeThrough(new TransformStream({start(U){U.enqueue({type:"stream-start",warnings:G})},transform(U,F){if($.includeRawChunks)F.enqueue({type:"raw",rawValue:U.rawValue});if(!U.success){J={unified:"error",raw:void 0},F.enqueue({type:"error",error:U.error});return}let H=U.value;if("error"in H){J={unified:"error",raw:void 0},F.enqueue({type:"error",error:H.error});return}if(w)w=!1,F.enqueue({type:"response-metadata",...pr1(H)}),F.enqueue({type:"text-start",id:"0"});if(H.usage!=null)K=H.usage;let N=H.choices[0];if((N==null?void 0:N.finish_reason)!=null)J={unified:tr1(N.finish_reason),raw:N.finish_reason};if((N==null?void 0:N.logprobs)!=null)W.openai.logprobs=N.logprobs;if((N==null?void 0:N.text)!=null&&N.text.length>0)F.enqueue({type:"text-delta",id:"0",delta:N.text})},flush(U){if(!w)U.enqueue({type:"text-end",id:"0"});U.enqueue({type:"finish",finishReason:J,providerMetadata:W,usage:nr1(K)})}})),request:{body:X},response:{headers:Y}}}},On8,Dn8,En8=class{constructor($,Z){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=$,this.config=Z}get provider(){return this.config.provider}async doEmbed({values:$,headers:Z,abortSignal:G,providerOptions:X}){var Y;if($.length>this.maxEmbeddingsPerCall)throw new nf({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:$});let Q=(Y=await A8({provider:"openai",providerOptions:X,schema:On8}))!=null?Y:{},{responseHeaders:J,value:W,rawValue:K}=await F8({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:p$(this.config.headers(),Z),body:{model:this.modelId,input:$,encoding_format:"float",dimensions:Q.dimensions,user:Q.user},failedResponseHandler:p3,successfulResponseHandler:Z8(Dn8),abortSignal:G,fetch:this.config.fetch});return{warnings:[],embeddings:W.data.map((w)=>w.embedding),usage:W.usage?{tokens:W.usage.prompt_tokens}:void 0,response:{headers:J,body:K}}}},or1,Ln8,zn8,kc0,s85,Pn8,An8,Tn8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get maxImagesPerCall(){var $;return($=Ln8[this.modelId])!=null?$:1}get provider(){return this.config.provider}async doGenerate({prompt:$,files:Z,mask:G,n:X,size:Y,aspectRatio:Q,seed:J,providerOptions:W,headers:K,abortSignal:w}){var U,F,H,N,B,D,E,L,z,j,P;let A=[];if(Q!=null)A.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(J!=null)A.push({type:"unsupported",feature:"seed"});let M=(H=(F=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:F.call(U))!=null?H:new Date;if(Z!=null){let t=(N=await A8({provider:"openai",providerOptions:W,schema:An8}))!=null?N:{},{value:f,responseHeaders:v}=await N60({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:p$(this.config.headers(),K),formData:di1({model:this.modelId,prompt:$,image:await Promise.all(Z.map((Z0)=>Z0.type==="file"?new Blob([Z0.data instanceof Uint8Array?new Blob([Z0.data],{type:Z0.mediaType}):new Blob([w9(Z0.data)],{type:Z0.mediaType})],{type:Z0.mediaType}):ay0(Z0.url))),mask:G!=null?await In8(G):void 0,n:X,size:Y,quality:t.quality,background:t.background,output_format:t.outputFormat,output_compression:t.outputCompression,input_fidelity:t.inputFidelity,user:t.user}),failedResponseHandler:p3,successfulResponseHandler:Z8(or1),abortSignal:w,fetch:this.config.fetch});return{images:f.data.map((Z0)=>Z0.b64_json),warnings:A,usage:f.usage!=null?{inputTokens:(B=f.usage.input_tokens)!=null?B:void 0,outputTokens:(D=f.usage.output_tokens)!=null?D:void 0,totalTokens:(E=f.usage.total_tokens)!=null?E:void 0}:void 0,response:{timestamp:M,modelId:this.modelId,headers:v},providerMetadata:{openai:{images:f.data.map((Z0,a)=>{var B0,O0,W0,J0,s,A0;return{...Z0.revised_prompt?{revisedPrompt:Z0.revised_prompt}:{},created:(B0=f.created)!=null?B0:void 0,size:(O0=f.size)!=null?O0:void 0,quality:(W0=f.quality)!=null?W0:void 0,background:(J0=f.background)!=null?J0:void 0,outputFormat:(s=f.output_format)!=null?s:void 0,...ar1((A0=f.usage)==null?void 0:A0.input_tokens_details,a,f.data.length)}})}}}}let S=(L=await A8({provider:"openai",providerOptions:W,schema:Pn8}))!=null?L:{},{value:q,responseHeaders:V}=await F8({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:p$(this.config.headers(),K),body:{model:this.modelId,prompt:$,n:X,size:Y,quality:S.quality,style:S.style,background:S.background,moderation:S.moderation,output_format:S.outputFormat,output_compression:S.outputCompression,user:S.user,...!jn8(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:p3,successfulResponseHandler:Z8(or1),abortSignal:w,fetch:this.config.fetch});return{images:q.data.map((t)=>t.b64_json),warnings:A,usage:q.usage!=null?{inputTokens:(z=q.usage.input_tokens)!=null?z:void 0,outputTokens:(j=q.usage.output_tokens)!=null?j:void 0,totalTokens:(P=q.usage.total_tokens)!=null?P:void 0}:void 0,response:{timestamp:M,modelId:this.modelId,headers:V},providerMetadata:{openai:{images:q.data.map((t,f)=>{var v,Z0,a,B0,O0,W0;return{...t.revised_prompt?{revisedPrompt:t.revised_prompt}:{},created:(v=q.created)!=null?v:void 0,size:(Z0=q.size)!=null?Z0:void 0,quality:(a=q.quality)!=null?a:void 0,background:(B0=q.background)!=null?B0:void 0,outputFormat:(O0=q.output_format)!=null?O0:void 0,...ar1((W0=q.usage)==null?void 0:W0.input_tokens_details,f,q.data.length)}})}}}}},Jo1,Wo1,Z65,Rn8,qn8,Mn8,kn8,Sn8,Vn8,Cn8=($={})=>{return Vn8($)},_n8,bn8,fn8,xn8=($)=>fn8($),Ko1,wo1,vn8,yn8,gn8,hn8,cn8,un8,dn8,ln8=($={})=>{return dn8($)},Uo1,Fo1,mn8,Ho1,Tc0,in8,nn8,pn8,tn8,Ic0,Rc0,rn8,on8=($={})=>rn8($),an8,sn8,en8,$p8,Zp8=($={})=>$p8($),Gp8,Xp8,Yp8,Qp8,qc0,Jp8,Wp8,Kp8,wp8,Up8=($)=>wp8($),Fp8,Bp8,em,Op8,Dp8,No1=20,Ep8,C65,$o1,Ap8=class{constructor($,Z){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=$,this.config=Z}get provider(){return this.config.provider}async getArgs({maxOutputTokens:$,temperature:Z,stopSequences:G,topP:X,topK:Y,presencePenalty:Q,frequencyPenalty:J,seed:W,prompt:K,providerOptions:w,tools:U,toolChoice:F,responseFormat:H}){var N,B,D,E,L,z,j,P,A,M,S;let q=[],V=Qo1(this.modelId);if(Y!=null)q.push({type:"unsupported",feature:"topK"});if(W!=null)q.push({type:"unsupported",feature:"seed"});if(Q!=null)q.push({type:"unsupported",feature:"presencePenalty"});if(J!=null)q.push({type:"unsupported",feature:"frequencyPenalty"});if(G!=null)q.push({type:"unsupported",feature:"stopSequences"});let t=this.config.provider.includes("azure")?"azure":"openai",f=await A8({provider:t,providerOptions:w,schema:$o1});if(f==null&&t!=="openai")f=await A8({provider:"openai",providerOptions:w,schema:$o1});let v=(N=f==null?void 0:f.forceReasoning)!=null?N:V.isReasoningModel;if((f==null?void 0:f.conversation)&&(f==null?void 0:f.previousResponseId))q.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let Z0=U60({tools:U,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:(Q0)=>Q0.id==="openai.custom"?Q0.args.name:void 0}),a=new Set,{tools:B0,toolChoice:O0,toolWarnings:W0}=await Lp8({tools:U,toolChoice:F,allowedTools:(B=f==null?void 0:f.allowedTools)!=null?B:void 0,toolNameMapping:Z0,customProviderToolNames:a}),{input:J0,warnings:s}=await Np8({prompt:K,toolNameMapping:Z0,systemMessageMode:(D=f==null?void 0:f.systemMessageMode)!=null?D:v?"developer":V.systemMessageMode,providerOptionsName:t,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(E=f==null?void 0:f.passThroughUnsupportedFiles)!=null?E:!1,store:(L=f==null?void 0:f.store)!=null?L:!0,hasConversation:(f==null?void 0:f.conversation)!=null,hasPreviousResponseId:(f==null?void 0:f.previousResponseId)!=null,hasLocalShellTool:m0("openai.local_shell"),hasShellTool:m0("openai.shell"),hasApplyPatchTool:m0("openai.apply_patch"),customProviderToolNames:a.size>0?a:void 0});q.push(...s);let A0=(z=f==null?void 0:f.strictJsonSchema)!=null?z:!0,U0=f==null?void 0:f.include;function f0(Q0){if(U0==null)U0=[Q0];else if(!U0.includes(Q0))U0=[...U0,Q0]}function m0(Q0){return(U==null?void 0:U.find((X0)=>X0.type==="provider"&&X0.id===Q0))!=null}let x0=typeof(f==null?void 0:f.logprobs)==="number"?f==null?void 0:f.logprobs:(f==null?void 0:f.logprobs)===!0?No1:void 0;if(x0)f0("message.output_text.logprobs");let n0=(j=U==null?void 0:U.find((Q0)=>Q0.type==="provider"&&(Q0.id==="openai.web_search"||Q0.id==="openai.web_search_preview")))==null?void 0:j.name;if(n0)f0("web_search_call.action.sources");if(m0("openai.code_interpreter"))f0("code_interpreter_call.outputs");let N0=f==null?void 0:f.store;if(N0===!1&&v)f0("reasoning.encrypted_content");let _0={model:this.modelId,input:J0,temperature:Z,top_p:X,max_output_tokens:$,...((H==null?void 0:H.type)==="json"||(f==null?void 0:f.textVerbosity))&&{text:{...(H==null?void 0:H.type)==="json"&&{format:H.schema!=null?{type:"json_schema",strict:A0,name:(P=H.name)!=null?P:"response",description:H.description,schema:H.schema}:{type:"json_object"}},...(f==null?void 0:f.textVerbosity)&&{verbosity:f.textVerbosity}}},conversation:f==null?void 0:f.conversation,max_tool_calls:f==null?void 0:f.maxToolCalls,metadata:f==null?void 0:f.metadata,parallel_tool_calls:f==null?void 0:f.parallelToolCalls,previous_response_id:f==null?void 0:f.previousResponseId,store:N0,user:f==null?void 0:f.user,instructions:f==null?void 0:f.instructions,service_tier:f==null?void 0:f.serviceTier,include:U0,prompt_cache_key:f==null?void 0:f.promptCacheKey,prompt_cache_retention:f==null?void 0:f.promptCacheRetention,safety_identifier:f==null?void 0:f.safetyIdentifier,top_logprobs:x0,truncation:f==null?void 0:f.truncation,...v&&((f==null?void 0:f.reasoningEffort)!=null||(f==null?void 0:f.reasoningSummary)!=null)&&{reasoning:{...(f==null?void 0:f.reasoningEffort)!=null&&{effort:f.reasoningEffort},...(f==null?void 0:f.reasoningSummary)!=null&&{summary:f.reasoningSummary}}}};if(v){if(!((f==null?void 0:f.reasoningEffort)==="none"&&V.supportsNonReasoningParameters)){if(_0.temperature!=null)_0.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(_0.top_p!=null)_0.top_p=void 0,q.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((f==null?void 0:f.reasoningEffort)!=null)q.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((f==null?void 0:f.reasoningSummary)!=null)q.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((f==null?void 0:f.serviceTier)==="flex"&&!V.supportsFlexProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete _0.service_tier;if((f==null?void 0:f.serviceTier)==="priority"&&!V.supportsPriorityProcessing)q.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 _0.service_tier;let I0=(S=(M=(A=U==null?void 0:U.find((Q0)=>Q0.type==="provider"&&Q0.id==="openai.shell"))==null?void 0:A.args)==null?void 0:M.environment)==null?void 0:S.type,F0=I0==="containerAuto"||I0==="containerReference";return{webSearchToolName:n0,args:{..._0,tools:B0,tool_choice:O0},warnings:[...q,...W0],store:N0,toolNameMapping:Z0,providerOptionsName:t,isShellProviderExecuted:F0}}async doGenerate($){var Z,G,X,Y,Q,J,W,K,w,U,F,H,N,B,D,E,L,z,j,P,A,M,S,q,V,t,f,v;let{args:Z0,warnings:a,webSearchToolName:B0,toolNameMapping:O0,providerOptionsName:W0,isShellProviderExecuted:J0}=await this.getArgs($),s=this.config.url({path:"/responses",modelId:this.modelId}),A0=Zo1($.prompt),{responseHeaders:U0,value:f0,rawValue:m0}=await F8({url:s,headers:p$(this.config.headers(),$.headers),body:Z0,failedResponseHandler:p3,successfulResponseHandler:Z8(Dp8),abortSignal:$.abortSignal,fetch:this.config.fetch});if(f0.error)throw new Q8({message:f0.error.message,url:s,requestBodyValues:Z0,statusCode:400,responseHeaders:U0,responseBody:m0,isRetryable:!1});let x0=[],n0=[],N0=!1,_0=[];for(let Q0 of f0.output)switch(Q0.type){case"reasoning":{if(Q0.summary.length===0)Q0.summary.push({type:"summary_text",text:""});for(let X0 of Q0.summary)x0.push({type:"reasoning",text:X0.text,providerMetadata:{[W0]:{itemId:Q0.id,reasoningEncryptedContent:(Z=Q0.encrypted_content)!=null?Z:null}}});break}case"image_generation_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("image_generation"),result:{result:Q0.result}});break}case"tool_search_call":{let X0=(G=Q0.call_id)!=null?G:Q0.id,S0=Q0.execution==="server";if(S0)_0.push(X0);x0.push({type:"tool-call",toolCallId:X0,toolName:O0.toCustomToolName("tool_search"),input:JSON.stringify({arguments:Q0.arguments,call_id:Q0.call_id}),...S0?{providerExecuted:!0}:{},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"tool_search_output":{let X0=(Y=(X=Q0.call_id)!=null?X:_0.shift())!=null?Y:Q0.id;x0.push({type:"tool-result",toolCallId:X0,toolName:O0.toCustomToolName("tool_search"),result:{tools:Q0.tools},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"local_shell_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("local_shell"),input:JSON.stringify({action:Q0.action}),providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"shell_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("shell"),input:JSON.stringify({action:{commands:Q0.action.commands}}),...J0&&{providerExecuted:!0},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"shell_call_output":{x0.push({type:"tool-result",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("shell"),result:{output:Q0.output.map((X0)=>({stdout:X0.stdout,stderr:X0.stderr,outcome:X0.outcome.type==="exit"?{type:"exit",exitCode:X0.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let X0 of Q0.content){if(((J=(Q=$.providerOptions)==null?void 0:Q[W0])==null?void 0:J.logprobs)&&X0.logprobs)n0.push(X0.logprobs);let S0={itemId:Q0.id,...Q0.phase!=null&&{phase:Q0.phase},...X0.annotations.length>0&&{annotations:X0.annotations}};x0.push({type:"text",text:X0.text,providerMetadata:{[W0]:S0}});for(let n of X0.annotations)if(n.type==="url_citation")x0.push({type:"source",sourceType:"url",id:(w=(K=(W=this.config).generateId)==null?void 0:K.call(W))!=null?w:l1(),url:n.url,title:n.title});else if(n.type==="file_citation")x0.push({type:"source",sourceType:"document",id:(H=(F=(U=this.config).generateId)==null?void 0:F.call(U))!=null?H:l1(),mediaType:"text/plain",title:n.filename,filename:n.filename,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,index:n.index}}});else if(n.type==="container_file_citation")x0.push({type:"source",sourceType:"document",id:(D=(B=(N=this.config).generateId)==null?void 0:B.call(N))!=null?D:l1(),mediaType:"text/plain",title:n.filename,filename:n.filename,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,containerId:n.container_id}}});else if(n.type==="file_path")x0.push({type:"source",sourceType:"document",id:(z=(L=(E=this.config).generateId)==null?void 0:L.call(E))!=null?z:l1(),mediaType:"application/octet-stream",title:n.file_id,filename:n.file_id,providerMetadata:{[W0]:{type:n.type,fileId:n.file_id,index:n.index}}})}break}case"function_call":{N0=!0,x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:Q0.name,input:Q0.arguments,providerMetadata:{[W0]:{itemId:Q0.id,...Q0.namespace!=null&&{namespace:Q0.namespace}}}});break}case"custom_tool_call":{N0=!0;let X0=O0.toCustomToolName(Q0.name);x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:X0,input:JSON.stringify(Q0.input),providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"web_search_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName(B0!=null?B0:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName(B0!=null?B0:"web_search"),result:Xo1(Q0.action)});break}case"mcp_call":{let X0=Q0.approval_request_id!=null?(j=A0[Q0.approval_request_id])!=null?j:Q0.id:Q0.id,S0=`mcp.${Q0.name}`;x0.push({type:"tool-call",toolCallId:X0,toolName:S0,input:Q0.arguments,providerExecuted:!0,dynamic:!0}),x0.push({type:"tool-result",toolCallId:X0,toolName:S0,result:{type:"call",serverLabel:Q0.server_label,name:Q0.name,arguments:Q0.arguments,...Q0.output!=null?{output:Q0.output}:{},...Q0.error!=null?{error:Q0.error}:{}},providerMetadata:{[W0]:{itemId:Q0.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let X0=(P=Q0.approval_request_id)!=null?P:Q0.id,S0=(S=(M=(A=this.config).generateId)==null?void 0:M.call(A))!=null?S:l1(),n=`mcp.${Q0.name}`;x0.push({type:"tool-call",toolCallId:S0,toolName:n,input:Q0.arguments,providerExecuted:!0,dynamic:!0}),x0.push({type:"tool-approval-request",approvalId:X0,toolCallId:S0});break}case"computer_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:Q0.status||"completed"}});break}case"file_search_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("file_search"),result:{queries:Q0.queries,results:(V=(q=Q0.results)==null?void 0:q.map((X0)=>({attributes:X0.attributes,fileId:X0.file_id,filename:X0.filename,score:X0.score,text:X0.text})))!=null?V:null}});break}case"code_interpreter_call":{x0.push({type:"tool-call",toolCallId:Q0.id,toolName:O0.toCustomToolName("code_interpreter"),input:JSON.stringify({code:Q0.code,containerId:Q0.container_id}),providerExecuted:!0}),x0.push({type:"tool-result",toolCallId:Q0.id,toolName:O0.toCustomToolName("code_interpreter"),result:{outputs:Q0.outputs}});break}case"apply_patch_call":{x0.push({type:"tool-call",toolCallId:Q0.call_id,toolName:O0.toCustomToolName("apply_patch"),input:JSON.stringify({callId:Q0.call_id,operation:Q0.operation}),providerMetadata:{[W0]:{itemId:Q0.id}}});break}}let I0={[W0]:{responseId:f0.id,...n0.length>0?{logprobs:n0}:{},...typeof f0.service_tier==="string"?{serviceTier:f0.service_tier}:{}}},F0=f0.usage;return{content:x0,finishReason:{unified:Pc0({finishReason:(t=f0.incomplete_details)==null?void 0:t.reason,hasFunctionCall:N0}),raw:(v=(f=f0.incomplete_details)==null?void 0:f.reason)!=null?v:void 0},usage:sr1(F0),request:{body:Z0},response:{id:f0.id,timestamp:new Date(f0.created_at*1000),modelId:f0.model,headers:U0,body:m0},providerMetadata:I0,warnings:a}}async doStream($){let{args:Z,warnings:G,webSearchToolName:X,toolNameMapping:Y,store:Q,providerOptionsName:J,isShellProviderExecuted:W}=await this.getArgs($),{responseHeaders:K,value:w}=await F8({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:{...Z,stream:!0},failedResponseHandler:p3,successfulResponseHandler:b7(Op8),abortSignal:$.abortSignal,fetch:this.config.fetch}),U=this,F=Zo1($.prompt),H=new Map,N={unified:"other",raw:void 0},B=void 0,D=[],E=null,L={},z=[],j,P=!1,A={},M,S=[];return{stream:w.pipeThrough(new TransformStream({start(q){q.enqueue({type:"stream-start",warnings:G})},transform(q,V){var t,f,v,Z0,a,B0,O0,W0,J0,s,A0,U0,f0,m0,x0,n0,N0,_0,I0,F0,Q0,X0,S0,n,$0,t0,R0,d,m,V0,v0,N1,i0,z1,R$,B6,P4,h5;if($.includeRawChunks)V.enqueue({type:"raw",rawValue:q.rawValue});if(!q.success){N={unified:"error",raw:void 0},V.enqueue({type:"error",error:q.error});return}let e=q.value;if(Go1(e)){if(e.item.type==="function_call")L[e.output_index]={toolName:e.item.name,toolCallId:e.item.call_id},V.enqueue({type:"tool-input-start",id:e.item.call_id,toolName:e.item.name});else if(e.item.type==="custom_tool_call"){let J1=Y.toCustomToolName(e.item.name);L[e.output_index]={toolName:J1,toolCallId:e.item.call_id},V.enqueue({type:"tool-input-start",id:e.item.call_id,toolName:J1})}else if(e.item.type==="web_search_call")L[e.output_index]={toolName:Y.toCustomToolName(X!=null?X:"web_search"),toolCallId:e.item.id},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),providerExecuted:!0}),V.enqueue({type:"tool-input-end",id:e.item.id}),V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(e.item.type==="computer_call")L[e.output_index]={toolName:Y.toCustomToolName("computer_use"),toolCallId:e.item.id},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName("computer_use"),providerExecuted:!0});else if(e.item.type==="code_interpreter_call")L[e.output_index]={toolName:Y.toCustomToolName("code_interpreter"),toolCallId:e.item.id,codeInterpreter:{containerId:e.item.container_id}},V.enqueue({type:"tool-input-start",id:e.item.id,toolName:Y.toCustomToolName("code_interpreter"),providerExecuted:!0}),V.enqueue({type:"tool-input-delta",id:e.item.id,delta:`{"containerId":"${e.item.container_id}","code":"`});else if(e.item.type==="file_search_call")V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(e.item.type==="image_generation_call")V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(e.item.type==="tool_search_call"){let J1=e.item.id,r$=Y.toCustomToolName("tool_search"),o$=e.item.execution==="server";if(L[e.output_index]={toolName:r$,toolCallId:J1,toolSearchExecution:(t=e.item.execution)!=null?t:"server"},o$)V.enqueue({type:"tool-input-start",id:J1,toolName:r$,providerExecuted:!0})}else if(e.item.type==="tool_search_output");else if(e.item.type==="mcp_call"||e.item.type==="mcp_list_tools"||e.item.type==="mcp_approval_request");else if(e.item.type==="apply_patch_call"){let{call_id:J1,operation:r$}=e.item;if(L[e.output_index]={toolName:Y.toCustomToolName("apply_patch"),toolCallId:J1,applyPatch:{hasDiff:r$.type==="delete_file",endEmitted:r$.type==="delete_file"}},V.enqueue({type:"tool-input-start",id:J1,toolName:Y.toCustomToolName("apply_patch")}),r$.type==="delete_file"){let o$=JSON.stringify({callId:J1,operation:r$});V.enqueue({type:"tool-input-delta",id:J1,delta:o$}),V.enqueue({type:"tool-input-end",id:J1})}else V.enqueue({type:"tool-input-delta",id:J1,delta:`{"callId":"${tD(J1)}","operation":{"type":"${tD(r$.type)}","path":"${tD(r$.path)}","diff":"`})}else if(e.item.type==="shell_call")L[e.output_index]={toolName:Y.toCustomToolName("shell"),toolCallId:e.item.call_id};else if(e.item.type==="shell_call_output");else if(e.item.type==="message")z.splice(0,z.length),j=(f=e.item.phase)!=null?f:void 0,V.enqueue({type:"text-start",id:e.item.id,providerMetadata:{[J]:{itemId:e.item.id,...e.item.phase!=null&&{phase:e.item.phase}}}});else if(Go1(e)&&e.item.type==="reasoning")A[e.item.id]={encryptedContent:e.item.encrypted_content,summaryParts:{0:"active"}},V.enqueue({type:"reasoning-start",id:`${e.item.id}:0`,providerMetadata:{[J]:{itemId:e.item.id,reasoningEncryptedContent:(v=e.item.encrypted_content)!=null?v:null}}})}else if(Ip8(e)){if(e.item.type==="message"){let J1=(Z0=e.item.phase)!=null?Z0:j;j=void 0,V.enqueue({type:"text-end",id:e.item.id,providerMetadata:{[J]:{itemId:e.item.id,...J1!=null&&{phase:J1},...z.length>0&&{annotations:z}}}})}else if(e.item.type==="function_call")L[e.output_index]=void 0,P=!0,V.enqueue({type:"tool-input-end",id:e.item.call_id,...e.item.namespace!=null&&{providerMetadata:{[J]:{namespace:e.item.namespace}}}}),V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:e.item.name,input:e.item.arguments,providerMetadata:{[J]:{itemId:e.item.id,...e.item.namespace!=null&&{namespace:e.item.namespace}}}});else if(e.item.type==="custom_tool_call"){L[e.output_index]=void 0,P=!0;let J1=Y.toCustomToolName(e.item.name);V.enqueue({type:"tool-input-end",id:e.item.call_id}),V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:J1,input:JSON.stringify(e.item.input),providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="web_search_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName(X!=null?X:"web_search"),result:Xo1(e.item.action)});else if(e.item.type==="computer_call")L[e.output_index]=void 0,V.enqueue({type:"tool-input-end",id:e.item.id}),V.enqueue({type:"tool-call",toolCallId:e.item.id,toolName:Y.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:e.item.status||"completed"}});else if(e.item.type==="file_search_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("file_search"),result:{queries:e.item.queries,results:(B0=(a=e.item.results)==null?void 0:a.map((J1)=>({attributes:J1.attributes,fileId:J1.file_id,filename:J1.filename,score:J1.score,text:J1.text})))!=null?B0:null}});else if(e.item.type==="code_interpreter_call")L[e.output_index]=void 0,V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("code_interpreter"),result:{outputs:e.item.outputs}});else if(e.item.type==="image_generation_call")V.enqueue({type:"tool-result",toolCallId:e.item.id,toolName:Y.toCustomToolName("image_generation"),result:{result:e.item.result}});else if(e.item.type==="tool_search_call"){let J1=L[e.output_index],r$=e.item.execution==="server";if(J1!=null){let o$=r$?J1.toolCallId:(O0=e.item.call_id)!=null?O0:e.item.id;if(r$)S.push(o$);else V.enqueue({type:"tool-input-start",id:o$,toolName:J1.toolName});V.enqueue({type:"tool-input-end",id:o$}),V.enqueue({type:"tool-call",toolCallId:o$,toolName:J1.toolName,input:JSON.stringify({arguments:e.item.arguments,call_id:r$?null:o$}),...r$?{providerExecuted:!0}:{},providerMetadata:{[J]:{itemId:e.item.id}}})}L[e.output_index]=void 0}else if(e.item.type==="tool_search_output"){let J1=(J0=(W0=e.item.call_id)!=null?W0:S.shift())!=null?J0:e.item.id;V.enqueue({type:"tool-result",toolCallId:J1,toolName:Y.toCustomToolName("tool_search"),result:{tools:e.item.tools},providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="mcp_call"){L[e.output_index]=void 0;let J1=(s=e.item.approval_request_id)!=null?s:void 0,r$=J1!=null?(U0=(A0=H.get(J1))!=null?A0:F[J1])!=null?U0:e.item.id:e.item.id,o$=`mcp.${e.item.name}`;V.enqueue({type:"tool-call",toolCallId:r$,toolName:o$,input:e.item.arguments,providerExecuted:!0,dynamic:!0}),V.enqueue({type:"tool-result",toolCallId:r$,toolName:o$,result:{type:"call",serverLabel:e.item.server_label,name:e.item.name,arguments:e.item.arguments,...e.item.output!=null?{output:e.item.output}:{},...e.item.error!=null?{error:e.item.error}:{}},providerMetadata:{[J]:{itemId:e.item.id}}})}else if(e.item.type==="mcp_list_tools")L[e.output_index]=void 0;else if(e.item.type==="apply_patch_call"){let J1=L[e.output_index];if((J1==null?void 0:J1.applyPatch)&&!J1.applyPatch.endEmitted&&e.item.operation.type!=="delete_file"){if(!J1.applyPatch.hasDiff)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.item.operation.diff)});V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),J1.applyPatch.endEmitted=!0}if(J1&&e.item.status==="completed")V.enqueue({type:"tool-call",toolCallId:J1.toolCallId,toolName:Y.toCustomToolName("apply_patch"),input:JSON.stringify({callId:e.item.call_id,operation:e.item.operation}),providerMetadata:{[J]:{itemId:e.item.id}}});L[e.output_index]=void 0}else if(e.item.type==="mcp_approval_request"){L[e.output_index]=void 0;let J1=(x0=(m0=(f0=U.config).generateId)==null?void 0:m0.call(f0))!=null?x0:l1(),r$=(n0=e.item.approval_request_id)!=null?n0:e.item.id;H.set(r$,J1);let o$=`mcp.${e.item.name}`;V.enqueue({type:"tool-call",toolCallId:J1,toolName:o$,input:e.item.arguments,providerExecuted:!0,dynamic:!0}),V.enqueue({type:"tool-approval-request",approvalId:r$,toolCallId:J1})}else if(e.item.type==="local_shell_call")L[e.output_index]=void 0,V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:e.item.action.command,timeoutMs:e.item.action.timeout_ms,user:e.item.action.user,workingDirectory:e.item.action.working_directory,env:e.item.action.env}}),providerMetadata:{[J]:{itemId:e.item.id}}});else if(e.item.type==="shell_call")L[e.output_index]=void 0,V.enqueue({type:"tool-call",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("shell"),input:JSON.stringify({action:{commands:e.item.action.commands}}),...W&&{providerExecuted:!0},providerMetadata:{[J]:{itemId:e.item.id}}});else if(e.item.type==="shell_call_output")V.enqueue({type:"tool-result",toolCallId:e.item.call_id,toolName:Y.toCustomToolName("shell"),result:{output:e.item.output.map((J1)=>({stdout:J1.stdout,stderr:J1.stderr,outcome:J1.outcome.type==="exit"?{type:"exit",exitCode:J1.outcome.exit_code}:{type:"timeout"}}))}});else if(e.item.type==="reasoning"){let J1=A[e.item.id],r$=Object.entries(J1.summaryParts).filter(([o$,L9])=>L9==="active"||L9==="can-conclude").map(([o$])=>o$);for(let o$ of r$)V.enqueue({type:"reasoning-end",id:`${e.item.id}:${o$}`,providerMetadata:{[J]:{itemId:e.item.id,reasoningEncryptedContent:(N0=e.item.encrypted_content)!=null?N0:null}}});delete A[e.item.id]}}else if(kp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:e.delta})}else if(Sp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:e.delta})}else if(bp8(e)){let J1=L[e.output_index];if(J1==null?void 0:J1.applyPatch)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.delta)}),J1.applyPatch.hasDiff=!0}else if(fp8(e)){let J1=L[e.output_index];if((J1==null?void 0:J1.applyPatch)&&!J1.applyPatch.endEmitted){if(!J1.applyPatch.hasDiff)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.diff)}),J1.applyPatch.hasDiff=!0;V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),J1.applyPatch.endEmitted=!0}}else if(Vp8(e))V.enqueue({type:"tool-result",toolCallId:e.item_id,toolName:Y.toCustomToolName("image_generation"),result:{result:e.partial_image_b64},preliminary:!0});else if(Cp8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:tD(e.delta)})}else if(_p8(e)){let J1=L[e.output_index];if(J1!=null)V.enqueue({type:"tool-input-delta",id:J1.toolCallId,delta:'"}'}),V.enqueue({type:"tool-input-end",id:J1.toolCallId}),V.enqueue({type:"tool-call",toolCallId:J1.toolCallId,toolName:Y.toCustomToolName("code_interpreter"),input:JSON.stringify({code:e.code,containerId:J1.codeInterpreter.containerId}),providerExecuted:!0})}else if(Mp8(e))E=e.response.id,V.enqueue({type:"response-metadata",id:e.response.id,timestamp:new Date(e.response.created_at*1000),modelId:e.response.model});else if(Tp8(e)){if(V.enqueue({type:"text-delta",id:e.item_id,delta:e.delta}),((I0=(_0=$.providerOptions)==null?void 0:_0[J])==null?void 0:I0.logprobs)&&e.logprobs)D.push(e.logprobs)}else if(e.type==="response.reasoning_summary_part.added"){if(e.summary_index>0){let J1=A[e.item_id];J1.summaryParts[e.summary_index]="active";for(let r$ of Object.keys(J1.summaryParts))if(J1.summaryParts[r$]==="can-conclude")V.enqueue({type:"reasoning-end",id:`${e.item_id}:${r$}`,providerMetadata:{[J]:{itemId:e.item_id}}}),J1.summaryParts[r$]="concluded";V.enqueue({type:"reasoning-start",id:`${e.item_id}:${e.summary_index}`,providerMetadata:{[J]:{itemId:e.item_id,reasoningEncryptedContent:(Q0=(F0=A[e.item_id])==null?void 0:F0.encryptedContent)!=null?Q0:null}}})}}else if(e.type==="response.reasoning_summary_text.delta")V.enqueue({type:"reasoning-delta",id:`${e.item_id}:${e.summary_index}`,delta:e.delta,providerMetadata:{[J]:{itemId:e.item_id}}});else if(e.type==="response.reasoning_summary_part.done")if(Q)V.enqueue({type:"reasoning-end",id:`${e.item_id}:${e.summary_index}`,providerMetadata:{[J]:{itemId:e.item_id}}}),A[e.item_id].summaryParts[e.summary_index]="concluded";else A[e.item_id].summaryParts[e.summary_index]="can-conclude";else if(Rp8(e)){if(N={unified:Pc0({finishReason:(X0=e.response.incomplete_details)==null?void 0:X0.reason,hasFunctionCall:P}),raw:(n=(S0=e.response.incomplete_details)==null?void 0:S0.reason)!=null?n:void 0},B=e.response.usage,typeof e.response.service_tier==="string")M=e.response.service_tier}else if(qp8(e)){let J1=($0=e.response.incomplete_details)==null?void 0:$0.reason;N={unified:J1?Pc0({finishReason:J1,hasFunctionCall:P}):"error",raw:J1!=null?J1:"error"},B=(t0=e.response.usage)!=null?t0:void 0}else if(xp8(e)){if(z.push(e.annotation),e.annotation.type==="url_citation")V.enqueue({type:"source",sourceType:"url",id:(m=(d=(R0=U.config).generateId)==null?void 0:d.call(R0))!=null?m:l1(),url:e.annotation.url,title:e.annotation.title});else if(e.annotation.type==="file_citation")V.enqueue({type:"source",sourceType:"document",id:(N1=(v0=(V0=U.config).generateId)==null?void 0:v0.call(V0))!=null?N1:l1(),mediaType:"text/plain",title:e.annotation.filename,filename:e.annotation.filename,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,index:e.annotation.index}}});else if(e.annotation.type==="container_file_citation")V.enqueue({type:"source",sourceType:"document",id:(R$=(z1=(i0=U.config).generateId)==null?void 0:z1.call(i0))!=null?R$:l1(),mediaType:"text/plain",title:e.annotation.filename,filename:e.annotation.filename,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,containerId:e.annotation.container_id}}});else if(e.annotation.type==="file_path")V.enqueue({type:"source",sourceType:"document",id:(h5=(P4=(B6=U.config).generateId)==null?void 0:P4.call(B6))!=null?h5:l1(),mediaType:"application/octet-stream",title:e.annotation.file_id,filename:e.annotation.file_id,providerMetadata:{[J]:{type:e.annotation.type,fileId:e.annotation.file_id,index:e.annotation.index}}})}else if(vp8(e))V.enqueue({type:"error",error:e})},flush(q){let V={[J]:{responseId:E,...D.length>0?{logprobs:D}:{},...M!==void 0?{serviceTier:M}:{}}};q.enqueue({type:"finish",finishReason:N,usage:sr1(B),providerMetadata:V})}})),request:{body:Z},response:{headers:K}}}},yp8,gp8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:$,voice:Z="alloy",outputFormat:G="mp3",speed:X,instructions:Y,language:Q,providerOptions:J}){let W=[],K=await A8({provider:"openai",providerOptions:J,schema:yp8}),w={model:this.modelId,input:$,voice:Z,response_format:"mp3",speed:X,instructions:Y};if(G)if(["mp3","opus","aac","flac","wav","pcm"].includes(G))w.response_format=G;else W.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${G}. Using mp3 instead.`});if(K){let U={};for(let F in U){let H=U[F];if(H!==void 0)w[F]=H}}if(Q)W.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${Q}" was ignored.`});return{requestBody:w,warnings:W}}async doGenerate($){var Z,G,X;let Y=(X=(G=(Z=this.config._internal)==null?void 0:Z.currentDate)==null?void 0:G.call(Z))!=null?X:new Date,{requestBody:Q,warnings:J}=await this.getArgs($),{value:W,responseHeaders:K,rawValue:w}=await F8({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),body:Q,failedResponseHandler:p3,successfulResponseHandler:Yn1(),abortSignal:$.abortSignal,fetch:this.config.fetch});return{audio:W,warnings:J,request:{body:JSON.stringify(Q)},response:{timestamp:Y,modelId:this.modelId,headers:K,body:w}}}},hp8,cp8,Yo1,up8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:$,mediaType:Z,providerOptions:G}){let X=[],Y=await A8({provider:"openai",providerOptions:G,schema:cp8}),Q=new FormData,J=$ instanceof Uint8Array?new Blob([$]):new Blob([w9($)]);Q.append("model",this.modelId);let W=ai1(Z);if(Q.append("file",new File([J],"audio",{type:Z}),`audio.${W}`),Y){let K={include:Y.include,language:Y.language,prompt:Y.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:Y.temperature,timestamp_granularities:Y.timestampGranularities};for(let[w,U]of Object.entries(K))if(U!=null)if(Array.isArray(U))for(let F of U)Q.append(`${w}[]`,String(F));else Q.append(w,String(U))}return{formData:Q,warnings:X}}async doGenerate($){var Z,G,X,Y,Q,J,W,K;let w=(X=(G=(Z=this.config._internal)==null?void 0:Z.currentDate)==null?void 0:G.call(Z))!=null?X:new Date,{formData:U,warnings:F}=await this.getArgs($),{value:H,responseHeaders:N,rawValue:B}=await N60({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:p$(this.config.headers(),$.headers),formData:U,failedResponseHandler:p3,successfulResponseHandler:Z8(hp8),abortSignal:$.abortSignal,fetch:this.config.fetch}),D=H.language!=null&&H.language in Yo1?Yo1[H.language]:void 0;return{text:H.text,segments:(W=(J=(Y=H.segments)==null?void 0:Y.map((E)=>({text:E.text,startSecond:E.start,endSecond:E.end})))!=null?J:(Q=H.words)==null?void 0:Q.map((E)=>({text:E.word,startSecond:E.start,endSecond:E.end})))!=null?W:[],language:D,durationInSeconds:(K=H.duration)!=null?K:void 0,warnings:F,response:{timestamp:w,modelId:this.modelId,headers:N,body:B}}}},dp8="3.0.73",d65;var L40=O(()=>{e0();m1();e0();e0();m1();e0();e0();e0();m1();e0();m1();e0();e0();m1();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();e0();m1();e0();m1();e0();e0();e0();m1();e0();e0();e0();e0();e0();e0();Mc0=iH.object({error:iH.object({message:iH.string(),type:iH.string().nullish(),param:iH.any().nullish(),code:iH.union([iH.string(),iH.number()]).nullish()})}),p3=L5({errorSchema:Mc0,errorToMessage:($)=>$.error.message});Jn8=C0(()=>H0(R1.object({id:R1.string().nullish(),created:R1.number().nullish(),model:R1.string().nullish(),choices:R1.array(R1.object({message:R1.object({role:R1.literal("assistant").nullish(),content:R1.string().nullish(),tool_calls:R1.array(R1.object({id:R1.string().nullish(),type:R1.literal("function"),function:R1.object({name:R1.string(),arguments:R1.string()})})).nullish(),annotations:R1.array(R1.object({type:R1.literal("url_citation"),url_citation:R1.object({start_index:R1.number(),end_index:R1.number(),url:R1.string(),title:R1.string()})})).nullish()}),index:R1.number(),logprobs:R1.object({content:R1.array(R1.object({token:R1.string(),logprob:R1.number(),top_logprobs:R1.array(R1.object({token:R1.string(),logprob:R1.number()}))})).nullish()}).nullish(),finish_reason:R1.string().nullish()})),usage:R1.object({prompt_tokens:R1.number().nullish(),completion_tokens:R1.number().nullish(),total_tokens:R1.number().nullish(),prompt_tokens_details:R1.object({cached_tokens:R1.number().nullish()}).nullish(),completion_tokens_details:R1.object({reasoning_tokens:R1.number().nullish(),accepted_prediction_tokens:R1.number().nullish(),rejected_prediction_tokens:R1.number().nullish()}).nullish()}).nullish()}))),Wn8=C0(()=>H0(R1.union([R1.object({id:R1.string().nullish(),created:R1.number().nullish(),model:R1.string().nullish(),choices:R1.array(R1.object({delta:R1.object({role:R1.enum(["assistant"]).nullish(),content:R1.string().nullish(),tool_calls:R1.array(R1.object({index:R1.number(),id:R1.string().nullish(),type:R1.literal("function").nullish(),function:R1.object({name:R1.string().nullish(),arguments:R1.string().nullish()})})).nullish(),annotations:R1.array(R1.object({type:R1.literal("url_citation"),url_citation:R1.object({start_index:R1.number(),end_index:R1.number(),url:R1.string(),title:R1.string()})})).nullish()}).nullish(),logprobs:R1.object({content:R1.array(R1.object({token:R1.string(),logprob:R1.number(),top_logprobs:R1.array(R1.object({token:R1.string(),logprob:R1.number()}))})).nullish()}).nullish(),finish_reason:R1.string().nullish(),index:R1.number()})),usage:R1.object({prompt_tokens:R1.number().nullish(),completion_tokens:R1.number().nullish(),total_tokens:R1.number().nullish(),prompt_tokens_details:R1.object({cached_tokens:R1.number().nullish()}).nullish(),completion_tokens_details:R1.object({reasoning_tokens:R1.number().nullish(),accepted_prediction_tokens:R1.number().nullish(),rejected_prediction_tokens:R1.number().nullish()}).nullish()}).nullish()}),Mc0]))),Kn8=C0(()=>H0(o4.object({logitBias:o4.record(o4.coerce.number(),o4.number()).optional(),logprobs:o4.union([o4.boolean(),o4.number()]).optional(),parallelToolCalls:o4.boolean().optional(),user:o4.string().optional(),reasoningEffort:o4.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:o4.number().optional(),store:o4.boolean().optional(),metadata:o4.record(o4.string().max(64),o4.string().max(512)).optional(),prediction:o4.record(o4.string(),o4.any()).optional(),serviceTier:o4.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:o4.boolean().optional(),textVerbosity:o4.enum(["low","medium","high"]).optional(),promptCacheKey:o4.string().optional(),promptCacheRetention:o4.enum(["in_memory","24h"]).optional(),safetyIdentifier:o4.string().optional(),systemMessageMode:o4.enum(["system","developer","remove"]).optional(),forceReasoning:o4.boolean().optional()})));Hn8=C0(()=>H0(W8.object({id:W8.string().nullish(),created:W8.number().nullish(),model:W8.string().nullish(),choices:W8.array(W8.object({text:W8.string(),finish_reason:W8.string(),logprobs:W8.object({tokens:W8.array(W8.string()),token_logprobs:W8.array(W8.number()),top_logprobs:W8.array(W8.record(W8.string(),W8.number())).nullish()}).nullish()})),usage:W8.object({prompt_tokens:W8.number(),completion_tokens:W8.number(),total_tokens:W8.number()}).nullish()}))),Nn8=C0(()=>H0(W8.union([W8.object({id:W8.string().nullish(),created:W8.number().nullish(),model:W8.string().nullish(),choices:W8.array(W8.object({text:W8.string(),finish_reason:W8.string().nullish(),index:W8.number(),logprobs:W8.object({tokens:W8.array(W8.string()),token_logprobs:W8.array(W8.number()),top_logprobs:W8.array(W8.record(W8.string(),W8.number())).nullish()}).nullish()})),usage:W8.object({prompt_tokens:W8.number(),completion_tokens:W8.number(),total_tokens:W8.number()}).nullish()}),Mc0]))),rr1=C0(()=>H0(AW.object({echo:AW.boolean().optional(),logitBias:AW.record(AW.string(),AW.number()).optional(),suffix:AW.string().optional(),user:AW.string().optional(),logprobs:AW.union([AW.boolean(),AW.number()]).optional()}))),On8=C0(()=>H0(zc0.object({dimensions:zc0.number().optional(),user:zc0.string().optional()}))),Dn8=C0(()=>H0(pD.object({data:pD.array(pD.object({embedding:pD.array(pD.number())})),usage:pD.object({prompt_tokens:pD.number()}).nullish()}))),or1=C0(()=>H0(Z7.object({created:Z7.number().nullish(),data:Z7.array(Z7.object({b64_json:Z7.string(),revised_prompt:Z7.string().nullish()})),background:Z7.string().nullish(),output_format:Z7.string().nullish(),size:Z7.string().nullish(),quality:Z7.string().nullish(),usage:Z7.object({input_tokens:Z7.number().nullish(),output_tokens:Z7.number().nullish(),total_tokens:Z7.number().nullish(),input_tokens_details:Z7.object({image_tokens:Z7.number().nullish(),text_tokens:Z7.number().nullish()}).nullish()}).nullish()}))),Ln8={"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},zn8=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];kc0=Vw.object({quality:Vw.enum(["standard","hd","low","medium","high","auto"]).optional(),background:Vw.enum(["transparent","opaque","auto"]).optional(),outputFormat:Vw.enum(["png","jpeg","webp"]).optional(),outputCompression:Vw.number().int().min(0).max(100).optional(),user:Vw.string().optional()}),s85=C0(()=>H0(kc0)),Pn8=C0(()=>H0(kc0.extend({style:Vw.enum(["vivid","natural"]).optional(),moderation:Vw.enum(["auto","low"]).optional()}))),An8=C0(()=>H0(kc0.extend({inputFidelity:Vw.enum(["high","low"]).optional()})));Jo1=C0(()=>H0(AZ.object({callId:AZ.string(),operation:AZ.discriminatedUnion("type",[AZ.object({type:AZ.literal("create_file"),path:AZ.string(),diff:AZ.string()}),AZ.object({type:AZ.literal("delete_file"),path:AZ.string()}),AZ.object({type:AZ.literal("update_file"),path:AZ.string(),diff:AZ.string()})])}))),Wo1=C0(()=>H0(AZ.object({status:AZ.enum(["completed","failed"]),output:AZ.string().optional()}))),Z65=C0(()=>H0(AZ.object({}))),Rn8=t$({id:"openai.apply_patch",inputSchema:Jo1,outputSchema:Wo1}),qn8=Rn8,Mn8=C0(()=>H0(TZ.object({code:TZ.string().nullish(),containerId:TZ.string()}))),kn8=C0(()=>H0(TZ.object({outputs:TZ.array(TZ.discriminatedUnion("type",[TZ.object({type:TZ.literal("logs"),logs:TZ.string()}),TZ.object({type:TZ.literal("image"),url:TZ.string()})])).nullish()}))),Sn8=C0(()=>H0(TZ.object({container:TZ.union([TZ.string(),TZ.object({fileIds:TZ.array(TZ.string()).optional()})]).optional()}))),Vn8=t$({id:"openai.code_interpreter",inputSchema:Mn8,outputSchema:kn8}),_n8=C0(()=>H0(n3.object({name:n3.string(),description:n3.string().optional(),format:n3.union([n3.object({type:n3.literal("grammar"),syntax:n3.enum(["regex","lark"]),definition:n3.string()}),n3.object({type:n3.literal("text")})]).optional()}))),bn8=C0(()=>H0(n3.string())),fn8=_6({id:"openai.custom",inputSchema:bn8}),Ko1=R6.object({key:R6.string(),type:R6.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:R6.union([R6.string(),R6.number(),R6.boolean(),R6.array(R6.string())])}),wo1=R6.object({type:R6.enum(["and","or"]),filters:R6.array(R6.union([Ko1,R6.lazy(()=>wo1)]))}),vn8=C0(()=>H0(R6.object({vectorStoreIds:R6.array(R6.string()),maxNumResults:R6.number().optional(),ranking:R6.object({ranker:R6.string().optional(),scoreThreshold:R6.number().optional()}).optional(),filters:R6.union([Ko1,wo1]).optional()}))),yn8=C0(()=>H0(R6.object({queries:R6.array(R6.string()),results:R6.array(R6.object({attributes:R6.record(R6.string(),R6.unknown()),fileId:R6.string(),filename:R6.string(),score:R6.number(),text:R6.string()})).nullable()}))),gn8=t$({id:"openai.file_search",inputSchema:R6.object({}),outputSchema:yn8}),hn8=C0(()=>H0(c7.object({background:c7.enum(["auto","opaque","transparent"]).optional(),inputFidelity:c7.enum(["low","high"]).optional(),inputImageMask:c7.object({fileId:c7.string().optional(),imageUrl:c7.string().optional()}).optional(),model:c7.string().optional(),moderation:c7.enum(["auto"]).optional(),outputCompression:c7.number().int().min(0).max(100).optional(),outputFormat:c7.enum(["png","jpeg","webp"]).optional(),partialImages:c7.number().int().min(0).max(3).optional(),quality:c7.enum(["auto","low","medium","high"]).optional(),size:c7.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),cn8=C0(()=>H0(c7.object({}))),un8=C0(()=>H0(c7.object({result:c7.string()}))),dn8=t$({id:"openai.image_generation",inputSchema:cn8,outputSchema:un8}),Uo1=C0(()=>H0(OY.object({action:OY.object({type:OY.literal("exec"),command:OY.array(OY.string()),timeoutMs:OY.number().optional(),user:OY.string().optional(),workingDirectory:OY.string().optional(),env:OY.record(OY.string(),OY.string()).optional()})}))),Fo1=C0(()=>H0(OY.object({output:OY.string()}))),mn8=t$({id:"openai.local_shell",inputSchema:Uo1,outputSchema:Fo1}),Ho1=C0(()=>H0(F$.object({action:F$.object({commands:F$.array(F$.string()),timeoutMs:F$.number().optional(),maxOutputLength:F$.number().optional()})}))),Tc0=C0(()=>H0(F$.object({output:F$.array(F$.object({stdout:F$.string(),stderr:F$.string(),outcome:F$.discriminatedUnion("type",[F$.object({type:F$.literal("timeout")}),F$.object({type:F$.literal("exit"),exitCode:F$.number()})])}))}))),in8=F$.array(F$.discriminatedUnion("type",[F$.object({type:F$.literal("skillReference"),skillId:F$.string(),version:F$.string().optional()}),F$.object({type:F$.literal("inline"),name:F$.string(),description:F$.string(),source:F$.object({type:F$.literal("base64"),mediaType:F$.literal("application/zip"),data:F$.string()})})])).optional(),nn8=C0(()=>H0(F$.object({environment:F$.union([F$.object({type:F$.literal("containerAuto"),fileIds:F$.array(F$.string()).optional(),memoryLimit:F$.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:F$.discriminatedUnion("type",[F$.object({type:F$.literal("disabled")}),F$.object({type:F$.literal("allowlist"),allowedDomains:F$.array(F$.string()),domainSecrets:F$.array(F$.object({domain:F$.string(),name:F$.string(),value:F$.string()})).optional()})]).optional(),skills:in8}),F$.object({type:F$.literal("containerReference"),containerId:F$.string()}),F$.object({type:F$.literal("local").optional(),skills:F$.array(F$.object({name:F$.string(),description:F$.string(),path:F$.string()})).optional()})]).optional()}))),pn8=t$({id:"openai.shell",inputSchema:Ho1,outputSchema:Tc0}),tn8=C0(()=>H0(NX.object({execution:NX.enum(["server","client"]).optional(),description:NX.string().optional(),parameters:NX.record(NX.string(),NX.unknown()).optional()}))),Ic0=C0(()=>H0(NX.object({arguments:NX.unknown().optional(),call_id:NX.string().nullish()}))),Rc0=C0(()=>H0(NX.object({tools:NX.array(NX.record(NX.string(),NX.unknown()))}))),rn8=t$({id:"openai.tool_search",inputSchema:Ic0,outputSchema:Rc0}),an8=C0(()=>H0(I6.object({externalWebAccess:I6.boolean().optional(),filters:I6.object({allowedDomains:I6.array(I6.string()).optional()}).optional(),searchContextSize:I6.enum(["low","medium","high"]).optional(),userLocation:I6.object({type:I6.literal("approximate"),country:I6.string().optional(),city:I6.string().optional(),region:I6.string().optional(),timezone:I6.string().optional()}).optional()}))),sn8=C0(()=>H0(I6.object({}))),en8=C0(()=>H0(I6.object({action:I6.discriminatedUnion("type",[I6.object({type:I6.literal("search"),query:I6.string().optional(),queries:I6.array(I6.string()).optional()}),I6.object({type:I6.literal("openPage"),url:I6.string().nullish()}),I6.object({type:I6.literal("findInPage"),url:I6.string().nullish(),pattern:I6.string().nullish()})]).optional(),sources:I6.array(I6.discriminatedUnion("type",[I6.object({type:I6.literal("url"),url:I6.string()}),I6.object({type:I6.literal("api"),name:I6.string()})])).optional()}))),$p8=t$({id:"openai.web_search",inputSchema:sn8,outputSchema:en8}),Gp8=C0(()=>H0(H9.object({searchContextSize:H9.enum(["low","medium","high"]).optional(),userLocation:H9.object({type:H9.literal("approximate"),country:H9.string().optional(),city:H9.string().optional(),region:H9.string().optional(),timezone:H9.string().optional()}).optional()}))),Xp8=C0(()=>H0(H9.object({}))),Yp8=C0(()=>H0(H9.object({action:H9.discriminatedUnion("type",[H9.object({type:H9.literal("search"),query:H9.string().optional()}),H9.object({type:H9.literal("openPage"),url:H9.string().nullish()}),H9.object({type:H9.literal("findInPage"),url:H9.string().nullish(),pattern:H9.string().nullish()})]).optional()}))),Qp8=t$({id:"openai.web_search_preview",inputSchema:Xp8,outputSchema:Yp8}),qc0=v8.lazy(()=>v8.union([v8.string(),v8.number(),v8.boolean(),v8.null(),v8.array(qc0),v8.record(v8.string(),qc0)])),Jp8=C0(()=>H0(v8.object({serverLabel:v8.string(),allowedTools:v8.union([v8.array(v8.string()),v8.object({readOnly:v8.boolean().optional(),toolNames:v8.array(v8.string()).optional()})]).optional(),authorization:v8.string().optional(),connectorId:v8.string().optional(),headers:v8.record(v8.string(),v8.string()).optional(),requireApproval:v8.union([v8.enum(["always","never"]),v8.object({never:v8.object({toolNames:v8.array(v8.string()).optional()}).optional()})]).optional(),serverDescription:v8.string().optional(),serverUrl:v8.string().optional()}).refine(($)=>$.serverUrl!=null||$.connectorId!=null,"One of serverUrl or connectorId must be provided."))),Wp8=C0(()=>H0(v8.object({}))),Kp8=C0(()=>H0(v8.object({type:v8.literal("call"),serverLabel:v8.string(),name:v8.string(),arguments:v8.string(),output:v8.string().nullish(),error:v8.union([v8.string(),qc0]).optional()}))),wp8=t$({id:"openai.mcp",inputSchema:Wp8,outputSchema:Kp8}),Fp8={applyPatch:qn8,customTool:xn8,codeInterpreter:Cn8,fileSearch:gn8,imageGeneration:ln8,localShell:mn8,shell:pn8,webSearchPreview:Qp8,webSearch:Zp8,mcp:Up8,toolSearch:on8};Bp8=jc0.object({itemId:jc0.string().nullish(),reasoningEncryptedContent:jc0.string().nullish()});em=T.lazy(()=>T.union([T.string(),T.number(),T.boolean(),T.null(),T.array(em),T.record(T.string(),em.optional())])),Op8=C0(()=>H0(T.union([T.object({type:T.literal("response.output_text.delta"),item_id:T.string(),delta:T.string(),logprobs:T.array(T.object({token:T.string(),logprob:T.number(),top_logprobs:T.array(T.object({token:T.string(),logprob:T.number()}))})).nullish()}),T.object({type:T.enum(["response.completed","response.incomplete"]),response:T.object({incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.failed"),response:T.object({error:T.object({code:T.string().nullish(),message:T.string()}).nullish(),incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}).nullish(),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.created"),response:T.object({id:T.string(),created_at:T.number(),model:T.string(),service_tier:T.string().nullish()})}),T.object({type:T.literal("response.output_item.added"),output_index:T.number(),item:T.discriminatedUnion("type",[T.object({type:T.literal("message"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish()}),T.object({type:T.literal("function_call"),id:T.string(),call_id:T.string(),name:T.string(),arguments:T.string(),namespace:T.string().nullish()}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string()}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.string()}),T.object({type:T.literal("file_search_call"),id:T.string()}),T.object({type:T.literal("image_generation_call"),id:T.string()}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),container_id:T.string(),code:T.string().nullable(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable(),status:T.string()}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string()}),T.object({type:T.literal("mcp_approval_request"),id:T.string()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("custom_tool_call"),id:T.string(),call_id:T.string(),name:T.string(),input:T.string()}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])}),T.object({type:T.literal("response.output_item.done"),output_index:T.number(),item:T.discriminatedUnion("type",[T.object({type:T.literal("message"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish()}),T.object({type:T.literal("function_call"),id:T.string(),call_id:T.string(),name:T.string(),arguments:T.string(),status:T.literal("completed"),namespace:T.string().nullish()}),T.object({type:T.literal("custom_tool_call"),id:T.string(),call_id:T.string(),name:T.string(),input:T.string(),status:T.literal("completed")}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),code:T.string().nullable(),container_id:T.string(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable()}),T.object({type:T.literal("image_generation_call"),id:T.string(),result:T.string()}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string(),action:T.discriminatedUnion("type",[T.object({type:T.literal("search"),query:T.string().nullish(),queries:T.array(T.string()).nullish(),sources:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url"),url:T.string()}),T.object({type:T.literal("api"),name:T.string()})])).nullish()}),T.object({type:T.literal("open_page"),url:T.string().nullish()}),T.object({type:T.literal("find_in_page"),url:T.string().nullish(),pattern:T.string().nullish()})]).nullish()}),T.object({type:T.literal("file_search_call"),id:T.string(),queries:T.array(T.string()),results:T.array(T.object({attributes:T.record(T.string(),T.union([T.string(),T.number(),T.boolean()])),file_id:T.string(),filename:T.string(),score:T.number(),text:T.string()})).nullish()}),T.object({type:T.literal("local_shell_call"),id:T.string(),call_id:T.string(),action:T.object({type:T.literal("exec"),command:T.array(T.string()),timeout_ms:T.number().optional(),user:T.string().optional(),working_directory:T.string().optional(),env:T.record(T.string(),T.string()).optional()})}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.literal("completed")}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),arguments:T.string(),name:T.string(),server_label:T.string(),output:T.string().nullish(),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).nullish(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string(),server_label:T.string(),tools:T.array(T.object({name:T.string(),description:T.string().optional(),input_schema:T.any(),annotations:T.record(T.string(),T.unknown()).optional()})),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).optional()}),T.object({type:T.literal("mcp_approval_request"),id:T.string(),server_label:T.string(),name:T.string(),arguments:T.string(),approval_request_id:T.string().optional()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])}),T.object({type:T.literal("response.function_call_arguments.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.custom_tool_call_input.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.image_generation_call.partial_image"),item_id:T.string(),output_index:T.number(),partial_image_b64:T.string()}),T.object({type:T.literal("response.code_interpreter_call_code.delta"),item_id:T.string(),output_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.code_interpreter_call_code.done"),item_id:T.string(),output_index:T.number(),code:T.string()}),T.object({type:T.literal("response.output_text.annotation.added"),annotation:T.discriminatedUnion("type",[T.object({type:T.literal("url_citation"),start_index:T.number(),end_index:T.number(),url:T.string(),title:T.string()}),T.object({type:T.literal("file_citation"),file_id:T.string(),filename:T.string(),index:T.number()}),T.object({type:T.literal("container_file_citation"),container_id:T.string(),file_id:T.string(),filename:T.string(),start_index:T.number(),end_index:T.number()}),T.object({type:T.literal("file_path"),file_id:T.string(),index:T.number()})])}),T.object({type:T.literal("response.reasoning_summary_part.added"),item_id:T.string(),summary_index:T.number()}),T.object({type:T.literal("response.reasoning_summary_text.delta"),item_id:T.string(),summary_index:T.number(),delta:T.string()}),T.object({type:T.literal("response.reasoning_summary_part.done"),item_id:T.string(),summary_index:T.number()}),T.object({type:T.literal("response.apply_patch_call_operation_diff.delta"),item_id:T.string(),output_index:T.number(),delta:T.string(),obfuscation:T.string().nullish()}),T.object({type:T.literal("response.apply_patch_call_operation_diff.done"),item_id:T.string(),output_index:T.number(),diff:T.string()}),T.object({type:T.literal("error"),sequence_number:T.number(),error:T.object({type:T.string(),code:T.string(),message:T.string(),param:T.string().nullish()})}),T.object({type:T.string()}).loose().transform(($)=>({type:"unknown_chunk",message:$.type}))]))),Dp8=C0(()=>H0(T.object({id:T.string().optional(),created_at:T.number().optional(),error:T.object({message:T.string(),type:T.string(),param:T.string().nullish(),code:T.string()}).nullish(),model:T.string().optional(),output:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("message"),role:T.literal("assistant"),id:T.string(),phase:T.enum(["commentary","final_answer"]).nullish(),content:T.array(T.object({type:T.literal("output_text"),text:T.string(),logprobs:T.array(T.object({token:T.string(),logprob:T.number(),top_logprobs:T.array(T.object({token:T.string(),logprob:T.number()}))})).nullish(),annotations:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url_citation"),start_index:T.number(),end_index:T.number(),url:T.string(),title:T.string()}),T.object({type:T.literal("file_citation"),file_id:T.string(),filename:T.string(),index:T.number()}),T.object({type:T.literal("container_file_citation"),container_id:T.string(),file_id:T.string(),filename:T.string(),start_index:T.number(),end_index:T.number()}),T.object({type:T.literal("file_path"),file_id:T.string(),index:T.number()})]))}))}),T.object({type:T.literal("web_search_call"),id:T.string(),status:T.string(),action:T.discriminatedUnion("type",[T.object({type:T.literal("search"),query:T.string().nullish(),queries:T.array(T.string()).nullish(),sources:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("url"),url:T.string()}),T.object({type:T.literal("api"),name:T.string()})])).nullish()}),T.object({type:T.literal("open_page"),url:T.string().nullish()}),T.object({type:T.literal("find_in_page"),url:T.string().nullish(),pattern:T.string().nullish()})]).nullish()}),T.object({type:T.literal("file_search_call"),id:T.string(),queries:T.array(T.string()),results:T.array(T.object({attributes:T.record(T.string(),T.union([T.string(),T.number(),T.boolean()])),file_id:T.string(),filename:T.string(),score:T.number(),text:T.string()})).nullish()}),T.object({type:T.literal("code_interpreter_call"),id:T.string(),code:T.string().nullable(),container_id:T.string(),outputs:T.array(T.discriminatedUnion("type",[T.object({type:T.literal("logs"),logs:T.string()}),T.object({type:T.literal("image"),url:T.string()})])).nullable()}),T.object({type:T.literal("image_generation_call"),id:T.string(),result:T.string()}),T.object({type:T.literal("local_shell_call"),id:T.string(),call_id:T.string(),action:T.object({type:T.literal("exec"),command:T.array(T.string()),timeout_ms:T.number().optional(),user:T.string().optional(),working_directory:T.string().optional(),env:T.record(T.string(),T.string()).optional()})}),T.object({type:T.literal("function_call"),call_id:T.string(),name:T.string(),arguments:T.string(),id:T.string(),namespace:T.string().nullish()}),T.object({type:T.literal("custom_tool_call"),call_id:T.string(),name:T.string(),input:T.string(),id:T.string()}),T.object({type:T.literal("computer_call"),id:T.string(),status:T.string().optional()}),T.object({type:T.literal("reasoning"),id:T.string(),encrypted_content:T.string().nullish(),summary:T.array(T.object({type:T.literal("summary_text"),text:T.string()}))}),T.object({type:T.literal("mcp_call"),id:T.string(),status:T.string(),arguments:T.string(),name:T.string(),server_label:T.string(),output:T.string().nullish(),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).nullish(),approval_request_id:T.string().nullish()}),T.object({type:T.literal("mcp_list_tools"),id:T.string(),server_label:T.string(),tools:T.array(T.object({name:T.string(),description:T.string().optional(),input_schema:T.any(),annotations:T.record(T.string(),T.unknown()).optional()})),error:T.union([T.string(),T.object({type:T.string().optional(),code:T.union([T.number(),T.string()]).optional(),message:T.string().optional()}).loose()]).optional()}),T.object({type:T.literal("mcp_approval_request"),id:T.string(),server_label:T.string(),name:T.string(),arguments:T.string(),approval_request_id:T.string().optional()}),T.object({type:T.literal("apply_patch_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed"]),operation:T.discriminatedUnion("type",[T.object({type:T.literal("create_file"),path:T.string(),diff:T.string()}),T.object({type:T.literal("delete_file"),path:T.string()}),T.object({type:T.literal("update_file"),path:T.string(),diff:T.string()})])}),T.object({type:T.literal("shell_call"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),action:T.object({commands:T.array(T.string())})}),T.object({type:T.literal("shell_call_output"),id:T.string(),call_id:T.string(),status:T.enum(["in_progress","completed","incomplete"]),output:T.array(T.object({stdout:T.string(),stderr:T.string(),outcome:T.discriminatedUnion("type",[T.object({type:T.literal("timeout")}),T.object({type:T.literal("exit"),exit_code:T.number()})])}))}),T.object({type:T.literal("tool_search_call"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),arguments:T.unknown()}),T.object({type:T.literal("tool_search_output"),id:T.string(),execution:T.enum(["server","client"]),call_id:T.string().nullable(),status:T.enum(["in_progress","completed","incomplete"]),tools:T.array(T.record(T.string(),em.optional()))})])).optional(),service_tier:T.string().nullish(),incomplete_details:T.object({reason:T.string()}).nullish(),usage:T.object({input_tokens:T.number(),input_tokens_details:T.object({cached_tokens:T.number().nullish()}).nullish(),output_tokens:T.number(),output_tokens_details:T.object({reasoning_tokens:T.number().nullish()}).nullish()}).optional()}))),Ep8=["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"],C65=["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",...Ep8],$o1=C0(()=>H0(W4.object({conversation:W4.string().nullish(),include:W4.array(W4.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:W4.string().nullish(),logprobs:W4.union([W4.boolean(),W4.number().min(1).max(No1)]).optional(),maxToolCalls:W4.number().nullish(),metadata:W4.any().nullish(),parallelToolCalls:W4.boolean().nullish(),previousResponseId:W4.string().nullish(),promptCacheKey:W4.string().nullish(),promptCacheRetention:W4.enum(["in_memory","24h"]).nullish(),reasoningEffort:W4.string().nullish(),reasoningSummary:W4.string().nullish(),safetyIdentifier:W4.string().nullish(),serviceTier:W4.enum(["auto","flex","priority","default"]).nullish(),store:W4.boolean().nullish(),passThroughUnsupportedFiles:W4.boolean().optional(),strictJsonSchema:W4.boolean().nullish(),textVerbosity:W4.enum(["low","medium","high"]).nullish(),truncation:W4.enum(["auto","disabled"]).nullish(),user:W4.string().nullish(),systemMessageMode:W4.enum(["system","developer","remove"]).optional(),forceReasoning:W4.boolean().optional(),allowedTools:W4.object({toolNames:W4.array(W4.string()).min(1),mode:W4.enum(["auto","required"]).optional()}).optional()})));yp8=C0(()=>H0(Ac0.object({instructions:Ac0.string().nullish(),speed:Ac0.number().min(0.25).max(4).default(1).nullish()}))),hp8=C0(()=>H0(r5.object({text:r5.string(),language:r5.string().nullish(),duration:r5.number().nullish(),words:r5.array(r5.object({word:r5.string(),start:r5.number(),end:r5.number()})).nullish(),segments:r5.array(r5.object({id:r5.number(),seek:r5.number(),start:r5.number(),end:r5.number(),text:r5.string(),tokens:r5.array(r5.number()),temperature:r5.number(),avg_logprob:r5.number(),compression_ratio:r5.number(),no_speech_prob:r5.number()})).nullish()}))),cp8=C0(()=>H0(nH.object({include:nH.array(nH.string()).optional(),language:nH.string().optional(),prompt:nH.string().optional(),temperature:nH.number().min(0).max(1).default(0).optional(),timestampGranularities:nH.array(nH.enum(["word","segment"])).default(["segment"]).optional()}))),Yo1={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"};d65=rD()});var Bo1="https://api.llmapi.ai/v1",lp8="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",Oo1;var Do1=O(()=>{L40();Oo1={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:lp8},supportedMethods:["api-key"],create($){let Z=rD({apiKey:$||"not-needed",baseURL:Bo1,name:"llmapi"}),G=Object.assign((...X)=>Z.chat(...X),Z,{languageModel:Z.chat});return{info:this.info,aiSdk:G,async listModels(){let X=await fetch(`${Bo1}/models`,{headers:$?{Authorization:`Bearer ${$}`}:{},signal:AbortSignal.timeout(15000)});if(!X.ok)throw Error(`LLMAPI listModels failed: ${X.status}`);let{data:Y}=await X.json();return Y.map((Q)=>{let J=Q.architecture??{},W=!!Q.reasoning_levels?.length||!!Q.providers?.some((K)=>K.reasoning);return{providerId:"llmapi",modelId:Q.id,title:Q.name||Q.id,description:Q.description??null,logo:null,capabilities:[...new Set([...(J.input_modalities??[]).map((K)=>K==="image"?"vision":K),...J.output_modalities??[],...Q.supported_parameters?.includes("tools")?["tools"]:[],...W?["reasoning"]:[]])],limits:{contextWindow:Q.context_length??0,maxOutputTokens:null},costs:{input:Number(Q.pricing?.prompt)||0,output:Number(Q.pricing?.completion)||0}}})}}}}});function mp8($){let Z=JSON.parse($);if(!Z.baseUrl||typeof Z.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let G=Z.baseUrl.replace(/\/+$/,"");if(!G.endsWith("/v1"))G+="/v1";return{baseUrl:G,apiKey:Z.apiKey??""}}var ip8="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",Eo1;var Lo1=O(()=>{L40();Eo1={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:ip8},supportedMethods:["api-key"],create($){let{baseUrl:Z,apiKey:G}=mp8($),X=rD({baseURL:Z,apiKey:G||"not-needed",name:"openai-compatible"}),Y=Object.assign((...Q)=>X.chat(...Q),X,{languageModel:X.chat});return{info:this.info,aiSdk:Y,async listModels(){let Q={};if(G)Q.Authorization=`Bearer ${G}`;let J=await fetch(`${Z}/models`,{headers:Q,signal:AbortSignal.timeout(15000)});if(!J.ok)throw Error(`OpenAI-compatible listModels failed: ${J.status}`);return(await J.json()).data.map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function G7(){return{...E1().aiGatewayEnabled&&{deco:gu},anthropic:$r1,google:dr1,openrouter:F$0,llmapi:Oo1,"openai-compatible":Eo1}}var Cw=O(()=>{Zr1();lr1();Do1();Lo1();wf0();Ff0();z8()});function np8($){return $.includes("/")?$.split("/").slice(1).join("/"):$}function pp8($){let Z=$.supported_parameters.includes("tools"),G=$.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:np8($.id),title:$.name,description:$.description||null,logo:null,capabilities:[...new Set([...$.architecture.input_modalities.map((X)=>X==="image"?"vision":X),...$.architecture.output_modalities,...Z?["tools"]:[],...G?["reasoning"]:[]])],limits:{contextWindow:$.context_length,maxOutputTokens:$.top_provider.max_completion_tokens||null},costs:{input:$.pricing.prompt,output:$.pricing.completion}}}function jo1($){let Z=new Map;for(let G of $){let X={description:G.description,capabilities:G.capabilities,limits:G.limits,costs:G.costs};Z.set(G.modelId,X);let Y=G.modelId.replace(/\./g,"-");if(Y!==G.modelId)Z.set(Y,X)}return Z}async function tp8($){if($){let Z=await $.get(zo1,"openrouter");if(Z)return jo1(Z)}try{let Z=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Z.ok)return new Map;let{data:G}=await Z.json(),X=G.map(pp8);if($)await $.set(zo1,"openrouter",X);return jo1(X)}catch{return new Map}}function rp8($){let Z=$.replace(/\./g,"-"),G=$.replace(/-\d{8}$/,""),X=G.replace(/\./g,"-");return[...new Set([$,Z,G,X])]}function op8($){return $.providerId==="anthropic"||$.modelId.startsWith("anthropic/")}function Ao1($,Z){if(op8(Z)&&$.includes("vision")&&!$.includes("file"))return[...$,"file"];return $}function ap8($,Z){return $.map((G)=>{let Y=rp8(G.modelId).map((W)=>Z.get(W)).find(Boolean),Q=G.capabilities.length?G.capabilities:Y?.capabilities??[],J=Ao1(Q,G);if(!Y)return J===Q?G:{...G,capabilities:J};return{...G,description:G.description??Y.description??null,capabilities:J,limits:G.limits??Y.limits??null,costs:G.costs??Y.costs??null}})}class Sc0{storage;cache;constructor($,Z){this.storage=$;this.cache=Z}async activate($,Z){let{keyInfo:G,apiKey:X}=await this.storage.resolve($,Z),Y=G7()[G.providerId];if(!Y)throw Error(`Unknown provider: ${G.providerId}`);return Y.create(X)}async listModels($,Z){let{keyInfo:G,apiKey:X}=await this.storage.resolve($,Z),Y=G.providerId,Q=G7()[Y];if(!Q)throw Error(`Unknown provider: ${Y}`);if(this.cache){let F=await this.cache.get(Z,Y);if(F)return Po1(F,Q,X)}let W=await Q.create(X).listModels(),K=new Set,w=W.filter((F)=>{if(F.deprecated)return!1;if(K.has(F.modelId))return!1;return K.add(F.modelId),!0});if(Y!=="openrouter"){let F=await tp8(this.cache);w=ap8(w,F)}else w=w.map((F)=>({...F,capabilities:Ao1(F.capabilities,F)}));let U=w.map((F)=>({...F,providerId:Y}));if(this.cache)await this.cache.set(Z,Y,U);return Po1(U,Q,X)}}function Po1($,Z,G){let Y=Z.create(G).asyncResearch;if(!Y)return $;return $.map((Q)=>Y.canHandle(Q.modelId)?{...Q,asyncResearch:!0}:Q)}var zo1="_global";var To1=O(()=>{Cw()});import{createHash as sp8}from"crypto";function Io1($){let Z=$;while(Z?.[z40])Z=Z[z40];return Z}function Cc0($){let{objectStorage:Z,baseUrl:G,orgSlug:X,prefix:Y="connection-icons",maxBytes:Q=$t8,dryRun:J=!1}=$;return async(W)=>{if(typeof W!=="string")return W;let K=W.match(ep8);if(!K)return W;if(!Z||!X)return W;let[,w,U]=K,F=w.toLowerCase(),H=Gt8[F];if(!H)return W;if(Math.floor(U.length*3/4)>Q)return console.warn(`[asset-hoister] asset exceeds ${Q} bytes, keeping inline`),W;let N=Buffer.from(U,"base64"),B=sp8("sha256").update(N).digest("hex"),D=`${Y}/${B}.${H}`;if(J)return T_(G,X,D);try{return await Z.put(D,N,{contentType:F}),T_(G,X,D)}catch(E){return console.error("[asset-hoister] upload failed, keeping inline asset:",E),W}}}async function Vc0($,Z,G=0){if(G>Zt8)return $;if(typeof $==="string")return await Z($)??$;if(Array.isArray($)){let X=await Promise.all($.map((Y)=>Vc0(Y,Z,G+1)));return X.some((Y,Q)=>Y!==$[Q])?X:$}if($!==null&&typeof $==="object"){let X=Object.entries($),Y=await Promise.all(X.map(([,W])=>Vc0(W,Z,G+1))),Q=!1,J={};return X.forEach(([W,K],w)=>{if(J[W]=Y[w],Y[w]!==K)Q=!0}),Q?J:$}return $}async function $i($,Z){let G={...$};if(typeof G.icon==="string")G.icon=await Z(G.icon);if(G.metadata!==null&&typeof G.metadata==="object")G.metadata=await Vc0(G.metadata,Z);return G}function Xt8($,Z){return new Proxy($,{get(G,X,Y){if(X===z40)return G;if(X==="create")return async(J)=>G.create(await $i(J,Z));if(X==="createNew")return async(J)=>G.createNew(await $i(J,Z));if(X==="update")return async(J,W)=>G.update(J,await $i(W,Z));let Q=Reflect.get(G,X,Y);return typeof Q==="function"?Q.bind(G):Q}})}function Yt8($,Z){return new Proxy($,{get(G,X,Y){if(X===z40)return G;if(X==="create")return async(J,W,K,w)=>G.create(J,W,await $i(K,Z),w);if(X==="update")return async(J,W,K)=>G.update(J,W,await $i(K,Z));let Q=Reflect.get(G,X,Y);return typeof Q==="function"?Q.bind(G):Q}})}function _c0($,Z){let G=Cc0(Z);if(Ro1($.connections))$.connections=Xt8(Io1($.connections),G);if(Ro1($.virtualMcps))$.virtualMcps=Yt8(Io1($.virtualMcps),G)}function Ro1($){return $!==null&&typeof $==="object"}var ep8,$t8=5242880,Zt8=64,z40,Gt8;var bc0=O(()=>{vJ();ep8=/^data:((?:image|audio|video)\/[^;,]+)(?:;[^,]+)?;base64,(.+)$/is,z40=Symbol("assetHoistingTarget"),Gt8={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/x-icon":"ico","image/vnd.microsoft.icon":"ico","audio/mpeg":"mp3","audio/mp4":"m4a","audio/wav":"wav","audio/x-wav":"wav","audio/ogg":"ogg","audio/webm":"weba","audio/aac":"aac","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogv","video/quicktime":"mov"}});import{SpanStatusCode as qo1}from"@opentelemetry/api";function Qt8($){if(!$)return;try{let Z=JSON.parse($);if(typeof Z!=="object"||Z===null||Array.isArray(Z))return;let G={};for(let[X,Y]of Object.entries(Z))if(typeof Y==="string")G[X]=Y;return Object.keys(G).length>0?G:void 0}catch{return}}function xc0($){let{auth:Z,headers:G,role:X,permissions:Y,userId:Q,apiKeyId:J}=$,W=!!J,K=Z.api.hasPermission;return{isApiKeyPrincipal:W,hasPermission:async(w,U)=>{if(W)return Py0(Y??{},w);if(X&&KQ.includes(X))return!0;if(Y)return Py0(Y,w);let F=Em1(U?.role,w,Lm1());if(F!=="fallback")return F==="grant";if(!K)return console.error("[Auth] hasPermission API not available"),!1;let H=U?.organizationId?{organizationId:U.organizationId}:{};try{if((await K({headers:G,body:{permission:w,...H}}))?.success===!0)return!0;let B=Qm1(w);return(await K({headers:G,body:{permission:B,...H}}))?.success===!0}catch(N){let B=N?.statusCode;if(B!==401&&B!==403)console.error("[Auth] Permission check failed:",N instanceof Error?N.message:String(N));return!1}},organization:{create:async(w)=>{return Z.api.createOrganization({headers:G,body:w})},update:async(w)=>{return Z.api.updateOrganization({headers:G,body:w})},delete:async(w)=>{await Z.api.deleteOrganization({headers:G,body:{organizationId:w}})},get:async(w)=>{return Z.api.getFullOrganization({headers:G,query:w?{organizationId:w}:void 0})},list:async(w)=>{return(await Z.api.listOrganizations({headers:G,query:w?{userId:w}:void 0})).filter((F)=>!AG(F))},addMember:async(w)=>{return Z.api.addMember({headers:G,body:w})},removeMember:async(w)=>{await Z.api.removeMember({headers:G,body:w})},listMembers:async(w)=>{return Z.api.listMembers({headers:G,query:w?{organizationId:w.organizationId,limit:w.limit,offset:w.offset,filterField:w.filterField,filterValue:w.filterValue}:void 0})},updateMemberRole:async(w)=>{return Z.api.updateMemberRole({headers:G,body:w})}},apiKey:{create:async(w)=>{return Z.api.createApiKey({body:{...w,userId:Q}})},list:async()=>{return Z.api.listApiKeys({headers:G})},update:async(w)=>{return Z.api.updateApiKey({body:{...w,userId:Q}})},delete:async(w)=>{await Z.api.deleteApiKey({headers:G,body:{keyId:w}})}}}}async function vc0($,Z,G){if(a80.includes(G))return;let X=await $.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Z).where("role","=",G).executeTakeFirst();if(!X?.permission)return;try{return JSON.parse(X.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${G}`);return}}async function ko1($,Z,G,X){let Y=Mo1.get(G);if(Y&&Date.now()-Y.at<Jt8)return Y.archived;let Q=await Z.measure(X,()=>$.selectFrom("organization").select(["metadata"]).where("id","=",G).executeTakeFirst()),J=AG(Q);return Mo1.set(G,{archived:J,at:Date.now()}),J}async function fc0($,Z,G,X,Y){let Q=Y?.get(G,X);if(Q)return Q;let W=(await Z.measure("auth_query_membership",()=>$.selectFrom("member").select(["member.role"]).where("member.userId","=",G).where("member.organizationId","=",X).executeTakeFirst()))?.role;if(W)Y?.set(G,X,W);return W}async function Wt8($,Z,G,X,Y){let Q=$.headers.get("x-mesh-token");if(!Q)return;let J=await G.measure("auth_verify_onbehalf_mesh_jwt",()=>if0(Q));if(!J?.sub)return;let W=J.metadata?.organizationId;if(X&&W&&W!==X)return;let K=X?await fc0(Z,G,J.sub,X,Y):J.user?.role??void 0;return{id:J.sub,email:J.user?.email,name:J.user?.name,role:K}}async function Kt8($,Z,G,X=Vo1,Y){let Q=$.headers.get("Authorization");try{let J=new Headers($.headers);J.set("X-MCP-Session-Auth","true");let W=await X.measure("auth_get_mcp_session",()=>Z.api.getMcpSession({headers:J}));if(W){let K=W.userId,w=$.headers.get("x-org-id"),U=$.headers.get("x-org-slug"),F=await X.measure("auth_query_membership",()=>{let D=G.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","=",K);if(w)return D.where("organization.id","=",w).executeTakeFirst();if(U)return D.where("organization.slug","=",U).executeTakeFirst();return D.orderBy("member.createdAt","asc").limit(2).execute().then((E)=>E.length===1?E[0]:void 0)});if(AG({metadata:F?.orgMetadata}))throw Error("Organization is archived");let H=F?.role,N=F?{id:F.orgId,slug:F.orgSlug,name:F.orgName}:void 0;if(F&&H)Y?.set(K,F.organizationId,H);let B;if(F&&H)B=await X.measure("auth_fetch_role_permissions",()=>vc0(G,F.organizationId,H));return{user:{id:K,role:H},role:H,permissions:B,organization:N}}}catch(J){console.error("[Auth] OAuth session check failed:",J)}if(Q?.startsWith("Bearer ")){let J=Q.replace("Bearer ","").trim();try{let W=await X.measure("auth_verify_mesh_jwt",()=>if0(J));if(W){let K,w=W.metadata?.organizationId;if(W.sub&&w)K=await fc0(G,X,W.sub,w,Y);let U,F=W.metadata?.organizationId;if(F){let H=W.metadata?.organizationName,N=W.metadata?.organizationSlug;if(H||N){if(await ko1(G,X,F,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};U={id:F,name:H,slug:N}}else{let B=await X.measure("auth_query_org_for_mesh_jwt",()=>G.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",F).executeTakeFirst());if(AG(B))return{user:void 0};U=B?{id:B.id,slug:B.slug,name:B.name}:{id:F}}}return{user:{id:W.sub,connectionId:W.metadata?.connectionId,role:K},role:K,permissions:W.permissions,organization:U}}}catch{}try{let W=await X.measure("auth_verify_api_key",()=>Z.api.verifyApiKey({body:{key:J}}));if(W?.valid&&W.key){let K=W.key.metadata?.organization;if(K?.id&&await ko1(G,X,K.id,"auth_query_org_for_api_key"))return{user:void 0};let w=W.key.permissions,U,F=W.key.userId;if(F&&K?.id)U=await fc0(G,X,F,K.id,Y);let H=await Wt8($,G,X,K?.id,Y);return{apiKeyId:W.key.id,user:H??{id:W.key.userId,role:U},role:H?H.role:U,permissions:w,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch(W){let K=W;if(K.body?.code==="INVALID_API_KEY"||K.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL($.url).pathname,method:$.method,ua:$.headers.get("user-agent")??void 0,ip:$.headers.get("x-forwarded-for")??$.headers.get("x-real-ip")??void 0,tokenPrefix:J.slice(0,8)});else console.error("[Auth] API key check failed:",K)}}try{let J=new Headers($.headers);J.delete("Authorization");let W=await X.measure("auth_get_session",()=>Z.api.getSession({headers:J}));if(W){let K,w,U=$.headers.get("x-org-id"),F=$.headers.get("x-org-slug");if(!U&&!F&&$.method.toUpperCase()==="GET")try{let H=new URL($.url).searchParams;U=H.get("x-org-id"),F=H.get("x-org-slug")}catch{}if(U||F){let H=await X.measure("auth_query_membership_from_header",()=>{let N=G.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","=",W.user.id);if(U)N=N.where("organization.id","=",U);else if(F)N=N.where("organization.slug","=",F);return N.executeTakeFirst()});if(AG({metadata:H?.orgMetadata}))throw Error("Organization is archived");if(H)K={id:H.orgId,slug:H.orgSlug,name:H.orgName},w=H.role}else if(W.session.activeOrganizationId){let H=await X.measure("auth_get_full_organization",()=>Z.api.getFullOrganization({headers:J}).catch(()=>null));if(H){if(AG(H))throw Error("Organization is archived");K={id:H.id,slug:H.slug,name:H.name},w=H.members?.find((B)=>B.userId===W.user.id)?.role}else K={id:W.session.activeOrganizationId,slug:"",name:""}}return{user:{id:W.user.id,email:W.user.email,emailVerified:!!W.user.emailVerified,name:W.user.name,image:W.user.image??void 0,role:w},role:w,organization:K}}}catch(J){let W=J;console.error("[Auth] Session check failed:",JSON.stringify({message:W.message,body:W.body,stack:W.stack},null,2))}return{user:void 0}}async function Co1($){let Z=new Fw($.encryption.key),G=E1(),X=G.clickhouseUrl,Y=!!X,Q=!Y&&!!G.monitoringS3Bucket,J=Y?"clickhouse":"duckdb",{resolve:W}=await import("path"),K=W(mQ()),w=W(DK()),U=(A)=>`read_ndjson('${K}/${A}/**/*.ndjson', auto_detect=true)`,F=(A)=>`read_ndjson('${w}/${A}/**/*.ndjson', auto_detect=true)`,H,N,B,D,E=!1;if($.monitoringEngines)H=$.monitoringEngines.monitoringEngine,N=$.monitoringEngines.metricEngine,B=U,D=F;else if(Y){let A=G.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(G.clickhouseMaxMemoryUsage)}:void 0;H=new Ll(X,A),N=new Ll(X,A),B=(M)=>"studio_monitoring_logs",D=(M)=>"studio_monitoring_logs"}else if(Q){let A=G.monitoringS3AccessKeyId??G.s3AccessKeyId,M=G.monitoringS3SecretAccessKey??G.s3SecretAccessKey,S=G.duckdbExtensionDirectory;if(!A||!M||!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 q={endpoint:G.monitoringS3Endpoint??G.s3Endpoint??"storage.googleapis.com",region:G.monitoringS3Region??G.s3Region,accessKeyId:A,secretAccessKey:M,extensionDirectory:S},V=new El(q,{memoryLimit:G.duckdbMemoryLimit,threads:G.duckdbThreads});H=V,N=V;let t=G.monitoringS3Bucket,f=G.monitoringS3Prefix??"",v=(Z0,a)=>cl1({bucket:t,prefix:f,range:a});B=v,D=v,E=!0}else{let{engine:A}=await ov0({basePath:mQ()}),{engine:M}=await ov0({basePath:DK()});H=A,N=M,B=U,D=F}let L=new uf($.db),z=new kl($.db),j=new Al($.db),P={connections:new du($.db,Z),connectionCredentialVault:new Nx0($.db),organizationSettings:new av0($.db),monitoring:new zx0(H,B,N,D,J,E),virtualMcps:new bb($.db),users:new Hy0($.db),tags:new Fy0($.db),virtualMcpPluginConfigs:new sv0($.db),aiProviderKeys:new uu($.db,Z,$.providerKeyCache),secrets:new vy0($.db,Z),orgFileConfigs:new yy0($.db,Z),orgSites:new uy0($.db),taskBoard:new dy0($.db),orgFsEntries:new Uc($.db),oauthPkceStates:new ly0($.db),automations:_80($.db),triggerCallbackTokens:new jl($.db),orgSsoConfig:new Qy0($.db,Z),orgSsoSessions:new Jy0($.db),registry:{items:new bf($.db),publishRequests:new ff($.db),publishApiKeys:new xf($.db),monitorRuns:new u80($.db),monitorResults:new d80($.db),monitorConnections:new l80($.db)},brandContext:new Pl($.db),organizationDomains:new QY($.db),organizationJoinRequests:new _f($.db),kv:j,interests:new Yy0(j)};return async(A,M)=>{let S=M?.timings??Vo1,q=Z60(),V=A?await $.observability.tracer.startActiveSpan("studio.auth",async(f0)=>{try{let m0=await Kt8(A,$.auth,$.db,S,$.memberRoleCache);return f0.setStatus({code:qo1.OK}),m0}catch(m0){throw f0.setStatus({code:qo1.ERROR,message:m0.message}),f0.recordException(m0),m0}finally{f0.end()}}):{user:void 0},t=A?.headers.get("x-caller-id")??V.user?.connectionId??void 0,f=xc0({auth:$.auth,headers:A?.headers??new Headers,role:V.role,permissions:V.permissions,userId:V.user?.id,apiKeyId:V.apiKeyId}),v={user:V.user};if(V.apiKeyId)v.apiKey={id:V.apiKeyId,name:"",userId:""};let Z0=V.organization,a=A?E1().baseUrl??`${new URL(A.url).origin}`:EZ(),B0=new zD(v.user?.id,void 0,f,V.role,"self",void 0,Z0?.id),O0={...P,virtualMcps:yy1(P.virtualMcps),threads:new ky0(L,Z0?.id),asyncResearchJobs:new by0(z,Z0?.id)},W0=new Sc0(O0.aiProviderKeys,$.modelListCache),J0=oX(),s=!Z0?null:J0?W3(J0,Z0.id):new yJ(Z0.id,a),A0=Z0&&s?new hJ(s,O0.orgFsEntries,Z0.id):null;_c0(O0,{objectStorage:s,baseUrl:a,orgSlug:Z0?.slug});let U0={timings:S,auth:v,connectionId:t,organization:Z0,storage:O0,vault:Z,authInstance:$.auth,boundAuth:f,access:B0,db:$.db,tracer:$.observability.tracer,meter:$.observability.meter,baseUrl:a,objectStorage:s,orgFs:A0,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(wt8.map((f0)=>[f0,A?.headers.get(f0)??null]).filter(([f0,m0])=>m0!==null)),userAgent:A?.headers.get("x-mesh-client")||A?.headers.get("User-Agent")||void 0,ipAddress:(A?.headers.get("CF-Connecting-IP")||A?.headers.get("X-Forwarded-For"))??void 0,properties:Qt8(A?.headers.get("x-mesh-properties"))},linkStatusProbe:$.linkStatusProbe,publishLinkControlFrame:$.publishLinkControlFrame,aiProviders:W0,createMCPProxy:async(f0)=>{return await Om1(f0,U0)},invalidateMemberRole:$.memberRoleCache?(f0,m0)=>$.memberRoleCache.invalidate(f0,m0):void 0,getOrCreateClient:q,pendingRevalidations:[],firecrawlApiKey:E1().firecrawlApiKey};return U0}}function j40($,Z){$.storage.threads.setOrganizationId(Z.id),$.storage.asyncResearchJobs.setOrganizationId(Z.id);let G=oX();$.objectStorage=G?W3(G,Z.id):new yJ(Z.id,$.baseUrl),$.orgFs=new hJ($.objectStorage,$.storage.orgFsEntries,Z.id),_c0($.storage,{objectStorage:$.objectStorage,baseUrl:$.baseUrl,orgSlug:Z.slug??void 0})}var Jt8=60000,Mo1,So1,pH,Vo1,wt8;var Zi=O(()=>{pO();cu();z8();nG();zf0();x$0();lf0();Kh1();ul1();gX();dl1();ev0();$y0();Gy0();Xm1();Ym1();jD();jy0();KW();Iy0();Sy0();fy0();xy0();Bf0();X60();Sm1();Cm1();_m1();MS0();q_();To1();HO();Qc();bc0();Mo1=new Map;pH={set:($)=>{So1=$},create:async($,Z)=>{return await So1($,Z)}},Vo1={measure:async($,Z)=>{return await Z()}},wt8=["x-hub-signature-256"]});function gc0($){return $?`/api/${$}`:""}function _o1($){let G=new URL($).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let X=(Y)=>{let Q=new URL($);return Q.pathname=Y,Q.toString()};return[X(`${G}/.well-known/oauth-protected-resource`),X(`/.well-known/oauth-protected-resource${G}`),X("/.well-known/oauth-protected-resource")]}function bo1($){let G=new URL($).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let X=G!==""&&G!=="/",Y=(Q)=>{let J=new URL($);return J.pathname=Q,J.toString()};if(X)return[Y(`/.well-known/oauth-authorization-server${G}`),Y(`/.well-known/openid-configuration${G}`),Y(`${G}/.well-known/openid-configuration`)];return[Y("/.well-known/oauth-authorization-server"),Y("/.well-known/openid-configuration")]}function fo1($){return"issuer"in $&&!("resource"in $)&&(("authorization_endpoint"in $)||("token_endpoint"in $))}function xo1($){let Z=$.toLowerCase();return Z.includes("resource_metadata=")||Z.includes("invalid_token")||Z.includes("oauth")}function vo1($){let Z=$.message?.toLowerCase()??"";return $.status===401||$.code===401||($.message?.includes("401")??!1)||Z.includes("unauthorized")||Z.includes("invalid_token")||Z.includes("api key required")||Z.includes("api-key required")}function yo1($,{proxyResourceUrl:Z,proxyAuthServer:G}){return{...$,resource:Z,authorization_servers:[G]}}function hc0({proxyResourceUrl:$,proxyAuthServer:Z,scopesSupported:G=["*"]}){return{resource:$,authorization_servers:[Z],bearer_methods_supported:["header"],scopes_supported:G}}function go1($){return"scopes_supported"in $&&Array.isArray($.scopes_supported)&&$.scopes_supported.length>0?$.scopes_supported:["*"]}function ho1($,Z){return{...$,authorization_endpoint:$.authorization_endpoint?`${Z}/authorize`:void 0,token_endpoint:$.token_endpoint?`${Z}/token`:void 0,registration_endpoint:$.registration_endpoint?`${Z}/register`:void 0}}function co1({origin:$,prefix:Z,connectionId:G}){return`Bearer realm="mcp",resource_metadata="${$}${Z}/mcp/${G}/.well-known/oauth-protected-resource"`}var yc0;var uo1=O(()=>{yc0=[404,401,406]});async function Ut8($,Z,G){return(await Z.storage.connections.findById($,G))?.connection_url??null}async function do1($,Z={}){try{let G=await dc0($,{method:"POST",headers:{...Z,"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(G.status===401){let X=G.headers.get("WWW-Authenticate");if(X){if(xo1(X))return X}if(await Ft8($))return'Bearer realm="mcp"'}return null}catch{return null}}async function Ft8($){try{let Z=new URL($),G=new URL("/.well-known/oauth-authorization-server",Z.origin),X=await dc0(G.toString(),{method:"GET",headers:{Accept:"application/json"}});if(X.ok){let Y=await X.json();if(Y.authorization_endpoint||Y.token_endpoint||Y.issuer)return!0}return!1}catch{return!1}}async function Rx($){let Z=_o1($),G;for(let X=0;X<Z.length;X++){if(G=await to1(Z[X],{method:"GET",headers:{Accept:"application/json"}}),G.ok)return G;if(X<Z.length-1&&!yc0.includes(G.status))return G}return G}async function Ht8($){let Z;try{Z=new URL($).origin}catch{return null}try{let G=await Rx($);if(G.ok){let X=await G.json();if(X.authorization_servers?.[0])return X.authorization_servers[0]}}catch{}return Z}async function lo1($){let Z=$.get("meshContext");if(!Z)Z=await pH.create($.req.raw),$.set("meshContext",Z);return Z}async function uc0({error:$,reqUrl:Z,connectionId:G,connectionUrl:X,headers:Y,orgSlug:Q}){if(!vo1($))return null;if(Boolean(await do1(X,Y)))return new Response(null,{status:401,headers:{"WWW-Authenticate":co1({origin:Z.origin,prefix:gc0(Q),connectionId:G})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function dc0($,Z,G=po1){return fetch($,{...Z,signal:AbortSignal.timeout(G)})}class cc0{response;constructor($){this.response=$}}async function to1($,Z,{attempts:G=3,timeoutMs:X=po1}={}){try{return await BK(async()=>{let Y=await dc0($,Z,X);if(Y.status>=500)throw new cc0(Y);return Y},{maxAttempts:G,minTimeout:150,multiplier:2,jitter:0})}catch(Y){if(Y instanceof NK){if(Y.cause instanceof cc0)return Y.cause.response;throw Y.cause}throw Y}}async function Xi($){let Z=bo1($),G=null;for(let X of Z){if(G=await to1(X,{method:"GET",headers:{Accept:"application/json"}}),G.ok)return G;if(G.status!==404&&G.status!==401)return G}return G}var mo1=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $},Gi=async($)=>{let Z=$.req.param("connectionId"),G=await lo1($),X=mo1(new URL($.req.url)),Y=$.req.param("org")??G.organization?.slug,Q;if(Y)if(G.organization?.id&&G.organization.slug===Y)Q=G.organization.id;else{let U=await G.db.selectFrom("organization").select("id").where("slug","=",Y).executeTakeFirst();if(!U)return $.json({error:"Connection not found"},404);Q=U.id}let J=await Ut8(Z,G,Q);if(!J)return $.json({error:"Connection not found"},404);let W=gc0(Y),K=`${X.origin}${W}/mcp/${Z}`,w=`${X.origin}/oauth-proxy/${Z}`;try{let U=await Rx(J);if(!U.ok&&yc0.includes(U.status)){if(await do1(J)){let B=hc0({proxyResourceUrl:K,proxyAuthServer:w});return new Response(JSON.stringify(B),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}if(!U.ok)return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}});let F=await U.json();if(fo1(F)){let N=hc0({proxyResourceUrl:K,proxyAuthServer:w,scopesSupported:go1(F)});return new Response(JSON.stringify(N),{status:200,headers:{"Content-Type":"application/json"}})}let H=yo1(F,{proxyResourceUrl:K,proxyAuthServer:w});return new Response(JSON.stringify(H),{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}catch(U){let F=U;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",F),$.json({error:"Failed to proxy OAuth metadata",message:F.message},502)}},io1=()=>{let $=new g1;return $.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Z)=>Gi(Z)),$.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Z)=>Gi(Z)),$},no1=()=>{let $=new g1;return $.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Z)=>Gi(Z)),$},po1=4000,Nt8=async($)=>{let Z=$.req.param("connectionId"),G=await lo1($),X=await G.storage.connections.findById(Z);if(!X?.connection_url)return $.json({error:"Connection not found or no auth server"},404);let Y=await Ht8(X.connection_url);if(!Y)return $.json({error:"Connection not found or no auth server"},404);let Q=await G.db.selectFrom("organization").select("slug").where("id","=",X.organization_id).executeTakeFirst();try{let J=await Xi(Y);if(!J.ok)return new Response(J.body,{status:J.status,statusText:J.statusText,headers:{"Content-Type":"application/json"}});let W=await J.json(),K=mo1(new URL($.req.url)),w=Q?.slug?`${K.origin}/api/${Q.slug}/oauth-proxy/${Z}`:`${K.origin}/oauth-proxy/${Z}`,U=ho1(W,w);return new Response(JSON.stringify(U),{status:200,headers:{"Content-Type":"application/json"}})}catch(J){let W=J;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",W),$.json({error:"Failed to proxy auth server metadata",message:W.message},502)}},ro1=()=>{let $=new g1;return $.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",Nt8),$};var Yi=O(()=>{m6();Zi();Z9();uo1()});async function qx($){try{let Z;try{let X=await Rx($);if(X.ok)Z=(await X.json()).authorization_servers?.[0]}catch{}if(!Z)Z=new URL($).origin;let G=await Xi(Z);if(G.ok)return(await G.json()).token_endpoint??null;return null}catch{return null}}var P40=O(()=>{Yi()});function T40($){return!!$.refreshToken&&!!$.tokenEndpoint&&!!$.clientId}function Bt8($,Z){if($.includes("/oauth-proxy/"))return!0;try{return new URL($).host!==new URL(Z).host}catch{return!1}}async function Et8($,Z){let G=await rg1($);if(!G.success||!G.accessToken){if(G.permanent===!0)await Z.delete($.connectionId);return null}return await Z.upsert({connectionId:$.connectionId,accessToken:G.accessToken,refreshToken:G.refreshToken??$.refreshToken,scope:G.scope??$.scope,expiresAt:G.expiresIn?new Date(Date.now()+G.expiresIn*1000):null,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint}),G.accessToken}function I40($,Z){let G=lc0.get($.connectionId);if(G)return G;let X=A40.get($.connectionId);if(X&&Date.now()<X.nextAttemptAt)return Promise.resolve(null);let Y=Et8($,Z).then((Q)=>{if(Q)A40.delete($.connectionId);else{let J=A40.get($.connectionId)?.attempt??0,W=yX(Dt8,Ot8,J,2,0.5);A40.set($.connectionId,{attempt:J+1,nextAttemptAt:Date.now()+W})}return Q}).finally(()=>{lc0.delete($.connectionId)});return lc0.set($.connectionId,Y),Y}async function tH($){let{connectionId:Z,connectionUrl:G,tokenStorage:X}=$,Y=await X.get(Z);if(!Y)return{state:"missing",accessToken:null};let Q=T40(Y),J=Q?$.bufferMs??Qi:0;if(!X.isExpired(Y,J))return{state:"valid",accessToken:Y.accessToken};if(!Q)return await X.delete(Z),{state:"expired_without_refresh",accessToken:null};let W=Y.tokenEndpoint;if(G&&W&&Bt8(W,G)){let w=await qx(G);if(w)W=w}let K=await I40({...Y,tokenEndpoint:W},X);if(!K)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:K}}var Qi=300000,oo1=3300000,u7="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",lc0,Ot8=30000,Dt8=300000,A40;var rH=O(()=>{Z9();og1();P40();lc0=new Map,A40=new Map});class V5{db;vault;constructor($,Z){this.db=$;this.vault=Z}async get($){let Z=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",$).executeTakeFirst();if(!Z)return null;return this.decryptToken(Z)}async upsert($){let Z=new Date().toISOString(),G=await this.vault.encrypt($.accessToken),X=$.refreshToken?await this.vault.encrypt($.refreshToken):null,Y=$.clientSecret?await this.vault.encrypt($.clientSecret):null;return await this.db.transaction().execute(async(Q)=>{let J=await Q.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",$.connectionId).executeTakeFirst();if(J)return await Q.updateTable("downstream_tokens").set({accessToken:G,refreshToken:X,scope:$.scope,expiresAt:$.expiresAt?.toISOString()??null,clientId:$.clientId,clientSecret:Y,tokenEndpoint:$.tokenEndpoint,updatedAt:Z}).where("id","=",J.id).execute(),{id:J.id,connectionId:$.connectionId,accessToken:$.accessToken,refreshToken:$.refreshToken,scope:$.scope,expiresAt:$.expiresAt,createdAt:J.createdAt,updatedAt:Z,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint};let W=P6("dtok");return await Q.insertInto("downstream_tokens").values({id:W,connectionId:$.connectionId,accessToken:G,refreshToken:X,scope:$.scope,expiresAt:$.expiresAt?.toISOString()??null,clientId:$.clientId,clientSecret:Y,tokenEndpoint:$.tokenEndpoint,createdAt:Z,updatedAt:Z}).execute(),{id:W,connectionId:$.connectionId,accessToken:$.accessToken,refreshToken:$.refreshToken,scope:$.scope,expiresAt:$.expiresAt,createdAt:Z,updatedAt:Z,clientId:$.clientId,clientSecret:$.clientSecret,tokenEndpoint:$.tokenEndpoint}})}async delete($){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",$).execute()}isExpired($,Z=0){if(!$.expiresAt)return!1;let X=($.expiresAt instanceof Date?$.expiresAt:new Date($.expiresAt)).getTime();if(Number.isNaN(X))return!0;return X-Z<Date.now()}async decryptToken($){let Z=await this.vault.decrypt($.accessToken),G=$.refreshToken?await this.vault.decrypt($.refreshToken):null,X=$.clientSecret?await this.vault.decrypt($.clientSecret):null;return{id:$.id,connectionId:$.connectionId,accessToken:Z,refreshToken:G,scope:$.scope,expiresAt:$.expiresAt,createdAt:$.createdAt,updatedAt:$.updatedAt,clientId:$.clientId,clientSecret:X,tokenEndpoint:$.tokenEndpoint}}}var t3=O(()=>{zG()});function Lt8($){if(!$||typeof $!=="object"||Array.isArray($))return ao1;let Z=$;if(Object.values(Z).some((G)=>typeof G!=="string"))return ao1;return Z}function zt8($){if(typeof $!=="number"||!Number.isFinite($)||!Number.isInteger($)||$<=0)return;return $}function TW($){let Z=$.metadata?.repoScope;if(!Z||typeof Z.installationId!=="number"||!Number.isFinite(Z.installationId)||!Number.isInteger(Z.installationId)||Z.installationId<=0||typeof Z.owner!=="string"||typeof Z.repo!=="string"||Z.owner.length===0||Z.repo.length===0)return null;let G=zt8(Z.repositoryId);return{sourceConnectionId:typeof Z.sourceConnectionId==="string"?Z.sourceConnectionId:void 0,installationId:Z.installationId,repositoryId:G,owner:Z.owner,repo:Z.repo,permissions:Lt8(Z.permissions),grantProvider:Z.grantProvider==="github-mcp"?"github-mcp":void 0}}function so1($){return $.metadata?.orgShared===!0}var ao1;var oD=O(()=>{ao1={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function jt8($,Z){let G=$.organization?.id;if(!G)throw Error(u7);if(!Z.sourceConnectionId)throw Error(u7);let X=await $.storage.connections.findById(Z.sourceConnectionId,G);if(!X)throw Error(u7);let{clientFromConnection:Y}=await Promise.resolve().then(() => (ql(),eo1)),Q=await Y(X,$,!0);try{let J=await Q.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:Z.installationId,owner:Z.owner,repo:Z.repo,permissions:Z.permissions}}),W=J.structuredContent?.token;if(J.isError||!W)throw Error(u7);let K=J.structuredContent?.expiresAt;return{accessToken:W,expiresAt:K?new Date(K):null}}finally{await Q.close().catch(()=>{})}}function Pt8($,Z){return($?.getTime()??0)>Z?$:new Date(Z+oo1)}async function At8($,Z,G,X){let Y=Date.now(),Q=await jt8($,G),J=Pt8(Q.expiresAt,Y);return await X.upsert({connectionId:Z,accessToken:Q.accessToken,refreshToken:null,scope:null,expiresAt:J,clientId:null,clientSecret:null,tokenEndpoint:null}),Q.accessToken}async function R40($,Z,G){let X=TW(Z);if(!X)throw Error("Connection is not repo-scoped");if(!X.sourceConnectionId)throw Error(u7);let Y=new V5($.db,$.vault),Q=await Y.get(Z.id);if(!G?.forceRefresh&&Q&&!Y.isExpired(Q,Qi))return Q.accessToken;let J=mc0.get(Z.id);if(J)return J;let W=At8($,Z.id,X,Y).finally(()=>{mc0.delete(Z.id)});return mc0.set(Z.id,W),W}var mc0;var ic0=O(()=>{rH();oD();t3();mc0=new Map});import{SpanStatusCode as $a1}from"@opentelemetry/api";function Tt8($){if(!$)return;let Z={};for(let[G,X]of Object.entries($))if(X&&typeof X==="object"&&!Array.isArray(X)&&"__binding"in X){let{__binding:Y,...Q}=X;Z[G]=Q}else Z[G]=X;return Z}async function nc0($,Z,G){return Z.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":$.id}},async(X)=>{try{let Y=await It8($,Z,G);return X.setStatus({code:$a1.OK}),Y}catch(Y){throw X.setStatus({code:$a1.ERROR,message:Y.message}),X.recordException(Y),Y}finally{X.end()}})}async function It8($,Z,G){let X=$.id,Y=wx0($.configuration_state,$.configuration_scopes),Q=Z.auth.user,J=Q?.id??Z.auth.apiKey?.userId??(G?$.created_by:void 0),[W,K]=J?await Yg1({sub:J,user:{id:J,email:Q?.email,name:Q?.name,role:Q?.role},metadata:{state:Tt8($.configuration_state),meshUrl:Z.baseUrl,connectionId:X,organizationId:Z.organization?.id,organizationName:Z.organization?.name,organizationSlug:Z.organization?.slug},permissions:Y}).then((B)=>[B,null]).catch((B)=>[null,B]):[null,Error("User ID required to issue configuration token")];if(K)console.error("Failed to issue configuration token:",W);let w=Z.auth.user?.connectionId,U={...w?{"x-caller-id":w}:{},...Z.metadata.wellKnownForwardableHeaders??{},"x-request-id":Z.metadata.requestId};if(Z.metadata.runMetadata&&Object.keys(Z.metadata.runMetadata).length>0)U["x-mesh-run-metadata"]=JSON.stringify(Z.metadata.runMetadata);let F=null;if(!!TW($)?.sourceConnectionId)try{F=await R40(Z,$)}catch(B){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:X,error:B.message})}else{let B=new V5(Z.db,Z.vault),D=await tH({connectionId:X,connectionUrl:$.connection_url,tokenStorage:B});if(D.accessToken)F=D.accessToken;else if(D.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${X} with no refresh capability`)}if(!F&&$.connection_token)F=$.connection_token;if(F)U.Authorization=`Bearer ${F}`;if(W)U["x-mesh-token"]=W;return U}var Za1=O(()=>{Ux0();pO();rH();t3();ic0();oD()});function Ga1($){let Z=new tu({command:$.command,args:$.args,env:$.env,cwd:$.cwd,stderr:"pipe"}),G=$.name||$.id,X="\x1B[2m",Y="\x1B[0m";return Z.stderr?.on("data",(Q)=>{let J=Q.toString().trimEnd();if(J)console.error(`${J} \x1B[2m[${G}]\x1B[0m`)}),Z}var Xa1=O(()=>{uf0()});var Rt8="mcp.mesh",Mx;var Ya1=O(()=>{XY();jD();BG();Mx=class Mx extends Xb{options;constructor($,Z){super($);this.options=Z}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise(($)=>{let Z=`auth-tools-${Date.now()}`,G=this.innerTransport.onmessage;this.innerTransport.onmessage=(X)=>{if("id"in X&&X.id===Z)if(this.innerTransport.onmessage=G,this.toolsListPromise=null,"result"in X){let Y=X.result?.tools??null;$(Y)}else $(null);else G?.(X)},this.innerTransport.send({jsonrpc:"2.0",id:Z,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=G,this.toolsListPromise=null,$(null)})});return this.toolsListPromise}async ensureToolsMap(){let $=this.options.cache??W9(),Z=await sF("tools",this.options.connection.id,async()=>{let G=await this.fetchToolsFromServer();if(G===null)throw Error("Failed to fetch tools list");return G},$,(G)=>this.options.ctx.pendingRevalidations.push(G),aF);if(!Z)return new Map;return new Map(Z.map((G)=>[G.name,G]))}async handleOutgoingMessage($){if(!this.isRequest($))return this.innerTransport.send($);let Z=$;if(Z.method==="tools/call")await this.authorizeToolCall(Z),this.stripMetaFromArguments(Z);return this.innerTransport.send($)}async authorizeToolCall($){if(this.options.superUser)return;let G=$.params.name,{ctx:X,connection:Y}=this.options;if(await this.isPublicTool(G))return;if(!X.auth.user?.id&&!X.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let Q=async()=>{return(await this.ensureToolsMap()).get(G)?._meta};await new zD(X.auth.user?.id??X.auth.apiKey?.userId,G,X.boundAuth,X.organization?.role??X.auth.user?.role,Y.id,Q,X.organization?.id).check(G)}async isPublicTool($){if($.startsWith("MESH_PUBLIC_"))return!0;let G=(await this.ensureToolsMap()).get($);if(!G?._meta)return!1;return G._meta[Rt8]?.public_tool===!0}stripMetaFromArguments($){let Z=$.params;if(Z.arguments&&"_meta"in Z.arguments){let{_meta:G,...X}=Z.arguments;Z.arguments=X}}}});class pc0{redact($){if($===null||$===void 0)return $;if(typeof $==="string")return this.redactString($);if(Array.isArray($))return $.map((Z)=>this.redact(Z));if(typeof $==="object"){let Z={};for(let[G,X]of Object.entries($)){let Y=this.redactString(G);Z[Y]=this.redact(X)}return Z}return $}redactString($){return $.replace(Mt8,(Z,...G)=>{let X=G[G.length-1];if(X){for(let Y of qt8)if(X[Y]!=null)return`[REDACTED:${Y}]`}return Z})}}var qt8,Mt8;var Qa1=O(()=>{qt8=["jwt","api_key","email","credit_card","ssn"],Mt8=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 Ja1}from"@opentelemetry/api-logs";function Ji($,Z){try{if(!$.organizationId)return;let G=tc0.redactString(QC(JSON.stringify($.toolArguments??{}))),X=tc0.redactString(QC(JSON.stringify($.result??{}))),Y=$.errorMessage?tc0.redactString(QC($.errorMessage)):"";a$1().emit({severityNumber:$.isError?Ja1.ERROR:Ja1.INFO,severityText:$.isError?"ERROR":"INFO",body:$.toolName,attributes:{[D6.TYPE]:$.type??Ug,[D6.ORGANIZATION_ID]:$.organizationId,[D6.CONNECTION_ID]:$.connectionId,[D6.CONNECTION_TITLE]:"",[D6.TOOL_NAME]:$.toolName,[D6.INPUT]:G,[D6.OUTPUT]:X,[D6.IS_ERROR]:$.isError,[D6.ERROR_MESSAGE]:Y,[D6.DURATION_MS]:$.duration,[D6.USER_ID]:$.userId||"",[D6.REQUEST_ID]:$.requestId,[D6.USER_AGENT]:$.userAgent||"",[D6.VIRTUAL_MCP_ID]:$.virtualMcpId||"",[D6.PROPERTIES]:$.properties?JSON.stringify($.properties):""},context:Z})}catch{}}var tc0;var q40=O(()=>{IL0();Qa1();gX();TL0();tc0=new pc0});function rc0($){let{ctx:Z,organizationId:G,connectionId:X,toolName:Y,durationMs:Q,isError:J}=$;if(!G||!X||!Y)return;let W={"tool.name":Y,"organization.id":G,"connection.id":X,status:J?"error":"success","error.type":J?$.errorType||"Error":""};Z.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(Q,W),Z.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,W)}import{trace as s55,context as e55}from"@opentelemetry/api";function Wa1($){if(!$.isError)return;let Z=$.content;if(!Array.isArray(Z))return;for(let G of Z)if(G&&typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&typeof G.text==="string")return G.text;return}function Ka1($){if(!$)return;let Z=$._meta;if(!Z||typeof Z!=="object"||Array.isArray(Z))return;let G=Z.properties;if(!G||typeof G!=="object"||Array.isArray(G))return;let X={};for(let[Y,Q]of Object.entries(G))if(typeof Q==="string")X[Y]=Q;return Object.keys(X).length>0?X:void 0}function wa1($,Z){if(!$&&!Z)return;if(!$)return Z;if(!Z)return $;return{...Z,...$}}var Ua1=O(()=>{t8();q40();gX()});import{trace as kt8,context as Fa1}from"@opentelemetry/api";var kx;var Ha1=O(()=>{BG();q40();Ua1();kx=class kx extends Xb{options;inflightRequests=new Map;requestContext;constructor($,Z){super($);this.options=Z;this.requestContext=Fa1.active()}async handleOutgoingMessage($){if(this.isRequest($)){let Z=$;this.onRequestStart(Z)}return this.innerTransport.send($)}handleIncomingMessage($){if(this.isResponse($)){let Z=$;this.onResponseEnd(Z)}this.onmessage?.($)}onRequestStart($){let{ctx:Z,connectionId:G}=this.options,X,Y;if($.method==="tools/call"&&$.params){let J=$.params;X=J.name,Y=J.arguments}let Q;if($.method==="tools/call"&&X)Q=Z.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":G,"tool.name":X,"request.id":Z.metadata.requestId,"jsonrpc.id":$.id,"jsonrpc.method":$.method}},this.requestContext);if($.id!==null&&$.id!==void 0)this.inflightRequests.set($.id,{startTime:Date.now(),method:$.method,toolName:X,toolArguments:Y,span:Q})}onResponseEnd($){if($.id===null||$.id===void 0)return;let Z=this.inflightRequests.get($.id);if(!Z)return;let{ctx:G,connectionId:X}=this.options,{startTime:Y,method:Q,toolName:J,toolArguments:W,span:K}=Z,w=Date.now()-Y;if(this.inflightRequests.delete($.id),Q!=="tools/call"||!J)return;let U=G.organization?.id??"",F="error"in $,H=F?$.error:$.result,N=F?{content:[{type:"text",text:$.error?.message||"Unknown error"}],isError:!0}:H,B=F||N?.isError===!0,D=F?$.error?.message:void 0,E=Wa1(N)||null;if(G.meter.createHistogram("connection.proxy.duration").record(w,{"connection.id":X,"organization.id":U,"tool.name":J,status:B?"error":"success"}),B)G.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":X,"organization.id":U,"tool.name":J,error:D??E??void 0});else G.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":X,"organization.id":U,"tool.name":J,status:"success"});if(U)rc0({ctx:G,organizationId:U,connectionId:X,toolName:J,durationMs:w,isError:B,errorType:F?"RemoteError":B?"ToolError":""});if(K){if(B)K.recordException(Error(D??E??"Tool error"));let L=Ka1(W),z=wa1(G.metadata.properties,L),j=kt8.setSpan(Fa1.active(),K);Ji({organizationId:G.organization?.id??"",connectionId:X,toolName:J,toolArguments:W,result:N,duration:w,isError:B,errorMessage:E,userId:G.auth.user?.id||G.auth.apiKey?.userId||null,requestId:G.metadata.requestId,userAgent:G.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:z||null},j),K.end()}}async close(){for(let $ of this.inflightRequests.values())if($.span)$.span.setAttributes({"transport.closed":!0}),$.span.end();return this.inflightRequests.clear(),super.close()}}});var Na1=O(()=>{BG();Ya1();Ha1()});async function Ba1($,Z,G=!1){let X=$.id,Y=Z.connectionId&&Z.connectionId!==X?Z.connectionId:void 0;switch($.connection_type){case"STDIO":{if(!E1().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let Q=$.connection_headers;if(!rJ(Q))throw Error("STDIO connection missing parameters");let J=Ga1({id:X,name:$.title,command:Q.command,args:Q.args,env:Q.envVars,cwd:Q.cwd});return J=Yb(J,(W)=>new Mx(W,{ctx:Z,connection:$,superUser:G}),(W)=>new kx(W,{ctx:Z,connectionId:X,virtualMcpId:Y})),St8(J,X)}case"HTTP":case"Websocket":{if(!$.connection_url)throw Error(`${$.connection_type} connection missing URL`);let Q=await nc0($,Z,G),J=$.connection_headers;if(J&&"headers"in J)Object.assign(Q,J.headers);let W=new P3(new URL($.connection_url),{requestInit:{headers:Q}});return W=Yb(W,(K)=>new Mx(K,{ctx:Z,connection:$,superUser:G}),(K)=>new kx(K,{ctx:Z,connectionId:X,virtualMcpId:Y})),Z.getOrCreateClient(W,X)}case"SSE":{if(!$.connection_url)throw Error("SSE connection missing URL");let Q=await nc0($,Z,G),J=$.connection_headers;if(J&&"headers"in J)Object.assign(Q,J.headers);let W=new Bw(new URL($.connection_url),{requestInit:{headers:Q}});return W=Yb(W,(K)=>new Mx(K,{ctx:Z,connection:$,superUser:G}),(K)=>new kx(K,{ctx:Z,connectionId:X,virtualMcpId:Y})),Z.getOrCreateClient(W,X)}default:throw Error(`Unknown connection type: ${$.connection_type}`)}}var St8;var Oa1=O(()=>{z8();eJ();pu();kO();Za1();xy0();Xa1();Na1();St8=Z60()});function zQ($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function Wi($){if($&&typeof $==="object"&&"gatewayClientId"in $&&typeof $.gatewayClientId==="string")return $.gatewayClientId;return}function Ki($,Z){if(!Z)return $;let G=`${zQ(Z)}_`;return $.startsWith(G)?$.slice(G.length):$}function Vt8($){return $.split(/[-_]/).map((Z)=>Z?Z.charAt(0).toUpperCase()+Z.slice(1):Z).join(" ")}var M40;var Da1=O(()=>{j3();M40=class M40 extends Q9{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor($,Z){super(Z?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Z?.capabilities});this.clients=$;for(let G of Object.keys($)){let X=zQ(G);if(this.slugToKey.has(X))throw Error(`GatewayClient: duplicate slug "${X}" from keys "${this.slugToKey.get(X)}" and "${G}"`);this.slugToKey.set(X,G)}}namespace($,Z){return`${zQ($)}_${Z}`}async resolveToolTarget($){let Z=$.indexOf("_");if(Z!==-1){let X=$.slice(0,Z),Y=this.slugToKey.get(X);if(Y)return[Y,$.slice(Z+1)]}let{tools:G}=await this.listTools();for(let X of G){let Y=Wi(X._meta);if(!Y)continue;if(Ki(X.name,Y)===$)return[Y,$]}if(Z===-1)throw Error(`GatewayClient: could not resolve tool "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Z)}" in "${$}" and not found by original name in any client`)}async resolvePromptTarget($){let Z=$.indexOf("_");if(Z!==-1){let X=$.slice(0,Z),Y=this.slugToKey.get(X);if(Y)return[Y,$.slice(Z+1)]}let{prompts:G}=await this.listPrompts();for(let X of G){let Y=Wi(X._meta);if(!Y)continue;if(Ki(X.name,Y)===$)return[Y,$]}if(Z===-1)throw Error(`GatewayClient: could not resolve prompt "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Z)}" in "${$}" and not found by original name in any client`)}resolveClient($){let Z=this.resolvedClients.get($);if(Z)return Z;let G=this.clients[$];if(!G)return Promise.reject(Error(`GatewayClient: unknown client key "${$}"`));let X=G.client,Q=(typeof X==="function"?Promise.resolve(X()):Promise.resolve(X)).catch((J)=>{throw this.resolvedClients.delete($),J});return this.resolvedClients.set($,Q),Q}getResolvedClient($){return this.resolveClient($)}async fetchAllTools($){let Z=[],G;do{let X=await $.listTools(G?{cursor:G}:void 0);Z.push(...X.tools),G=X.nextCursor}while(G);return Z}async fetchAllResources($){let Z=[],G;do{let X=await $.listResources(G?{cursor:G}:void 0);Z.push(...X.resources),G=X.nextCursor}while(G);return Z}async fetchAllResourceTemplates($){let Z=[],G;do{let X=await $.listResourceTemplates(G?{cursor:G}:void 0);Z.push(...X.resourceTemplates),G=X.nextCursor}while(G);return Z}async fetchAllPrompts($){let Z=[],G;do{let X=await $.listPrompts(G?{cursor:G}:void 0);Z.push(...X.prompts),G=X.nextCursor}while(G);return Z}listTools($,Z){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let $=[];for(let[Z,G]of Object.entries(this.clients)){let X=await this.resolveClient(Z),Y=await this.fetchAllTools(X),Q=G.tools,J=Q?new Set(Q):null;for(let W of Y){if(J&&!J.has(W.name))continue;$.push({...W,name:this.namespace(Z,W.name),_meta:{...W._meta??{},gatewayClientId:Z}})}}return{tools:$}}listResources($,Z){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let $=new Set,Z=[],G=new Map;for(let[X,Y]of Object.entries(this.clients)){let Q=await this.resolveClient(X),J=await this.fetchAllResources(Q),W=Y.resources,K=W?new Set(W):null;for(let w of J){if(K&&!K.has(w.uri)&&!(w.name&&K.has(w.name)))continue;if($.has(w.uri)){console.warn(`GatewayClient: duplicate resource "${w.uri}" from client "${X}" \u2014 skipping`);continue}$.add(w.uri),G.set(w.uri,X),Z.push({...w,_meta:{...w._meta??{},gatewayClientId:X}})}}return this.resourceRouteMap=G,{resources:Z}}listResourceTemplates($,Z){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let $=new Set,Z=[];for(let[G,X]of Object.entries(this.clients)){let Y=await this.resolveClient(G),Q=await this.fetchAllResourceTemplates(Y);for(let J of Q){if($.has(J.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${J.uriTemplate}" from client "${G}" \u2014 skipping`);continue}$.add(J.uriTemplate),Z.push({...J,_meta:{...J._meta??{},gatewayClientId:G}})}}return{resourceTemplates:Z}}listPrompts($,Z){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let $=[];for(let[Z,G]of Object.entries(this.clients)){let X=await this.resolveClient(Z),Y=await this.fetchAllPrompts(X),Q=G.prompts,J=Q?new Set(Q):null;for(let W of Y){if(J&&!J.has(W.name))continue;$.push({...W,name:this.namespace(Z,W.name),title:W.title??Vt8(W.name),_meta:{...W._meta??{},gatewayClientId:Z}})}}return{prompts:$}}async callTool($,Z,G){let[X,Y]=await this.resolveToolTarget($.name);return(await this.resolveClient(X)).callTool({...$,name:Y},Z,G)}async readResource($,Z){let G=await this.resolveResourceRoute($.uri);return(await this.resolveClient(G)).readResource($)}async getPrompt($,Z){let[G,X]=await this.resolvePromptTarget($.name);return(await this.resolveClient(G)).getPrompt({...$,name:X})}async resolveResourceRoute($){let Z=this.resourceRouteMap.get($);if(Z)return Z;if(this.resourcesCache=null,await this.listResources(),Z=this.resourceRouteMap.get($),Z)return Z;throw Error(`GatewayClient: resource "${$}" 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 $=[...this.resolvedClients.values()].map((Z)=>Z.then((G)=>G.close()).catch(()=>{}));await Promise.allSettled($),await super.close()}}});var k40=O(()=>{Da1()});function oc0($){return zQ($)}function Ct8($,Z){let G=zQ(Z)||"prompt";return`${$}-${G}`}async function ac0($,Z,G){try{await $.delete(S40,oc0(Z),{actor:G})}catch(X){console.error("[agent-prompts] failed to delete prompts",{agentId:Z,err:X})}}async function V40($,Z,G,X){let Y=oc0(Z);await ac0($,Z,G),await Promise.all(X.slice(0,Ea1).map(async(Q,J)=>{let W=Ct8(J,Q.title),K={name:W,title:Q.title,description:Q.description,text:Q.text};try{await $.write(S40,`${Y}/${W}.json`,JSON.stringify(K),{actor:G,contentType:"application/json"})}catch(w){console.error("[agent-prompts] failed to seed prompt",{agentId:Z,name:W,err:w})}}))}async function La1($,Z){let G=oc0(Z),X;try{X=await $.listDir(S40,G)}catch{return[]}let Y=X.filter((J)=>J.kind==="file"&&J.path.endsWith(".json")).slice(0,Ea1),Q=[];for(let J of Y)try{let W=await $.read(S40,J.path),K=JSON.parse(new TextDecoder().decode(W));if(K&&typeof K.name==="string"&&typeof K.title==="string"&&typeof K.text==="string")Q.push(K)}catch{}return Q}var S40="agent-prompts",Ea1=20;var wi=O(()=>{k40()});var aD="home";var C40=()=>{};function sD($,Z){let G;if($==="home")G=`org/${aD}`;else if($==="outputs")G=`org/${za1}`;else if($==="uploads")G=`org/${ja1}`;else if(BO($))G=`org/public/${$.slice(7)}`;else G=`org/${$}`;return Z?`${G}/${Z}`:G}function bt8($){return{baseUrl:$.baseUrl.replace(/\/+$/,""),orgSlug:$.orgSlug,token:$.token,mounts:[{volume:"home",path:aD},..._t8.map((Z)=>({...Z})),...($.publicSets??[]).map((Z)=>({volume:OF(Z),path:`public/${Z}`,readonly:!0}))]}}async function _40($,Z){try{let G=await $.boundAuth.apiKey.create({name:`orgfs-${Z.orgSlug}`,permissions:{self:["*"]},expiresIn:ft8,metadata:{organization:{id:Z.orgId,slug:Z.orgSlug}}});return JSON.stringify(bt8({baseUrl:Z.baseUrl,orgSlug:Z.orgSlug,token:G.key,publicSets:tY().map((X)=>X.set)}))}catch(G){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",G);return}}var za1=".outputs",ja1=".uploads",_t8,ft8=604800;var Sx=O(()=>{C40();M_();_t8=[{volume:"outputs",path:za1},{volume:"uploads",path:ja1}]});function xt8($){let Z=[$.contentType??"file"];if($.size!=null)Z.push(`${$.size} bytes`);return Z.join(", ")}function vt8($){let Z=($??[]).filter((X)=>X.kind!=="skill");if(Z.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:",Z.map((X)=>`- ${X.name} (${xt8(X)}), read it at \`${sD(X.volume,X.path)}\``).join(`
|
|
1006
1006
|
`),"</knowledge>"].join(`
|
|
1007
1007
|
`)}function Pa1($,Z){let G=vt8(Z);if(!G)return $;return $?`${$}
|
|
1008
1008
|
|
|
@@ -1029,7 +1029,7 @@ conversation.
|
|
|
1029
1029
|
</skills-usage>`;var qa1=()=>{};function ht8($){let Z={};for(let G of $.split(`
|
|
1030
1030
|
`)){let X=G.match(/^([A-Za-z][\w-]*):\s*(.*)$/);if(X?.[1]&&X[2]!==void 0)Z[X[1].toLowerCase()]=X[2].trim()}return Z}function Ma1($){for(let Z of $.split(/\n\s*\n/)){let G=Z.trim();if(!G||G.startsWith("#"))continue;return G.replace(/\n/g," ")}return null}function ka1($){let Z=$.match(/^---\n([\s\S]*?)\n---\n?/);if(!Z||Z[1]===void 0)return{name:null,description:Ma1($),body:$};let G=ht8(Z[1]),X=$.slice(Z[0].length);return{name:G.name||null,description:G.description||Ma1(X),body:X}}function dt8($){let Z=$.lastIndexOf("/");return Z===-1?$:$.slice(Z+1)}async function ec0($,Z,G,X){try{let Y=(await $.listDir(Z,G)).filter((W)=>W.kind==="dir");if(Y.length===0)return[];let Q=await $.filesExist(Z,Y.map((W)=>`${W.path}/SKILL.md`)),J=[];for(let W of Y){if(X.remaining<=0)break;if(!Q.has(`${W.path}/SKILL.md`))continue;X.remaining-=1;try{let K=await $.read(Z,`${W.path}/SKILL.md`),w=ka1(new TextDecoder().decode(K));J.push({dirPath:W.path,name:w.name??dt8(W.path),description:w.description})}catch{}}return J}catch(Y){return console.warn(`[skill-catalog] scan failed (${Z}:${G||"/"})`,Y),[]}}async function lt8($,Z){if(f40&&f40.expires>Date.now())return f40.entries;let G=wc($),X=[];for(let{set:Y}of tY()){let Q=OF(Y),J=await ec0(G,Q,"",Z);for(let W of J)X.push({id:`${Y}/${W.dirPath}`,name:W.name,description:W.description,source:`public:${Y}`,sandboxPath:sD(Q,W.dirPath),volume:Q,path:W.dirPath})}if(X.length>0)f40={entries:X,expires:Date.now()+ut8};return X}function mt8($,Z){let G=oX(),X=G?W3(G,Z):new yJ(Z,$.baseUrl);return new hJ(X,$.storage.orgFsEntries,Z)}async function it8($,Z,G){let X=mt8($,Z),[Y,Q]=await Promise.all([ec0(X,b40,"",G),ec0(X,b40,"skills",G)]);return[...Y,...Q].map((J)=>({id:`home/${J.dirPath}`,name:J.name,description:J.description,source:"home",sandboxPath:sD(b40,J.dirPath),volume:b40,path:J.dirPath}))}async function x40($,Z){let G={remaining:ct8},[X,Y]=await Promise.all([lt8($,G),it8($,Z,G)]);return[...X,...Y].sort((Q,J)=>Q.source.localeCompare(J.source)||Q.id.localeCompare(J.id))}var ct8=200,ut8=300000,b40="home",f40=null;var $u0=O(()=>{Qc();HO();q_();Sx();M_()});async function Sa1($,Z){let G=$.organization?.id;if(!G)return null;try{let X=await x40($,G);if(X.length===0)return null;let Y=new Set((Z.metadata?.knowledge??[]).filter((J)=>J.kind==="skill").map((J)=>sD(J.volume,J.path))),Q=X.filter((J)=>Y.has(J.sandboxPath)).map((J)=>J.id);return Ra1(X.map((J)=>({id:J.id,description:J.description,source:J.source})),Q)}catch(X){return console.warn("[skill-catalog] failed to render skills block",X),null}}var Va1=O(()=>{qa1();$u0();Sx()});import{SpanStatusCode as Ca1}from"@opentelemetry/api";function nt8($,Z){if($.connection_type!=="VIRTUAL")return!1;if(!Z||pJ(Z))return!1;return $.id===Z}async function _a1($,Z,G=!1){let X=$.id,Y=await Z.storage.virtualMcps.findById(X);if(!Y)throw Error(`Virtual MCP not found: ${X}`);return _w(Y,Z,"passthrough",G)}async function _w($,Z,G,X=!1,Y){let Q=$.connections.map((U)=>U.connection_id),W=(await Z.tracer.startActiveSpan("studio.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":$.id??"decopilot","virtual_mcp.connection_count":Q.length}},async(U)=>{try{let F=await Promise.all(Q.map((H)=>Z.storage.connections.findById(H)));return U.setStatus({code:Ca1.OK}),F}catch(F){throw U.setStatus({code:Ca1.ERROR,message:F.message}),U.recordException(F),F}finally{U.end()}})).filter((U)=>U!==null&&U.status==="active"&&!nt8(U,$.id));if(Y?.additionalConnections?.length)W.unshift(...Y.additionalConnections);if($.organization_id){let U=new Set(W.map((H)=>H.id)),{items:F}=await Z.storage.connections.list($.organization_id,{slug:"mcp-github"});for(let H of F)if(H.status==="active"&&!U.has(H.id)&&so1(H))W.push(H)}let K=Y?.includeSkillsCatalog?await Sa1(Z,$)??void 0:void 0,w={connections:W,virtualMcp:$,superUser:X,mcpListCache:W9()??void 0,listTimeoutMs:Y?.listTimeoutMs,skillsBlock:K};return new sc0(w,Z)}var Vx=O(()=>{t8();XY();oD();Ta1();Va1()});var eo1={};Z6(eo1,{clientFromConnection:()=>aZ});async function aZ($,Z,G=!1){if($.connection_type==="VIRTUAL")return _a1($,Z,G);return Ba1($,Z,G)}var ql=O(()=>{Oa1();Vx()});async function Zu0($,Z,G){let X=new AbortController,Y,Q=new Promise((W,K)=>{Y=setTimeout(()=>{X.abort(),K(new ba1($.id,G))},G)}),J=(async()=>{let W=await aZ($,Z,!0);try{return(await W.listTools(void 0,{timeout:G,signal:X.signal})).tools}finally{await W.close().catch(()=>{})}})();J.catch(()=>{});try{return await Promise.race([J,Q])}finally{if(Y)clearTimeout(Y)}}var ba1;var fa1=O(()=>{ql();ba1=class ba1 extends Error{constructor($,Z){super(`listTools timed out after ${Z}ms for connection ${$}`);this.name="ListToolsTimeoutError"}}});function v40($){return(Z)=>{if(Z instanceof k1&&Z.code===f1.MethodNotFound)return $;throw Z}}var xa1=O(()=>{N5()});function y40($,Z,G){let X=qH($,Z,G,W9()??void 0),Y=Qw(X,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:pt8,toolCallTimeoutMs:Tb});Y.server.setRequestHandler(jF,async()=>{return await X.listResources().catch(v40({resources:[]}))}),Y.server.setRequestHandler(PF,async()=>{return await X.listResourceTemplates().catch(v40({resourceTemplates:[]}))}),Y.server.setRequestHandler(AF,async()=>{return await X.listPrompts().catch(v40({prompts:[]}))});let Q=Y.close.bind(Y);return Y.close=async()=>{await Q(),await X.close().catch(()=>{})},Y}var pt8;var va1=O(()=>{t8();N5();Rl();XY();xa1();pt8={tools:{},resources:{},prompts:{}}});var eD=O(()=>{ql();fa1();va1()});function Ui($,Z,G){if(Z.some((X)=>X!=="*"&&X.startsWith("SELF::"))&&$.SELF===void 0)$.SELF={value:`${G}_self`}}function Fi($,Z){let G=new Map;for(let X of Z){if(X==="*")continue;let[Y,Q]=_$0(X);if(!tt8.has(Q))continue;let J=Qd(Y,$);if(typeof J!=="object"||J===null||!("value"in J))continue;let W=J.value;if(typeof W!=="string")continue;G.set(`${W}:${Q}`,{targetConnectionId:W,scope:Q})}return[...G.values()]}async function Hi($,Z,G,X){for(let Q of Z){if(Q==="*")continue;let[J]=_$0(Q),W=Qd(J,$);if(W===void 0||W===null)throw Error(`Scope references key "${J}" but it's not present in state`)}let Y=tg1($,Z);for(let Q of Y){if(Q.endsWith("_self"))continue;let J=await X.storage.connections.findById(Q);if(!J||J.organization_id!==G)throw Error(`Referenced connection not found: ${Q}`);try{await X.access.check(Q)}catch(W){throw Error(`Access denied to referenced connection: ${Q}. ${W.message}`)}}}var tt8;var Gu0=O(()=>{Ux0();x$0();tt8=new Set([b$0,f$0])});import{z as ya1}from"zod";var rt8,ot8,Xu0;var ga1=O(()=>{v4();X1();z8();XY();eD();Gu0();ru();eJ();rt8=ya1.object({data:ec.describe("Data for the new connection (id is auto-generated if not provided)")}),ot8=ya1.object({item:nZ.describe("The created connection entity")}),Xu0=G0({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:rt8,outputSchema:ot8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to create connection");let Y={...$.data,organization_id:G.id,created_by:X};if(Y.id){if((await Z.storage.connections.findById(Y.id))?.organization_id===G.id)throw Error("Connection already exists in organization")}if(Y.connection_type==="VIRTUAL"){let F=SO(Y.connection_url);if(!F)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let H=await Z.storage.virtualMcps.findById(F);if(!H)throw Error(`Virtual MCP not found: ${F}`);if(H.organization_id!==G.id)throw Error("Virtual MCP does not belong to the current organization");Y.connection_url=VO(F)}if(Y.connection_type==="STDIO"&&!E1().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let Q=await nF({id:`pending-${Date.now()}`,title:Y.title,connection_type:Y.connection_type,connection_url:Y.connection_url,connection_token:Y.connection_token,connection_headers:Y.connection_headers}).catch(()=>null),J=Q?.tools?.length?Q.tools:null,W=Q?.scopes?.length?Q.scopes:Y.configuration_scopes??null,K=Y.configuration_state??null;if(K&&W?.length)Ui(K,W,G.id),await Hi(K,W,G.id,Z);let w=await Z.storage.connections.createNew({...Y,tools:null,configuration_state:K,configuration_scopes:W}),U=K&&W?.length?Fi(K,W):[];if(U.length>0){let F;try{await Z.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:G.id,subjectConnectionId:w.id,createdBy:X,grants:U});let{plaintextToken:H,record:N}=await Z.storage.connectionCredentialVault.createOrRotateWorkloadToken({organizationId:G.id,subjectConnectionId:w.id});F=N.id,await(await aZ(w,Z,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:K,scopes:W,firstRun:!0,vault:{baseUrl:Z.baseUrl,org:G.slug??G.id,subjectConnectionId:w.id,token:H}}})}catch(H){if(F)await Z.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:G.id,subjectConnectionId:w.id,tokenId:F});throw await Z.storage.connections.delete(w.id),H}}if(J)W9()?.set("tools",w.id,J).catch(()=>{});return r1.capture({distinctId:X,event:"connection_created",groups:{organization:G.id},properties:{connection_id:w.id,connection_type:w.connection_type,app_name:w.app_name??null,organization_id:G.id,tools_count:J?.length??0}}),{item:w}}})});import{z as jQ}from"zod/v4";import{z as ha1}from"zod/v4";import{z as g40}from"zod/v4";import{z as IW}from"zod/v4";import{z as $r8}from"zod/v4";import{z as $E}from"zod/v4";import{z as RW}from"zod/v4";import{z as IZ}from"zod/v4";import{z as ca1}from"zod/v4";import{z as u40}from"zod/v4";import{z as Tr8}from"zod/v4";import{z as ua1}from"zod/v4";import{z as h40}from"zod/v4";import{z as _r8}from"zod/v4";function Ni($,Z){if($===Z)return!0;if($==null||Z==null)return $===Z;if(typeof $!==typeof Z)return!1;if(Array.isArray($)&&Array.isArray(Z)){if($.length!==Z.length)return!1;return $.every((G,X)=>Ni(G,Z[X]))}if(typeof $==="object"&&typeof Z==="object"){let G=Object.keys($),X=Object.keys(Z);if(G.length!==X.length)return!1;return G.every((Y)=>X.includes(Y)&&Ni($[Y],Z[Y]))}return!1}function jr8(){return($)=>{if(!Array.isArray($))return!0;let Z=[];return $.every((G)=>{if(Z.some((Y)=>Ni(G,Y)))return!1;return Z.push(G),!0})}}function c40($,Z){return $.safeParse(Z).success}function X7($){if(typeof $==="boolean")return $?jQ.any():jQ.never();let Z={};for(let Y of vr8)Y.apply(Z,$);let G=[];if(Z.string!==!1)G.push(Z.string||jQ.string());if(Z.number!==!1)G.push(Z.number||jQ.number());if(Z.boolean!==!1)G.push(Z.boolean||jQ.boolean());if(Z.null!==!1)G.push(Z.null||jQ.null());if(Z.array!==!1)G.push(Z.array||jQ.array(jQ.any()));if(Z.tuple!==!1&&Z.tuple!==void 0)G.push(Z.tuple);if(Z.object!==!1)if(Z.object)G.push(Z.object);else{let Y=jQ.custom((Q)=>{return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)},"Must be an object, not an array");G.push(Y)}if(Z.file!==!1&&Z.file!==void 0)G.push(Z.file);let X;if(G.length===0)X=jQ.never();else if(G.length===1)X=G[0];else if(!Object.keys($).some((Q)=>Q!=="$schema"&&Q!=="title"&&Q!=="description"))X=jQ.any();else X=jQ.union(G);for(let Y of yr8)X=Y.apply(X,$);return X}var at8=class{apply($,Z){if(!Z.type)return;let G=Array.isArray(Z.type)?Z.type:[Z.type],X=new Set(G);if(!X.has("string"))$.string=!1;if(!X.has("number")&&!X.has("integer"))$.number=!1;if(!X.has("boolean"))$.boolean=!1;if(!X.has("null"))$.null=!1;if(!X.has("array"))$.array=!1;if(!X.has("object"))$.object=!1;if(X.has("integer")&&$.number!==!1){let Y=$.number||ha1.number();if(Y instanceof ha1.ZodNumber)$.number=Y.int()}}},st8=class{apply($,Z){if(Z.const===void 0)return;let G=Z.const;if($.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1,typeof G==="string")$.string=g40.literal(G);else if(typeof G==="number")$.number=g40.literal(G);else if(typeof G==="boolean")$.boolean=g40.literal(G);else if(G===null)$.null=g40.null();else if(Array.isArray(G))$.array=void 0;else if(typeof G==="object")$.object=void 0}},et8=class{apply($,Z){if(!Z.enum)return;if(Z.enum.length===0){if(!Z.type)$.string=!1,$.number=!1,$.boolean=!1,$.null=!1,$.array=!1,$.object=!1;return}let G={string:Z.enum.filter((X)=>typeof X==="string"),number:Z.enum.filter((X)=>typeof X==="number"),boolean:Z.enum.filter((X)=>typeof X==="boolean"),null:Z.enum.filter((X)=>X===null),array:Z.enum.filter((X)=>Array.isArray(X)),object:Z.enum.filter((X)=>typeof X==="object"&&X!==null&&!Array.isArray(X))};$.string=this.createTypeSchema(G.string,"string"),$.number=this.createTypeSchema(G.number,"number"),$.boolean=this.createTypeSchema(G.boolean,"boolean"),$.null=G.null.length>0?IW.null():!1,$.array=G.array.length>0?void 0:!1,$.object=G.object.length>0?void 0:!1}createTypeSchema($,Z){if($.length===0)return!1;if($.length===1)return IW.literal($[0]);if(Z==="string")return IW.enum($);if(Z==="number"){let[G,X,...Y]=$;return IW.union([IW.literal(G),IW.literal(X),...Y.map((Q)=>IW.literal(Q))])}if(Z==="boolean")return IW.union([IW.literal(!0),IW.literal(!1)]);return!1}},Zr8=class{apply($,Z){let G=Z;if(G.type==="string"&&G.format==="binary"&&G.contentEncoding==="binary"){let X=$r8.file();if(G.minLength!==void 0)X=X.min(G.minLength);if(G.maxLength!==void 0)X=X.max(G.maxLength);if(G.contentMediaType!==void 0)X=X.mime(G.contentMediaType);$.file=X,$.string=!1}}},Gr8=class{apply($,Z){let G=Z;if(Z.type===void 0&&(G.minLength!==void 0||G.maxLength!==void 0||G.pattern!==void 0)){if($.string===void 0)$.string=$E.string()}}},Xr8=class{apply($,Z){let G=Z;if(G.minLength===void 0)return;if($.string!==!1){let X=$.string||$E.string();if(X instanceof $E.ZodString)$.string=X.refine((Y)=>{return Array.from(Y).length>=G.minLength},{message:`String must be at least ${G.minLength} characters long`})}}},Yr8=class{apply($,Z){let G=Z;if(G.maxLength===void 0)return;if($.string!==!1){let X=$.string||$E.string();if(X instanceof $E.ZodString)$.string=X.refine((Y)=>{return Array.from(Y).length<=G.maxLength},{message:`String must be at most ${G.maxLength} characters long`})}}},Qr8=class{apply($,Z){let G=Z;if(!G.pattern)return;if($.string!==!1){let X=$.string||$E.string();if(X instanceof $E.ZodString){let Y=new RegExp(G.pattern);$.string=X.regex(Y)}}}},Jr8=class{apply($,Z){let G=Z;if(G.minimum===void 0)return;if($.number!==!1){let X=$.number||RW.number();if(X instanceof RW.ZodNumber)$.number=X.min(G.minimum)}}},Wr8=class{apply($,Z){let G=Z;if(G.maximum===void 0)return;if($.number!==!1){let X=$.number||RW.number();if(X instanceof RW.ZodNumber)$.number=X.max(G.maximum)}}},Kr8=class{apply($,Z){let G=Z;if(G.exclusiveMinimum===void 0)return;if($.number!==!1){let X=$.number||RW.number();if(X instanceof RW.ZodNumber)if(typeof G.exclusiveMinimum==="number")$.number=X.gt(G.exclusiveMinimum);else $.number=!1}}},wr8=class{apply($,Z){let G=Z;if(G.exclusiveMaximum===void 0)return;if($.number!==!1){let X=$.number||RW.number();if(X instanceof RW.ZodNumber)if(typeof G.exclusiveMaximum==="number")$.number=X.lt(G.exclusiveMaximum);else $.number=!1}}},Ur8=class{apply($,Z){let G=Z;if(G.multipleOf===void 0)return;if($.number!==!1){let X=$.number||RW.number();if(X instanceof RW.ZodNumber)$.number=X.refine((Y)=>{if(G.multipleOf===0)return!1;let Q=Y/G.multipleOf,J=Math.round(Q),W=Math.min(Math.abs(Y)*Number.EPSILON*10,Math.abs(G.multipleOf)*Number.EPSILON*10);return Math.abs(Q-J)<=W/Math.abs(G.multipleOf)},{message:`Must be a multiple of ${G.multipleOf}`})}}},Fr8=class{apply($,Z){let G=Z;if(Z.type===void 0&&(G.minItems!==void 0||G.maxItems!==void 0||G.items!==void 0||G.prefixItems!==void 0)){if($.array===void 0)$.array=IZ.array(IZ.any())}}},Hr8=class{apply($,Z){let G=Z;if(G.minItems===void 0)return;if($.array!==!1)$.array=($.array||IZ.array(IZ.any())).min(G.minItems)}},Nr8=class{apply($,Z){let G=Z;if(G.maxItems===void 0)return;if($.array!==!1)$.array=($.array||IZ.array(IZ.any())).max(G.maxItems)}},Br8=class{apply($,Z){let G=Z;if($.array===!1)return;if(Array.isArray(G.items))$.array=$.array||IZ.array(IZ.any());else if(G.items&&typeof G.items!=="boolean"&&!G.prefixItems){let X=X7(G.items),Y=IZ.array(X);if($.array&&$.array instanceof IZ.ZodArray){let Q=$.array._def;if(Q.checks)Q.checks.forEach((J)=>{if(J._zod&&J._zod.def){let W=J._zod.def;if(W.check==="min_length"&&W.minimum!==void 0)Y=Y.min(W.minimum);else if(W.check==="max_length"&&W.maximum!==void 0)Y=Y.max(W.maximum)}})}$.array=Y}else if(typeof G.items==="boolean"&&G.items===!1)if(!G.prefixItems)$.array=IZ.array(IZ.any()).max(0);else $.array=$.array||IZ.array(IZ.any());else if(typeof G.items==="boolean"&&G.items===!0)$.array=$.array||IZ.array(IZ.any());else if(G.prefixItems)$.array=$.array||IZ.array(IZ.any())}},Or8=class{apply($,Z){if(Z.type!=="array")return;let G=Z;if(!Array.isArray(G.items))return;if($.array===!1)return;let X=G.items.map((Q)=>X7(Q)),Y;if(X.length===0)Y=ca1.tuple([]);else Y=ca1.tuple(X);if(G.minItems!==void 0&&G.minItems>X.length)Y=!1;if(G.maxItems!==void 0&&G.maxItems<X.length)Y=!1;$.tuple=Y,$.array=!1}},Dr8=class{apply($,Z){let G=Z;if($.object===!1)return;if(G.properties||G.required||G.additionalProperties!==void 0)$.object=$.object||u40.object({}).passthrough()}},Er8=class{apply($,Z){let G=Z;if(Z.type===void 0&&(G.maxProperties!==void 0||G.minProperties!==void 0)){if($.object===void 0)$.object=u40.object({}).passthrough()}}},Lr8=class{apply($,Z){let G=Z;if(G.maxProperties===void 0)return;if($.object!==!1){let X=$.object||u40.object({}).passthrough();$.object=X.refine((Y)=>Object.keys(Y).length<=G.maxProperties,{message:`Object must have at most ${G.maxProperties} properties`})}}},zr8=class{apply($,Z){let G=Z;if(G.minProperties===void 0)return;if($.object!==!1){let X=$.object||u40.object({}).passthrough();$.object=X.refine((Y)=>Object.keys(Y).length>=G.minProperties,{message:`Object must have at least ${G.minProperties} properties`})}}},Pr8=class{apply($,Z){if(!Z.not)return $;let G=X7(Z.not);return $.refine((X)=>!c40(G,X),{message:"Value must not match the 'not' schema"})}},Ar8=class{apply($,Z){if(Z.uniqueItems!==!0)return $;return $.refine(jr8(),{message:"Array items must be unique"})}},Ir8=class{apply($,Z){if(!Z.allOf||Z.allOf.length===0)return $;return Z.allOf.map((X)=>X7(X)).reduce((X,Y)=>Tr8.intersection(X,Y),$)}},Rr8=class{apply($,Z){if(!Z.anyOf||Z.anyOf.length===0)return $;let G=Z.anyOf.length===1?X7(Z.anyOf[0]):ua1.union([X7(Z.anyOf[0]),X7(Z.anyOf[1]),...Z.anyOf.slice(2).map((X)=>X7(X))]);return ua1.intersection($,G)}},qr8=class{apply($,Z){if(!Z.oneOf||Z.oneOf.length===0)return $;let G=Z.oneOf.map((X)=>X7(X));return $.refine((X)=>{let Y=0;for(let Q of G)if(Q.safeParse(X).success){if(Y++,Y>1)return!1}return Y===1},{message:"Value must match exactly one of the oneOf schemas"})}},Mr8=class{apply($,Z){let G=Z;if(G.prefixItems&&Array.isArray(G.prefixItems)){let Y=G.prefixItems.map((Q)=>X7(Q));return $.refine((Q)=>{if(!Array.isArray(Q))return!0;for(let J=0;J<Math.min(Q.length,Y.length);J++)if(!c40(Y[J],Q[J]))return!1;if(Q.length>Y.length){if(typeof G.items==="boolean"&&G.items===!1)return!1;else if(G.items&&typeof G.items==="object"&&!Array.isArray(G.items)){let J=X7(G.items);for(let W=Y.length;W<Q.length;W++)if(!c40(J,Q[W]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return $}},kr8=class{apply($,Z){let G=Z;if(!G.properties&&!G.required&&G.additionalProperties!==!1)return $;if($ instanceof h40.ZodObject||$ instanceof h40.ZodRecord){let X={};if(G.properties){for(let[Y,Q]of Object.entries(G.properties))if(Q!==void 0)X[Y]=X7(Q)}if(G.required&&Array.isArray(G.required)){let Y=new Set(G.required);for(let Q of Object.keys(X))if(!Y.has(Q))X[Q]=X[Q].optional()}else for(let Y of Object.keys(X))X[Y]=X[Y].optional();if(G.additionalProperties===!1)return h40.object(X);else return h40.object(X).passthrough()}return $.refine((X)=>{if(typeof X!=="object"||X===null||Array.isArray(X))return!0;if(G.properties){for(let[Y,Q]of Object.entries(G.properties))if(Q!==void 0){if(Object.getOwnPropertyDescriptor(X,Y)!==void 0){if(!X7(Q).safeParse(X[Y]).success)return!1}}}if(G.required&&Array.isArray(G.required)){for(let Y of G.required)if(Object.getOwnPropertyDescriptor(X,Y)===void 0)return!1}if(G.additionalProperties===!1&&G.properties){let Y=new Set(Object.keys(G.properties));for(let Q in X)if(!Y.has(Q))return!1}return!0},{message:"Object constraints validation failed"})}},Sr8=class{apply($,Z){if(!Z.enum||Z.enum.length===0)return $;let G=Z.enum.filter((X)=>Array.isArray(X)||typeof X==="object"&&X!==null);if(G.length===0)return $;return $.refine((X)=>{if(typeof X!=="object"||X===null)return!0;return G.some((Y)=>Ni(X,Y))},{message:"Value must match one of the enum values"})}},Vr8=class{apply($,Z){if(Z.const===void 0)return $;let G=Z.const;if(typeof G!=="object"||G===null)return $;return $.refine((X)=>Ni(X,G),{message:"Value must equal the const value"})}},Cr8=class{apply($,Z){if(Z.description)$=$.describe(Z.description);return $}},br8=class{apply($,Z){var G;let X=Z;if(!((G=X.required)==null?void 0:G.includes("__proto__"))||Z.type!==void 0)return $;return _r8.any().refine((Y)=>this.validateRequired(Y,X.required),{message:"Missing required properties"})}validateRequired($,Z){if(typeof $!=="object"||$===null||Array.isArray($))return!0;return Z.every((G)=>Object.prototype.hasOwnProperty.call($,G))}},fr8=class{apply($,Z){var G;let X=Z;if(X.contains===void 0)return $;let Y=X7(X.contains),Q=(G=X.minContains)!=null?G:1,J=X.maxContains;return $.refine((W)=>{if(!Array.isArray(W))return!0;let K=0;for(let w of W)if(c40(Y,w))K++;if(K<Q)return!1;if(J!==void 0&&K>J)return!1;return!0},{message:"Array must contain required items matching the schema"})}},xr8=class{apply($,Z){let{default:G}=Z;if(G===void 0)return $;if(!$.safeParse(G).success)return $;return $.default(G)}},vr8,yr8;var da1=O(()=>{vr8=[new st8,new et8,new at8,new Zr8,new Gr8,new Fr8,new Er8,new Xr8,new Yr8,new Qr8,new Jr8,new Wr8,new Kr8,new wr8,new Ur8,new Or8,new Hr8,new Nr8,new Br8,new Lr8,new zr8,new Dr8],yr8=[new br8,new Sr8,new Vr8,new Ir8,new Rr8,new qr8,new Mr8,new kr8,new fr8,new Pr8,new Ar8,new xr8,new Cr8]});class Yu0{constructor($){this._url=$}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise(($,Z)=>{this._socket=new WebSocket(this._url,gr8),this._socket.onerror=(G)=>{let X="error"in G?G.error:Error(`WebSocket error: ${JSON.stringify(G)}`);Z(X),this.onerror?.(X)},this._socket.onopen=()=>{$()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(G)=>{let X;try{X=sX.parse(JSON.parse(G.data))}catch(Y){this.onerror?.(Y);return}this.onmessage?.(X)}})}async close(){this._socket?.close()}send($){return new Promise((Z,G)=>{if(!this._socket){G(Error("Not connected"));return}this._socket?.send(JSON.stringify($)),Z()})}}var gr8="mcp";var la1=O(()=>{N5()});function hr8($){let Z=$;if(!Z||typeof Z!=="object"||!("method"in Z))return null;switch(Z.method){case"initialize":{let G=Z?.params?.protocolVersion;if(!G)return null;return{type:"emit",message:{result:{protocolVersion:G,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Z.jsonrpc??"2.0",id:Z.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var d40;var Qu0=O(()=>{kO();d40=class d40 extends P3{constructor($,Z){super($,Z)}send($,Z){let G=hr8($);if(G?.type==="emit")return this.onmessage?.(G.message),Promise.resolve();if(G?.type==="suppress")return Promise.resolve();return super.send($,Z)}}});var ma1,ia1=async($,Z,G)=>{let X=cr8($.connection,Z,G);if(!X)throw Error("Unknown MCP connection type");let Y=new ma1({name:$?.name??"MCP Client",version:"1.0.0"});return await Y.connect(X),{client:Y}},cr8=($,Z,G)=>{if($.type==="Websocket")return new Yu0(new URL($.url));if($.type!=="SSE"&&$.type!=="HTTP")return null;let Y={...$.token?{authorization:`Bearer ${$.token}`}:{},...G??{},..."headers"in $?$.headers||{}:{}};if($.type==="SSE"){let Q={requestInit:{headers:Y,signal:Z}};if($.token)Q.eventSourceInit={fetch:(J,W)=>{return fetch(J,{...W,headers:{...Y,Accept:"text/event-stream"},signal:Z})}};return new Bw(new URL($.url),Q)}return new d40(new URL($.url),{requestInit:{headers:Y,signal:Z,credentials:"include"}})};var na1=O(()=>{j3();pu();la1();N5();BG();Qu0();ma1=class ma1 extends Q9{constructor($,Z){super($,{jsonSchemaValidator:O5,...Z})}async listTools($,Z){return await this.request({method:"tools/list",params:$},jc,Z)}}});function ra1($){let Z=(G)=>{if("connection"in $)return ia1({connection:$.connection},void 0,G);return $.client};return new Proxy({},{get(G,X){if(X==="toJSON")return null;if(typeof X!=="string")throw Error("Name must be a string");if(X==="listTools")return W;async function Y(K,w=X){let U=$?.debugId?.(),F=U?{"x-trace-debug-id":U}:void 0,{client:H}=await Z(F),{structuredContent:N,isError:B,content:D}=await H.callTool({name:String(w),arguments:K});if(B){let L=D?.[0]?.text,z=typeof L==="string"?pa1(L):null,j=z?.code&&typeof $?.getErrorByStatusCode==="function"?$.getErrorByStatusCode(z.code,z.message,z.traceId):null;if(j)throw j;throw Error(`Tool ${String(w)} returned an error: ${JSON.stringify(N??D)}`)}if(N!==void 0)return N;let E=D?.[0]?.text;return typeof E==="string"?pa1(E):void 0}async function Q(){let{client:K}=await Z(),{tools:w}=await K.listTools();return w}async function J(){if(!("connection"in $))return Q();let K=$.connection,w=JSON.stringify(K);try{if(!l40.has(w))l40.set(w,Q());return await l40.get(w)}catch(U){console.error("Failed to list tools",U),l40.delete(w);return}}async function W(){return(await J()??[]).map((w)=>ta1(w,Y))}return Y.asTool=async()=>{let w=(await J()??[]).find((U)=>U.name===X);if(!w)throw Error(`Tool ${X} not found`);return ta1(w,Y)},Y}})}var pa1=($)=>{try{return JSON.parse($)}catch{return $}},l40,ta1=($,Z)=>{return{...$,id:$.name,inputSchema:$.inputSchema?X7($.inputSchema):void 0,outputSchema:$.outputSchema?X7($.outputSchema):void 0,execute:(G)=>{return Z(G.context,$.name)}}};var oa1=O(()=>{da1();na1();l40=new Map});function ZE($){return ra1($)}var Cx;var Ju0=O(()=>{oa1();Cx=new Proxy({},{get($,Z){if(Z==="toJSON")return null;if(Z==="forConnection")return(G)=>ZE({connection:G});return global[Z]}})});function m40($){return{isImplementedBy:(Z)=>{for(let G of $){let X=typeof G.name==="string"?new RegExp(`^${G.name}$`):G.name,Y=Z.find((Q)=>X.test(Q.name));if(!Y&&G.opt)continue;if(!Y)return!1}return!0}}}var qW=($)=>{return{...m40($),forClient:(Z)=>{return ZE({client:Z})},forConnection:(Z)=>{return ZE({connection:Z})}}};var GE=O(()=>{Ju0()});import{z as D8}from"zod";function bw($){return D8.object({items:D8.array($).describe("Array of collection items"),totalCount:D8.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:D8.boolean().optional().describe("Whether there are more items available")})}function Oi($){return D8.object({item:$.nullable().describe("The retrieved item, or null if not found")})}function lr8($){return D8.object({data:$.partial().describe("Data for the new entity (id may be auto-generated)")})}function mr8($){return D8.object({item:$.describe("The created entity with generated id")})}function ir8($){return D8.object({id:D8.string().describe("ID of the entity to update"),data:$.partial().describe("Partial entity data to update")})}function nr8($){return D8.object({item:$.describe("The updated entity")})}function Ei($){return D8.object({item:$.describe("The deleted entity")})}function bx($,Z,G){let X=$.toUpperCase(),Y=G?.readOnly??!1,Q=[{name:`COLLECTION_${X}_LIST`,inputSchema:r3,outputSchema:bw(Z)},{name:`COLLECTION_${X}_GET`,inputSchema:Bi,outputSchema:Oi(Z)}];if(!Y)Q.push({name:`COLLECTION_${X}_CREATE`,inputSchema:lr8(Z),outputSchema:mr8(Z),opt:!0},{name:`COLLECTION_${X}_UPDATE`,inputSchema:ir8(Z),outputSchema:nr8(Z),opt:!0},{name:`COLLECTION_${X}_DELETE`,inputSchema:Di,outputSchema:Ei(Z),opt:!0});return Q}var _x,ur8,aa1,dr8,r3,Bi,Di;var DY=O(()=>{_x=D8.object({id:D8.string().describe("Unique identifier for the entity"),title:D8.string().describe("Human-readable title for the entity"),description:D8.string().nullish().describe("Description of the entity"),created_at:D8.string().datetime(),updated_at:D8.string().datetime(),created_by:D8.string().optional(),updated_by:D8.string().optional()}),ur8=D8.object({field:D8.array(D8.string()),operator:D8.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:D8.unknown()}),aa1=D8.lazy(()=>D8.union([ur8,D8.object({operator:D8.enum(["and","or","not"]),conditions:D8.array(aa1)})])),dr8=D8.object({field:D8.array(D8.string()),direction:D8.enum(["asc","desc"]),nulls:D8.enum(["first","last"]).optional()}),r3=D8.object({where:aa1.optional().describe("Filter expression"),orderBy:D8.array(dr8).optional().describe("Sort expressions"),limit:D8.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:D8.number().int().min(0).optional().describe("Number of items to skip")});Bi=D8.object({id:D8.string().describe("ID of the entity to retrieve")});Di=D8.object({id:D8.string().describe("ID of the entity to delete")})});import{z as C$}from"zod";var pr8,sa1,NG5;var ea1=O(()=>{DY();pr8=C$.object({id:C$.string(),name:C$.string(),description:C$.string().optional(),inputSchema:C$.record(C$.string(),C$.unknown()),outputSchema:C$.record(C$.string(),C$.unknown()).optional()}),sa1=_x.extend({_meta:C$.object({"io.decocms":C$.object({id:C$.string(),verified:C$.boolean(),scopeName:C$.string(),appName:C$.string(),friendlyName:C$.string().nullable().optional(),metadata:C$.record(C$.string(),C$.unknown()).nullable().optional(),publishedAt:C$.string().datetime().optional(),updatedAt:C$.string().datetime().optional(),tools:C$.array(pr8).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:C$.object({$schema:C$.string().optional(),_meta:C$.record(C$.string(),C$.unknown()).optional(),name:C$.string().describe("The server name (scope/app)"),title:C$.string().optional().describe("User-friendly title"),description:C$.string().optional().describe("Server description"),icons:C$.array(C$.object({src:C$.string(),mimeType:C$.string().optional(),sizes:C$.array(C$.string()).optional(),theme:C$.enum(["light","dark"]).optional()})).optional(),remotes:C$.array(C$.object({type:C$.enum(["http","stdio","sse"]),url:C$.string().optional(),headers:C$.array(C$.unknown()).optional()})).optional(),packages:C$.array(C$.unknown()).optional(),repository:C$.object({url:C$.string(),source:C$.string().optional(),subfolder:C$.string().optional()}).optional(),version:C$.string().optional(),websiteUrl:C$.string().optional()})}),NG5=bx("registry_app",sa1,{readOnly:!0})});import{z as C5}from"zod";var $s1,i40,Zs1,n40,Gs1,tr8;var Xs1=O(()=>{GE();$s1=C5.object({specversion:C5.literal("1.0").describe("CloudEvents specification version"),id:C5.string().describe("Unique identifier for this event (UUID recommended)"),source:C5.string().describe("Connection ID of the event publisher"),type:C5.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:C5.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:C5.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:C5.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:C5.string().url().optional().describe("URI to the schema for the data attribute"),data:C5.unknown().optional().describe("Event payload (any JSON value)")}),i40=C5.object({events:C5.array($s1).min(1).describe("Batch of CloudEvents to process")}),Zs1=C5.object({success:C5.boolean().optional().describe("Whether this event was processed successfully"),error:C5.string().optional().describe("Error message for this event"),retryAfter:C5.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),n40=C5.object({success:C5.boolean().optional().describe("Batch success - applies to events not in results"),error:C5.string().optional().describe("Batch error message - applies to events not in results"),processedCount:C5.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:C5.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:C5.record(C5.string(),Zs1).optional().describe("Per-event results keyed by event ID")}),Gs1=[{name:"ON_EVENTS",inputSchema:i40,outputSchema:n40}],tr8=qW(Gs1)});import{z as _5}from"zod";var Ys1,Qs1,Js1,Ws1,Ks1,ws1,p40,Wu0;var Ku0=O(()=>{GE();Ys1=_5.object({type:_5.literal("string"),enum:_5.array(_5.string()).optional(),description:_5.string().optional()}),Qs1=_5.object({type:_5.string(),description:_5.string(),paramsSchema:_5.record(_5.string(),Ys1)}),Js1=_5.object({}),Ws1=_5.object({triggers:_5.array(Qs1)}),Ks1=_5.object({type:_5.string(),params:_5.record(_5.string(),_5.string()),enabled:_5.boolean(),callbackUrl:_5.url().optional(),callbackToken:_5.string().min(1).optional()}),ws1=_5.object({success:_5.boolean()}),p40=[{name:"TRIGGER_LIST",inputSchema:Js1,outputSchema:Ws1},{name:"TRIGGER_CONFIGURE",inputSchema:Ks1,outputSchema:ws1}],Wu0=qW(p40)});import{z as L4}from"zod";var Us1,Fs1,Hs1,Li,t40,r40,o40,a40,rr8;var wu0=O(()=>{GE();Us1=L4.object({primary:L4.string().optional().describe("Primary brand color (hex)"),secondary:L4.string().optional().describe("Secondary brand color (hex)"),accent:L4.string().optional().describe("Accent / highlight color (hex)"),background:L4.string().optional().describe("Background color (hex)"),foreground:L4.string().optional().describe("Foreground / text color (hex)")}),Fs1=L4.object({heading:L4.string().optional().describe("Font family for headings"),body:L4.string().optional().describe("Font family for body text"),code:L4.string().optional().describe("Font family for code / monospace")}),Hs1=L4.object({logo:L4.string().optional().describe("Logo URL"),favicon:L4.string().optional().describe("Favicon URL"),ogImage:L4.string().optional().describe("Open Graph image URL")}),Li=L4.object({id:L4.string(),name:L4.string().describe("Brand / company name"),domain:L4.string().optional().describe("Company domain (e.g. example.com)"),colors:Us1.optional().describe("Semantic color palette"),fonts:Fs1.optional().describe("Font families by role"),assets:Hs1.optional().describe("Visual identity assets"),overview:L4.string().optional().describe("Company overview / description"),tagline:L4.string().optional().describe("Brand tagline"),tone:L4.string().optional().describe("Tone of voice description"),metadata:L4.record(L4.string(),L4.unknown()).optional().describe("Extra design tokens and metadata")}),t40=L4.object({id:L4.string().optional().describe("Brand ID. Omit to get the default brand.")}),r40=L4.object({}),o40=L4.object({items:L4.array(Li)}),a40=[{name:"BRAND_GET",inputSchema:t40,outputSchema:Li},{name:"BRAND_LIST",inputSchema:r40,outputSchema:o40,opt:!0}],rr8=qW(a40)});var Uu0=O(()=>{GE();ea1();Xs1();Ku0();Hc();wu0()});import{z as fx}from"zod";var or8,ar8,Ns1;var Bs1=O(()=>{DY();or8=_x.extend({avatar:fx.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:fx.string().describe("System prompt that defines the assistant's behavior"),virtual_mcp_id:fx.string().describe("Virtual MCP ID to use for this assistant"),model:fx.object({id:fx.string().describe("Model ID"),connectionId:fx.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),ar8=bx("assistant",or8),Ns1=[...ar8]});import{z as T0}from"zod";var zi,fw,Ds1,sr8,er8,Es1,$o8,Zo8,Go8,Xo8,Yo8,Qo8,Ls1,Jo8,Wo8,Ko8,wo8,Uo8,Fo8,Ho8,No8,Bo8,Oo8,hG5,Do8,cG5,Os1,Eo8,Lo8,s40,uG5;var zs1=O(()=>{GE();DY();zi=T0.lazy(()=>T0.union([T0.null(),T0.string(),T0.number(),T0.boolean(),T0.record(T0.string(),zi),T0.array(zi)])),fw=T0.record(T0.string(),T0.record(T0.string(),zi)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),Ds1=T0.object({type:T0.literal("text"),text:T0.string().describe("The text content"),providerOptions:fw}),sr8=T0.object({type:T0.literal("text"),text:T0.string().describe("The text content"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")}),er8=T0.string().describe("File data as URL string"),Es1=T0.object({type:T0.literal("file"),filename:T0.string().optional().describe("Optional filename of the file"),data:er8,mediaType:T0.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:fw}),$o8=T0.object({type:T0.literal("file"),mediaType:T0.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:T0.string().describe("Generated file data as base64 encoded string")}),Zo8=T0.object({type:T0.literal("reasoning"),text:T0.string().describe("The reasoning text"),providerOptions:fw}),Go8=T0.object({type:T0.literal("reasoning"),text:T0.string().describe("The reasoning text"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")}),Xo8=T0.object({type:T0.literal("tool-call"),toolCallId:T0.string().describe("ID of the tool call, used to match with tool result"),toolName:T0.string().describe("Name of the tool being called"),input:T0.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:T0.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:fw}),Yo8=T0.object({type:T0.literal("tool-call"),toolCallId:T0.string().describe("ID of the tool call"),toolName:T0.string().describe("Name of the tool being called"),input:T0.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:T0.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")}),Qo8=T0.union([T0.object({type:T0.literal("text"),value:T0.string()}),T0.object({type:T0.literal("json"),value:zi}),T0.object({type:T0.literal("error-text"),value:T0.string()}),T0.object({type:T0.literal("error-json"),value:zi}),T0.object({type:T0.literal("content"),value:T0.array(T0.union([T0.object({type:T0.literal("text"),text:T0.string().describe("Text content")}),T0.object({type:T0.literal("media"),data:T0.string().describe("Base-64 encoded media data"),mediaType:T0.string().describe("IANA media type")})]))}),T0.object({type:T0.literal("execution-denied"),reason:T0.string().optional()}),T0.string().describe("Raw or JSON-serialized output (e.g. from AI SDK mapToolResultOutput)")]),Ls1=T0.object({type:T0.literal("tool-result"),toolCallId:T0.string().describe("ID of the tool call that this result is associated with"),toolName:T0.string().describe("Name of the tool that generated this result"),output:Qo8.describe("Result of the tool call"),result:T0.unknown().describe("Unknown result of the tool call"),providerOptions:fw}),Jo8=T0.object({type:T0.literal("tool-result"),toolCallId:T0.string().describe("ID of the tool call that this result is associated with"),toolName:T0.string().describe("Name of the tool that generated this result"),result:T0.any().describe("Result of the tool call (JSON-serializable)"),isError:T0.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:T0.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")}),Wo8=T0.union([T0.object({type:T0.literal("source"),sourceType:T0.literal("url"),id:T0.string().describe("The ID of the source"),url:T0.string().describe("The URL of the source"),title:T0.string().optional().describe("The title of the source"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")}),T0.object({type:T0.literal("source"),sourceType:T0.literal("document"),id:T0.string().describe("The ID of the source"),mediaType:T0.string().describe("IANA media type of the document (e.g., application/pdf)"),title:T0.string().describe("The title of the document"),filename:T0.string().optional().describe("Optional filename of the document"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata")})]),Ko8=T0.object({role:T0.literal("system"),content:T0.string().describe("System message content"),providerOptions:fw}),wo8=T0.object({role:T0.literal("user"),content:T0.array(T0.union([Ds1,Es1])).describe("User message content parts (text or file)"),providerOptions:fw}),Uo8=T0.object({role:T0.literal("assistant"),content:T0.array(T0.union([Ds1,Es1,Zo8,Xo8,Ls1])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:fw}),Fo8=T0.object({role:T0.literal("tool"),content:T0.array(Ls1).describe("Tool message content (tool results)"),providerOptions:fw}),Ho8=T0.union([Ko8,wo8,Uo8,Fo8]),No8=T0.array(Ho8).describe("A list of messages forming the prompt"),Bo8=T0.object({prompt:No8.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:T0.number().optional().describe("Maximum number of tokens to generate"),temperature:T0.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:T0.number().optional().describe("Nucleus sampling parameter"),topK:T0.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:T0.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:T0.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:T0.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:T0.array(T0.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:T0.union([T0.object({type:T0.literal("text")}),T0.object({type:T0.literal("json"),schema:T0.any().optional().describe("JSON schema that the generated output should conform to"),name:T0.string().optional().describe("Name of output that should be generated"),description:T0.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:T0.array(T0.any()).optional().describe("The tools that are available for the model"),toolChoice:T0.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:T0.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:T0.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:T0.any().optional().describe("Additional provider-specific options")}),Oo8=T0.object({content:T0.array(T0.union([sr8,$o8,Go8,Yo8,Jo8,Wo8])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:T0.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:T0.looseObject({inputTokens:T0.number().optional(),outputTokens:T0.number().optional(),totalTokens:T0.number().optional(),reasoningTokens:T0.number().optional()}).describe("Usage information for the language model call"),providerMetadata:T0.any().optional().describe("Additional provider-specific metadata"),request:T0.object({body:T0.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:T0.object({id:T0.string().optional().describe("ID for the generated response"),timestamp:T0.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:T0.string().optional().describe("The ID of the response model that was used"),headers:T0.record(T0.string(),T0.string()).optional().describe("Response headers"),body:T0.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:T0.array(T0.any()).describe("Warnings for the call, e.g. unsupported settings")}),hG5=T0.object({stream:T0.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:T0.object({body:T0.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:T0.object({headers:T0.record(T0.string(),T0.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),Do8=T0.object({supportedUrls:T0.record(T0.string(),T0.array(T0.string())).describe("Supported URL patterns by media type for the provider")}),cG5=T0.object({modelId:T0.string().describe("The ID of the model"),logo:T0.string().nullable(),description:T0.string().nullable(),capabilities:T0.array(T0.string()),limits:T0.object({contextWindow:T0.number(),maxOutputTokens:T0.number()}).nullable(),costs:T0.object({input:T0.number(),output:T0.number()}).nullable(),provider:T0.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),Os1=T0.object({modelId:T0.string().describe("The ID of the model"),callOptions:Bo8}),Eo8=_x.extend({logo:T0.string().nullable(),description:T0.string().nullable(),capabilities:T0.array(T0.string()),limits:T0.object({contextWindow:T0.number(),maxOutputTokens:T0.number()}).nullable(),costs:T0.object({input:T0.number(),output:T0.number()}).nullable(),provider:T0.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),Lo8=bx("llm",Eo8,{readOnly:!0}),s40=[{name:"LLM_METADATA",inputSchema:T0.object({modelId:T0.string().describe("The ID of the model")}),outputSchema:Do8},{name:"LLM_DO_STREAM",inputSchema:Os1},{name:"LLM_DO_GENERATE",inputSchema:Os1,outputSchema:Oo8},...Lo8],uG5=qW(s40)});import{z as XE}from"zod";var zo8,js1;var Ps1=O(()=>{zo8=XE.object({scopes:XE.array(XE.string()).describe("List of scopes available"),stateSchema:XE.record(XE.string(),XE.unknown()).describe("JSON Schema (draft-07) defining the state structure")}),js1=[{name:"MCP_CONFIGURATION",inputSchema:XE.object({}),outputSchema:zo8}]});import{z as b5}from"zod";var jo8,Po8,As1;var Ts1=O(()=>{jo8=b5.object({}).strict(),Po8=b5.object({billing:b5.object({mode:b5.enum(["prepaid","postpaid"]),limitPeriod:b5.enum(["daily","weekly","monthly"]).nullable()}),limit:b5.object({total:b5.number().nullable(),remaining:b5.number().nullable(),reset:b5.string().nullable()}),usage:b5.object({total:b5.number(),daily:b5.number(),weekly:b5.number(),monthly:b5.number()}),alert:b5.object({enabled:b5.boolean(),threshold_usd:b5.number(),email:b5.string().nullable()}),connectionId:b5.string()}),As1=[{name:"GATEWAY_USAGE",inputSchema:jo8,outputSchema:Po8},{name:"GATEWAY_SET_LIMIT",inputSchema:b5.object({}),outputSchema:b5.object({}),opt:!0},{name:"GATEWAY_SET_ALERT",inputSchema:b5.object({}),outputSchema:b5.object({}),opt:!0}]});function Ao8($,Z){if(Z.length===0)return;let[G,...X]=Z,Y=G==="slug"?mF($):$[G];for(let Q of X){if(Y===null||typeof Y!=="object")return;Y=Y[Q]}return Y}function To8($){let G=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${G}$`,"i")}function Io8($,Z,G){if($===void 0)return!0;switch(Z){case"eq":return G===null?$===null:$===G;case"gt":return $>G;case"gte":return $>=G;case"lt":return $<G;case"lte":return $<=G;case"in":return Array.isArray(G)&&G.includes($);case"like":return typeof $==="string"&&To8(String(G)).test($);case"contains":return String($).toLowerCase().includes(String(G).toLowerCase());default:return!0}}function ji($,Z){if(!Z)return!0;if("conditions"in Z){let{operator:X,conditions:Y}=Z;if(Y.length===0)return!0;switch(X){case"and":return Y.every((Q)=>ji($,Q));case"or":return Y.some((Q)=>ji($,Q));case"not":return!Y.every((Q)=>ji($,Q));default:return!0}}let G=Ao8($,Z.field);return Io8(G,Z.operator,Z.value)}var Is1=O(()=>{B$0()});async function Rs1($,Z,G){if($.length===0)return;let X=0;async function Y(){while(X<$.length){let Q=X++;await G($[Q])}}await Promise.all(Array.from({length:Math.min(Z,$.length)},()=>Y()))}import{z as aH}from"zod";var Ro8=8,qo8,Mo8,ko8,So8,Fu0;var qs1=O(()=>{Uu0();Bs1();DY();zs1();Ps1();Hc();Ts1();t8();X1();nG();XY();eD();wb();eJ();B$0();Is1();qo8=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:aH.object({})}],Mo8={LLM:s40,LLMS:s40,ASSISTANTS:Ns1,MCP:js1,OBJECT_STORAGE:DO,AI_GATEWAY_BILLING:As1,TRIGGER:p40,REGISTRY:qo8,BRAND:a40},ko8=r3.extend({binding:aH.union([aH.array(aH.object({}).passthrough()),aH.object({}).passthrough(),aH.string()]).optional(),include_virtual:aH.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:aH.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),So8=bw(nZ),Fu0=G0({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:ko8,outputSchema:So8,handler:async($,Z)=>{await Z.access.check();let G=D0(Z),X=$.binding?typeof $.binding==="string"?(()=>{let F=Mo8[$.binding.toUpperCase()];if(!F)throw Error(`Unknown binding: ${$.binding}`);return F})():$.binding:void 0,Y=X?m40(X):void 0,Q=!!Y,J=$.limit??100,W=$.offset??0,{items:K,totalCount:w}=await Z.storage.connections.list(G.id,{includeVirtual:$.include_virtual??!1,slug:$.slug,where:$.where,orderBy:$.orderBy,limit:Q?void 0:J,offset:Q?void 0:W});if(Y){let F=W9(),H=e6.SELF(G.id);await Rs1(K,Ro8,async(N)=>{if(N.tools!==null)return;let B=N.id===H?async()=>{let{listManagementTools:E}=await Promise.resolve().then(() => (YE(),e40));return E(Z)}:()=>Zu0(N,Z,Sv1),D=await sF("tools",N.id,B,F,(E)=>Z.pendingRevalidations.push(E),aF);if(D!==null)N.tools=D})}if(T3()){let F=EZ(),H=e6.DEV_ASSETS(G.id);if(!K.some((N)=>N.id===H)){let N=Kb(G.id,F),B=!$.slug||mF(N)===$.slug,D=ji(N,$.where);if(B&&D)K.unshift(N)}}if(Q){let F=(await Promise.all(K.map(async(D)=>{if(!D.tools||D.tools.length===0)return null;return Y.isImplementedBy(D.tools.map((L)=>({name:L.name,inputSchema:L.inputSchema,outputSchema:L.outputSchema})))?D:null}))).filter((D)=>D!==null),H=F.length,N=F.slice(W,W+J),B=W+J<H;return{items:N,totalCount:H,hasMore:B}}let U=W+J<w;return{items:K,totalCount:w,hasMore:U}}})});var Vo8,Hu0;var Ms1=O(()=>{DY();t8();X1();nG();XY();eD();wb();eJ();Vo8=Oi(nZ),Hu0=G0({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:Bi,outputSchema:Vo8,handler:async($,Z)=>{let G=D0(Z);if(await Z.access.check(),T3()&&B10($.id,G.id))return{item:Kb(G.id,EZ())};let X=await Z.storage.connections.findById($.id);if(!X||X.organization_id!==G.id)return{item:null};if(X.tools===null){let Y=e6.SELF(G.id),Q=X.id===Y?async()=>{let{listManagementTools:W}=await Promise.resolve().then(() => (YE(),e40));return W(Z)}:async()=>{let W=await aZ(X,Z,!0);try{return(await W.listTools()).tools}finally{await W.close().catch(()=>{})}},J=await sF("tools",X.id,Q,W9(),(W)=>Z.pendingRevalidations.push(W),aF);if(J!==null)X.tools=J}return{item:X}}})});import{z as Nu0}from"zod";function bo8($,Z){return $.length===Z.length&&$.every((G,X)=>G===Z[X])}var Co8,_o8,Bu0;var ks1=O(()=>{eD();t3();X1();z8();XY();Il();Gu0();ru();eJ();Co8=Nu0.object({id:Nu0.string().describe("ID of the connection to update"),data:$u.describe("Partial connection data to update")}),_o8=Nu0.object({item:nZ.describe("The updated connection entity")});Bu0=G0({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:Co8,outputSchema:_o8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to update connection");let{id:Y,data:Q}=$,J=Q.configuration_state!==void 0||Q.configuration_scopes!==void 0,W=await Z.storage.connections.findById(Y);if(!W||W.organization_id!==G.id)throw Error("Connection not found in organization");let K=Q.connection_type??W.connection_type,w=Q.connection_url??W.connection_url;if(K==="VIRTUAL"){let f=SO(w);if(!f)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let v=await Z.storage.virtualMcps.findById(f);if(!v)throw Error(`Virtual MCP not found: ${f}`);if(v.organization_id!==G.id)throw Error("Virtual MCP does not belong to the current organization");w=VO(f)}let U=Q.configuration_state??W.configuration_state??{},F=Q.configuration_scopes??W.configuration_scopes??[];if(J){if(Q.configuration_state!==void 0)U=Q.configuration_state??{};else if(U===null||U===void 0)U={};if(Q.configuration_scopes!==void 0)F=Q.configuration_scopes??[];if(F.length>0){let f=U;Ui(f,F,G.id),await Hi(f,F,G.id,Z)}}if(K==="STDIO"&&!E1().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let H=Q.connection_token??W.connection_token;if(!H)try{let v=await new V5(Z.db,Z.vault).get(Y);if(v?.accessToken)H=v.accessToken}catch{}let N=await nF({id:W.id,title:Q.title??W.title,connection_type:K,connection_url:w,connection_token:H,connection_headers:Q.connection_headers??W.connection_headers}).catch(()=>null),B=N?.tools?.length?N.tools:null,D=!1;if(Q.configuration_scopes===void 0&&N?.scopes?.length)D=!bo8(F,N.scopes),F=N.scopes;if(Ui(U,F,G.id),D&&F.length>0)await Hi(U,F,G.id,Z);let E=J||D,L=E?Fi(U,F):[],z=E?Fi(W.configuration_state??{},W.configuration_scopes??[]):[],j=W.configuration_state,P=j==null||Object.keys(j).length===0,A,M,S=async()=>{try{await Z.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:G.id,subjectConnectionId:Y,createdBy:X,grants:z})}catch(f){console.error("Failed to restore credential grants after credential vault mutation failed",f)}},q={...Q,connection_url:w,tools:null,configuration_state:U,configuration_scopes:F,updated_by:X},V={...W,...q};if(E)try{if(await Z.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:G.id,subjectConnectionId:Y,createdBy:X,grants:L}),L.length>0){if(!await Z.storage.connectionCredentialVault.findActiveWorkloadToken({organizationId:G.id,subjectConnectionId:Y})){let{plaintextToken:v,record:Z0}=await Z.storage.connectionCredentialVault.createOrRotateWorkloadToken({organizationId:G.id,subjectConnectionId:Y});M=Z0.id,A={baseUrl:Z.baseUrl,org:G.slug??G.id,subjectConnectionId:Y,token:v}}}}catch(f){if(M)await Z.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:G.id,subjectConnectionId:Y,tokenId:M});throw await S(),f}if(E&&U&&F)try{await(await aZ(V,Z,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:U,scopes:F,firstRun:P,...A?{vault:A}:{}}})}catch(f){if(console.error("Failed to invoke ON_MCP_CONFIGURATION callback",f),M)throw await Z.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:G.id,subjectConnectionId:Y,tokenId:M}),await S(),f}let t;try{t=await Z.storage.connections.update(Y,q)}catch(f){if(E){if(M)await Z.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:G.id,subjectConnectionId:Y,tokenId:M});await S()}throw f}if(B)W9()?.set("tools",Y,B).catch(()=>{});return hf(Y),{item:t}}})});import{z as fo8}from"zod";var xo8,Ou0;var Ss1=O(()=>{DY();v4();X1();XY();Il();eJ();xo8=Di.extend({force:fo8.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Ou0=G0({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:xo8,outputSchema:Ei(nZ),handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.connections.findById($.id);if(!X)throw Error(`Connection not found: ${$.id}`);if(X.organization_id!==G.id)throw Error("Connection not found in organization");if(X.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let Q=await Z.storage.virtualMcps.listByConnectionId(G.id,$.id);if(Q.length>0)if($.force)await Z.storage.virtualMcps.removeConnectionReferences($.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:Q.map((K)=>K.title)}));await Z.storage.connections.delete($.id);let J=await Z.storage.organizationSettings.get(G.id);if(J?.registry_config){let{registries:K,blockedMcps:w}=J.registry_config;if($.id in K){let{[$.id]:U,...F}=K;await Z.storage.organizationSettings.upsert(G.id,{registry_config:{registries:F,blockedMcps:w}})}}W9()?.invalidate($.id).catch(()=>{}),hf($.id);let W=y1(Z);if(W)r1.capture({distinctId:W,event:"connection_deleted",groups:{organization:G.id},properties:{connection_id:X.id,connection_type:X.connection_type,app_name:X.app_name??null,organization_id:G.id,forced:$.force??!1}});return{item:X}}})});import{z as xx}from"zod";var Du0;var Vs1=O(()=>{X1();Du0=G0({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:xx.object({id:xx.string()}),outputSchema:xx.object({id:xx.string(),healthy:xx.boolean(),latencyMs:xx.number()}),handler:async($,Z)=>{let G=D0(Z);await Z.access.check();let X=await Z.storage.connections.findById($.id);if(!X||X.organization_id!==G.id)throw Error("Connection not found");let Y=await Z.storage.connections.testConnection($.id);return{id:$.id,...Y}}})});var Cs1=O(()=>{ga1();qs1();Ms1();ks1();Ss1();Vs1()});import{sql as x6}from"kysely";import{z as MW}from"zod";function _s1($){if($===null||$===void 0)return"NULL";if(typeof $==="number")return String($);if(typeof $==="boolean")return $?"TRUE":"FALSE";if(typeof $==="string")return`'${$.replace(/'/g,"''")}'`;if($ instanceof Date)return`'${$.toISOString()}'`;return`'${JSON.stringify($).replace(/'/g,"''")}'`}function go8($,Z){let G=$;for(let Y=Z.length;Y>=1;Y--){let Q=`$${Y}`;if(G.includes(Q))G=G.replaceAll(Q,_s1(Z[Y-1]))}let X=[];for(let Y=0;Y<G.length;Y++)if(G[Y]==="?")X.push(Y);for(let Y=Math.min(X.length,Z.length)-1;Y>=0;Y--){let Q=X[Y],J=_s1(Z[Y]);G=G.slice(0,Q)+J+G.slice(Q+1)}return G}function bs1($){return $.replace(/-/g,"_")}function co8($){return`app_${bs1($)}`}function uo8($){return`app_role_${bs1($)}`}function do8($){if($ instanceof Error){let Z=$.message.toLowerCase(),G=$.code;return G==="3F000"||G==="42704"||G==="22023"||Z.includes("schema")&&Z.includes("does not exist")||Z.includes("role")&&Z.includes("does not exist")}return!1}async function lo8($,Z,G){if(await x6`CREATE SCHEMA IF NOT EXISTS ${x6.id(Z)}`.execute($),!(await x6`
|
|
1031
1031
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${G}) as exists
|
|
1032
|
-
`.execute($)).rows[0]?.exists)await x6`CREATE ROLE ${x6.id(G)} NOLOGIN`.execute($);await x6`GRANT ${x6.id(G)} TO CURRENT_USER`.execute($),await x6`GRANT USAGE, CREATE ON SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`GRANT ALL ON ALL TABLES IN SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${x6.id(Z)} GRANT ALL ON TABLES TO ${x6.id(G)}`.execute($),await x6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${x6.id(Z)} GRANT ALL ON SEQUENCES TO ${x6.id(G)}`.execute($),await x6`REVOKE ALL ON SCHEMA public FROM ${x6.id(G)}`.execute($)}async function mo8($,Z,G,X){try{return await $.transaction().execute(async(Y)=>{return await x6`SET LOCAL ROLE ${x6.id(G)}`.execute(Y),await x6`SET LOCAL search_path TO ${x6.id(Z)}`.execute(Y),await x6.raw(X).execute(Y)})}catch(Y){if(do8(Y))return await lo8($,Z,G),await $.transaction().execute(async(Q)=>{return await x6`SET LOCAL ROLE ${x6.id(G)}`.execute(Q),await x6`SET LOCAL search_path TO ${x6.id(Z)}`.execute(Q),await x6.raw(X).execute(Q)});throw Y}}var yo8,ho8,fs1;var xs1=O(()=>{X1();yo8=MW.object({results:MW.array(MW.unknown()).optional(),success:MW.boolean().optional()});ho8=MW.object({sql:MW.string().describe("The SQL query to run"),params:MW.array(MW.any()).describe("The parameters to pass to the SQL query").optional()});fs1=G0({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:ho8,outputSchema:MW.object({result:MW.array(yo8)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=go8($.sql,$.params||[]);if(!Z.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":Z.connectionId,"organization.id":Z.organization?.id??null,"user.id":Z.auth.user?.id??null});let X=co8(Z.connectionId),Y=uo8(Z.connectionId);return{result:[{results:(await mo8(Z.db,X,Y,G)).rows,success:!0}]}}})});function $50($){let Z=$.access.getRole();if(!Z||!KQ.includes(Z))throw new zw("Only organization owners and admins can change org-wide pin status")}var Eu0=O(()=>{KW();jD()});import{z as gs1}from"zod";function no8(){let $=vs1[Math.floor(Math.random()*vs1.length)];return`icon://${ys1[Math.floor(Math.random()*ys1.length)]}?color=${$}`}var vs1,ys1,po8,to8,Lu0;var hs1=O(()=>{X1();rF();Eu0();wi();vs1=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],ys1=["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"];po8=gs1.object({data:Yu.describe("Data for the new virtual MCP")}),to8=gs1.object({item:pZ.describe("The created virtual MCP entity")}),Lu0=G0({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:po8,outputSchema:to8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to create virtual MCP");if($.data.pinned===!0)$50(Z);let{prompts:Y,...Q}=$.data,J={...Q,icon:Q.icon??no8()},W=await Z.storage.virtualMcps.create(G.id,X,J);if(Y?.length&&Z.orgFs&&W.id)await V40(Z.orgFs,W.id,X,Y);return{item:W}}})});function ro8($){let Z=[],G=0;while(G<$.length){let X=$[G];if(X==="%")Z.push(".*");else if(X==="_")Z.push(".");else if(/[.*+?^${}()|[\]\\]/.test(X))Z.push("\\"+X);else Z.push(X);G++}return Z.join("")}function sH($){return typeof $==="string"||typeof $==="number"}function zu0($,Z){let G=Z.split("."),X=$;for(let Y of G){if(X==null||typeof X!=="object")return;X=X[Y]}return X}function oo8($,Z){return $.connections.some((G)=>G.connection_id===Z)}function Z50($,Z){if("conditions"in Z){let{operator:W,conditions:K}=Z;switch(W){case"and":return K.every((w)=>Z50($,w));case"or":return K.some((w)=>Z50($,w));case"not":return!K.every((w)=>Z50($,w));default:return!0}}let{field:G,operator:X,value:Y}=Z,Q=G.join(".");if(Q==="connection_id"){if(X!=="eq"||typeof Y!=="string")return!1;return oo8($,Y)}let J=zu0($,Q);switch(X){case"eq":return J===Y;case"gt":return sH(J)&&sH(Y)&&J>Y;case"gte":return sH(J)&&sH(Y)&&J>=Y;case"lt":return sH(J)&&sH(Y)&&J<Y;case"lte":return sH(J)&&sH(Y)&&J<=Y;case"in":return Array.isArray(Y)&&Y.includes(J);case"like":if(typeof J!=="string"||typeof Y!=="string")return!1;if(Y.length>100)return!1;let W=ro8(Y);return new RegExp(`^${W}$`,"i").test(J);case"contains":if(typeof J!=="string"||typeof Y!=="string")return!1;return J.toLowerCase().includes(Y.toLowerCase());default:return!0}}function ao8($,Z){return[...$].sort((G,X)=>{for(let Y of Z){let Q=Y.field.join("."),J=zu0(G,Q),W=zu0(X,Q),K=0;if(J==null&&W==null)continue;if(J==null)K=Y.nulls==="first"?-1:1;else if(W==null)K=Y.nulls==="first"?1:-1;else if(typeof J==="string"&&typeof W==="string")K=J.localeCompare(W);else if(typeof J==="number"&&typeof W==="number")K=J-W;else K=String(J).localeCompare(String(W));if(K!==0)return Y.direction==="desc"?-K:K}return 0})}var so8,eo8,ju0;var cs1=O(()=>{DY();X1();rF();so8=r3,eo8=bw(pZ),ju0=G0({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:so8,outputSchema:eo8,handler:async($,Z)=>{await Z.access.check();let G=D0(Z),X=$.where&&!("conditions"in $.where)&&$.where.field.join(".")==="connection_id"&&$.where.operator==="eq"&&typeof $.where.value==="string"?$.where.value:void 0,Y=$.where&&!("conditions"in $.where)&&$.where.field.join(".")==="pinned"&&$.where.operator==="eq"&&typeof $.where.value==="boolean"?$.where.value:void 0,J=X?await Z.storage.virtualMcps.listByConnectionId(G.id,X):await Z.storage.virtualMcps.list(G.id,Y!==void 0?{pinnedOnly:Y}:void 0);if($.where)J=J.filter((H)=>Z50(H,$.where));if($.orderBy&&$.orderBy.length>0)J=ao8(J,$.orderBy);let W=J.length,K=$.offset??0,w=$.limit??100,U=J.slice(K,K+w),F=K+w<W;return{items:U,totalCount:W,hasMore:F}}})});import{z as Pu0}from"zod";var $a8,Za8,Au0;var us1=O(()=>{X1();rF();$a8=Pu0.object({id:Pu0.string().describe("ID of the virtual MCP to retrieve")}),Za8=Pu0.object({item:pZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),Au0=G0({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:$a8,outputSchema:Za8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.virtualMcps.findById($.id);if(X&&X.organization_id!==G.id)return{item:null};if(!X)return{item:null};return{item:X}}})});import{z as Tu0}from"zod";var Ga8,Xa8,Iu0;var ds1=O(()=>{X1();wi();rF();Eu0();Ga8=Tu0.object({id:Tu0.string().describe("ID of the virtual MCP to update"),data:Qu.describe("Partial virtual MCP data to update")}),Xa8=Tu0.object({item:pZ.describe("The updated virtual MCP entity")}),Iu0=G0({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:Ga8,outputSchema:Xa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to update virtual MCP");let Y=await Z.storage.virtualMcps.findById($.id);if(!Y)throw Error(`Virtual MCP not found: ${$.id}`);if(Y.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.id}`);let{prompts:Q,...J}=$.data;if(J.metadata&&Y.metadata)J.metadata={...Y.metadata,...J.metadata};if(J.pinned!==void 0&&J.pinned!==Y.pinned)$50(Z);let W=await Z.storage.virtualMcps.update($.id,X,J);if(Q!==void 0&&Z.orgFs)await V40(Z.orgFs,$.id,X,Q);return{item:W}}})});import{z as Ru0}from"zod";var Ya8,Qa8,qu0;var ls1=O(()=>{oD();t3();X1();wi();rF();Ya8=Ru0.object({id:Ru0.string().describe("ID of the virtual MCP to delete")}),Qa8=Ru0.object({item:pZ.describe("The deleted virtual MCP entity")}),qu0=G0({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:Ya8,outputSchema:Qa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.virtualMcps.findById($.id);if(!X)throw Error(`Virtual MCP not found: ${$.id}`);if(X.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.id}`);if(await Z.storage.virtualMcps.delete($.id),Z.orgFs)await ac0(Z.orgFs,$.id,y1(Z)??"system");let Y=X.metadata?.githubRepo?.connectionId;if(Y)try{let Q=await Z.storage.connections.findById(Y,G.id);if(Q&&TW(Q)){let W=await new V5(Z.db,Z.vault).get(Y);if(W?.accessToken)try{await fetch("https://api.github.com/installation/token",{method:"DELETE",headers:{Authorization:`Bearer ${W.accessToken}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"},signal:AbortSignal.timeout(5000)})}catch{}await Z.storage.connections.delete(Y)}}catch(Q){console.error("[VIRTUAL_MCP_DELETE] failed to tear down repo-scoped connection",{childConnectionId:Y,error:Q.message})}return{item:X}}})});import{z as BX}from"zod";var Ja8,Mu0;var ms1=O(()=>{X1();Ja8=BX.object({id:BX.string(),virtualMcpId:BX.string(),pluginId:BX.string(),connectionId:BX.string().nullable(),settings:BX.record(BX.string(),BX.unknown()).nullable(),createdAt:BX.string(),updatedAt:BX.string()}),Mu0=G0({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:BX.object({virtualMcpId:BX.string().describe("Virtual MCP ID"),pluginId:BX.string().describe("Plugin ID")}),outputSchema:BX.object({config:Ja8.nullable()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let{virtualMcpId:G,pluginId:X}=$,Y=await Z.storage.virtualMcpPluginConfigs.get(G,X);if(!Y)return{config:null};return{config:{id:Y.id,virtualMcpId:Y.virtualMcpId,pluginId:Y.pluginId,connectionId:Y.connectionId,settings:Y.settings,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updatedAt:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt}}}})});import{z as RZ}from"zod";var Wa8,ku0;var is1=O(()=>{X1();wb();nG();Wa8=RZ.object({id:RZ.string(),virtualMcpId:RZ.string(),pluginId:RZ.string(),connectionId:RZ.string().nullable(),settings:RZ.record(RZ.string(),RZ.unknown()).nullable(),createdAt:RZ.string(),updatedAt:RZ.string()}),ku0=G0({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:RZ.object({virtualMcpId:RZ.string().describe("Virtual MCP ID"),pluginId:RZ.string().describe("Plugin ID"),connectionId:RZ.string().nullable().optional().describe("MCP connection to bind"),settings:RZ.record(RZ.string(),RZ.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:RZ.object({config:Wa8}),handler:async($,Z)=>{M0(Z),await Z.access.check();let{virtualMcpId:G,pluginId:X,connectionId:Y,settings:Q}=$,J=y1(Z),W=await Z.storage.connections.findById(G);if(!W)throw Error(`Connection not found: ${G}`);let K=Y?await Z.storage.connections.findById(Y):null;if(Y&&W.organization_id&&!K&&T3()){if(B10(Y,W.organization_id)){if(!J)throw Error("User ID required to create dev-assets connection");let U=Kb(W.organization_id,EZ());await Z.storage.connections.create({...U,organization_id:W.organization_id,created_by:J})}}let w=await Z.storage.virtualMcpPluginConfigs.upsert(G,X,{connectionId:Y,settings:Q});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 RG}from"zod";var Ka8,Su0;var ns1=O(()=>{X1();rF();Ka8=RG.object({connectionId:RG.string(),toolName:RG.string(),label:RG.string(),icon:RG.string().nullable().optional()}),Su0=G0({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:RG.object({virtualMcpId:RG.string().describe("Virtual MCP ID"),pinnedViews:RG.array(Ka8).describe("Pinned views to set for the virtual MCP sidebar"),layout:RG.object({defaultMainView:RG.object({type:RG.string(),id:RG.string().optional(),toolName:RG.string().optional()}).nullable().optional(),chatDefaultOpen:RG.boolean().nullable().optional()}).optional()}),outputSchema:RG.object({item:pZ.nullable()}),handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let{virtualMcpId:X,pinnedViews:Y,layout:Q}=$,J=y1(Z),W=await Z.storage.virtualMcps.findById(X);if(!W)throw Error(`Virtual MCP not found: ${X}`);if(W.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X}`);let K=W.metadata?.ui??{},w={...K,pinnedViews:Y.length>0?Y:null,layout:Q??K.layout??null};return{item:await Z.storage.virtualMcps.update(X,J??"system",{metadata:{...W.metadata,ui:w}})}}})});import{z as xw}from"zod";var wa8,Ua8,Vu0;var ps1=O(()=>{X1();wa8=xw.object({ids:xw.array(xw.string()).describe("Virtual MCP ids to look up")}),Ua8=xw.object({items:xw.array(xw.object({id:xw.string(),last_used_at:xw.string().optional(),last_used_by:xw.string().optional()}))}),Vu0=G0({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:wa8,outputSchema:Ua8,handler:async($,Z)=>{M0(Z),D0(Z),await Z.access.check();let G=await Z.storage.threads.findLastUsedByVirtualMcpIds($.ids);return{items:$.ids.map((X)=>({id:X,last_used_at:G.get(X)?.last_used_at,last_used_by:G.get(X)?.last_used_by}))}}})});var ts1=O(()=>{hs1();cs1();us1();ds1();ls1();ms1();is1();ns1();ps1()});import{z as W5}from"zod";var Cu0;var rs1=O(()=>{I5();X1();Cu0=G0({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:W5.object({id:W5.string().describe("Log ID to fetch")}),outputSchema:W5.object({log:W5.object({id:W5.string().optional(),organizationId:W5.string(),connectionId:W5.string(),toolName:W5.string(),input:W5.record(W5.string(),W5.unknown()),output:W5.record(W5.string(),W5.unknown()),isError:W5.boolean(),errorMessage:W5.string().nullish(),durationMs:W5.number(),timestamp:W5.string(),userId:W5.string().nullish(),requestId:W5.string(),userAgent:W5.string().nullish(),virtualMcpId:W5.string().nullish(),properties:W5.record(W5.string(),W5.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async($,Z)=>{await Z.access.check(),await yY();let G=D0(Z),X=await Z.storage.monitoring.getById(G.id,$.id);if(!X)return{log:null};return{log:{...X,timestamp:X.timestamp instanceof Date?X.timestamp.toISOString():X.timestamp}}}})});import{z as H8}from"zod";var Ha8,_u0;var os1=O(()=>{I5();X1();Ha8=H8.object({id:H8.string().optional().describe("Unique log identifier"),organizationId:H8.string().describe("Organization ID"),connectionId:H8.string().describe("Connection ID"),toolName:H8.string().describe("Name of the tool that was called"),isError:H8.boolean().describe("Whether the call resulted in an error"),errorMessage:H8.string().nullish().describe("Error message if applicable"),durationMs:H8.number().describe("Call duration in milliseconds"),timestamp:H8.string().describe("ISO 8601 timestamp of the call"),userId:H8.string().nullish().describe("User who triggered the call"),requestId:H8.string().describe("Unique request identifier"),userAgent:H8.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:H8.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:H8.record(H8.string(),H8.string()).nullish().describe("Custom key-value metadata attached to the log")}),_u0=G0({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:H8.object({connectionId:H8.string().optional().describe("Filter by connection ID"),excludeConnectionIds:H8.array(H8.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:H8.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:H8.string().optional().describe("Filter by tool name"),isError:H8.boolean().optional().describe("Filter by error status"),startDate:H8.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:H8.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:H8.number().default(20).describe("Maximum number of results"),offset:H8.number().default(0).describe("Offset for pagination"),properties:H8.record(H8.string(),H8.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:H8.array(H8.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:H8.record(H8.string(),H8.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:H8.record(H8.string(),H8.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:H8.object({logs:H8.array(Ha8).describe("Array of monitoring logs"),total:H8.number().describe("Total number of logs matching filters"),offset:H8.number().describe("Current offset for pagination"),limit:H8.number().describe("Current limit for pagination")}),handler:async($,Z)=>{await yY();let G=D0(Z),Y=$.properties||$.propertyKeys||$.propertyPatterns||$.propertyInValues?{properties:$.properties,propertyKeys:$.propertyKeys,propertyPatterns:$.propertyPatterns,propertyInValues:$.propertyInValues}:void 0,Q={organizationId:G.id,connectionId:$.connectionId,excludeConnectionIds:$.excludeConnectionIds,virtualMcpId:$.virtualMcpId,toolName:$.toolName,isError:$.isError,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,limit:$.limit,offset:$.offset,propertyFilters:Y},J=await Z.storage.monitoring.query(Q);return{logs:J.logs.map(({input:W,output:K,...w})=>({...w,timestamp:w.timestamp instanceof Date?w.timestamp.toISOString():w.timestamp})),total:J.total,offset:$.offset,limit:$.limit}}})});import{z as K$}from"zod";var bu0;var as1=O(()=>{I5();X1();bu0=G0({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:K$.object({startDate:K$.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:K$.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:K$.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:K$.array(K$.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:K$.array(K$.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:K$.array(K$.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:K$.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:K$.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries"),userIds:K$.array(K$.string()).max(100).optional().describe("Filter LLM usage by user IDs (only applied when llmUsage is true)"),llmUsage:K$.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:K$.object({totalCalls:K$.number().describe("Total number of tool calls"),errorRate:K$.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:K$.number().describe("Average call duration in milliseconds"),errorRatePercent:K$.string().optional().describe("Error rate as a percentage string"),totalErrors:K$.number().optional().describe("Total number of errors"),p50DurationMs:K$.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:K$.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:K$.array(K$.object({connectionId:K$.string(),calls:K$.number(),errors:K$.number(),errorRate:K$.number(),avgDurationMs:K$.number()})).optional().describe("Per-connection metric breakdown"),totalInputTokens:K$.number().optional().describe("Total input tokens (LLM usage mode)"),totalOutputTokens:K$.number().optional().describe("Total output tokens (LLM usage mode)"),totalTokens:K$.number().optional().describe("Total tokens (LLM usage mode)"),totalCostUsd:K$.number().optional().describe("Total USD cost (LLM usage mode; only non-zero for providers that report cost)"),topTools:K$.array(K$.object({toolName:K$.string(),connectionId:K$.string().nullable(),calls:K$.number(),inputTokens:K$.number().optional(),outputTokens:K$.number().optional(),costUsd:K$.number().optional()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:K$.array(K$.object({timestamp:K$.string(),toolName:K$.string(),calls:K$.number(),errors:K$.number(),avg:K$.number(),p95:K$.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:K$.array(K$.object({timestamp:K$.string(),calls:K$.number(),errors:K$.number(),errorRate:K$.number(),avg:K$.number(),p50:K$.number(),p95:K$.number(),inputTokens:K$.number().optional(),outputTokens:K$.number().optional(),totalTokens:K$.number().optional(),costUsd:K$.number().optional()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async($,Z)=>{let G=D0(Z);if(await Z.access.check(),await yY(),$.interval&&$.llmUsage)return Z.storage.monitoring.queryLlmUsageStats({organizationId:G.id,interval:$.interval,connectionId:$.connectionIds?.[0]??"decopilot",startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,userIds:$.userIds,topN:$.topN});if($.interval){let Y=await Z.storage.monitoring.queryMetricTimeseries({organizationId:G.id,interval:$.interval,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,filters:{connectionIds:$.connectionIds,excludeConnectionIds:$.excludeConnectionIds,toolNames:$.toolNames,status:$.status}});if(!$.topN)return Y;let Q=await Z.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:G.id,interval:$.interval,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,topN:$.topN,filters:{connectionIds:$.connectionIds,excludeConnectionIds:$.excludeConnectionIds,toolNames:$.toolNames,status:$.status}});return{...Y,topTools:Q.topTools,topToolsTimeseries:Q.timeseries}}let X=await Z.storage.monitoring.getStats({organizationId:G.id,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0});return{...X,errorRatePercent:(X.errorRate*100).toFixed(2)}}})});import{z as qG}from"zod";var fu0;var ss1=O(()=>{I5();X1();fu0=G0({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:qG.object({threadIds:qG.array(qG.string()).min(1).max(500).describe("Thread IDs to aggregate usage for (max 500)"),connectionId:qG.string().optional().describe("LLM connection ID (defaults to 'decopilot')"),startDate:qG.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:qG.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:qG.object({items:qG.array(qG.object({threadId:qG.string(),calls:qG.number(),inputTokens:qG.number(),outputTokens:qG.number(),totalTokens:qG.number(),costUsd:qG.number()}))}),handler:async($,Z)=>{let G=D0(Z);return await Z.access.check(),await yY(),{items:await Z.storage.monitoring.queryThreadUsage({organizationId:G.id,connectionId:$.connectionId??"decopilot",threadIds:$.threadIds,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0})}}})});var es1=O(()=>{rs1();os1();as1();ss1()});import{z as EY}from"zod";var xu0;var $e1=O(()=>{X1();xu0=G0({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:EY.object({slug:EY.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:EY.string().min(1).max(255),description:EY.string().optional()}),outputSchema:EY.object({id:EY.string(),name:EY.string(),slug:EY.string(),logo:EY.string().nullable().optional(),metadata:EY.any().optional(),createdAt:EY.string().datetime().describe("ISO 8601 timestamp"),members:EY.array(EY.any()).optional()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=y1(Z);if(!G)throw Error("User ID required to create organization");let X=await Z.boundAuth.organization.create({name:$.name,slug:$.slug,metadata:$.description?{description:$.description}:void 0,userId:G});if(!X)throw Error("Failed to create organization");return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as o3}from"zod";var vu0;var Ze1=O(()=>{X1();vu0=G0({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:o3.object({userId:o3.string().optional()}),outputSchema:o3.object({organizations:o3.array(o3.object({id:o3.string(),name:o3.string(),slug:o3.string(),logo:o3.string().nullable().optional(),metadata:o3.any().optional(),createdAt:o3.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=y1(Z),X=$.userId||G;if(!X)throw Error("User ID required to list organizations");return{organizations:(await Z.boundAuth.organization.list(X)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});import{z as PQ}from"zod";var yu0;var Ge1=O(()=>{X1();yu0=G0({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:PQ.object({}),outputSchema:PQ.object({id:PQ.string(),name:PQ.string(),slug:PQ.string(),logo:PQ.string().nullable().optional(),metadata:PQ.any().optional(),createdAt:PQ.string().datetime().describe("ISO 8601 timestamp"),members:PQ.array(PQ.any()).optional(),invitations:PQ.array(PQ.any()).optional()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.boundAuth.organization.get(G);if(!X)throw Error("No active organization found");let Y=new Date,Q=X.invitations?.filter((J)=>new Date(J.expiresAt)>Y);return{...X,invitations:Q,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as a3}from"zod";var gu0;var Xe1=O(()=>{X1();gu0=G0({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:a3.object({id:a3.string(),name:a3.string().min(1).max(255).optional(),description:a3.string().optional()}),outputSchema:a3.object({id:a3.string(),name:a3.string(),slug:a3.string(),logo:a3.string().nullable().optional(),metadata:a3.any().optional(),createdAt:a3.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G={};if($.name)G.name=$.name;if($.description)G.metadata={description:$.description};let X=await Z.boundAuth.organization.update({organizationId:$.id,data:G});if(!X)throw Error("Failed to update organization");return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as Pi}from"zod";var hu0;var Ye1=O(()=>{X1();hu0=G0({name:"ORGANIZATION_DELETE",description:"Archive an organization (soft delete).",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Pi.object({id:Pi.string()}),outputSchema:Pi.object({success:Pi.boolean(),id:Pi.string()}),handler:async($,Z)=>{return M0(Z),await Z.access.check(),await Z.boundAuth.organization.update({organizationId:$.id,data:{metadata:{archived:!0,archivedAt:new Date().toISOString()}}}),{success:!0,id:$.id}}})});import{z as y$}from"zod";var Ai,Ti,vx,Qe1,G50,Ii,Ri,eH;var vw=O(()=>{Ai=y$.object({title:y$.string(),url:y$.string(),icon:y$.string()}),Ti=y$.object({registries:y$.record(y$.string(),y$.object({enabled:y$.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:y$.array(y$.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),vx=y$.object({keyId:y$.string(),modelId:y$.string(),title:y$.string().optional()}).nullable(),Qe1=y$.enum(["fast","smart","thinking","image","web_search","deep_research"]),G50=y$.enum(["fast","smart","thinking"]),Ii=y$.object({tiers:y$.object({fast:vx,smart:vx,thinking:vx,image:vx,web_search:vx,deep_research:vx})}),Ri=y$.object({ids:y$.array(y$.string()).describe("Ordered list of custom virtual MCP agent ids to show on the home view.")}),eH=y$.object({id:y$.string().describe("Brand context ID"),name:y$.string().describe("Company name"),domain:y$.string().describe("Company domain (e.g. example.com)"),overview:y$.string().describe("Company overview / description"),logo:y$.string().nullable().optional().describe("Logo URL"),favicon:y$.string().nullable().optional().describe("Favicon URL"),ogImage:y$.string().nullable().optional().describe("OG image URL"),fonts:y$.object({heading:y$.string().optional().describe("Font family for headings"),body:y$.string().optional().describe("Font family for body text"),code:y$.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:y$.object({primary:y$.string().optional().describe("Primary brand color (hex)"),secondary:y$.string().optional().describe("Secondary brand color (hex)"),accent:y$.string().optional().describe("Accent / highlight color (hex)"),background:y$.string().optional().describe("Background color (hex)"),foreground:y$.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:y$.array(y$.record(y$.string(),y$.unknown())).nullable().optional().describe("Brand images"),metadata:y$.record(y$.string(),y$.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:y$.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:y$.boolean().optional().describe("Whether this is the default brand for the organization")})});import{z as yw}from"zod";var cu0;var Je1=O(()=>{X1();vw();cu0=G0({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:yw.object({}),outputSchema:yw.object({organizationId:yw.string(),sidebar_items:yw.array(Ai).nullable().optional(),enabled_plugins:yw.array(yw.string()).nullable().optional(),registry_config:Ti.nullable().optional(),simple_mode:Ii.nullable().optional(),default_home_agents:Ri.nullable().optional(),task_board_enabled:yw.boolean().optional(),createdAt:yw.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:yw.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.organizationSettings.get(G);if(!X)return{organizationId:G};return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});import{z as OX}from"zod";var uu0;var We1=O(()=>{X1();vw();uu0=G0({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:OX.object({organizationId:OX.string(),sidebar_items:OX.array(Ai).optional(),enabled_plugins:OX.array(OX.string()).optional(),registry_config:Ti.optional(),simple_mode:Ii.optional(),default_home_agents:Ri.optional(),task_board_enabled:OX.boolean().optional()}),outputSchema:OX.object({organizationId:OX.string(),sidebar_items:OX.array(Ai).nullable().optional(),enabled_plugins:OX.array(OX.string()).nullable().optional(),registry_config:Ti.nullable().optional(),simple_mode:Ii.nullable().optional(),default_home_agents:Ri.nullable().optional(),task_board_enabled:OX.boolean().optional(),createdAt:OX.string().datetime().describe("ISO 8601 timestamp"),updatedAt:OX.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{if(M0(Z),await Z.access.check(),Z.organization&&Z.organization.id!==$.organizationId)throw Error("Cannot update settings for a different organization");let G=await Z.storage.organizationSettings.upsert($.organizationId,{sidebar_items:$.sidebar_items,enabled_plugins:$.enabled_plugins,registry_config:$.registry_config,simple_mode:$.simple_mode,default_home_agents:$.default_home_agents,task_board_enabled:$.task_board_enabled});return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});import{z as s3}from"zod";var Ke1,du0,lu0;var we1=O(()=>{X1();vw();Ke1=eH.extend({organizationId:s3.string(),archivedAt:s3.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:s3.string().describe("ISO 8601 timestamp"),updatedAt:s3.string().describe("ISO 8601 timestamp")}),du0=G0({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:s3.object({includeArchived:s3.boolean().optional().describe("Include archived brands in the list")}),outputSchema:s3.object({items:s3.array(Ke1)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Z.storage.brandContext.list(G,{includeArchived:$.includeArchived})).map((Y)=>({...Y,archivedAt:Y.archivedAt instanceof Date?Y.archivedAt.toISOString():Y.archivedAt,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updatedAt:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt}))}}}),lu0=G0({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:s3.object({id:s3.string().describe("Brand context ID")}),outputSchema:Ke1.extend({organizationId:s3.string()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.brandContext.get($.id,G);if(!X)throw Error("Brand context not found");return{...X,archivedAt:X.archivedAt instanceof Date?X.archivedAt.toISOString():X.archivedAt,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});import{z as QE}from"zod";var Ue1,mu0,iu0,nu0;var Fe1=O(()=>{X1();vw();Ue1=eH.extend({organizationId:QE.string(),createdAt:QE.string().describe("ISO 8601 timestamp"),updatedAt:QE.string().describe("ISO 8601 timestamp")}),mu0=G0({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:eH.omit({id:!0}),outputSchema:Ue1,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.brandContext.create(G,{name:$.name,domain:$.domain,overview:$.overview,logo:$.logo??null,favicon:$.favicon??null,ogImage:$.ogImage??null,fonts:$.fonts??null,colors:$.colors??null,images:$.images??null,metadata:$.metadata??null});return{...X,archivedAt:X.archivedAt instanceof Date?X.archivedAt.toISOString():X.archivedAt,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}}),iu0=G0({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:eH.partial().required({id:!0}),outputSchema:Ue1,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Z.storage.brandContext.get($.id,G))throw Error("Brand context not found");let{id:Y,...Q}=$;if(Q.isDefault===!0)await Z.storage.brandContext.setDefault(Y,G);let J=await Z.storage.brandContext.update(Y,G,{name:Q.name,domain:Q.domain,overview:Q.overview,logo:Q.logo!==void 0?Q.logo??null:void 0,favicon:Q.favicon!==void 0?Q.favicon??null:void 0,ogImage:Q.ogImage!==void 0?Q.ogImage??null:void 0,fonts:Q.fonts!==void 0?Q.fonts??null:void 0,colors:Q.colors!==void 0?Q.colors??null:void 0,images:Q.images!==void 0?Q.images??null:void 0,metadata:Q.metadata!==void 0?Q.metadata??null:void 0,archivedAt:Q.archivedAt!==void 0?Q.archivedAt??null:void 0,isDefault:Q.isDefault===!1?!1:void 0});return{...J,archivedAt:J.archivedAt instanceof Date?J.archivedAt.toISOString():J.archivedAt,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}),nu0=G0({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:QE.object({id:QE.string().describe("Brand context ID")}),outputSchema:QE.object({success:QE.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Z.storage.brandContext.get($.id,G))throw Error("Brand context not found");return await Z.storage.brandContext.update($.id,G,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function X50($,Z,G){let X=$.trim();if(!X.startsWith("http"))X=`https://${X}`;let Y=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Z}`},body:JSON.stringify({url:X,formats:["branding"]})});if(!Y.ok){let H=await Y.text().catch(()=>"");throw Error(`Firecrawl API error: ${Y.status} ${H.slice(0,200)}`)}let Q=await Y.json();if(!Q.success||!Q.data?.branding)return null;let J=Q.data.branding,W=Q.data.metadata??{},K=Da8(J,W);return{name:W.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((H)=>H.trim()).filter(Boolean)?.slice().sort((H,N)=>H.length-N.length)[0]??W.ogSiteName??G??$,domain:$,overview:W.description??"",logo:K.logo,favicon:K.favicon,ogImage:K.ogImage,fonts:K.fonts,colors:K.colors,images:null,metadata:Object.keys(K.metadata).length>0?K.metadata:null}}function Da8($,Z){let G=$.images??{},X=$.colors??{},Y={};for(let[U,F]of Object.entries(X))if(typeof F==="string"&&F&&Ba8.has(U))Y[U]=F;let Q={},W=($.typography??{}).fontFamilies??{};for(let[U,F]of Object.entries(W))if(typeof F==="string"&&F){let H=Oa8[U.toLowerCase()];if(H&&!Q[H])Q[H]=F}let K=$.fonts;if(Array.isArray(K))for(let U of K){let F=U.family;if(typeof F==="string"&&F&&!Q.body)Q.body=F}let w={};for(let U of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if($[U]!==void 0)w[U]=$[U];return{logo:G.logo??null,favicon:G.favicon??null,ogImage:G.ogImage??Z.ogImage??null,fonts:Object.keys(Q).length>0?Q:null,colors:Object.keys(Y).length>0?Y:null,metadata:w}}var Ba8,Oa8;var pu0=O(()=>{Ba8=new Set(["primary","secondary","accent","background","foreground"]),Oa8={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});import{z as Y50}from"zod";var Ea8,tu0;var He1=O(()=>{X1();pu0();vw();Ea8=eH.pick({id:!0,name:!0,domain:!0,overview:!0,logo:!0,favicon:!0,ogImage:!0,fonts:!0,colors:!0}).extend({success:Y50.boolean()}),tu0=G0({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:Y50.object({domain:Y50.string().describe("Website domain to extract brand from"),brandId:Y50.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:Ea8,modelSummary:($)=>$.success?`Brand saved (id=${$.id}, name=${$.name}, domain=${$.domain}). The UI rendered the logo, colors, fonts, and overview.`:"Brand extraction failed.",handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=Z.firecrawlApiKey;if(!X)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let Y=await X50($.domain,X,$.domain);if(!Y)throw Error("Firecrawl did not return branding data for this URL");let Q={name:Y.name,domain:Y.domain,overview:Y.overview,logo:Y.logo,favicon:Y.favicon,ogImage:Y.ogImage,fonts:Y.fonts,colors:Y.colors,images:Y.images,metadata:Y.metadata},J=$.brandId?await(async()=>{if(!await Z.storage.brandContext.get($.brandId,G))throw Error("Brand context not found");return Z.storage.brandContext.update($.brandId,G,Q)})():await Z.storage.brandContext.create(G,Q);return{id:J.id,name:J.name,domain:J.domain,overview:J.overview,logo:J.logo,favicon:J.favicon,ogImage:J.ogImage,fonts:J.fonts,colors:J.colors,success:!0}}})});function Ne1($){let Z=$.metadata??{};return{id:$.id,name:$.name,domain:$.domain||void 0,colors:$.colors??void 0,fonts:$.fonts??void 0,assets:$.logo||$.favicon||$.ogImage?{logo:$.logo??void 0,favicon:$.favicon??void 0,ogImage:$.ogImage??void 0}:void 0,overview:$.overview||void 0,tagline:typeof Z.tagline==="string"?Z.tagline:void 0,tone:typeof Z.tone==="string"?Z.tone:void 0,metadata:(()=>{let G=Object.fromEntries(Object.entries(Z).filter(([X])=>X!=="tagline"&&X!=="tone"));return Object.keys(G).length>0?G:void 0})()}}var ru0,ou0;var Be1=O(()=>{wu0();X1();ru0=G0({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:t40,outputSchema:Li,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=$.id?await Z.storage.brandContext.get($.id,G):await Z.storage.brandContext.getDefault(G);if(!X)throw Error($.id?"Brand not found":"No default brand configured");return Ne1(X)}}),ou0=G0({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:r40,outputSchema:o40,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Z.storage.brandContext.list(G)).map(Ne1)}}})});import{resolveTxt as La8}from"dns/promises";function au0($){return`${za8}.${$.toLowerCase()}`}function Oe1(){return`deco-verify-${crypto.randomUUID().replace(/-/g,"")}`}async function De1($,Z,G=La8){if(!Z)return!1;try{return(await G(au0($))).some((Y)=>Y.join("").trim()===Z)}catch{return!1}}var za8="_deco-verify";var Ee1=()=>{};import{z as z5}from"zod";function $N($){let Z=$.verificationStatus==="pending"&&Boolean($.verificationToken);return{id:$.id,domain:$.domain,joinMode:$.joinMode,verificationStatus:$.verificationStatus,verificationMethod:$.verificationMethod,verifiedAt:$.verifiedAt?new Date($.verifiedAt).toISOString():null,recordName:Z?au0($.domain):null,recordValue:Z?$.verificationToken:null}}function Pa8($){let Z=$.toLowerCase().trim();if(!ja8.test(Z))throw Error(`Invalid domain format: "${Z}". Must be a valid domain like "acme.com"`);if(e3.has(Z))throw Error(`Cannot claim generic email domain "${Z}". Only corporate domains are allowed.`);return Z}var ja8,su0,Q50,eu0,$d0,Zd0,Gd0,Xd0;var Le1=O(()=>{gw();Ee1();X1();ja8=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,su0=z5.enum(["off","auto","request"]),Q50=z5.object({id:z5.string(),domain:z5.string(),joinMode:su0,verificationStatus:z5.enum(["pending","verified"]),verificationMethod:z5.enum(["email","dns"]).nullable(),verifiedAt:z5.string().nullable(),recordName:z5.string().nullable(),recordValue:z5.string().nullable()});eu0=G0({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:z5.object({}),outputSchema:z5.object({domains:z5.array(Q50)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{domains:(await Z.storage.organizationDomains.listByOrganizationId(G.id)).map($N)}}}),$d0=G0({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:z5.object({domain:z5.string().min(1).max(255).describe("Domain to claim, e.g. acme.com"),joinMode:su0.optional().describe("Initial join mode (only applied when the domain is trusted immediately via email match).")}),outputSchema:Q50,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=Pa8($.domain),Q=Z.auth.user?.email?.split("@")[1]?.toLowerCase(),J=Boolean(Z.auth.user?.emailVerified)&&Q===X,W=await Z.storage.organizationDomains.getByOrgAndDomain(G.id,X);if(W){if(W.verificationStatus!=="verified"&&J){let w=await Z.storage.organizationDomains.markVerified(W.id,"email");return $N(w)}return $N(W)}let K=J?await Z.storage.organizationDomains.add(G.id,X,{joinMode:$.joinMode??"off",verificationStatus:"verified",verificationMethod:"email"}):await Z.storage.organizationDomains.add(G.id,X,{joinMode:"off",verificationStatus:"pending",verificationToken:Oe1()});return $N(K)}}),Zd0=G0({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:z5.object({id:z5.string(),joinMode:su0}),outputSchema:Q50,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");if($.joinMode!=="off"&&X.verificationStatus!=="verified")throw Error("Verify the domain before enabling auto-join or requests.");let Y=await Z.storage.organizationDomains.updateJoinMode($.id,$.joinMode);return $N(Y)}}),Gd0=G0({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:z5.object({id:z5.string()}),outputSchema:z5.object({verified:z5.boolean(),domain:Q50}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");if(X.verificationStatus==="verified")return{verified:!0,domain:$N(X)};if(!X.verificationToken)throw Error("Domain has no pending DNS verification.");if(!await De1(X.domain,X.verificationToken))return{verified:!1,domain:$N(X)};let Q=await Z.storage.organizationDomains.markVerified($.id,"dns");return{verified:!0,domain:$N(Q)}}}),Xd0=G0({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:z5.object({id:z5.string()}),outputSchema:z5.object({success:z5.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");return await Z.storage.organizationDomains.removeById($.id),{success:!0}}})});import{z as N9}from"zod";var Aa8,Yd0,Qd0,Jd0;var ze1=O(()=>{X1();v4();Aa8=N9.object({id:N9.string(),userId:N9.string(),status:N9.enum(["pending","approved","denied"]),createdAt:N9.string(),user:N9.object({id:N9.string(),name:N9.string(),email:N9.string(),image:N9.string().nullable()}).nullable()}),Yd0=G0({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:N9.object({}),outputSchema:N9.object({requests:N9.array(Aa8)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{requests:(await Z.storage.organizationJoinRequests.listPendingWithUser(G.id)).map((Y)=>({id:Y.id,userId:Y.userId,status:Y.status,createdAt:new Date(Y.createdAt).toISOString(),user:Y.user}))}}}),Qd0=G0({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:N9.object({requestId:N9.string()}),outputSchema:N9.object({success:N9.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationJoinRequests.getById($.requestId);if(!X||X.organizationId!==G.id)throw Error("Join request not found");if(X.status!=="pending")throw Error("Join request has already been decided");let Y=y1(Z);if(!await Z.storage.organizationJoinRequests.decide(X.id,"approved",Y??X.userId))return{success:!0};try{await Z.boundAuth.organization.addMember({organizationId:G.id,userId:X.userId,role:["user"]})}catch(J){if(!(J instanceof Error?J.message.toLowerCase():"").includes("already a member"))throw J}if(Y)r1.capture({distinctId:Y,event:"organization_join_request_approved",groups:{organization:G.id},properties:{organization_id:G.id,user_id:X.userId}});return{success:!0}}}),Jd0=G0({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:N9.object({requestId:N9.string()}),outputSchema:N9.object({success:N9.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationJoinRequests.getById($.requestId);if(!X||X.organizationId!==G.id)throw Error("Join request not found");if(X.status!=="pending")throw Error("Join request has already been decided");let Y=y1(Z);if(await Z.storage.organizationJoinRequests.decide(X.id,"denied",Y??X.userId)&&Y)r1.capture({distinctId:Y,event:"organization_join_request_denied",groups:{organization:G.id},properties:{organization_id:G.id,user_id:X.userId}});return{success:!0}}})});import{z as DX}from"zod";var Wd0;var je1=O(()=>{v4();X1();KW();Wd0=G0({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:DX.object({organizationId:DX.string().optional(),userId:DX.string(),role:DX.array(DX.string())}),outputSchema:DX.object({id:DX.string(),organizationId:DX.string(),userId:DX.string(),role:DX.union([DX.string(),DX.array(DX.string())]),createdAt:DX.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(G!==Z.organization?.id)throw Error("Organization ID does not match authenticated organization");let X=Array.isArray($.role)?$.role[0]:$.role;if(X&&!s80(Z.auth.user?.role,X))throw Error(`Insufficient privileges to assign role "${X}"`);let Y=await Z.boundAuth.organization.addMember({organizationId:G,userId:$.userId,role:$.role});if(!Y)throw Error("Failed to add member");let Q=y1(Z);if(Q)r1.capture({distinctId:Q,event:"organization_member_added",groups:{organization:G},properties:{organization_id:G,added_user_id:$.userId,role:$.role}});return{...Y,role:Y.role,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});import{z as yx}from"zod";var Kd0;var Pe1=O(()=>{v4();X1();Kd0=G0({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:yx.object({organizationId:yx.string().optional(),memberIdOrEmail:yx.string()}),outputSchema:yx.object({success:yx.boolean(),memberIdOrEmail:yx.string()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");await Z.boundAuth.organization.removeMember({organizationId:G,memberIdOrEmail:$.memberIdOrEmail});let X=y1(Z);if(X)r1.capture({distinctId:X,event:"organization_member_removed",groups:{organization:G},properties:{organization_id:G,member_id_or_email:$.memberIdOrEmail}});return{success:!0,memberIdOrEmail:$.memberIdOrEmail}}})});import{z as d7}from"zod";var wd0;var Ae1=O(()=>{X1();wd0=G0({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:d7.object({limit:d7.number().optional(),offset:d7.number().optional()}),outputSchema:d7.object({members:d7.array(d7.object({id:d7.string(),organizationId:d7.string(),userId:d7.string(),role:d7.string(),createdAt:d7.string().datetime().describe("ISO 8601 timestamp"),user:d7.object({id:d7.string(),name:d7.string(),email:d7.string(),image:d7.string().optional()}).optional()}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.boundAuth.organization.listMembers({organizationId:G,limit:$.limit,offset:$.offset});return{members:(Array.isArray(X)?X:[]).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});import{z as qZ}from"zod";var Ud0;var Te1=O(()=>{v4();X1();KW();Ud0=G0({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:qZ.object({organizationId:qZ.string().optional(),memberId:qZ.string(),role:qZ.array(qZ.string())}),outputSchema:qZ.object({id:qZ.string(),organizationId:qZ.string(),userId:qZ.string(),role:qZ.union([qZ.literal("admin"),qZ.literal("member"),qZ.literal("owner")]),createdAt:qZ.string().datetime().describe("ISO 8601 timestamp"),user:qZ.object({email:qZ.string(),name:qZ.string(),image:qZ.string().optional()})}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=Array.isArray($.role)?$.role[0]:$.role;if(X&&!s80(Z.auth.user?.role,X))throw Error(`Insufficient privileges to assign role "${X}"`);let Y=await Z.boundAuth.organization.updateMemberRole({organizationId:G,memberId:$.memberId,role:$.role});if(!Y)throw Error("Failed to update member role");Z.invalidateMemberRole?.(Y.userId,G);let Q=y1(Z);if(Q)r1.capture({distinctId:Q,event:"organization_member_role_updated",groups:{organization:G},properties:{organization_id:G,member_id:$.memberId,target_user_id:Y.userId,new_role:Array.isArray($.role)?$.role.join(","):$.role}});return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var Ie1=O(()=>{$e1();Ze1();Ge1();Xe1();Ye1();Je1();We1();we1();Fe1();He1();Be1();Le1();ze1();je1();Pe1();Ae1();Te1()});import{z as LY}from"zod";var qi,Mi,gx;var J50=O(()=>{qi=LY.enum(["triage","todo","in_progress","in_review","done"]),Mi=LY.enum(["low","medium","high","urgent"]),gx=LY.object({id:LY.string(),organizationId:LY.string(),title:LY.string(),description:LY.string().nullable(),status:qi,priority:Mi,assigneeId:LY.string().nullable(),dueDate:LY.string().datetime().nullable(),createdBy:LY.string(),createdAt:LY.string().datetime(),updatedBy:LY.string(),updatedAt:LY.string().datetime()})});async function W50($,Z,G){let{members:X}=await $.boundAuth.organization.listMembers({organizationId:Z});if(!X.some((Y)=>Y.userId===G))throw Error("assigneeId is not a member of the organization")}async function ZN($,Z){if(!(await $.storage.organizationSettings.get(Z))?.task_board_enabled)throw Error("Task board is not enabled for this organization")}import{z as hx}from"zod";var Fd0;var Re1=O(()=>{X1();J50();Fd0=G0({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:hx.object({title:hx.string().min(1),description:hx.string().nullable().optional(),status:qi.optional(),priority:Mi.optional(),assigneeId:hx.string().nullable().optional(),dueDate:hx.string().datetime().nullable().optional()}),outputSchema:hx.object({item:gx}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(await ZN(Z,G),$.assigneeId)await W50(Z,G,$.assigneeId);return{item:await Z.storage.taskBoard.create({organizationId:G,title:$.title,description:$.description??null,status:$.status,priority:$.priority,assigneeId:$.assigneeId??null,dueDate:$.dueDate??null,by:y1(Z)})}}})});import{z as Hd0}from"zod";var Nd0;var qe1=O(()=>{X1();J50();Nd0=G0({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:Hd0.object({}),outputSchema:Hd0.object({items:Hd0.array(gx)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return await ZN(Z,G),{items:await Z.storage.taskBoard.list(G)}}})});import{z as JE}from"zod";var Bd0;var Me1=O(()=>{X1();J50();Bd0=G0({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:JE.object({id:JE.string(),title:JE.string().min(1).optional(),description:JE.string().nullable().optional(),status:qi.optional(),priority:Mi.optional(),assigneeId:JE.string().nullable().optional(),dueDate:JE.string().datetime().nullable().optional()}),outputSchema:JE.object({item:gx}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(await ZN(Z,G),$.assigneeId)await W50(Z,G,$.assigneeId);return{item:await Z.storage.taskBoard.update($.id,G,{title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assigneeId,dueDate:$.dueDate},y1(Z))}}})});import{z as K50}from"zod";var Od0;var ke1=O(()=>{X1();Od0=G0({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:K50.object({id:K50.string()}),outputSchema:K50.object({success:K50.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return await ZN(Z,G),await Z.storage.taskBoard.delete($.id,G),{success:!0}}})});var Se1=O(()=>{Re1();qe1();Me1();ke1()});import{z as GN}from"zod";var Dd0;var Ve1=O(()=>{X1();Dd0=G0({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:GN.object({}),outputSchema:GN.object({tags:GN.array(GN.object({id:GN.string(),organizationId:GN.string(),name:GN.string(),createdAt:GN.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{tags:(await Z.storage.tags.listOrgTags(G.id)).map((Y)=>({...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}))}}})});import{z as XN}from"zod";var Ed0;var Ce1=O(()=>{X1();Ed0=G0({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:XN.object({name:XN.string().min(1).max(50).describe("Tag name")}),outputSchema:XN.object({tag:XN.object({id:XN.string(),organizationId:XN.string(),name:XN.string(),createdAt:XN.string().describe("ISO 8601 timestamp")})}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.tags.createTag(G.id,$.name);return{tag:{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():String(X.createdAt)}}}})});import{z as w50}from"zod";var Ld0;var _e1=O(()=>{X1();Ld0=G0({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:w50.object({tagId:w50.string().describe("Tag ID to delete")}),outputSchema:w50.object({success:w50.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.tags.getTag($.tagId);if(!X)throw Error("Tag not found");if(X.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await Z.storage.tags.deleteTag($.tagId),{success:!0}}})});import{z as hw}from"zod";var zd0;var be1=O(()=>{X1();zd0=G0({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:hw.object({memberId:hw.string().describe("Member ID")}),outputSchema:hw.object({tags:hw.array(hw.object({id:hw.string(),organizationId:hw.string(),name:hw.string(),createdAt:hw.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,G.id))throw Error(`Member not found in this organization: ${$.memberId}`);return{tags:(await Z.storage.tags.getMemberTags($.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});import{z as AQ}from"zod";var jd0;var fe1=O(()=>{X1();jd0=G0({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:AQ.object({memberId:AQ.string().describe("Member ID"),tagIds:AQ.array(AQ.string()).describe("Array of tag IDs to assign")}),outputSchema:AQ.object({success:AQ.boolean(),tags:AQ.array(AQ.object({id:AQ.string(),organizationId:AQ.string(),name:AQ.string(),createdAt:AQ.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,G.id))throw Error(`Member not found in this organization: ${$.memberId}`);for(let Q of $.tagIds){let J=await Z.storage.tags.getTag(Q);if(!J)throw Error(`Tag not found: ${Q}`);if(J.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${Q}`)}return await Z.storage.tags.setMemberTags($.memberId,$.tagIds),{success:!0,tags:(await Z.storage.tags.getMemberTags($.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var xe1=O(()=>{Ve1();Ce1();_e1();be1();fe1()});function kW($,Z=Date.now()){let G=$.status;if(G==="in_progress"){let X=new Date($.updated_at).getTime();if(!Number.isFinite(X)||Z-X>1800000)G="expired"}return{id:$.id,organization_id:$.organization_id,title:$.title,description:$.description,created_at:$.created_at,updated_at:$.updated_at,created_by:$.created_by,updated_by:$.updated_by,hidden:$.hidden??!1,status:G,virtual_mcp_id:$.virtual_mcp_id||void 0,trigger_id:$.trigger_id,branch:$.branch,sandbox_provider_kind:$.sandbox_provider_kind,harness_id:$.harness_id,metadata:$.metadata&&Object.keys($.metadata).length>0?$.metadata:void 0,run_config:$.run_config}}var ve1=O(()=>{t8()});import{z as q$}from"zod";var ye1,qa8,ge1,SW,he1,ce1;var WE=O(()=>{ve1();ye1=q$.object({id:q$.string().describe("Unique message ID"),thread_id:q$.string().describe("ID of the parent thread"),metadata:q$.unknown().optional().describe("Optional message metadata"),parts:q$.array(q$.record(q$.string(),q$.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:q$.enum(["user","assistant","system"]).describe("Message role"),created_at:q$.string().datetime().describe("Timestamp of creation"),updated_at:q$.string().datetime().describe("Timestamp of last update")}),qa8=q$.object({toolName:q$.string().describe("Fully qualified tool name"),appId:q$.string().describe("App ID that owns the tool"),args:q$.record(q$.string(),q$.unknown()).describe("Arguments used when expanding the tool"),expandedAt:q$.string().datetime().describe("When the tool was expanded")}),ge1=q$.object({expanded_tools:q$.array(qa8).optional()}).catchall(q$.unknown()),SW=q$.object({id:q$.string().describe("Unique thread ID"),organization_id:q$.string().describe("Organization this thread belongs to"),title:q$.string().describe("Thread title"),description:q$.string().nullable().describe("Thread description"),created_at:q$.string().datetime().describe("Timestamp of creation"),updated_at:q$.string().datetime().describe("Timestamp of last update"),hidden:q$.boolean().optional().describe("Whether the thread is hidden"),status:q$.enum([...Zb,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:q$.string().describe("User ID who created the thread"),updated_by:q$.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:q$.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:q$.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:q$.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:q$.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:q$.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:ge1.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:q$.record(q$.string(),q$.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),he1=q$.object({id:q$.string().optional().describe("Optional custom ID for the thread"),title:q$.string().optional().describe("Thread title"),description:q$.string().nullish().describe("Thread description"),virtual_mcp_id:q$.string().describe("Virtual MCP (agent) this thread is bound to"),branch:q$.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.")}),ce1=q$.object({title:q$.string().optional().describe("New thread title"),description:q$.string().nullish().describe("New thread description"),hidden:q$.boolean().optional().describe("Whether the thread is hidden"),status:q$.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:ge1.optional().describe("Full replacement of the thread's metadata object"),branch:q$.string().nullish().describe("New git branch for this thread"),virtual_mcp_id:q$.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 Ma8($){return($??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function U50($){let Z=Ma8($),G=Date.now().toString(36).split("").reverse().join("");return`${Z}-${G}`}import{z as ue1}from"zod";function Va8($,Z){let G=$?.[Z];if(!G)return;return Object.entries(G).sort(([,Y],[,Q])=>{let J=Math.max(0,...Object.values(Y).map((K)=>K.createdAt??0));return Math.max(0,...Object.values(Q).map((K)=>K.createdAt??0))-J})[0]?.[0]}var ka8,Sa8,Pd0;var de1=O(()=>{v4();X1();WE();zG();ka8=ue1.object({data:he1.describe("Data for the new thread (id is auto-generated if not provided)")}),Sa8=ue1.object({item:SW.describe("The created thread entity")});Pd0=G0({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:ka8,outputSchema:Sa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to create thread");let{data:Y}=$,Q=Y.id??P6("thrd"),J=await Z.storage.virtualMcps.findById(Y.virtual_mcp_id,G.id);if(!J)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=J.metadata,K=W?.githubRepo,w=null;if(K)w=Y.branch??Va8(W?.sandboxMap,X)??U50(Z.auth.user?.name??Z.auth.user?.email?.split("@")[0]);let U=await Z.storage.threads.create({id:Q,organization_id:G.id,title:Y.title,description:Y.description,virtual_mcp_id:Y.virtual_mcp_id,branch:w,created_by:X});return r1.capture({distinctId:X,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Q,has_title:!!$.data.title,created_via:"tool"}}),{item:kW(U)}}})});import{z as zY}from"zod";var Ca8,_a8,Ad0;var le1=O(()=>{DY();X1();WE();Ca8=r3.extend({where:zY.object({created_by:zY.string().optional(),trigger_ids:zY.array(zY.string()).optional(),virtual_mcp_id:zY.string().optional(),hidden:zY.boolean().optional(),has_trigger:zY.boolean().optional()}).optional(),startDate:zY.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:zY.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:zY.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:zY.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:zY.string().optional().describe("Filter by the user who created the thread"),agentId:zY.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),_a8=bw(SW),Ad0=G0({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:Ca8,outputSchema:_a8,handler:async($,Z)=>{await Z.access.check();let G=Z.auth.user?.id;if(!G)throw Error("User ID required to list threads");D0(Z);let X=$.offset??0,Y=$.limit??100,Q=$.where?.trigger_ids,J=$.where?.virtual_mcp_id,W=$.userId??($.where?.created_by==="me"?G:$.where?.created_by),{threads:K,total:w}=Q?.length?await Z.storage.threads.listByTriggerIds(Q,{limit:Y,offset:X}):await Z.storage.threads.list(W,{limit:Y,offset:X,virtualMcpId:J,startDate:$.startDate,endDate:$.endDate,search:$.search,status:$.status,agentId:$.agentId,includeArchived:$.where?.hidden,hasTrigger:$.where?.has_trigger}),U=X+Y<w,F=Date.now();return{items:K.map((H)=>kW(H,F)),totalCount:w,hasMore:U}}})});var ba8,Td0;var me1=O(()=>{DY();X1();WE();ba8=Oi(SW),Td0=G0({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:Bi,outputSchema:ba8,handler:async($,Z)=>{M0(Z),D0(Z),await Z.access.check();let G=await Z.storage.threads.get($.id);if(!G)return{item:null};return{item:kW(G)}}})});import{z as Id0}from"zod";var fa8,xa8,Rd0;var ie1=O(()=>{v4();X1();WE();fa8=Id0.object({id:Id0.string().describe("ID of the thread to update"),data:ce1.describe("Partial thread data to update")}),xa8=Id0.object({item:SW.describe("The updated thread entity")}),Rd0=G0({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:fa8,outputSchema:xa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to update thread");let{id:Y,data:Q}=$,J=await Z.storage.threads.get(Y);if(!J)throw Error("Thread not found in organization");if(Q.branch===null&&J.virtual_mcp_id){if((await Z.storage.virtualMcps.findById(J.virtual_mcp_id,D0(Z).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let W={title:Q.title,description:Q.description,hidden:Q.hidden,updated_by:X};if(Q.status)W.status=Q.status;if(Q.metadata!==void 0)W.metadata=Q.metadata;if(Q.branch!==void 0)W.branch=Q.branch;if(Q.virtual_mcp_id!==void 0)W.virtual_mcp_id=Q.virtual_mcp_id;let K=await Z.storage.threads.update(Y,W);if(Q.hidden!==void 0&&Q.hidden!==J.hidden)r1.capture({distinctId:X,event:Q.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Y}});return{item:kW(K)}}})});var qd0;var ne1=O(()=>{DY();v4();X1();WE();qd0=G0({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:Di,outputSchema:Ei(SW),handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.threads.get($.id);if(!X)throw Error(`Thread not found: ${$.id}`);await Z.storage.threads.delete($.id);let Y=y1(Z);if(Y)r1.capture({distinctId:Y,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:$.id}});return{item:kW(X)}}})});import{z as va8}from"zod";function pe1($){if(!$)return null;if("field"in $&&$.field[0]==="thread_id"&&$.operator==="eq")return String($.value);if("conditions"in $&&($.operator==="and"||$.operator==="or"))for(let Z of $.conditions){let G=pe1(Z);if(G)return G}return null}var ya8,ga8,Md0;var te1=O(()=>{DY();X1();WE();ya8=r3.extend({thread_id:va8.string().optional().describe("ID of the thread to list messages for (required)")}),ga8=bw(ye1),Md0=G0({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:ya8,outputSchema:ga8,handler:async($,Z)=>{D0(Z),await Z.access.check();let G=$.thread_id??pe1($.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let X=$.offset??0,Y=$.limit??100,Q=$.orderBy?.[0]?.direction??"asc",J=await Z.storage.threads.get(G);if(!J)return{items:[],totalCount:0,hasMore:!1};if(J.message_storage_version===2){let{messages:U,total:F}=await Z.storage.threads.messageParts().loadWindow(G,{limit:Y,offset:X});return{items:U.map((H)=>({id:H.id,thread_id:G,role:H.role,parts:H.parts,metadata:H.metadata??null,created_at:H.created_at,updated_at:H.created_at})),totalCount:F,hasMore:X+Y<F}}let{messages:W,total:K}=await Z.storage.threads.listMessages(G,{limit:Y,offset:X,sort:Q}),w=X+Y<K;return{items:W,totalCount:K,hasMore:w}}})});function re1($){return $!==null}function F50($,Z){if($===null)return!0;return $===Z}function H50($){return $.sandboxProviderKind==="agent-sandbox"&&$.harnessId==="decopilot"}function oe1($){return $.harnessId==="decopilot"&&($.sandboxProviderKind==null||$.sandboxProviderKind==="agent-sandbox")}function ca8($){return{type:"data-run-status",id:"run-status",data:{stage:$}}}function ae1($){if(!$||typeof $!=="object")return!1;return $.type==="data-run-status"}async function cw($,Z,G){if(!$)return;try{await $.publishRawChunk(Z,ca8(G))}catch{}}var ha8,ki,gK5;var Si=O(()=>{ha8=["waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope"],ki=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],gK5=new Set(ha8)});function N50(){return crypto.randomUUID()}var Sd0=_((uK5,$0$)=>{var{defineProperty:kd0,getOwnPropertyDescriptor:ua8,getOwnPropertyNames:da8}=Object,la8=Object.prototype.hasOwnProperty,ma8=($,Z)=>{for(var G in Z)kd0($,G,{get:Z[G],enumerable:!0})},ia8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of da8(Z))if(!la8.call($,Y)&&Y!==G)kd0($,Y,{get:()=>Z[Y],enumerable:!(X=ua8(Z,Y))||X.enumerable})}return $},na8=($)=>ia8(kd0({},"__esModule",{value:!0}),$),se1={};ma8(se1,{SYMBOL_FOR_REQ_CONTEXT:()=>ee1,getContext:()=>pa8});$0$.exports=na8(se1);var ee1=Symbol.for("@vercel/request-context");function pa8(){return globalThis[ee1]?.get?.()??{}}});var Vi=_((dK5,X0$)=>{var{defineProperty:Vd0,getOwnPropertyDescriptor:ta8,getOwnPropertyNames:ra8}=Object,oa8=Object.prototype.hasOwnProperty,aa8=($,Z)=>{for(var G in Z)Vd0($,G,{get:Z[G],enumerable:!0})},sa8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of ra8(Z))if(!oa8.call($,Y)&&Y!==G)Vd0($,Y,{get:()=>Z[Y],enumerable:!(X=ta8(Z,Y))||X.enumerable})}return $},ea8=($)=>sa8(Vd0({},"__esModule",{value:!0}),$),Z0$={};aa8(Z0$,{VercelOidcTokenError:()=>G0$});X0$.exports=ea8(Z0$);class G0$ extends Error{constructor($,Z){super($);this.name="VercelOidcTokenError",this.cause=Z}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var W0$=_((lK5,J0$)=>{var{create:$s8,defineProperty:B50,getOwnPropertyDescriptor:Zs8,getOwnPropertyNames:Gs8,getPrototypeOf:Xs8}=Object,Ys8=Object.prototype.hasOwnProperty,Qs8=($,Z)=>{for(var G in Z)B50($,G,{get:Z[G],enumerable:!0})},Y0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Gs8(Z))if(!Ys8.call($,Y)&&Y!==G)B50($,Y,{get:()=>Z[Y],enumerable:!(X=Zs8(Z,Y))||X.enumerable})}return $},_d0=($,Z,G)=>(G=$!=null?$s8(Xs8($)):{},Y0$(Z||!$||!$.__esModule?B50(G,"default",{value:$,enumerable:!0}):G,$)),Js8=($)=>Y0$(B50({},"__esModule",{value:!0}),$),Q0$={};Qs8(Q0$,{findRootDir:()=>ws8,getUserDataDir:()=>Us8});J0$.exports=Js8(Q0$);var Ci=_d0(u0("path")),Ws8=_d0(u0("fs")),Cd0=_d0(u0("os")),Ks8=Vi();function ws8(){try{let $=process.cwd();while($!==Ci.default.dirname($)){let Z=Ci.default.join($,".vercel");if(Ws8.default.existsSync(Z))return $;$=Ci.default.dirname($)}}catch($){throw new Ks8.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Us8(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(Cd0.default.platform()){case"darwin":return Ci.default.join(Cd0.default.homedir(),"Library/Application Support");case"linux":return Ci.default.join(Cd0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var B0$=_((mK5,N0$)=>{var{create:Fs8,defineProperty:O50,getOwnPropertyDescriptor:Hs8,getOwnPropertyNames:Ns8,getPrototypeOf:Bs8}=Object,Os8=Object.prototype.hasOwnProperty,Ds8=($,Z)=>{for(var G in Z)O50($,G,{get:Z[G],enumerable:!0})},K0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ns8(Z))if(!Os8.call($,Y)&&Y!==G)O50($,Y,{get:()=>Z[Y],enumerable:!(X=Hs8(Z,Y))||X.enumerable})}return $},w0$=($,Z,G)=>(G=$!=null?Fs8(Bs8($)):{},K0$(Z||!$||!$.__esModule?O50(G,"default",{value:$,enumerable:!0}):G,$)),Es8=($)=>K0$(O50({},"__esModule",{value:!0}),$),U0$={};Ds8(U0$,{isValidAccessToken:()=>Ps8,readAuthConfig:()=>zs8,writeAuthConfig:()=>js8});N0$.exports=Es8(U0$);var _i=w0$(u0("fs")),F0$=w0$(u0("path")),Ls8=bi();function H0$(){let $=(0,Ls8.getVercelDataDir)();if(!$)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return F0$.join($,"auth.json")}function zs8(){try{let $=H0$();if(!_i.existsSync($))return null;let Z=_i.readFileSync($,"utf8");if(!Z)return null;return JSON.parse(Z)}catch($){return null}}function js8($){let Z=H0$(),G=F0$.dirname(Z);if(!_i.existsSync(G))_i.mkdirSync(G,{mode:504,recursive:!0});_i.writeFileSync(Z,JSON.stringify($,null,2),{mode:384})}function Ps8($,Z=0){if(!$.token)return!1;if(typeof $.expiresAt!=="number")return!0;let G=Math.floor(Date.now()/1000),X=Z/1000;return $.expiresAt>=G+X}});var L0$=_((iK5,E0$)=>{var{defineProperty:xd0,getOwnPropertyDescriptor:As8,getOwnPropertyNames:Ts8}=Object,Is8=Object.prototype.hasOwnProperty,Rs8=($,Z)=>{for(var G in Z)xd0($,G,{get:Z[G],enumerable:!0})},qs8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ts8(Z))if(!Is8.call($,Y)&&Y!==G)xd0($,Y,{get:()=>Z[Y],enumerable:!(X=As8(Z,Y))||X.enumerable})}return $},Ms8=($)=>qs8(xd0({},"__esModule",{value:!0}),$),O0$={};Rs8(O0$,{processTokenResponse:()=>_s8,refreshTokenRequest:()=>Cs8});E0$.exports=Ms8(O0$);var bd0=u0("os"),ks8="https://vercel.com",Ss8="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",D0$=`@vercel/oidc node-${process.version} ${(0,bd0.platform)()} (${(0,bd0.arch)()}) ${(0,bd0.hostname)()}`,fd0=null;async function Vs8(){if(fd0)return fd0;let $=`${ks8}/.well-known/openid-configuration`,Z=await fetch($,{headers:{"user-agent":D0$}});if(!Z.ok)throw Error("Failed to discover OAuth endpoints");let G=await Z.json();if(!G||typeof G.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let X=G.token_endpoint;return fd0=X,X}async function Cs8($){let Z=await Vs8();return await fetch(Z,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":D0$},body:new URLSearchParams({client_id:Ss8,grant_type:"refresh_token",...$})})}async function _s8($){let Z=await $.json();if(!$.ok){let G=typeof Z==="object"&&Z&&"error"in Z?String(Z.error):"Token refresh failed";return[Error(G)]}if(typeof Z!=="object"||Z===null)return[Error("Invalid token response")];if(typeof Z.access_token!=="string")return[Error("Missing access_token in response")];if(Z.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Z.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Z]}});var yd0=_((nK5,A0$)=>{var{defineProperty:vd0,getOwnPropertyDescriptor:bs8,getOwnPropertyNames:fs8}=Object,xs8=Object.prototype.hasOwnProperty,vs8=($,Z)=>{for(var G in Z)vd0($,G,{get:Z[G],enumerable:!0})},ys8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of fs8(Z))if(!xs8.call($,Y)&&Y!==G)vd0($,Y,{get:()=>Z[Y],enumerable:!(X=bs8(Z,Y))||X.enumerable})}return $},gs8=($)=>ys8(vd0({},"__esModule",{value:!0}),$),z0$={};vs8(z0$,{AccessTokenMissingError:()=>j0$,RefreshAccessTokenFailedError:()=>P0$});A0$.exports=gs8(z0$);class j0$ extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class P0$ extends Error{constructor($){super("Failed to refresh authentication token.",{cause:$});this.name="RefreshAccessTokenFailedError"}}});var bi=_((pK5,M0$)=>{var{create:hs8,defineProperty:D50,getOwnPropertyDescriptor:cs8,getOwnPropertyNames:us8,getPrototypeOf:ds8}=Object,ls8=Object.prototype.hasOwnProperty,ms8=($,Z)=>{for(var G in Z)D50($,G,{get:Z[G],enumerable:!0})},I0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of us8(Z))if(!ls8.call($,Y)&&Y!==G)D50($,Y,{get:()=>Z[Y],enumerable:!(X=cs8(Z,Y))||X.enumerable})}return $},R0$=($,Z,G)=>(G=$!=null?hs8(ds8($)):{},I0$(Z||!$||!$.__esModule?D50(G,"default",{value:$,enumerable:!0}):G,$)),is8=($)=>I0$(D50({},"__esModule",{value:!0}),$),q0$={};ms8(q0$,{assertVercelOidcTokenResponse:()=>gd0,findProjectInfo:()=>rs8,getTokenPayload:()=>ss8,getVercelDataDir:()=>ns8,getVercelOidcToken:()=>ts8,getVercelToken:()=>ps8,isExpired:()=>es8,loadToken:()=>as8,saveToken:()=>os8});M0$.exports=is8(q0$);var fi=R0$(u0("path")),KE=R0$(u0("fs")),dx=Vi(),E50=W0$(),cx=B0$(),T0$=L0$(),ux=yd0();function ns8(){let Z=(0,E50.getUserDataDir)();if(!Z)return null;return fi.join(Z,"com.vercel.cli")}async function ps8($){let Z=(0,cx.readAuthConfig)();if(!Z?.token)throw new ux.AccessTokenMissingError;if((0,cx.isValidAccessToken)(Z,$?.expirationBufferMs))return Z.token;if(!Z.refreshToken)throw(0,cx.writeAuthConfig)({}),new ux.RefreshAccessTokenFailedError("No refresh token available");try{let G=await(0,T0$.refreshTokenRequest)({refresh_token:Z.refreshToken}),[X,Y]=await(0,T0$.processTokenResponse)(G);if(X||!Y)throw(0,cx.writeAuthConfig)({}),new ux.RefreshAccessTokenFailedError(X);let Q={token:Y.access_token,expiresAt:Math.floor(Date.now()/1000)+Y.expires_in};if(Y.refresh_token)Q.refreshToken=Y.refresh_token;return(0,cx.writeAuthConfig)(Q),Q.token}catch(G){if((0,cx.writeAuthConfig)({}),G instanceof ux.AccessTokenMissingError||G instanceof ux.RefreshAccessTokenFailedError)throw G;throw new ux.RefreshAccessTokenFailedError(G)}}async function ts8($,Z,G){let X=`https://api.vercel.com/v1/projects/${Z}/token?source=vercel-oidc-refresh${G?`&teamId=${G}`:""}`,Y=await fetch(X,{method:"POST",headers:{Authorization:`Bearer ${$}`}});if(!Y.ok)throw new dx.VercelOidcTokenError(`Failed to refresh OIDC token: ${Y.statusText}`);let Q=await Y.json();return gd0(Q),Q}function gd0($){if(!$||typeof $!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in $)||typeof $.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function rs8(){let $=(0,E50.findRootDir)();if(!$)throw new dx.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Z=fi.join($,".vercel","project.json");if(!KE.existsSync(Z))throw new dx.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let G=JSON.parse(KE.readFileSync(Z,"utf8"));if(typeof G.projectId!=="string"&&typeof G.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:G.projectId,teamId:G.orgId}}function os8($,Z){let G=(0,E50.getUserDataDir)();if(!G)throw new dx.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=fi.join(G,"com.vercel.token",`${Z}.json`),Y=JSON.stringify($);KE.mkdirSync(fi.dirname(X),{mode:504,recursive:!0}),KE.writeFileSync(X,Y),KE.chmodSync(X,432);return}function as8($){let Z=(0,E50.getUserDataDir)();if(!Z)throw new dx.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let G=fi.join(Z,"com.vercel.token",`${$}.json`);if(!KE.existsSync(G))return null;let X=JSON.parse(KE.readFileSync(G,"utf8"));return gd0(X),X}function ss8($){let Z=$.split(".");if(Z.length!==3)throw new dx.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let G=Z[1].replace(/-/g,"+").replace(/_/g,"/"),X=G.padEnd(G.length+(4-G.length%4)%4,"=");return JSON.parse(Buffer.from(X,"base64").toString("utf8"))}function es8($,Z=0){return $.exp*1000<Date.now()+Z}});var C0$=_((tK5,V0$)=>{var{defineProperty:hd0,getOwnPropertyDescriptor:$e8,getOwnPropertyNames:Ze8}=Object,Ge8=Object.prototype.hasOwnProperty,Xe8=($,Z)=>{for(var G in Z)hd0($,G,{get:Z[G],enumerable:!0})},Ye8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ze8(Z))if(!Ge8.call($,Y)&&Y!==G)hd0($,Y,{get:()=>Z[Y],enumerable:!(X=$e8(Z,Y))||X.enumerable})}return $},Qe8=($)=>Ye8(hd0({},"__esModule",{value:!0}),$),S0$={};Xe8(S0$,{refreshToken:()=>Je8});V0$.exports=Qe8(S0$);var k0$=Vi(),YN=bi();async function Je8($){let Z=$?.project,G=$?.team;if(!Z&&!G){let Y=(0,YN.findProjectInfo)();Z=Y.projectId,G=Y.teamId}else if(!Z||!G){let Y=(0,YN.findProjectInfo)();Z=Z??Y.projectId,G=G??Y.teamId}if(!Z)throw new k0$.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let X=(0,YN.loadToken)(Z);if(!X||(0,YN.isExpired)((0,YN.getTokenPayload)(X.token),$?.expirationBufferMs)){let Y=await(0,YN.getVercelToken)({expirationBufferMs:$?.expirationBufferMs});if(X=await(0,YN.getVercelOidcToken)(Y,Z,G),!X)throw new k0$.VercelOidcTokenError("Failed to refresh OIDC token");(0,YN.saveToken)(X,Z)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var f0$=_((rK5,b0$)=>{var{defineProperty:ud0,getOwnPropertyDescriptor:We8,getOwnPropertyNames:Ke8}=Object,we8=Object.prototype.hasOwnProperty,Ue8=($,Z)=>{for(var G in Z)ud0($,G,{get:Z[G],enumerable:!0})},Fe8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ke8(Z))if(!we8.call($,Y)&&Y!==G)ud0($,Y,{get:()=>Z[Y],enumerable:!(X=We8(Z,Y))||X.enumerable})}return $},He8=($)=>Fe8(ud0({},"__esModule",{value:!0}),$),_0$={};Ue8(_0$,{getVercelOidcToken:()=>Oe8,getVercelOidcTokenSync:()=>cd0});b0$.exports=He8(_0$);var Ne8=Sd0(),Be8=Vi();async function Oe8($){let Z="",G;try{Z=cd0()}catch(X){G=X}try{let[{getTokenPayload:X,isExpired:Y},{refreshToken:Q}]=await Promise.all([await Promise.resolve().then(() => k(bi())),await Promise.resolve().then(() => k(C0$()))]);if(!Z||Y(X(Z),$?.expirationBufferMs))await Q($),Z=cd0()}catch(X){let Y=G instanceof Error?G.message:"";if(X instanceof Error)Y=`${Y}
|
|
1032
|
+
`.execute($)).rows[0]?.exists)await x6`CREATE ROLE ${x6.id(G)} NOLOGIN`.execute($);await x6`GRANT ${x6.id(G)} TO CURRENT_USER`.execute($),await x6`GRANT USAGE, CREATE ON SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`GRANT ALL ON ALL TABLES IN SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${x6.id(Z)} TO ${x6.id(G)}`.execute($),await x6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${x6.id(Z)} GRANT ALL ON TABLES TO ${x6.id(G)}`.execute($),await x6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${x6.id(Z)} GRANT ALL ON SEQUENCES TO ${x6.id(G)}`.execute($),await x6`REVOKE ALL ON SCHEMA public FROM ${x6.id(G)}`.execute($)}async function mo8($,Z,G,X){try{return await $.transaction().execute(async(Y)=>{return await x6`SET LOCAL ROLE ${x6.id(G)}`.execute(Y),await x6`SET LOCAL search_path TO ${x6.id(Z)}`.execute(Y),await x6.raw(X).execute(Y)})}catch(Y){if(do8(Y))return await lo8($,Z,G),await $.transaction().execute(async(Q)=>{return await x6`SET LOCAL ROLE ${x6.id(G)}`.execute(Q),await x6`SET LOCAL search_path TO ${x6.id(Z)}`.execute(Q),await x6.raw(X).execute(Q)});throw Y}}var yo8,ho8,fs1;var xs1=O(()=>{X1();yo8=MW.object({results:MW.array(MW.unknown()).optional(),success:MW.boolean().optional()});ho8=MW.object({sql:MW.string().describe("The SQL query to run"),params:MW.array(MW.any()).describe("The parameters to pass to the SQL query").optional()});fs1=G0({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:ho8,outputSchema:MW.object({result:MW.array(yo8)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=go8($.sql,$.params||[]);if(!Z.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":Z.connectionId,"organization.id":Z.organization?.id??null,"user.id":Z.auth.user?.id??null});let X=co8(Z.connectionId),Y=uo8(Z.connectionId);return{result:[{results:(await mo8(Z.db,X,Y,G)).rows,success:!0}]}}})});function $50($){let Z=$.access.getRole();if(!Z||!KQ.includes(Z))throw new zw("Only organization owners and admins can change org-wide pin status")}var Eu0=O(()=>{KW();jD()});import{z as gs1}from"zod";function no8(){let $=vs1[Math.floor(Math.random()*vs1.length)];return`icon://${ys1[Math.floor(Math.random()*ys1.length)]}?color=${$}`}var vs1,ys1,po8,to8,Lu0;var hs1=O(()=>{X1();rF();Eu0();wi();vs1=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],ys1=["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"];po8=gs1.object({data:Yu.describe("Data for the new virtual MCP")}),to8=gs1.object({item:pZ.describe("The created virtual MCP entity")}),Lu0=G0({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:po8,outputSchema:to8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to create virtual MCP");if($.data.pinned===!0)$50(Z);let{prompts:Y,...Q}=$.data,J={...Q,icon:Q.icon??no8()},W=await Z.storage.virtualMcps.create(G.id,X,J);if(Y?.length&&Z.orgFs&&W.id)await V40(Z.orgFs,W.id,X,Y);return{item:W}}})});function ro8($){let Z=[],G=0;while(G<$.length){let X=$[G];if(X==="%")Z.push(".*");else if(X==="_")Z.push(".");else if(/[.*+?^${}()|[\]\\]/.test(X))Z.push("\\"+X);else Z.push(X);G++}return Z.join("")}function sH($){return typeof $==="string"||typeof $==="number"}function zu0($,Z){let G=Z.split("."),X=$;for(let Y of G){if(X==null||typeof X!=="object")return;X=X[Y]}return X}function oo8($,Z){return $.connections.some((G)=>G.connection_id===Z)}function Z50($,Z){if("conditions"in Z){let{operator:W,conditions:K}=Z;switch(W){case"and":return K.every((w)=>Z50($,w));case"or":return K.some((w)=>Z50($,w));case"not":return!K.every((w)=>Z50($,w));default:return!0}}let{field:G,operator:X,value:Y}=Z,Q=G.join(".");if(Q==="connection_id"){if(X!=="eq"||typeof Y!=="string")return!1;return oo8($,Y)}let J=zu0($,Q);switch(X){case"eq":return J===Y;case"gt":return sH(J)&&sH(Y)&&J>Y;case"gte":return sH(J)&&sH(Y)&&J>=Y;case"lt":return sH(J)&&sH(Y)&&J<Y;case"lte":return sH(J)&&sH(Y)&&J<=Y;case"in":return Array.isArray(Y)&&Y.includes(J);case"like":if(typeof J!=="string"||typeof Y!=="string")return!1;if(Y.length>100)return!1;let W=ro8(Y);return new RegExp(`^${W}$`,"i").test(J);case"contains":if(typeof J!=="string"||typeof Y!=="string")return!1;return J.toLowerCase().includes(Y.toLowerCase());default:return!0}}function ao8($,Z){return[...$].sort((G,X)=>{for(let Y of Z){let Q=Y.field.join("."),J=zu0(G,Q),W=zu0(X,Q),K=0;if(J==null&&W==null)continue;if(J==null)K=Y.nulls==="first"?-1:1;else if(W==null)K=Y.nulls==="first"?1:-1;else if(typeof J==="string"&&typeof W==="string")K=J.localeCompare(W);else if(typeof J==="number"&&typeof W==="number")K=J-W;else K=String(J).localeCompare(String(W));if(K!==0)return Y.direction==="desc"?-K:K}return 0})}var so8,eo8,ju0;var cs1=O(()=>{DY();X1();rF();so8=r3,eo8=bw(pZ),ju0=G0({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:so8,outputSchema:eo8,handler:async($,Z)=>{await Z.access.check();let G=D0(Z),X=$.where&&!("conditions"in $.where)&&$.where.field.join(".")==="connection_id"&&$.where.operator==="eq"&&typeof $.where.value==="string"?$.where.value:void 0,Y=$.where&&!("conditions"in $.where)&&$.where.field.join(".")==="pinned"&&$.where.operator==="eq"&&typeof $.where.value==="boolean"?$.where.value:void 0,J=X?await Z.storage.virtualMcps.listByConnectionId(G.id,X):await Z.storage.virtualMcps.list(G.id,Y!==void 0?{pinnedOnly:Y}:void 0);if($.where)J=J.filter((H)=>Z50(H,$.where));if($.orderBy&&$.orderBy.length>0)J=ao8(J,$.orderBy);let W=J.length,K=$.offset??0,w=$.limit??100,U=J.slice(K,K+w),F=K+w<W;return{items:U,totalCount:W,hasMore:F}}})});import{z as Pu0}from"zod";var $a8,Za8,Au0;var us1=O(()=>{X1();rF();$a8=Pu0.object({id:Pu0.string().describe("ID of the virtual MCP to retrieve")}),Za8=Pu0.object({item:pZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),Au0=G0({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:$a8,outputSchema:Za8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.virtualMcps.findById($.id);if(X&&X.organization_id!==G.id)return{item:null};if(!X)return{item:null};return{item:X}}})});import{z as Tu0}from"zod";var Ga8,Xa8,Iu0;var ds1=O(()=>{X1();wi();rF();Eu0();Ga8=Tu0.object({id:Tu0.string().describe("ID of the virtual MCP to update"),data:Qu.describe("Partial virtual MCP data to update")}),Xa8=Tu0.object({item:pZ.describe("The updated virtual MCP entity")}),Iu0=G0({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:Ga8,outputSchema:Xa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to update virtual MCP");let Y=await Z.storage.virtualMcps.findById($.id);if(!Y)throw Error(`Virtual MCP not found: ${$.id}`);if(Y.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.id}`);let{prompts:Q,...J}=$.data;if(J.metadata&&Y.metadata)J.metadata={...Y.metadata,...J.metadata};if(J.pinned!==void 0&&J.pinned!==Y.pinned)$50(Z);let W=await Z.storage.virtualMcps.update($.id,X,J);if(Q!==void 0&&Z.orgFs)await V40(Z.orgFs,$.id,X,Q);return{item:W}}})});import{z as Ru0}from"zod";var Ya8,Qa8,qu0;var ls1=O(()=>{oD();t3();X1();wi();rF();Ya8=Ru0.object({id:Ru0.string().describe("ID of the virtual MCP to delete")}),Qa8=Ru0.object({item:pZ.describe("The deleted virtual MCP entity")}),qu0=G0({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:Ya8,outputSchema:Qa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.virtualMcps.findById($.id);if(!X)throw Error(`Virtual MCP not found: ${$.id}`);if(X.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.id}`);if(await Z.storage.virtualMcps.delete($.id),Z.orgFs)await ac0(Z.orgFs,$.id,y1(Z)??"system");let Y=X.metadata?.githubRepo?.connectionId;if(Y)try{let Q=await Z.storage.connections.findById(Y,G.id);if(Q&&TW(Q)){let W=await new V5(Z.db,Z.vault).get(Y);if(W?.accessToken)try{await fetch("https://api.github.com/installation/token",{method:"DELETE",headers:{Authorization:`Bearer ${W.accessToken}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"},signal:AbortSignal.timeout(5000)})}catch{}await Z.storage.connections.delete(Y)}}catch(Q){console.error("[VIRTUAL_MCP_DELETE] failed to tear down repo-scoped connection",{childConnectionId:Y,error:Q.message})}return{item:X}}})});import{z as BX}from"zod";var Ja8,Mu0;var ms1=O(()=>{X1();Ja8=BX.object({id:BX.string(),virtualMcpId:BX.string(),pluginId:BX.string(),connectionId:BX.string().nullable(),settings:BX.record(BX.string(),BX.unknown()).nullable(),createdAt:BX.string(),updatedAt:BX.string()}),Mu0=G0({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:BX.object({virtualMcpId:BX.string().describe("Virtual MCP ID"),pluginId:BX.string().describe("Plugin ID")}),outputSchema:BX.object({config:Ja8.nullable()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let{virtualMcpId:G,pluginId:X}=$,Y=await Z.storage.virtualMcpPluginConfigs.get(G,X);if(!Y)return{config:null};return{config:{id:Y.id,virtualMcpId:Y.virtualMcpId,pluginId:Y.pluginId,connectionId:Y.connectionId,settings:Y.settings,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updatedAt:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt}}}})});import{z as RZ}from"zod";var Wa8,ku0;var is1=O(()=>{X1();wb();nG();Wa8=RZ.object({id:RZ.string(),virtualMcpId:RZ.string(),pluginId:RZ.string(),connectionId:RZ.string().nullable(),settings:RZ.record(RZ.string(),RZ.unknown()).nullable(),createdAt:RZ.string(),updatedAt:RZ.string()}),ku0=G0({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:RZ.object({virtualMcpId:RZ.string().describe("Virtual MCP ID"),pluginId:RZ.string().describe("Plugin ID"),connectionId:RZ.string().nullable().optional().describe("MCP connection to bind"),settings:RZ.record(RZ.string(),RZ.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:RZ.object({config:Wa8}),handler:async($,Z)=>{M0(Z),await Z.access.check();let{virtualMcpId:G,pluginId:X,connectionId:Y,settings:Q}=$,J=y1(Z),W=await Z.storage.connections.findById(G);if(!W)throw Error(`Connection not found: ${G}`);let K=Y?await Z.storage.connections.findById(Y):null;if(Y&&W.organization_id&&!K&&T3()){if(B10(Y,W.organization_id)){if(!J)throw Error("User ID required to create dev-assets connection");let U=Kb(W.organization_id,EZ());await Z.storage.connections.create({...U,organization_id:W.organization_id,created_by:J})}}let w=await Z.storage.virtualMcpPluginConfigs.upsert(G,X,{connectionId:Y,settings:Q});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 RG}from"zod";var Ka8,Su0;var ns1=O(()=>{X1();rF();Ka8=RG.object({connectionId:RG.string(),toolName:RG.string(),label:RG.string(),icon:RG.string().nullable().optional()}),Su0=G0({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:RG.object({virtualMcpId:RG.string().describe("Virtual MCP ID"),pinnedViews:RG.array(Ka8).describe("Pinned views to set for the virtual MCP sidebar"),layout:RG.object({defaultMainView:RG.object({type:RG.string(),id:RG.string().optional(),toolName:RG.string().optional()}).nullable().optional(),chatDefaultOpen:RG.boolean().nullable().optional()}).optional()}),outputSchema:RG.object({item:pZ.nullable()}),handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let{virtualMcpId:X,pinnedViews:Y,layout:Q}=$,J=y1(Z),W=await Z.storage.virtualMcps.findById(X);if(!W)throw Error(`Virtual MCP not found: ${X}`);if(W.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X}`);let K=W.metadata?.ui??{},w={...K,pinnedViews:Y.length>0?Y:null,layout:Q??K.layout??null};return{item:await Z.storage.virtualMcps.update(X,J??"system",{metadata:{...W.metadata,ui:w}})}}})});import{z as xw}from"zod";var wa8,Ua8,Vu0;var ps1=O(()=>{X1();wa8=xw.object({ids:xw.array(xw.string()).describe("Virtual MCP ids to look up")}),Ua8=xw.object({items:xw.array(xw.object({id:xw.string(),last_used_at:xw.string().optional(),last_used_by:xw.string().optional()}))}),Vu0=G0({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:wa8,outputSchema:Ua8,handler:async($,Z)=>{M0(Z),D0(Z),await Z.access.check();let G=await Z.storage.threads.findLastUsedByVirtualMcpIds($.ids);return{items:$.ids.map((X)=>({id:X,last_used_at:G.get(X)?.last_used_at,last_used_by:G.get(X)?.last_used_by}))}}})});var ts1=O(()=>{hs1();cs1();us1();ds1();ls1();ms1();is1();ns1();ps1()});import{z as W5}from"zod";var Cu0;var rs1=O(()=>{I5();X1();Cu0=G0({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:W5.object({id:W5.string().describe("Log ID to fetch")}),outputSchema:W5.object({log:W5.object({id:W5.string().optional(),organizationId:W5.string(),connectionId:W5.string(),toolName:W5.string(),input:W5.record(W5.string(),W5.unknown()),output:W5.record(W5.string(),W5.unknown()),isError:W5.boolean(),errorMessage:W5.string().nullish(),durationMs:W5.number(),timestamp:W5.string(),userId:W5.string().nullish(),requestId:W5.string(),userAgent:W5.string().nullish(),virtualMcpId:W5.string().nullish(),properties:W5.record(W5.string(),W5.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async($,Z)=>{await Z.access.check(),await yY();let G=D0(Z),X=await Z.storage.monitoring.getById(G.id,$.id);if(!X)return{log:null};return{log:{...X,timestamp:X.timestamp instanceof Date?X.timestamp.toISOString():X.timestamp}}}})});import{z as H8}from"zod";var Ha8,_u0;var os1=O(()=>{I5();X1();Ha8=H8.object({id:H8.string().optional().describe("Unique log identifier"),organizationId:H8.string().describe("Organization ID"),connectionId:H8.string().describe("Connection ID"),toolName:H8.string().describe("Name of the tool that was called"),isError:H8.boolean().describe("Whether the call resulted in an error"),errorMessage:H8.string().nullish().describe("Error message if applicable"),durationMs:H8.number().describe("Call duration in milliseconds"),timestamp:H8.string().describe("ISO 8601 timestamp of the call"),userId:H8.string().nullish().describe("User who triggered the call"),requestId:H8.string().describe("Unique request identifier"),userAgent:H8.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:H8.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:H8.record(H8.string(),H8.string()).nullish().describe("Custom key-value metadata attached to the log")}),_u0=G0({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:H8.object({connectionId:H8.string().optional().describe("Filter by connection ID"),excludeConnectionIds:H8.array(H8.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:H8.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:H8.string().optional().describe("Filter by tool name"),isError:H8.boolean().optional().describe("Filter by error status"),startDate:H8.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:H8.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:H8.number().default(20).describe("Maximum number of results"),offset:H8.number().default(0).describe("Offset for pagination"),properties:H8.record(H8.string(),H8.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:H8.array(H8.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:H8.record(H8.string(),H8.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:H8.record(H8.string(),H8.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:H8.object({logs:H8.array(Ha8).describe("Array of monitoring logs"),total:H8.number().describe("Total number of logs matching filters"),offset:H8.number().describe("Current offset for pagination"),limit:H8.number().describe("Current limit for pagination")}),handler:async($,Z)=>{await yY();let G=D0(Z),Y=$.properties||$.propertyKeys||$.propertyPatterns||$.propertyInValues?{properties:$.properties,propertyKeys:$.propertyKeys,propertyPatterns:$.propertyPatterns,propertyInValues:$.propertyInValues}:void 0,Q={organizationId:G.id,connectionId:$.connectionId,excludeConnectionIds:$.excludeConnectionIds,virtualMcpId:$.virtualMcpId,toolName:$.toolName,isError:$.isError,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,limit:$.limit,offset:$.offset,propertyFilters:Y},J=await Z.storage.monitoring.query(Q);return{logs:J.logs.map(({input:W,output:K,...w})=>({...w,timestamp:w.timestamp instanceof Date?w.timestamp.toISOString():w.timestamp})),total:J.total,offset:$.offset,limit:$.limit}}})});import{z as K$}from"zod";var bu0;var as1=O(()=>{I5();X1();bu0=G0({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:K$.object({startDate:K$.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:K$.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:K$.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:K$.array(K$.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:K$.array(K$.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:K$.array(K$.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:K$.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:K$.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries"),userIds:K$.array(K$.string()).max(100).optional().describe("Filter LLM usage by user IDs (only applied when llmUsage is true)"),llmUsage:K$.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:K$.object({totalCalls:K$.number().describe("Total number of tool calls"),errorRate:K$.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:K$.number().describe("Average call duration in milliseconds"),errorRatePercent:K$.string().optional().describe("Error rate as a percentage string"),totalErrors:K$.number().optional().describe("Total number of errors"),p50DurationMs:K$.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:K$.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:K$.array(K$.object({connectionId:K$.string(),calls:K$.number(),errors:K$.number(),errorRate:K$.number(),avgDurationMs:K$.number()})).optional().describe("Per-connection metric breakdown"),totalInputTokens:K$.number().optional().describe("Total input tokens (LLM usage mode)"),totalOutputTokens:K$.number().optional().describe("Total output tokens (LLM usage mode)"),totalTokens:K$.number().optional().describe("Total tokens (LLM usage mode)"),totalCostUsd:K$.number().optional().describe("Total USD cost (LLM usage mode; only non-zero for providers that report cost)"),topTools:K$.array(K$.object({toolName:K$.string(),connectionId:K$.string().nullable(),calls:K$.number(),inputTokens:K$.number().optional(),outputTokens:K$.number().optional(),costUsd:K$.number().optional()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:K$.array(K$.object({timestamp:K$.string(),toolName:K$.string(),calls:K$.number(),errors:K$.number(),avg:K$.number(),p95:K$.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:K$.array(K$.object({timestamp:K$.string(),calls:K$.number(),errors:K$.number(),errorRate:K$.number(),avg:K$.number(),p50:K$.number(),p95:K$.number(),inputTokens:K$.number().optional(),outputTokens:K$.number().optional(),totalTokens:K$.number().optional(),costUsd:K$.number().optional()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async($,Z)=>{let G=D0(Z);if(await Z.access.check(),await yY(),$.interval&&$.llmUsage)return Z.storage.monitoring.queryLlmUsageStats({organizationId:G.id,interval:$.interval,connectionId:$.connectionIds?.[0]??"decopilot",startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,userIds:$.userIds,topN:$.topN});if($.interval){let Y=await Z.storage.monitoring.queryMetricTimeseries({organizationId:G.id,interval:$.interval,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,filters:{connectionIds:$.connectionIds,excludeConnectionIds:$.excludeConnectionIds,toolNames:$.toolNames,status:$.status}});if(!$.topN)return Y;let Q=await Z.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:G.id,interval:$.interval,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0,topN:$.topN,filters:{connectionIds:$.connectionIds,excludeConnectionIds:$.excludeConnectionIds,toolNames:$.toolNames,status:$.status}});return{...Y,topTools:Q.topTools,topToolsTimeseries:Q.timeseries}}let X=await Z.storage.monitoring.getStats({organizationId:G.id,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0});return{...X,errorRatePercent:(X.errorRate*100).toFixed(2)}}})});import{z as qG}from"zod";var fu0;var ss1=O(()=>{I5();X1();fu0=G0({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:qG.object({threadIds:qG.array(qG.string()).min(1).max(500).describe("Thread IDs to aggregate usage for (max 500)"),connectionId:qG.string().optional().describe("LLM connection ID (defaults to 'decopilot')"),startDate:qG.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:qG.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:qG.object({items:qG.array(qG.object({threadId:qG.string(),calls:qG.number(),inputTokens:qG.number(),outputTokens:qG.number(),totalTokens:qG.number(),costUsd:qG.number()}))}),handler:async($,Z)=>{let G=D0(Z);return await Z.access.check(),await yY(),{items:await Z.storage.monitoring.queryThreadUsage({organizationId:G.id,connectionId:$.connectionId??"decopilot",threadIds:$.threadIds,startDate:$.startDate?new Date($.startDate):void 0,endDate:$.endDate?new Date($.endDate):void 0})}}})});var es1=O(()=>{rs1();os1();as1();ss1()});import{z as EY}from"zod";var xu0;var $e1=O(()=>{X1();xu0=G0({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:EY.object({slug:EY.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:EY.string().min(1).max(255),description:EY.string().optional()}),outputSchema:EY.object({id:EY.string(),name:EY.string(),slug:EY.string(),logo:EY.string().nullable().optional(),metadata:EY.any().optional(),createdAt:EY.string().datetime().describe("ISO 8601 timestamp"),members:EY.array(EY.any()).optional()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=y1(Z);if(!G)throw Error("User ID required to create organization");let X=await Z.boundAuth.organization.create({name:$.name,slug:$.slug,metadata:$.description?{description:$.description}:void 0,userId:G});if(!X)throw Error("Failed to create organization");return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as o3}from"zod";var vu0;var Ze1=O(()=>{X1();vu0=G0({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:o3.object({userId:o3.string().optional()}),outputSchema:o3.object({organizations:o3.array(o3.object({id:o3.string(),name:o3.string(),slug:o3.string(),logo:o3.string().nullable().optional(),metadata:o3.any().optional(),createdAt:o3.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=y1(Z),X=$.userId||G;if(!X)throw Error("User ID required to list organizations");return{organizations:(await Z.boundAuth.organization.list(X)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});import{z as PQ}from"zod";var yu0;var Ge1=O(()=>{X1();yu0=G0({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:PQ.object({}),outputSchema:PQ.object({id:PQ.string(),name:PQ.string(),slug:PQ.string(),logo:PQ.string().nullable().optional(),metadata:PQ.any().optional(),createdAt:PQ.string().datetime().describe("ISO 8601 timestamp"),members:PQ.array(PQ.any()).optional(),invitations:PQ.array(PQ.any()).optional()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.boundAuth.organization.get(G);if(!X)throw Error("No active organization found");let Y=new Date,Q=X.invitations?.filter((J)=>new Date(J.expiresAt)>Y);return{...X,invitations:Q,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as a3}from"zod";var gu0;var Xe1=O(()=>{X1();gu0=G0({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:a3.object({id:a3.string(),name:a3.string().min(1).max(255).optional(),description:a3.string().optional()}),outputSchema:a3.object({id:a3.string(),name:a3.string(),slug:a3.string(),logo:a3.string().nullable().optional(),metadata:a3.any().optional(),createdAt:a3.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G={};if($.name)G.name=$.name;if($.description)G.metadata={description:$.description};let X=await Z.boundAuth.organization.update({organizationId:$.id,data:G});if(!X)throw Error("Failed to update organization");return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});import{z as Pi}from"zod";var hu0;var Ye1=O(()=>{X1();hu0=G0({name:"ORGANIZATION_DELETE",description:"Archive an organization (soft delete).",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Pi.object({id:Pi.string()}),outputSchema:Pi.object({success:Pi.boolean(),id:Pi.string()}),handler:async($,Z)=>{return M0(Z),await Z.access.check(),await Z.boundAuth.organization.update({organizationId:$.id,data:{metadata:{archived:!0,archivedAt:new Date().toISOString()}}}),{success:!0,id:$.id}}})});import{z as y$}from"zod";var Ai,Ti,vx,Qe1,G50,Ii,Ri,eH;var vw=O(()=>{Ai=y$.object({title:y$.string(),url:y$.string(),icon:y$.string()}),Ti=y$.object({registries:y$.record(y$.string(),y$.object({enabled:y$.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:y$.array(y$.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),vx=y$.object({keyId:y$.string(),modelId:y$.string(),title:y$.string().optional()}).nullable(),Qe1=y$.enum(["fast","smart","thinking","image","web_search","deep_research"]),G50=y$.enum(["fast","smart","thinking"]),Ii=y$.object({tiers:y$.object({fast:vx,smart:vx,thinking:vx,image:vx,web_search:vx,deep_research:vx})}),Ri=y$.object({ids:y$.array(y$.string()).describe("Ordered list of custom virtual MCP agent ids to show on the home view.")}),eH=y$.object({id:y$.string().describe("Brand context ID"),name:y$.string().describe("Company name"),domain:y$.string().describe("Company domain (e.g. example.com)"),overview:y$.string().describe("Company overview / description"),logo:y$.string().nullable().optional().describe("Logo URL"),favicon:y$.string().nullable().optional().describe("Favicon URL"),ogImage:y$.string().nullable().optional().describe("OG image URL"),fonts:y$.object({heading:y$.string().optional().describe("Font family for headings"),body:y$.string().optional().describe("Font family for body text"),code:y$.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:y$.object({primary:y$.string().optional().describe("Primary brand color (hex)"),secondary:y$.string().optional().describe("Secondary brand color (hex)"),accent:y$.string().optional().describe("Accent / highlight color (hex)"),background:y$.string().optional().describe("Background color (hex)"),foreground:y$.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:y$.array(y$.record(y$.string(),y$.unknown())).nullable().optional().describe("Brand images"),metadata:y$.record(y$.string(),y$.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:y$.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:y$.boolean().optional().describe("Whether this is the default brand for the organization")})});import{z as yw}from"zod";var cu0;var Je1=O(()=>{X1();vw();cu0=G0({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:yw.object({}),outputSchema:yw.object({organizationId:yw.string(),sidebar_items:yw.array(Ai).nullable().optional(),enabled_plugins:yw.array(yw.string()).nullable().optional(),registry_config:Ti.nullable().optional(),simple_mode:Ii.nullable().optional(),default_home_agents:Ri.nullable().optional(),task_board_enabled:yw.boolean().optional(),createdAt:yw.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:yw.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.organizationSettings.get(G);if(!X)return{organizationId:G};return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});import{z as OX}from"zod";var uu0;var We1=O(()=>{X1();vw();uu0=G0({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:OX.object({organizationId:OX.string(),sidebar_items:OX.array(Ai).optional(),enabled_plugins:OX.array(OX.string()).optional(),registry_config:Ti.optional(),simple_mode:Ii.optional(),default_home_agents:Ri.optional(),task_board_enabled:OX.boolean().optional()}),outputSchema:OX.object({organizationId:OX.string(),sidebar_items:OX.array(Ai).nullable().optional(),enabled_plugins:OX.array(OX.string()).nullable().optional(),registry_config:Ti.nullable().optional(),simple_mode:Ii.nullable().optional(),default_home_agents:Ri.nullable().optional(),task_board_enabled:OX.boolean().optional(),createdAt:OX.string().datetime().describe("ISO 8601 timestamp"),updatedAt:OX.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{if(M0(Z),await Z.access.check(),Z.organization&&Z.organization.id!==$.organizationId)throw Error("Cannot update settings for a different organization");let G=await Z.storage.organizationSettings.upsert($.organizationId,{sidebar_items:$.sidebar_items,enabled_plugins:$.enabled_plugins,registry_config:$.registry_config,simple_mode:$.simple_mode,default_home_agents:$.default_home_agents,task_board_enabled:$.task_board_enabled});return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});import{z as s3}from"zod";var Ke1,du0,lu0;var we1=O(()=>{X1();vw();Ke1=eH.extend({organizationId:s3.string(),archivedAt:s3.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:s3.string().describe("ISO 8601 timestamp"),updatedAt:s3.string().describe("ISO 8601 timestamp")}),du0=G0({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:s3.object({includeArchived:s3.boolean().optional().describe("Include archived brands in the list")}),outputSchema:s3.object({items:s3.array(Ke1)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Z.storage.brandContext.list(G,{includeArchived:$.includeArchived})).map((Y)=>({...Y,archivedAt:Y.archivedAt instanceof Date?Y.archivedAt.toISOString():Y.archivedAt,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updatedAt:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt}))}}}),lu0=G0({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:s3.object({id:s3.string().describe("Brand context ID")}),outputSchema:Ke1.extend({organizationId:s3.string()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.brandContext.get($.id,G);if(!X)throw Error("Brand context not found");return{...X,archivedAt:X.archivedAt instanceof Date?X.archivedAt.toISOString():X.archivedAt,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});import{z as QE}from"zod";var Ue1,mu0,iu0,nu0;var Fe1=O(()=>{X1();vw();Ue1=eH.extend({organizationId:QE.string(),createdAt:QE.string().describe("ISO 8601 timestamp"),updatedAt:QE.string().describe("ISO 8601 timestamp")}),mu0=G0({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:eH.omit({id:!0}),outputSchema:Ue1,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.storage.brandContext.create(G,{name:$.name,domain:$.domain,overview:$.overview,logo:$.logo??null,favicon:$.favicon??null,ogImage:$.ogImage??null,fonts:$.fonts??null,colors:$.colors??null,images:$.images??null,metadata:$.metadata??null});return{...X,archivedAt:X.archivedAt instanceof Date?X.archivedAt.toISOString():X.archivedAt,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}}),iu0=G0({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:eH.partial().required({id:!0}),outputSchema:Ue1,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Z.storage.brandContext.get($.id,G))throw Error("Brand context not found");let{id:Y,...Q}=$;if(Q.isDefault===!0)await Z.storage.brandContext.setDefault(Y,G);let J=await Z.storage.brandContext.update(Y,G,{name:Q.name,domain:Q.domain,overview:Q.overview,logo:Q.logo!==void 0?Q.logo??null:void 0,favicon:Q.favicon!==void 0?Q.favicon??null:void 0,ogImage:Q.ogImage!==void 0?Q.ogImage??null:void 0,fonts:Q.fonts!==void 0?Q.fonts??null:void 0,colors:Q.colors!==void 0?Q.colors??null:void 0,images:Q.images!==void 0?Q.images??null:void 0,metadata:Q.metadata!==void 0?Q.metadata??null:void 0,archivedAt:Q.archivedAt!==void 0?Q.archivedAt??null:void 0,isDefault:Q.isDefault===!1?!1:void 0});return{...J,archivedAt:J.archivedAt instanceof Date?J.archivedAt.toISOString():J.archivedAt,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}),nu0=G0({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:QE.object({id:QE.string().describe("Brand context ID")}),outputSchema:QE.object({success:QE.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Z.storage.brandContext.get($.id,G))throw Error("Brand context not found");return await Z.storage.brandContext.update($.id,G,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function X50($,Z,G){let X=$.trim();if(!X.startsWith("http"))X=`https://${X}`;let Y=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Z}`},body:JSON.stringify({url:X,formats:["branding"]})});if(!Y.ok){let H=await Y.text().catch(()=>"");throw Error(`Firecrawl API error: ${Y.status} ${H.slice(0,200)}`)}let Q=await Y.json();if(!Q.success||!Q.data?.branding)return null;let J=Q.data.branding,W=Q.data.metadata??{},K=Da8(J,W);return{name:W.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((H)=>H.trim()).filter(Boolean)?.slice().sort((H,N)=>H.length-N.length)[0]??W.ogSiteName??G??$,domain:$,overview:W.description??"",logo:K.logo,favicon:K.favicon,ogImage:K.ogImage,fonts:K.fonts,colors:K.colors,images:null,metadata:Object.keys(K.metadata).length>0?K.metadata:null}}function Da8($,Z){let G=$.images??{},X=$.colors??{},Y={};for(let[U,F]of Object.entries(X))if(typeof F==="string"&&F&&Ba8.has(U))Y[U]=F;let Q={},W=($.typography??{}).fontFamilies??{};for(let[U,F]of Object.entries(W))if(typeof F==="string"&&F){let H=Oa8[U.toLowerCase()];if(H&&!Q[H])Q[H]=F}let K=$.fonts;if(Array.isArray(K))for(let U of K){let F=U.family;if(typeof F==="string"&&F&&!Q.body)Q.body=F}let w={};for(let U of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if($[U]!==void 0)w[U]=$[U];return{logo:G.logo??null,favicon:G.favicon??null,ogImage:G.ogImage??Z.ogImage??null,fonts:Object.keys(Q).length>0?Q:null,colors:Object.keys(Y).length>0?Y:null,metadata:w}}var Ba8,Oa8;var pu0=O(()=>{Ba8=new Set(["primary","secondary","accent","background","foreground"]),Oa8={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});import{z as Y50}from"zod";var Ea8,tu0;var He1=O(()=>{X1();pu0();vw();Ea8=eH.pick({id:!0,name:!0,domain:!0,overview:!0,logo:!0,favicon:!0,ogImage:!0,fonts:!0,colors:!0}).extend({success:Y50.boolean()}),tu0=G0({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:Y50.object({domain:Y50.string().describe("Website domain to extract brand from"),brandId:Y50.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:Ea8,modelSummary:($)=>$.success?`Brand saved (id=${$.id}, name=${$.name}, domain=${$.domain}). The UI rendered the logo, colors, fonts, and overview.`:"Brand extraction failed.",handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=Z.firecrawlApiKey;if(!X)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let Y=await X50($.domain,X,$.domain);if(!Y)throw Error("Firecrawl did not return branding data for this URL");let Q={name:Y.name,domain:Y.domain,overview:Y.overview,logo:Y.logo,favicon:Y.favicon,ogImage:Y.ogImage,fonts:Y.fonts,colors:Y.colors,images:Y.images,metadata:Y.metadata},J=$.brandId?await(async()=>{if(!await Z.storage.brandContext.get($.brandId,G))throw Error("Brand context not found");return Z.storage.brandContext.update($.brandId,G,Q)})():await Z.storage.brandContext.create(G,Q);return{id:J.id,name:J.name,domain:J.domain,overview:J.overview,logo:J.logo,favicon:J.favicon,ogImage:J.ogImage,fonts:J.fonts,colors:J.colors,success:!0}}})});function Ne1($){let Z=$.metadata??{};return{id:$.id,name:$.name,domain:$.domain||void 0,colors:$.colors??void 0,fonts:$.fonts??void 0,assets:$.logo||$.favicon||$.ogImage?{logo:$.logo??void 0,favicon:$.favicon??void 0,ogImage:$.ogImage??void 0}:void 0,overview:$.overview||void 0,tagline:typeof Z.tagline==="string"?Z.tagline:void 0,tone:typeof Z.tone==="string"?Z.tone:void 0,metadata:(()=>{let G=Object.fromEntries(Object.entries(Z).filter(([X])=>X!=="tagline"&&X!=="tone"));return Object.keys(G).length>0?G:void 0})()}}var ru0,ou0;var Be1=O(()=>{wu0();X1();ru0=G0({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:t40,outputSchema:Li,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=$.id?await Z.storage.brandContext.get($.id,G):await Z.storage.brandContext.getDefault(G);if(!X)throw Error($.id?"Brand not found":"No default brand configured");return Ne1(X)}}),ou0=G0({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:r40,outputSchema:o40,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Z.storage.brandContext.list(G)).map(Ne1)}}})});import{resolveTxt as La8}from"dns/promises";function au0($){return`${za8}.${$.toLowerCase()}`}function Oe1(){return`deco-verify-${crypto.randomUUID().replace(/-/g,"")}`}async function De1($,Z,G=La8){if(!Z)return!1;try{return(await G(au0($))).some((Y)=>Y.join("").trim()===Z)}catch{return!1}}var za8="_deco-verify";var Ee1=()=>{};import{z as z5}from"zod";function $N($){let Z=$.verificationStatus==="pending"&&Boolean($.verificationToken);return{id:$.id,domain:$.domain,joinMode:$.joinMode,verificationStatus:$.verificationStatus,verificationMethod:$.verificationMethod,verifiedAt:$.verifiedAt?new Date($.verifiedAt).toISOString():null,recordName:Z?au0($.domain):null,recordValue:Z?$.verificationToken:null}}function Pa8($){let Z=$.toLowerCase().trim();if(!ja8.test(Z))throw Error(`Invalid domain format: "${Z}". Must be a valid domain like "acme.com"`);if(e3.has(Z))throw Error(`Cannot claim generic email domain "${Z}". Only corporate domains are allowed.`);return Z}var ja8,su0,Q50,eu0,$d0,Zd0,Gd0,Xd0;var Le1=O(()=>{gw();Ee1();X1();ja8=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,su0=z5.enum(["off","auto","request"]),Q50=z5.object({id:z5.string(),domain:z5.string(),joinMode:su0,verificationStatus:z5.enum(["pending","verified"]),verificationMethod:z5.enum(["email","dns"]).nullable(),verifiedAt:z5.string().nullable(),recordName:z5.string().nullable(),recordValue:z5.string().nullable()});eu0=G0({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:z5.object({}),outputSchema:z5.object({domains:z5.array(Q50)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{domains:(await Z.storage.organizationDomains.listByOrganizationId(G.id)).map($N)}}}),$d0=G0({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:z5.object({domain:z5.string().min(1).max(255).describe("Domain to claim, e.g. acme.com"),joinMode:su0.optional().describe("Initial join mode (only applied when the domain is trusted immediately via email match).")}),outputSchema:Q50,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=Pa8($.domain),Q=Z.auth.user?.email?.split("@")[1]?.toLowerCase(),J=Boolean(Z.auth.user?.emailVerified)&&Q===X,W=await Z.storage.organizationDomains.getByOrgAndDomain(G.id,X);if(W){if(W.verificationStatus!=="verified"&&J){let w=await Z.storage.organizationDomains.markVerified(W.id,"email");return $N(w)}return $N(W)}let K=J?await Z.storage.organizationDomains.add(G.id,X,{joinMode:$.joinMode??"off",verificationStatus:"verified",verificationMethod:"email"}):await Z.storage.organizationDomains.add(G.id,X,{joinMode:"off",verificationStatus:"pending",verificationToken:Oe1()});return $N(K)}}),Zd0=G0({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:z5.object({id:z5.string(),joinMode:su0}),outputSchema:Q50,handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");if($.joinMode!=="off"&&X.verificationStatus!=="verified")throw Error("Verify the domain before enabling auto-join or requests.");let Y=await Z.storage.organizationDomains.updateJoinMode($.id,$.joinMode);return $N(Y)}}),Gd0=G0({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:z5.object({id:z5.string()}),outputSchema:z5.object({verified:z5.boolean(),domain:Q50}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");if(X.verificationStatus==="verified")return{verified:!0,domain:$N(X)};if(!X.verificationToken)throw Error("Domain has no pending DNS verification.");if(!await De1(X.domain,X.verificationToken))return{verified:!1,domain:$N(X)};let Q=await Z.storage.organizationDomains.markVerified($.id,"dns");return{verified:!0,domain:$N(Q)}}}),Xd0=G0({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:z5.object({id:z5.string()}),outputSchema:z5.object({success:z5.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationDomains.getById($.id);if(!X||X.organizationId!==G.id)throw Error("Domain not found");return await Z.storage.organizationDomains.removeById($.id),{success:!0}}})});import{z as N9}from"zod";var Aa8,Yd0,Qd0,Jd0;var ze1=O(()=>{X1();v4();Aa8=N9.object({id:N9.string(),userId:N9.string(),status:N9.enum(["pending","approved","denied"]),createdAt:N9.string(),user:N9.object({id:N9.string(),name:N9.string(),email:N9.string(),image:N9.string().nullable()}).nullable()}),Yd0=G0({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:N9.object({}),outputSchema:N9.object({requests:N9.array(Aa8)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{requests:(await Z.storage.organizationJoinRequests.listPendingWithUser(G.id)).map((Y)=>({id:Y.id,userId:Y.userId,status:Y.status,createdAt:new Date(Y.createdAt).toISOString(),user:Y.user}))}}}),Qd0=G0({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:N9.object({requestId:N9.string()}),outputSchema:N9.object({success:N9.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationJoinRequests.getById($.requestId);if(!X||X.organizationId!==G.id)throw Error("Join request not found");if(X.status!=="pending")throw Error("Join request has already been decided");let Y=y1(Z);if(!await Z.storage.organizationJoinRequests.decide(X.id,"approved",Y??X.userId))return{success:!0};try{await Z.boundAuth.organization.addMember({organizationId:G.id,userId:X.userId,role:["user"]})}catch(J){if(!(J instanceof Error?J.message.toLowerCase():"").includes("already a member"))throw J}if(Y)r1.capture({distinctId:Y,event:"organization_join_request_approved",groups:{organization:G.id},properties:{organization_id:G.id,user_id:X.userId}});return{success:!0}}}),Jd0=G0({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:N9.object({requestId:N9.string()}),outputSchema:N9.object({success:N9.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.organizationJoinRequests.getById($.requestId);if(!X||X.organizationId!==G.id)throw Error("Join request not found");if(X.status!=="pending")throw Error("Join request has already been decided");let Y=y1(Z);if(await Z.storage.organizationJoinRequests.decide(X.id,"denied",Y??X.userId)&&Y)r1.capture({distinctId:Y,event:"organization_join_request_denied",groups:{organization:G.id},properties:{organization_id:G.id,user_id:X.userId}});return{success:!0}}})});import{z as DX}from"zod";var Wd0;var je1=O(()=>{v4();X1();KW();Wd0=G0({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:DX.object({organizationId:DX.string().optional(),userId:DX.string(),role:DX.array(DX.string())}),outputSchema:DX.object({id:DX.string(),organizationId:DX.string(),userId:DX.string(),role:DX.union([DX.string(),DX.array(DX.string())]),createdAt:DX.string().datetime().describe("ISO 8601 timestamp")}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(G!==Z.organization?.id)throw Error("Organization ID does not match authenticated organization");let X=Array.isArray($.role)?$.role[0]:$.role;if(X&&!s80(Z.auth.user?.role,X))throw Error(`Insufficient privileges to assign role "${X}"`);let Y=await Z.boundAuth.organization.addMember({organizationId:G,userId:$.userId,role:$.role});if(!Y)throw Error("Failed to add member");let Q=y1(Z);if(Q)r1.capture({distinctId:Q,event:"organization_member_added",groups:{organization:G},properties:{organization_id:G,added_user_id:$.userId,role:$.role}});return{...Y,role:Y.role,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});import{z as yx}from"zod";var Kd0;var Pe1=O(()=>{v4();X1();Kd0=G0({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:yx.object({organizationId:yx.string().optional(),memberIdOrEmail:yx.string()}),outputSchema:yx.object({success:yx.boolean(),memberIdOrEmail:yx.string()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");await Z.boundAuth.organization.removeMember({organizationId:G,memberIdOrEmail:$.memberIdOrEmail});let X=y1(Z);if(X)r1.capture({distinctId:X,event:"organization_member_removed",groups:{organization:G},properties:{organization_id:G,member_id_or_email:$.memberIdOrEmail}});return{success:!0,memberIdOrEmail:$.memberIdOrEmail}}})});import{z as d7}from"zod";var wd0;var Ae1=O(()=>{X1();wd0=G0({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:d7.object({limit:d7.number().optional(),offset:d7.number().optional()}),outputSchema:d7.object({members:d7.array(d7.object({id:d7.string(),organizationId:d7.string(),userId:d7.string(),role:d7.string(),createdAt:d7.string().datetime().describe("ISO 8601 timestamp"),user:d7.object({id:d7.string(),name:d7.string(),email:d7.string(),image:d7.string().optional()}).optional()}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=await Z.boundAuth.organization.listMembers({organizationId:G,limit:$.limit,offset:$.offset});return{members:(Array.isArray(X)?X:[]).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});import{z as qZ}from"zod";var Ud0;var Te1=O(()=>{v4();X1();KW();Ud0=G0({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:qZ.object({organizationId:qZ.string().optional(),memberId:qZ.string(),role:qZ.array(qZ.string())}),outputSchema:qZ.object({id:qZ.string(),organizationId:qZ.string(),userId:qZ.string(),role:qZ.union([qZ.literal("admin"),qZ.literal("member"),qZ.literal("owner")]),createdAt:qZ.string().datetime().describe("ISO 8601 timestamp"),user:qZ.object({email:qZ.string(),name:qZ.string(),image:qZ.string().optional()})}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=$.organizationId||Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let X=Array.isArray($.role)?$.role[0]:$.role;if(X&&!s80(Z.auth.user?.role,X))throw Error(`Insufficient privileges to assign role "${X}"`);let Y=await Z.boundAuth.organization.updateMemberRole({organizationId:G,memberId:$.memberId,role:$.role});if(!Y)throw Error("Failed to update member role");Z.invalidateMemberRole?.(Y.userId,G);let Q=y1(Z);if(Q)r1.capture({distinctId:Q,event:"organization_member_role_updated",groups:{organization:G},properties:{organization_id:G,member_id:$.memberId,target_user_id:Y.userId,new_role:Array.isArray($.role)?$.role.join(","):$.role}});return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var Ie1=O(()=>{$e1();Ze1();Ge1();Xe1();Ye1();Je1();We1();we1();Fe1();He1();Be1();Le1();ze1();je1();Pe1();Ae1();Te1()});import{z as LY}from"zod";var qi,Mi,gx;var J50=O(()=>{qi=LY.enum(["triage","todo","in_progress","in_review","done"]),Mi=LY.enum(["low","medium","high","urgent"]),gx=LY.object({id:LY.string(),organizationId:LY.string(),title:LY.string(),description:LY.string().nullable(),status:qi,priority:Mi,assigneeId:LY.string().nullable(),dueDate:LY.string().datetime().nullable(),createdBy:LY.string(),createdAt:LY.string().datetime(),updatedBy:LY.string(),updatedAt:LY.string().datetime()})});async function W50($,Z,G){let{members:X}=await $.boundAuth.organization.listMembers({organizationId:Z,filterField:"userId",filterValue:G});if(!X.some((Y)=>Y.userId===G))throw Error("assigneeId is not a member of the organization")}async function ZN($,Z){if(!(await $.storage.organizationSettings.get(Z))?.task_board_enabled)throw Error("Task board is not enabled for this organization")}import{z as hx}from"zod";var Fd0;var Re1=O(()=>{X1();J50();Fd0=G0({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:hx.object({title:hx.string().min(1),description:hx.string().nullable().optional(),status:qi.optional(),priority:Mi.optional(),assigneeId:hx.string().nullable().optional(),dueDate:hx.string().datetime().nullable().optional()}),outputSchema:hx.object({item:gx}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(await ZN(Z,G),$.assigneeId)await W50(Z,G,$.assigneeId);return{item:await Z.storage.taskBoard.create({organizationId:G,title:$.title,description:$.description??null,status:$.status,priority:$.priority,assigneeId:$.assigneeId??null,dueDate:$.dueDate??null,by:y1(Z)})}}})});import{z as Hd0}from"zod";var Nd0;var qe1=O(()=>{X1();J50();Nd0=G0({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:Hd0.object({}),outputSchema:Hd0.object({items:Hd0.array(gx)}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return await ZN(Z,G),{items:await Z.storage.taskBoard.list(G)}}})});import{z as JE}from"zod";var Bd0;var Me1=O(()=>{X1();J50();Bd0=G0({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:JE.object({id:JE.string(),title:JE.string().min(1).optional(),description:JE.string().nullable().optional(),status:qi.optional(),priority:Mi.optional(),assigneeId:JE.string().nullable().optional(),dueDate:JE.string().datetime().nullable().optional()}),outputSchema:JE.object({item:gx}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(await ZN(Z,G),$.assigneeId)await W50(Z,G,$.assigneeId);return{item:await Z.storage.taskBoard.update($.id,G,{title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assigneeId,dueDate:$.dueDate},y1(Z))}}})});import{z as K50}from"zod";var Od0;var ke1=O(()=>{X1();Od0=G0({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:K50.object({id:K50.string()}),outputSchema:K50.object({success:K50.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=Z.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return await ZN(Z,G),await Z.storage.taskBoard.delete($.id,G),{success:!0}}})});var Se1=O(()=>{Re1();qe1();Me1();ke1()});import{z as GN}from"zod";var Dd0;var Ve1=O(()=>{X1();Dd0=G0({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:GN.object({}),outputSchema:GN.object({tags:GN.array(GN.object({id:GN.string(),organizationId:GN.string(),name:GN.string(),createdAt:GN.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);return{tags:(await Z.storage.tags.listOrgTags(G.id)).map((Y)=>({...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}))}}})});import{z as XN}from"zod";var Ed0;var Ce1=O(()=>{X1();Ed0=G0({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:XN.object({name:XN.string().min(1).max(50).describe("Tag name")}),outputSchema:XN.object({tag:XN.object({id:XN.string(),organizationId:XN.string(),name:XN.string(),createdAt:XN.string().describe("ISO 8601 timestamp")})}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.tags.createTag(G.id,$.name);return{tag:{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():String(X.createdAt)}}}})});import{z as w50}from"zod";var Ld0;var _e1=O(()=>{X1();Ld0=G0({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:w50.object({tagId:w50.string().describe("Tag ID to delete")}),outputSchema:w50.object({success:w50.boolean()}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z),X=await Z.storage.tags.getTag($.tagId);if(!X)throw Error("Tag not found");if(X.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await Z.storage.tags.deleteTag($.tagId),{success:!0}}})});import{z as hw}from"zod";var zd0;var be1=O(()=>{X1();zd0=G0({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:hw.object({memberId:hw.string().describe("Member ID")}),outputSchema:hw.object({tags:hw.array(hw.object({id:hw.string(),organizationId:hw.string(),name:hw.string(),createdAt:hw.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,G.id))throw Error(`Member not found in this organization: ${$.memberId}`);return{tags:(await Z.storage.tags.getMemberTags($.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});import{z as AQ}from"zod";var jd0;var fe1=O(()=>{X1();jd0=G0({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:AQ.object({memberId:AQ.string().describe("Member ID"),tagIds:AQ.array(AQ.string()).describe("Array of tag IDs to assign")}),outputSchema:AQ.object({success:AQ.boolean(),tags:AQ.array(AQ.object({id:AQ.string(),organizationId:AQ.string(),name:AQ.string(),createdAt:AQ.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{M0(Z),await Z.access.check();let G=D0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,G.id))throw Error(`Member not found in this organization: ${$.memberId}`);for(let Q of $.tagIds){let J=await Z.storage.tags.getTag(Q);if(!J)throw Error(`Tag not found: ${Q}`);if(J.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${Q}`)}return await Z.storage.tags.setMemberTags($.memberId,$.tagIds),{success:!0,tags:(await Z.storage.tags.getMemberTags($.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var xe1=O(()=>{Ve1();Ce1();_e1();be1();fe1()});function kW($,Z=Date.now()){let G=$.status;if(G==="in_progress"){let X=new Date($.updated_at).getTime();if(!Number.isFinite(X)||Z-X>1800000)G="expired"}return{id:$.id,organization_id:$.organization_id,title:$.title,description:$.description,created_at:$.created_at,updated_at:$.updated_at,created_by:$.created_by,updated_by:$.updated_by,hidden:$.hidden??!1,status:G,virtual_mcp_id:$.virtual_mcp_id||void 0,trigger_id:$.trigger_id,branch:$.branch,sandbox_provider_kind:$.sandbox_provider_kind,harness_id:$.harness_id,metadata:$.metadata&&Object.keys($.metadata).length>0?$.metadata:void 0,run_config:$.run_config}}var ve1=O(()=>{t8()});import{z as q$}from"zod";var ye1,qa8,ge1,SW,he1,ce1;var WE=O(()=>{ve1();ye1=q$.object({id:q$.string().describe("Unique message ID"),thread_id:q$.string().describe("ID of the parent thread"),metadata:q$.unknown().optional().describe("Optional message metadata"),parts:q$.array(q$.record(q$.string(),q$.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:q$.enum(["user","assistant","system"]).describe("Message role"),created_at:q$.string().datetime().describe("Timestamp of creation"),updated_at:q$.string().datetime().describe("Timestamp of last update")}),qa8=q$.object({toolName:q$.string().describe("Fully qualified tool name"),appId:q$.string().describe("App ID that owns the tool"),args:q$.record(q$.string(),q$.unknown()).describe("Arguments used when expanding the tool"),expandedAt:q$.string().datetime().describe("When the tool was expanded")}),ge1=q$.object({expanded_tools:q$.array(qa8).optional()}).catchall(q$.unknown()),SW=q$.object({id:q$.string().describe("Unique thread ID"),organization_id:q$.string().describe("Organization this thread belongs to"),title:q$.string().describe("Thread title"),description:q$.string().nullable().describe("Thread description"),created_at:q$.string().datetime().describe("Timestamp of creation"),updated_at:q$.string().datetime().describe("Timestamp of last update"),hidden:q$.boolean().optional().describe("Whether the thread is hidden"),status:q$.enum([...Zb,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:q$.string().describe("User ID who created the thread"),updated_by:q$.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:q$.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:q$.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:q$.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:q$.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:q$.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:ge1.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:q$.record(q$.string(),q$.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),he1=q$.object({id:q$.string().optional().describe("Optional custom ID for the thread"),title:q$.string().optional().describe("Thread title"),description:q$.string().nullish().describe("Thread description"),virtual_mcp_id:q$.string().describe("Virtual MCP (agent) this thread is bound to"),branch:q$.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.")}),ce1=q$.object({title:q$.string().optional().describe("New thread title"),description:q$.string().nullish().describe("New thread description"),hidden:q$.boolean().optional().describe("Whether the thread is hidden"),status:q$.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:ge1.optional().describe("Full replacement of the thread's metadata object"),branch:q$.string().nullish().describe("New git branch for this thread"),virtual_mcp_id:q$.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 Ma8($){return($??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function U50($){let Z=Ma8($),G=Date.now().toString(36).split("").reverse().join("");return`${Z}-${G}`}import{z as ue1}from"zod";function Va8($,Z){let G=$?.[Z];if(!G)return;return Object.entries(G).sort(([,Y],[,Q])=>{let J=Math.max(0,...Object.values(Y).map((K)=>K.createdAt??0));return Math.max(0,...Object.values(Q).map((K)=>K.createdAt??0))-J})[0]?.[0]}var ka8,Sa8,Pd0;var de1=O(()=>{v4();X1();WE();zG();ka8=ue1.object({data:he1.describe("Data for the new thread (id is auto-generated if not provided)")}),Sa8=ue1.object({item:SW.describe("The created thread entity")});Pd0=G0({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:ka8,outputSchema:Sa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to create thread");let{data:Y}=$,Q=Y.id??P6("thrd"),J=await Z.storage.virtualMcps.findById(Y.virtual_mcp_id,G.id);if(!J)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=J.metadata,K=W?.githubRepo,w=null;if(K)w=Y.branch??Va8(W?.sandboxMap,X)??U50(Z.auth.user?.name??Z.auth.user?.email?.split("@")[0]);let U=await Z.storage.threads.create({id:Q,organization_id:G.id,title:Y.title,description:Y.description,virtual_mcp_id:Y.virtual_mcp_id,branch:w,created_by:X});return r1.capture({distinctId:X,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Q,has_title:!!$.data.title,created_via:"tool"}}),{item:kW(U)}}})});import{z as zY}from"zod";var Ca8,_a8,Ad0;var le1=O(()=>{DY();X1();WE();Ca8=r3.extend({where:zY.object({created_by:zY.string().optional(),trigger_ids:zY.array(zY.string()).optional(),virtual_mcp_id:zY.string().optional(),hidden:zY.boolean().optional(),has_trigger:zY.boolean().optional()}).optional(),startDate:zY.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:zY.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:zY.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:zY.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:zY.string().optional().describe("Filter by the user who created the thread"),agentId:zY.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),_a8=bw(SW),Ad0=G0({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:Ca8,outputSchema:_a8,handler:async($,Z)=>{await Z.access.check();let G=Z.auth.user?.id;if(!G)throw Error("User ID required to list threads");D0(Z);let X=$.offset??0,Y=$.limit??100,Q=$.where?.trigger_ids,J=$.where?.virtual_mcp_id,W=$.userId??($.where?.created_by==="me"?G:$.where?.created_by),{threads:K,total:w}=Q?.length?await Z.storage.threads.listByTriggerIds(Q,{limit:Y,offset:X}):await Z.storage.threads.list(W,{limit:Y,offset:X,virtualMcpId:J,startDate:$.startDate,endDate:$.endDate,search:$.search,status:$.status,agentId:$.agentId,includeArchived:$.where?.hidden,hasTrigger:$.where?.has_trigger}),U=X+Y<w,F=Date.now();return{items:K.map((H)=>kW(H,F)),totalCount:w,hasMore:U}}})});var ba8,Td0;var me1=O(()=>{DY();X1();WE();ba8=Oi(SW),Td0=G0({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:Bi,outputSchema:ba8,handler:async($,Z)=>{M0(Z),D0(Z),await Z.access.check();let G=await Z.storage.threads.get($.id);if(!G)return{item:null};return{item:kW(G)}}})});import{z as Id0}from"zod";var fa8,xa8,Rd0;var ie1=O(()=>{v4();X1();WE();fa8=Id0.object({id:Id0.string().describe("ID of the thread to update"),data:ce1.describe("Partial thread data to update")}),xa8=Id0.object({item:SW.describe("The updated thread entity")}),Rd0=G0({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:fa8,outputSchema:xa8,handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=y1(Z);if(!X)throw Error("User ID required to update thread");let{id:Y,data:Q}=$,J=await Z.storage.threads.get(Y);if(!J)throw Error("Thread not found in organization");if(Q.branch===null&&J.virtual_mcp_id){if((await Z.storage.virtualMcps.findById(J.virtual_mcp_id,D0(Z).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let W={title:Q.title,description:Q.description,hidden:Q.hidden,updated_by:X};if(Q.status)W.status=Q.status;if(Q.metadata!==void 0)W.metadata=Q.metadata;if(Q.branch!==void 0)W.branch=Q.branch;if(Q.virtual_mcp_id!==void 0)W.virtual_mcp_id=Q.virtual_mcp_id;let K=await Z.storage.threads.update(Y,W);if(Q.hidden!==void 0&&Q.hidden!==J.hidden)r1.capture({distinctId:X,event:Q.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Y}});return{item:kW(K)}}})});var qd0;var ne1=O(()=>{DY();v4();X1();WE();qd0=G0({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:Di,outputSchema:Ei(SW),handler:async($,Z)=>{M0(Z);let G=D0(Z);await Z.access.check();let X=await Z.storage.threads.get($.id);if(!X)throw Error(`Thread not found: ${$.id}`);await Z.storage.threads.delete($.id);let Y=y1(Z);if(Y)r1.capture({distinctId:Y,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:$.id}});return{item:kW(X)}}})});import{z as va8}from"zod";function pe1($){if(!$)return null;if("field"in $&&$.field[0]==="thread_id"&&$.operator==="eq")return String($.value);if("conditions"in $&&($.operator==="and"||$.operator==="or"))for(let Z of $.conditions){let G=pe1(Z);if(G)return G}return null}var ya8,ga8,Md0;var te1=O(()=>{DY();X1();WE();ya8=r3.extend({thread_id:va8.string().optional().describe("ID of the thread to list messages for (required)")}),ga8=bw(ye1),Md0=G0({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:ya8,outputSchema:ga8,handler:async($,Z)=>{D0(Z),await Z.access.check();let G=$.thread_id??pe1($.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let X=$.offset??0,Y=$.limit??100,Q=$.orderBy?.[0]?.direction??"asc",J=await Z.storage.threads.get(G);if(!J)return{items:[],totalCount:0,hasMore:!1};if(J.message_storage_version===2){let{messages:U,total:F}=await Z.storage.threads.messageParts().loadWindow(G,{limit:Y,offset:X});return{items:U.map((H)=>({id:H.id,thread_id:G,role:H.role,parts:H.parts,metadata:H.metadata??null,created_at:H.created_at,updated_at:H.created_at})),totalCount:F,hasMore:X+Y<F}}let{messages:W,total:K}=await Z.storage.threads.listMessages(G,{limit:Y,offset:X,sort:Q}),w=X+Y<K;return{items:W,totalCount:K,hasMore:w}}})});function re1($){return $!==null}function F50($,Z){if($===null)return!0;return $===Z}function H50($){return $.sandboxProviderKind==="agent-sandbox"&&$.harnessId==="decopilot"}function oe1($){return $.harnessId==="decopilot"&&($.sandboxProviderKind==null||$.sandboxProviderKind==="agent-sandbox")}function ca8($){return{type:"data-run-status",id:"run-status",data:{stage:$}}}function ae1($){if(!$||typeof $!=="object")return!1;return $.type==="data-run-status"}async function cw($,Z,G){if(!$)return;try{await $.publishRawChunk(Z,ca8(G))}catch{}}var ha8,ki,gK5;var Si=O(()=>{ha8=["waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope"],ki=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],gK5=new Set(ha8)});function N50(){return crypto.randomUUID()}var Sd0=_((uK5,$0$)=>{var{defineProperty:kd0,getOwnPropertyDescriptor:ua8,getOwnPropertyNames:da8}=Object,la8=Object.prototype.hasOwnProperty,ma8=($,Z)=>{for(var G in Z)kd0($,G,{get:Z[G],enumerable:!0})},ia8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of da8(Z))if(!la8.call($,Y)&&Y!==G)kd0($,Y,{get:()=>Z[Y],enumerable:!(X=ua8(Z,Y))||X.enumerable})}return $},na8=($)=>ia8(kd0({},"__esModule",{value:!0}),$),se1={};ma8(se1,{SYMBOL_FOR_REQ_CONTEXT:()=>ee1,getContext:()=>pa8});$0$.exports=na8(se1);var ee1=Symbol.for("@vercel/request-context");function pa8(){return globalThis[ee1]?.get?.()??{}}});var Vi=_((dK5,X0$)=>{var{defineProperty:Vd0,getOwnPropertyDescriptor:ta8,getOwnPropertyNames:ra8}=Object,oa8=Object.prototype.hasOwnProperty,aa8=($,Z)=>{for(var G in Z)Vd0($,G,{get:Z[G],enumerable:!0})},sa8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of ra8(Z))if(!oa8.call($,Y)&&Y!==G)Vd0($,Y,{get:()=>Z[Y],enumerable:!(X=ta8(Z,Y))||X.enumerable})}return $},ea8=($)=>sa8(Vd0({},"__esModule",{value:!0}),$),Z0$={};aa8(Z0$,{VercelOidcTokenError:()=>G0$});X0$.exports=ea8(Z0$);class G0$ extends Error{constructor($,Z){super($);this.name="VercelOidcTokenError",this.cause=Z}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var W0$=_((lK5,J0$)=>{var{create:$s8,defineProperty:B50,getOwnPropertyDescriptor:Zs8,getOwnPropertyNames:Gs8,getPrototypeOf:Xs8}=Object,Ys8=Object.prototype.hasOwnProperty,Qs8=($,Z)=>{for(var G in Z)B50($,G,{get:Z[G],enumerable:!0})},Y0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Gs8(Z))if(!Ys8.call($,Y)&&Y!==G)B50($,Y,{get:()=>Z[Y],enumerable:!(X=Zs8(Z,Y))||X.enumerable})}return $},_d0=($,Z,G)=>(G=$!=null?$s8(Xs8($)):{},Y0$(Z||!$||!$.__esModule?B50(G,"default",{value:$,enumerable:!0}):G,$)),Js8=($)=>Y0$(B50({},"__esModule",{value:!0}),$),Q0$={};Qs8(Q0$,{findRootDir:()=>ws8,getUserDataDir:()=>Us8});J0$.exports=Js8(Q0$);var Ci=_d0(u0("path")),Ws8=_d0(u0("fs")),Cd0=_d0(u0("os")),Ks8=Vi();function ws8(){try{let $=process.cwd();while($!==Ci.default.dirname($)){let Z=Ci.default.join($,".vercel");if(Ws8.default.existsSync(Z))return $;$=Ci.default.dirname($)}}catch($){throw new Ks8.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Us8(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(Cd0.default.platform()){case"darwin":return Ci.default.join(Cd0.default.homedir(),"Library/Application Support");case"linux":return Ci.default.join(Cd0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var B0$=_((mK5,N0$)=>{var{create:Fs8,defineProperty:O50,getOwnPropertyDescriptor:Hs8,getOwnPropertyNames:Ns8,getPrototypeOf:Bs8}=Object,Os8=Object.prototype.hasOwnProperty,Ds8=($,Z)=>{for(var G in Z)O50($,G,{get:Z[G],enumerable:!0})},K0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ns8(Z))if(!Os8.call($,Y)&&Y!==G)O50($,Y,{get:()=>Z[Y],enumerable:!(X=Hs8(Z,Y))||X.enumerable})}return $},w0$=($,Z,G)=>(G=$!=null?Fs8(Bs8($)):{},K0$(Z||!$||!$.__esModule?O50(G,"default",{value:$,enumerable:!0}):G,$)),Es8=($)=>K0$(O50({},"__esModule",{value:!0}),$),U0$={};Ds8(U0$,{isValidAccessToken:()=>Ps8,readAuthConfig:()=>zs8,writeAuthConfig:()=>js8});N0$.exports=Es8(U0$);var _i=w0$(u0("fs")),F0$=w0$(u0("path")),Ls8=bi();function H0$(){let $=(0,Ls8.getVercelDataDir)();if(!$)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return F0$.join($,"auth.json")}function zs8(){try{let $=H0$();if(!_i.existsSync($))return null;let Z=_i.readFileSync($,"utf8");if(!Z)return null;return JSON.parse(Z)}catch($){return null}}function js8($){let Z=H0$(),G=F0$.dirname(Z);if(!_i.existsSync(G))_i.mkdirSync(G,{mode:504,recursive:!0});_i.writeFileSync(Z,JSON.stringify($,null,2),{mode:384})}function Ps8($,Z=0){if(!$.token)return!1;if(typeof $.expiresAt!=="number")return!0;let G=Math.floor(Date.now()/1000),X=Z/1000;return $.expiresAt>=G+X}});var L0$=_((iK5,E0$)=>{var{defineProperty:xd0,getOwnPropertyDescriptor:As8,getOwnPropertyNames:Ts8}=Object,Is8=Object.prototype.hasOwnProperty,Rs8=($,Z)=>{for(var G in Z)xd0($,G,{get:Z[G],enumerable:!0})},qs8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ts8(Z))if(!Is8.call($,Y)&&Y!==G)xd0($,Y,{get:()=>Z[Y],enumerable:!(X=As8(Z,Y))||X.enumerable})}return $},Ms8=($)=>qs8(xd0({},"__esModule",{value:!0}),$),O0$={};Rs8(O0$,{processTokenResponse:()=>_s8,refreshTokenRequest:()=>Cs8});E0$.exports=Ms8(O0$);var bd0=u0("os"),ks8="https://vercel.com",Ss8="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",D0$=`@vercel/oidc node-${process.version} ${(0,bd0.platform)()} (${(0,bd0.arch)()}) ${(0,bd0.hostname)()}`,fd0=null;async function Vs8(){if(fd0)return fd0;let $=`${ks8}/.well-known/openid-configuration`,Z=await fetch($,{headers:{"user-agent":D0$}});if(!Z.ok)throw Error("Failed to discover OAuth endpoints");let G=await Z.json();if(!G||typeof G.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let X=G.token_endpoint;return fd0=X,X}async function Cs8($){let Z=await Vs8();return await fetch(Z,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":D0$},body:new URLSearchParams({client_id:Ss8,grant_type:"refresh_token",...$})})}async function _s8($){let Z=await $.json();if(!$.ok){let G=typeof Z==="object"&&Z&&"error"in Z?String(Z.error):"Token refresh failed";return[Error(G)]}if(typeof Z!=="object"||Z===null)return[Error("Invalid token response")];if(typeof Z.access_token!=="string")return[Error("Missing access_token in response")];if(Z.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Z.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Z]}});var yd0=_((nK5,A0$)=>{var{defineProperty:vd0,getOwnPropertyDescriptor:bs8,getOwnPropertyNames:fs8}=Object,xs8=Object.prototype.hasOwnProperty,vs8=($,Z)=>{for(var G in Z)vd0($,G,{get:Z[G],enumerable:!0})},ys8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of fs8(Z))if(!xs8.call($,Y)&&Y!==G)vd0($,Y,{get:()=>Z[Y],enumerable:!(X=bs8(Z,Y))||X.enumerable})}return $},gs8=($)=>ys8(vd0({},"__esModule",{value:!0}),$),z0$={};vs8(z0$,{AccessTokenMissingError:()=>j0$,RefreshAccessTokenFailedError:()=>P0$});A0$.exports=gs8(z0$);class j0$ extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class P0$ extends Error{constructor($){super("Failed to refresh authentication token.",{cause:$});this.name="RefreshAccessTokenFailedError"}}});var bi=_((pK5,M0$)=>{var{create:hs8,defineProperty:D50,getOwnPropertyDescriptor:cs8,getOwnPropertyNames:us8,getPrototypeOf:ds8}=Object,ls8=Object.prototype.hasOwnProperty,ms8=($,Z)=>{for(var G in Z)D50($,G,{get:Z[G],enumerable:!0})},I0$=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of us8(Z))if(!ls8.call($,Y)&&Y!==G)D50($,Y,{get:()=>Z[Y],enumerable:!(X=cs8(Z,Y))||X.enumerable})}return $},R0$=($,Z,G)=>(G=$!=null?hs8(ds8($)):{},I0$(Z||!$||!$.__esModule?D50(G,"default",{value:$,enumerable:!0}):G,$)),is8=($)=>I0$(D50({},"__esModule",{value:!0}),$),q0$={};ms8(q0$,{assertVercelOidcTokenResponse:()=>gd0,findProjectInfo:()=>rs8,getTokenPayload:()=>ss8,getVercelDataDir:()=>ns8,getVercelOidcToken:()=>ts8,getVercelToken:()=>ps8,isExpired:()=>es8,loadToken:()=>as8,saveToken:()=>os8});M0$.exports=is8(q0$);var fi=R0$(u0("path")),KE=R0$(u0("fs")),dx=Vi(),E50=W0$(),cx=B0$(),T0$=L0$(),ux=yd0();function ns8(){let Z=(0,E50.getUserDataDir)();if(!Z)return null;return fi.join(Z,"com.vercel.cli")}async function ps8($){let Z=(0,cx.readAuthConfig)();if(!Z?.token)throw new ux.AccessTokenMissingError;if((0,cx.isValidAccessToken)(Z,$?.expirationBufferMs))return Z.token;if(!Z.refreshToken)throw(0,cx.writeAuthConfig)({}),new ux.RefreshAccessTokenFailedError("No refresh token available");try{let G=await(0,T0$.refreshTokenRequest)({refresh_token:Z.refreshToken}),[X,Y]=await(0,T0$.processTokenResponse)(G);if(X||!Y)throw(0,cx.writeAuthConfig)({}),new ux.RefreshAccessTokenFailedError(X);let Q={token:Y.access_token,expiresAt:Math.floor(Date.now()/1000)+Y.expires_in};if(Y.refresh_token)Q.refreshToken=Y.refresh_token;return(0,cx.writeAuthConfig)(Q),Q.token}catch(G){if((0,cx.writeAuthConfig)({}),G instanceof ux.AccessTokenMissingError||G instanceof ux.RefreshAccessTokenFailedError)throw G;throw new ux.RefreshAccessTokenFailedError(G)}}async function ts8($,Z,G){let X=`https://api.vercel.com/v1/projects/${Z}/token?source=vercel-oidc-refresh${G?`&teamId=${G}`:""}`,Y=await fetch(X,{method:"POST",headers:{Authorization:`Bearer ${$}`}});if(!Y.ok)throw new dx.VercelOidcTokenError(`Failed to refresh OIDC token: ${Y.statusText}`);let Q=await Y.json();return gd0(Q),Q}function gd0($){if(!$||typeof $!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in $)||typeof $.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function rs8(){let $=(0,E50.findRootDir)();if(!$)throw new dx.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Z=fi.join($,".vercel","project.json");if(!KE.existsSync(Z))throw new dx.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let G=JSON.parse(KE.readFileSync(Z,"utf8"));if(typeof G.projectId!=="string"&&typeof G.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:G.projectId,teamId:G.orgId}}function os8($,Z){let G=(0,E50.getUserDataDir)();if(!G)throw new dx.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=fi.join(G,"com.vercel.token",`${Z}.json`),Y=JSON.stringify($);KE.mkdirSync(fi.dirname(X),{mode:504,recursive:!0}),KE.writeFileSync(X,Y),KE.chmodSync(X,432);return}function as8($){let Z=(0,E50.getUserDataDir)();if(!Z)throw new dx.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let G=fi.join(Z,"com.vercel.token",`${$}.json`);if(!KE.existsSync(G))return null;let X=JSON.parse(KE.readFileSync(G,"utf8"));return gd0(X),X}function ss8($){let Z=$.split(".");if(Z.length!==3)throw new dx.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let G=Z[1].replace(/-/g,"+").replace(/_/g,"/"),X=G.padEnd(G.length+(4-G.length%4)%4,"=");return JSON.parse(Buffer.from(X,"base64").toString("utf8"))}function es8($,Z=0){return $.exp*1000<Date.now()+Z}});var C0$=_((tK5,V0$)=>{var{defineProperty:hd0,getOwnPropertyDescriptor:$e8,getOwnPropertyNames:Ze8}=Object,Ge8=Object.prototype.hasOwnProperty,Xe8=($,Z)=>{for(var G in Z)hd0($,G,{get:Z[G],enumerable:!0})},Ye8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ze8(Z))if(!Ge8.call($,Y)&&Y!==G)hd0($,Y,{get:()=>Z[Y],enumerable:!(X=$e8(Z,Y))||X.enumerable})}return $},Qe8=($)=>Ye8(hd0({},"__esModule",{value:!0}),$),S0$={};Xe8(S0$,{refreshToken:()=>Je8});V0$.exports=Qe8(S0$);var k0$=Vi(),YN=bi();async function Je8($){let Z=$?.project,G=$?.team;if(!Z&&!G){let Y=(0,YN.findProjectInfo)();Z=Y.projectId,G=Y.teamId}else if(!Z||!G){let Y=(0,YN.findProjectInfo)();Z=Z??Y.projectId,G=G??Y.teamId}if(!Z)throw new k0$.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let X=(0,YN.loadToken)(Z);if(!X||(0,YN.isExpired)((0,YN.getTokenPayload)(X.token),$?.expirationBufferMs)){let Y=await(0,YN.getVercelToken)({expirationBufferMs:$?.expirationBufferMs});if(X=await(0,YN.getVercelOidcToken)(Y,Z,G),!X)throw new k0$.VercelOidcTokenError("Failed to refresh OIDC token");(0,YN.saveToken)(X,Z)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var f0$=_((rK5,b0$)=>{var{defineProperty:ud0,getOwnPropertyDescriptor:We8,getOwnPropertyNames:Ke8}=Object,we8=Object.prototype.hasOwnProperty,Ue8=($,Z)=>{for(var G in Z)ud0($,G,{get:Z[G],enumerable:!0})},Fe8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ke8(Z))if(!we8.call($,Y)&&Y!==G)ud0($,Y,{get:()=>Z[Y],enumerable:!(X=We8(Z,Y))||X.enumerable})}return $},He8=($)=>Fe8(ud0({},"__esModule",{value:!0}),$),_0$={};Ue8(_0$,{getVercelOidcToken:()=>Oe8,getVercelOidcTokenSync:()=>cd0});b0$.exports=He8(_0$);var Ne8=Sd0(),Be8=Vi();async function Oe8($){let Z="",G;try{Z=cd0()}catch(X){G=X}try{let[{getTokenPayload:X,isExpired:Y},{refreshToken:Q}]=await Promise.all([await Promise.resolve().then(() => k(bi())),await Promise.resolve().then(() => k(C0$()))]);if(!Z||Y(X(Z),$?.expirationBufferMs))await Q($),Z=cd0()}catch(X){let Y=G instanceof Error?G.message:"";if(X instanceof Error)Y=`${Y}
|
|
1033
1033
|
${X.message}`;if(Y)throw new Be8.VercelOidcTokenError(Y);throw X}return Z}function cd0(){let $=(0,Ne8.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!$)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 $}});var ld0=_((oK5,g0$)=>{var{defineProperty:dd0,getOwnPropertyDescriptor:De8,getOwnPropertyNames:Ee8}=Object,Le8=Object.prototype.hasOwnProperty,ze8=($,Z)=>{for(var G in Z)dd0($,G,{get:Z[G],enumerable:!0})},je8=($,Z,G,X)=>{if(Z&&typeof Z==="object"||typeof Z==="function"){for(let Y of Ee8(Z))if(!Le8.call($,Y)&&Y!==G)dd0($,Y,{get:()=>Z[Y],enumerable:!(X=De8(Z,Y))||X.enumerable})}return $},Pe8=($)=>je8(dd0({},"__esModule",{value:!0}),$),y0$={};ze8(y0$,{AccessTokenMissingError:()=>v0$.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>v0$.RefreshAccessTokenFailedError,getContext:()=>Ae8.getContext,getVercelOidcToken:()=>x0$.getVercelOidcToken,getVercelOidcTokenSync:()=>x0$.getVercelOidcTokenSync,getVercelToken:()=>Te8.getVercelToken});g0$.exports=Pe8(y0$);var x0$=f0$(),Ae8=Sd0(),v0$=yd0(),Te8=bi()});import{z as uw}from"zod/v4";import{z as o0$}from"zod/v4";import{z as id0}from"zod/v4";import{z as O9}from"zod/v4";import{z as $Z}from"zod/v4";import{z as B9}from"zod/v4";import{z as L50}from"zod/v4";import{z as K5}from"zod/v4";import{z as h4}from"zod/v4";import{z as l8}from"zod/v4";import{z as j5}from"zod/v4";import{z as $4}from"zod";import{z as r6}from"zod";async function N1$({response:$,statusCode:Z,defaultMessage:G="Gateway request failed",cause:X,authMethod:Y}){var Q;let J=await i5({value:$,schema:ce8});if(!J.success){let F=typeof $==="object"&&$!==null&&"generationId"in $?$.generationId:void 0;return new he8({message:`Invalid error response format: ${G}`,statusCode:Z,response:$,validationError:J.error,cause:X,generationId:F})}let W=J.value,K=W.error.type,w=W.error.message,U=(Q=W.generationId)!=null?Q:void 0;switch(K){case"authentication_error":return z50.createContextualError({apiKeyProvided:Y==="api-key",oidcTokenProvided:Y==="oidc",statusCode:Z,cause:X,generationId:U});case"invalid_request_error":return new Me8({message:w,statusCode:Z,cause:X,generationId:U});case"rate_limit_exceeded":return new Se8({message:w,statusCode:Z,cause:X,generationId:U});case"model_not_found":{let F=await i5({value:W.error.param,schema:Ce8});return new _e8({message:w,statusCode:Z,modelId:F.success?F.value.modelId:void 0,cause:X,generationId:U})}case"internal_server_error":return new X1$({message:w,statusCode:Z,cause:X,generationId:U});case"failed_dependency":return new xe8({message:w,statusCode:Z,cause:X,generationId:U});case"forbidden":return new ye8({message:w,statusCode:Z,cause:X,generationId:U});default:return new X1$({message:w,statusCode:Z,cause:X,generationId:U})}}function ue8($){if($.data!==void 0)return $.data;if($.responseBody!=null)try{return JSON.parse($.responseBody)}catch(Z){return $.responseBody}return{}}function L1$($){if(!($ instanceof Error))return!1;let Z=$.code;if(typeof Z==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(Z);return!1}async function EX($,Z){var G;if(D9.isInstance($))return $;if(L1$($))return E1$.createTimeoutError({originalMessage:$ instanceof Error?$.message:"Unknown error",cause:$});if(Q8.isInstance($)){if($.cause&&L1$($.cause))return E1$.createTimeoutError({originalMessage:$.message,cause:$});return await N1$({response:ue8($),statusCode:(G=$.statusCode)!=null?G:500,defaultMessage:"Gateway request failed",cause:$,authMethod:Z})}return await N1$({response:{},statusCode:500,defaultMessage:$ instanceof Error?`Gateway request failed: ${$.message}`:"Unknown Gateway error",cause:$,authMethod:Z})}async function VW($){let Z=await i5({value:$[V1$],schema:le8});return Z.success?Z.value:void 0}function j1$($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:JX($.data)};return $}function W06($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:JX($.data)};return $}async function I06(){var $;return($=C1$.getContext().headers)==null?void 0:$["x-vercel-id"]}function nd0($={}){var Z,G;let X=null,Y=null,Q=(Z=$.metadataCacheRefreshMillis)!=null?Z:300000,J=0,W=(G=_H($.baseURL))!=null?G:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let z=await M06($);return t6({Authorization:`Bearer ${z.token}`,"ai-gateway-protocol-version":q06,[V1$]:z.authMethod,...$.headers},`ai-sdk/gateway/${R06}`)}catch(z){throw z50.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:z})}},w=()=>{let z=FW({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),j=FW({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=FW({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),A=FW({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let M=await I06();return{...z&&{"ai-o11y-deployment-id":z},...j&&{"ai-o11y-environment":j},...P&&{"ai-o11y-region":P},...M&&{"ai-o11y-request-id":M},...A&&{"ai-o11y-project-id":A}}}},U=(z)=>{return new ae8(z,{provider:"gateway",baseURL:W,headers:K,fetch:$.fetch,o11yHeaders:w()})},F=async()=>{var z,j,P;let A=(P=(j=(z=$._internal)==null?void 0:z.currentDate)==null?void 0:j.call(z).getTime())!=null?P:Date.now();if(!X||A-J>Q)J=A,X=new z1$({baseURL:W,headers:K,fetch:$.fetch}).getAvailableModels().then((M)=>{return Y=M,M}).catch(async(M)=>{throw await EX(M,await VW(await K()))});return Y?Promise.resolve(Y):X},H=async()=>{return new z1$({baseURL:W,headers:K,fetch:$.fetch}).getCredits().catch(async(z)=>{throw await EX(z,await VW(await K()))})},N=async(z)=>{return new pe8({baseURL:W,headers:K,fetch:$.fetch}).getSpendReport(z).catch(async(j)=>{throw await EX(j,await VW(await K()))})},B=async(z)=>{return new re8({baseURL:W,headers:K,fetch:$.fetch}).getGenerationInfo(z).catch(async(j)=>{throw await EX(j,await VW(await K()))})},D=function(z){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return U(z)};D.specificationVersion="v3",D.getAvailableModels=F,D.getCredits=H,D.getSpendReport=N,D.getGenerationInfo=B,D.imageModel=(z)=>{return new Z06(z,{provider:"gateway",baseURL:W,headers:K,fetch:$.fetch,o11yHeaders:w()})},D.languageModel=U;let E=(z)=>{return new se8(z,{provider:"gateway",baseURL:W,headers:K,fetch:$.fetch,o11yHeaders:w()})};D.embeddingModel=E,D.textEmbeddingModel=E,D.videoModel=(z)=>{return new J06(z,{provider:"gateway",baseURL:W,headers:K,fetch:$.fetch,o11yHeaders:w()})};let L=(z)=>{return new H06(z,{provider:"gateway",baseURL:W,headers:K,fetch:$.fetch,o11yHeaders:w()})};return D.rerankingModel=L,D.reranking=L,D.chat=D.languageModel,D.embedding=D.embeddingModel,D.image=D.imageModel,D.video=D.videoModel,D.tools=T06,D}async function M06($){let Z=FW({settingValue:$.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Z)return{token:Z,authMethod:"api-key"};return{token:await _1$.getVercelOidcToken(),authMethod:"oidc"}}var C1$,_1$,Ie8="vercel.ai.gateway.error",md0,h0$,c0$,D9,P1$="GatewayAuthenticationError",Re8,u0$,d0$,l0$,z50,A1$="GatewayInvalidRequestError",qe8,m0$,i0$,n0$,Me8,T1$="GatewayRateLimitError",ke8,p0$,t0$,r0$,Se8,I1$="GatewayModelNotFoundError",Ve8,a0$,Ce8,s0$,e0$,_e8,R1$="GatewayInternalServerError",be8,$1$,Z1$,G1$,X1$,q1$="GatewayFailedDependencyError",fe8,Y1$,Q1$,J1$,xe8,M1$="GatewayForbiddenError",ve8,W1$,K1$,w1$,ye8,k1$="GatewayResponseError",ge8,U1$,F1$,H1$,he8,ce8,S1$="GatewayTimeoutError",de8,B1$,O1$,D1$,E1$,V1$="ai-gateway-auth-method",le8,me8,z1$=class{constructor($){this.config=$}async getAvailableModels(){try{let{value:$}=await KY({url:`${this.config.baseURL}/config`,headers:await f$(this.config.headers()),successfulResponseHandler:Z8(ie8),failedResponseHandler:L5({errorSchema:O9.any(),errorToMessage:(Z)=>Z}),fetch:this.config.fetch});return $}catch($){throw await EX($)}}async getCredits(){try{let $=new URL(this.config.baseURL),{value:Z}=await KY({url:`${$.origin}/v1/credits`,headers:await f$(this.config.headers()),successfulResponseHandler:Z8(ne8),failedResponseHandler:L5({errorSchema:O9.any(),errorToMessage:(G)=>G}),fetch:this.config.fetch});return Z}catch($){throw await EX($)}}},ie8,ne8,pe8=class{constructor($){this.config=$}async getSpendReport($){try{let Z=new URL(this.config.baseURL),G=new URLSearchParams;if(G.set("start_date",$.startDate),G.set("end_date",$.endDate),$.groupBy)G.set("group_by",$.groupBy);if($.datePart)G.set("date_part",$.datePart);if($.userId)G.set("user_id",$.userId);if($.model)G.set("model",$.model);if($.provider)G.set("provider",$.provider);if($.credentialType)G.set("credential_type",$.credentialType);if($.tags&&$.tags.length>0)G.set("tags",$.tags.join(","));let{value:X}=await KY({url:`${Z.origin}/v1/report?${G.toString()}`,headers:await f$(this.config.headers()),successfulResponseHandler:Z8(te8),failedResponseHandler:L5({errorSchema:$Z.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(Z){throw await EX(Z)}}},te8,re8=class{constructor($){this.config=$}async getGenerationInfo($){try{let Z=new URL(this.config.baseURL),{value:G}=await KY({url:`${Z.origin}/v1/generation?id=${encodeURIComponent($.id)}`,headers:await f$(this.config.headers()),successfulResponseHandler:Z8(oe8),failedResponseHandler:L5({errorSchema:B9.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return G}catch(Z){throw await EX(Z)}}},oe8,ae8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs($){let{abortSignal:Z,...G}=$;return{args:this.maybeEncodeFileParts(G),warnings:[]}}async doGenerate($){let{args:Z,warnings:G}=await this.getArgs($),{abortSignal:X}=$,Y=await f$(this.config.headers());try{let{responseHeaders:Q,value:J,rawValue:W}=await F8({url:this.getUrl(),headers:p$(Y,$.headers,this.getModelConfigHeaders(this.modelId,!1),await f$(this.config.o11yHeaders)),body:Z,successfulResponseHandler:Z8(L50.any()),failedResponseHandler:L5({errorSchema:L50.any(),errorToMessage:(K)=>K}),...X&&{abortSignal:X},fetch:this.config.fetch});return{...J,request:{body:Z},response:{headers:Q,body:W},warnings:G}}catch(Q){throw await EX(Q,await VW(Y))}}async doStream($){let{args:Z,warnings:G}=await this.getArgs($),{abortSignal:X}=$,Y=await f$(this.config.headers());try{let{value:Q,responseHeaders:J}=await F8({url:this.getUrl(),headers:p$(Y,$.headers,this.getModelConfigHeaders(this.modelId,!0),await f$(this.config.o11yHeaders)),body:Z,successfulResponseHandler:b7(L50.any()),failedResponseHandler:L5({errorSchema:L50.any(),errorToMessage:(W)=>W}),...X&&{abortSignal:X},fetch:this.config.fetch});return{stream:Q.pipeThrough(new TransformStream({start(W){if(G.length>0)W.enqueue({type:"stream-start",warnings:G})},transform(W,K){if(W.success){let w=W.value;if(w.type==="raw"&&!$.includeRawChunks)return;if(w.type==="response-metadata"&&w.timestamp&&typeof w.timestamp==="string")w.timestamp=new Date(w.timestamp);K.enqueue(w)}else K.error(W.error)}})),request:{body:Z},response:{headers:J}}}catch(Q){throw await EX(Q,await VW(Y))}}isFilePart($){return $&&typeof $==="object"&&"type"in $&&$.type==="file"}maybeEncodeFileParts($){for(let Z of $.prompt)for(let G of Z.content)if(this.isFilePart(G)){let X=G;if(X.data instanceof Uint8Array){let Y=Uint8Array.from(X.data),Q=Buffer.from(Y).toString("base64");X.data=new URL(`data:${X.mediaType||"application/octet-stream"};base64,${Q}`)}}return $}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders($,Z){return{"ai-language-model-specification-version":"3","ai-language-model-id":$,"ai-language-model-streaming":String(Z)}}},se8=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:$,headers:Z,abortSignal:G,providerOptions:X}){var Y,Q;let J=await f$(this.config.headers());try{let{responseHeaders:W,value:K,rawValue:w}=await F8({url:this.getUrl(),headers:p$(J,Z!=null?Z:{},this.getModelConfigHeaders(),await f$(this.config.o11yHeaders)),body:{values:$,...X?{providerOptions:X}:{}},successfulResponseHandler:Z8($06),failedResponseHandler:L5({errorSchema:K5.any(),errorToMessage:(U)=>U}),...G&&{abortSignal:G},fetch:this.config.fetch});return{embeddings:K.embeddings,usage:(Y=K.usage)!=null?Y:void 0,providerMetadata:K.providerMetadata,response:{headers:W,body:w},warnings:(Q=K.warnings)!=null?Q:[]}}catch(W){throw await EX(W,await VW(J))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},ee8,$06,Z06=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:Z,size:G,aspectRatio:X,seed:Y,files:Q,mask:J,providerOptions:W,headers:K,abortSignal:w}){var U,F,H,N;let B=await f$(this.config.headers());try{let{responseHeaders:D,value:E,rawValue:L}=await F8({url:this.getUrl(),headers:p$(B,K!=null?K:{},this.getModelConfigHeaders(),await f$(this.config.o11yHeaders)),body:{prompt:$,n:Z,...G&&{size:G},...X&&{aspectRatio:X},...Y&&{seed:Y},...W&&{providerOptions:W},...Q&&{files:Q.map((z)=>j1$(z))},...J&&{mask:j1$(J)}},successfulResponseHandler:Z8(Q06),failedResponseHandler:L5({errorSchema:h4.any(),errorToMessage:(z)=>z}),...w&&{abortSignal:w},fetch:this.config.fetch});return{images:E.images,warnings:(U=E.warnings)!=null?U:[],providerMetadata:E.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:D},...E.usage!=null&&{usage:{inputTokens:(F=E.usage.inputTokens)!=null?F:void 0,outputTokens:(H=E.usage.outputTokens)!=null?H:void 0,totalTokens:(N=E.usage.totalTokens)!=null?N:void 0}}}}catch(D){throw await EX(D,await VW(B))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},G06,X06,Y06,Q06,J06=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:Z,aspectRatio:G,resolution:X,duration:Y,fps:Q,seed:J,image:W,providerOptions:K,headers:w,abortSignal:U}){var F;let H=await f$(this.config.headers());try{let{responseHeaders:N,value:B}=await F8({url:this.getUrl(),headers:p$(H,w!=null?w:{},this.getModelConfigHeaders(),await f$(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:$,n:Z,...G&&{aspectRatio:G},...X&&{resolution:X},...Y&&{duration:Y},...Q&&{fps:Q},...J&&{seed:J},...K&&{providerOptions:K},...W&&{image:W06(W)}},successfulResponseHandler:async({response:D,url:E,requestBodyValues:L})=>{if(D.body==null)throw new Q8({message:"SSE response body is empty",url:E,requestBodyValues:L,statusCode:D.status});let j=Tw({stream:D.body,schema:F06}).getReader(),{done:P,value:A}=await j.read();if(j.releaseLock(),P||!A)throw new Q8({message:"SSE stream ended without a data event",url:E,requestBodyValues:L,statusCode:D.status});if(!A.success)throw new Q8({message:"Failed to parse video SSE event",cause:A.error,url:E,requestBodyValues:L,statusCode:D.status});let M=A.value;if(M.type==="error")throw new Q8({message:M.message,statusCode:M.statusCode,url:E,requestBodyValues:L,responseHeaders:Object.fromEntries([...D.headers]),responseBody:JSON.stringify(M),data:{error:{message:M.message,type:M.errorType,param:M.param}}});return{value:{videos:M.videos,warnings:M.warnings,providerMetadata:M.providerMetadata},responseHeaders:Object.fromEntries([...D.headers])}},failedResponseHandler:L5({errorSchema:l8.any(),errorToMessage:(D)=>D}),...U&&{abortSignal:U},fetch:this.config.fetch});return{videos:B.videos,warnings:(F=B.warnings)!=null?F:[],providerMetadata:B.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:N}}}catch(N){throw await EX(N,await VW(H))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},K06,w06,U06,F06,H06=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:$,query:Z,topN:G,headers:X,abortSignal:Y,providerOptions:Q}){var J;let W=await f$(this.config.headers());try{let{responseHeaders:K,value:w,rawValue:U}=await F8({url:this.getUrl(),headers:p$(W,X!=null?X:{},this.getModelConfigHeaders(),await f$(this.config.o11yHeaders)),body:{documents:$,query:Z,...G!=null?{topN:G}:{},...Q?{providerOptions:Q}:{}},successfulResponseHandler:Z8(B06),failedResponseHandler:L5({errorSchema:j5.any(),errorToMessage:(F)=>F}),...Y&&{abortSignal:Y},fetch:this.config.fetch});return{ranking:w.ranking,providerMetadata:w.providerMetadata,response:{headers:K,body:U},warnings:(J=w.warnings)!=null?J:[]}}catch(K){throw await EX(K,await VW(W))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},N06,B06,O06,D06,E06,L06=($={})=>E06($),z06,j06,P06,A06=($={})=>P06($),T06,R06="3.0.133",q06="0.0.1",j50;var xi=O(()=>{e0();m1();e0();e0();e0();e0();e0();e0();e0();e0();e0();m1();e0();e0();e0();e0();C1$=k(ld0(),1),_1$=k(ld0(),1),md0=Symbol.for(Ie8),D9=class $ extends(c0$=Error,h0$=md0,c0$){constructor({message:Z,statusCode:G=500,cause:X,generationId:Y,isRetryable:Q=G!=null&&(G===408||G===409||G===429||G>=500)}){super(Y?`${Z} [${Y}]`:Z);this[h0$]=!0,this.statusCode=G,this.cause=X,this.generationId=Y,this.isRetryable=Q}static isInstance(Z){return $.hasMarker(Z)}static hasMarker(Z){return typeof Z==="object"&&Z!==null&&md0 in Z&&Z[md0]===!0}},Re8=`vercel.ai.gateway.error.${P1$}`,u0$=Symbol.for(Re8),z50=class $ extends(l0$=D9,d0$=u0$,l0$){constructor({message:Z="Authentication failed",statusCode:G=401,cause:X,generationId:Y}={}){super({message:Z,statusCode:G,cause:X,generationId:Y});this[d0$]=!0,this.name=P1$,this.type="authentication_error"}static isInstance(Z){return D9.hasMarker(Z)&&u0$ in Z}static createContextualError({apiKeyProvided:Z,oidcTokenProvided:G,message:X="Authentication failed",statusCode:Y=401,cause:Q,generationId:J}){let W;if(Z)W=`AI Gateway authentication failed: Invalid API key.
|
|
1034
1034
|
|
|
1035
1035
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
@@ -2600,5 +2600,5 @@ NKEYs are sensitive and should be treated as secrets.
|
|
|
2600
2600
|
-----BEGIN USER NKEY SEED-----
|
|
2601
2601
|
${G}
|
|
2602
2602
|
------END USER NKEY SEED------
|
|
2603
|
-
`;return new TextEncoder().encode(X)}var i11,oV,Y14,ZS$,m11="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",J14,c$,h$,e8,$S$=24,aV,AJ;var KS$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(i11||(i11={}));(function($){var Z=function(g,l){this.hi=g|0,this.lo=l|0},G=function(g){var l,h=new Float64Array(16);if(g)for(l=0;l<g.length;l++)h[l]=g[l];return h},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),w=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),U=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(g,l){return g<<l|g>>>32-l}function D(g,l){var h=g[l+3]&255;return h=h<<8|g[l+2]&255,h=h<<8|g[l+1]&255,h<<8|g[l+0]&255}function E(g,l){var h=g[l]<<24|g[l+1]<<16|g[l+2]<<8|g[l+3],o=g[l+4]<<24|g[l+5]<<16|g[l+6]<<8|g[l+7];return new Z(h,o)}function L(g,l,h){var o;for(o=0;o<4;o++)g[l+o]=h&255,h>>>=8}function z(g,l,h){g[l]=h.hi>>24&255,g[l+1]=h.hi>>16&255,g[l+2]=h.hi>>8&255,g[l+3]=h.hi&255,g[l+4]=h.lo>>24&255,g[l+5]=h.lo>>16&255,g[l+6]=h.lo>>8&255,g[l+7]=h.lo&255}function j(g,l,h,o,Y0){var K0,b0=0;for(K0=0;K0<Y0;K0++)b0|=g[l+K0]^h[o+K0];return(1&b0-1>>>8)-1}function P(g,l,h,o){return j(g,l,h,o,16)}function A(g,l,h,o){return j(g,l,h,o,32)}function M(g,l,h,o,Y0){var K0=new Uint32Array(16),b0=new Uint32Array(16),l0=new Uint32Array(16),P0=new Uint32Array(4),k0,j0,g0;for(k0=0;k0<4;k0++)b0[5*k0]=D(o,4*k0),b0[1+k0]=D(h,4*k0),b0[6+k0]=D(l,4*k0),b0[11+k0]=D(h,16+4*k0);for(k0=0;k0<16;k0++)l0[k0]=b0[k0];for(k0=0;k0<20;k0++){for(j0=0;j0<4;j0++){for(g0=0;g0<4;g0++)P0[g0]=b0[(5*j0+4*g0)%16];P0[1]^=B(P0[0]+P0[3]|0,7),P0[2]^=B(P0[1]+P0[0]|0,9),P0[3]^=B(P0[2]+P0[1]|0,13),P0[0]^=B(P0[3]+P0[2]|0,18);for(g0=0;g0<4;g0++)K0[4*j0+(j0+g0)%4]=P0[g0]}for(g0=0;g0<16;g0++)b0[g0]=K0[g0]}if(Y0){for(k0=0;k0<16;k0++)b0[k0]=b0[k0]+l0[k0]|0;for(k0=0;k0<4;k0++)b0[5*k0]=b0[5*k0]-D(o,4*k0)|0,b0[6+k0]=b0[6+k0]-D(l,4*k0)|0;for(k0=0;k0<4;k0++)L(g,4*k0,b0[5*k0]),L(g,16+4*k0,b0[6+k0])}else for(k0=0;k0<16;k0++)L(g,4*k0,b0[k0]+l0[k0]|0)}function S(g,l,h,o){return M(g,l,h,o,!1),0}function q(g,l,h,o){return M(g,l,h,o,!0),0}var V=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function t(g,l,h,o,Y0,K0,b0){var l0=new Uint8Array(16),P0=new Uint8Array(64),k0,j0;if(!Y0)return 0;for(j0=0;j0<16;j0++)l0[j0]=0;for(j0=0;j0<8;j0++)l0[j0]=K0[j0];while(Y0>=64){S(P0,l0,b0,V);for(j0=0;j0<64;j0++)g[l+j0]=(h?h[o+j0]:0)^P0[j0];k0=1;for(j0=8;j0<16;j0++)k0=k0+(l0[j0]&255)|0,l0[j0]=k0&255,k0>>>=8;if(Y0-=64,l+=64,h)o+=64}if(Y0>0){S(P0,l0,b0,V);for(j0=0;j0<Y0;j0++)g[l+j0]=(h?h[o+j0]:0)^P0[j0]}return 0}function f(g,l,h,o,Y0){return t(g,l,null,0,h,o,Y0)}function v(g,l,h,o,Y0){var K0=new Uint8Array(32);return q(K0,o,Y0,V),f(g,l,h,o.subarray(16),K0)}function Z0(g,l,h,o,Y0,K0,b0){var l0=new Uint8Array(32);return q(l0,K0,b0,V),t(g,l,h,o,Y0,K0.subarray(16),l0)}function a(g,l){var h,o=0;for(h=0;h<17;h++)o=o+(g[h]+l[h]|0)|0,g[h]=o&255,o>>>=8}var B0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function O0(g,l,h,o,Y0,K0){var b0,l0,P0,k0,j0=new Uint32Array(17),g0=new Uint32Array(17),o0=new Uint32Array(17),$1=new Uint32Array(17),W1=new Uint32Array(17);for(P0=0;P0<17;P0++)g0[P0]=o0[P0]=0;for(P0=0;P0<16;P0++)g0[P0]=K0[P0];g0[3]&=15,g0[4]&=252,g0[7]&=15,g0[8]&=252,g0[11]&=15,g0[12]&=252,g0[15]&=15;while(Y0>0){for(P0=0;P0<17;P0++)$1[P0]=0;for(P0=0;P0<16&&P0<Y0;++P0)$1[P0]=h[o+P0];$1[P0]=1,o+=P0,Y0-=P0,a(o0,$1);for(l0=0;l0<17;l0++){j0[l0]=0;for(P0=0;P0<17;P0++)j0[l0]=j0[l0]+o0[P0]*(P0<=l0?g0[l0-P0]:320*g0[l0+17-P0]|0)|0|0}for(l0=0;l0<17;l0++)o0[l0]=j0[l0];k0=0;for(P0=0;P0<16;P0++)k0=k0+o0[P0]|0,o0[P0]=k0&255,k0>>>=8;k0=k0+o0[16]|0,o0[16]=k0&3,k0=5*(k0>>>2)|0;for(P0=0;P0<16;P0++)k0=k0+o0[P0]|0,o0[P0]=k0&255,k0>>>=8;k0=k0+o0[16]|0,o0[16]=k0}for(P0=0;P0<17;P0++)W1[P0]=o0[P0];a(o0,B0),b0=-(o0[16]>>>7)|0;for(P0=0;P0<17;P0++)o0[P0]^=b0&(W1[P0]^o0[P0]);for(P0=0;P0<16;P0++)$1[P0]=K0[P0+16];$1[16]=0,a(o0,$1);for(P0=0;P0<16;P0++)g[l+P0]=o0[P0];return 0}function W0(g,l,h,o,Y0,K0){var b0=new Uint8Array(16);return O0(b0,0,h,o,Y0,K0),P(g,l,b0,0)}function J0(g,l,h,o,Y0){var K0;if(h<32)return-1;Z0(g,0,l,0,h,o,Y0),O0(g,16,g,32,h-32,g);for(K0=0;K0<16;K0++)g[K0]=0;return 0}function s(g,l,h,o,Y0){var K0,b0=new Uint8Array(32);if(h<32)return-1;if(v(b0,0,32,o,Y0),W0(l,16,l,32,h-32,b0)!==0)return-1;Z0(g,0,l,0,h,o,Y0);for(K0=0;K0<32;K0++)g[K0]=0;return 0}function A0(g,l){var h;for(h=0;h<16;h++)g[h]=l[h]|0}function U0(g){var l,h;for(h=0;h<16;h++)g[h]+=65536,l=Math.floor(g[h]/65536),g[(h+1)*(h<15?1:0)]+=l-1+37*(l-1)*(h===15?1:0),g[h]-=l*65536}function f0(g,l,h){var o,Y0=~(h-1);for(var K0=0;K0<16;K0++)o=Y0&(g[K0]^l[K0]),g[K0]^=o,l[K0]^=o}function m0(g,l){var h,o,Y0,K0=G(),b0=G();for(h=0;h<16;h++)b0[h]=l[h];U0(b0),U0(b0),U0(b0);for(o=0;o<2;o++){K0[0]=b0[0]-65517;for(h=1;h<15;h++)K0[h]=b0[h]-65535-(K0[h-1]>>16&1),K0[h-1]&=65535;K0[15]=b0[15]-32767-(K0[14]>>16&1),Y0=K0[15]>>16&1,K0[14]&=65535,f0(b0,K0,1-Y0)}for(h=0;h<16;h++)g[2*h]=b0[h]&255,g[2*h+1]=b0[h]>>8}function x0(g,l){var h=new Uint8Array(32),o=new Uint8Array(32);return m0(h,g),m0(o,l),A(h,0,o,0)}function n0(g){var l=new Uint8Array(32);return m0(l,g),l[0]&1}function N0(g,l){var h;for(h=0;h<16;h++)g[h]=l[2*h]+(l[2*h+1]<<8);g[15]&=32767}function _0(g,l,h){var o;for(o=0;o<16;o++)g[o]=l[o]+h[o]|0}function I0(g,l,h){var o;for(o=0;o<16;o++)g[o]=l[o]-h[o]|0}function F0(g,l,h){var o,Y0,K0=new Float64Array(31);for(o=0;o<31;o++)K0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)K0[o+Y0]+=l[o]*h[Y0];for(o=0;o<15;o++)K0[o]+=38*K0[o+16];for(o=0;o<16;o++)g[o]=K0[o];U0(g),U0(g)}function Q0(g,l){F0(g,l,l)}function X0(g,l){var h=G(),o;for(o=0;o<16;o++)h[o]=l[o];for(o=253;o>=0;o--)if(Q0(h,h),o!==2&&o!==4)F0(h,h,l);for(o=0;o<16;o++)g[o]=h[o]}function S0(g,l){var h=G(),o;for(o=0;o<16;o++)h[o]=l[o];for(o=250;o>=0;o--)if(Q0(h,h),o!==1)F0(h,h,l);for(o=0;o<16;o++)g[o]=h[o]}function n(g,l,h){var o=new Uint8Array(32),Y0=new Float64Array(80),K0,b0,l0=G(),P0=G(),k0=G(),j0=G(),g0=G(),o0=G();for(b0=0;b0<31;b0++)o[b0]=l[b0];o[31]=l[31]&127|64,o[0]&=248,N0(Y0,h);for(b0=0;b0<16;b0++)P0[b0]=Y0[b0],j0[b0]=l0[b0]=k0[b0]=0;l0[0]=j0[0]=1;for(b0=254;b0>=0;--b0)K0=o[b0>>>3]>>>(b0&7)&1,f0(l0,P0,K0),f0(k0,j0,K0),_0(g0,l0,k0),I0(l0,l0,k0),_0(k0,P0,j0),I0(P0,P0,j0),Q0(j0,g0),Q0(o0,l0),F0(l0,k0,l0),F0(k0,P0,g0),_0(g0,l0,k0),I0(l0,l0,k0),Q0(P0,l0),I0(k0,j0,o0),F0(l0,k0,K),_0(l0,l0,j0),F0(k0,k0,l0),F0(l0,j0,o0),F0(j0,P0,Y0),Q0(P0,g0),f0(l0,P0,K0),f0(k0,j0,K0);for(b0=0;b0<16;b0++)Y0[b0+16]=l0[b0],Y0[b0+32]=k0[b0],Y0[b0+48]=P0[b0],Y0[b0+64]=j0[b0];var $1=Y0.subarray(32),W1=Y0.subarray(16);return X0($1,$1),F0(W1,W1,$1),m0(g,W1),0}function $0(g,l){return n(g,l,Q)}function t0(g,l){return X(l,32),$0(g,l)}function R0(g,l,h){var o=new Uint8Array(32);return n(o,h,l),q(g,Y,o,V)}var d=J0,m=s;function V0(g,l,h,o,Y0,K0){var b0=new Uint8Array(32);return R0(b0,Y0,K0),d(g,l,h,o,b0)}function v0(g,l,h,o,Y0,K0){var b0=new Uint8Array(32);return R0(b0,Y0,K0),m(g,l,h,o,b0)}function N1(){var g=0,l=0,h=0,o=0,Y0=65535,K0,b0,l0;for(l0=0;l0<arguments.length;l0++)K0=arguments[l0].lo,b0=arguments[l0].hi,g+=K0&Y0,l+=K0>>>16,h+=b0&Y0,o+=b0>>>16;return l+=g>>>16,h+=l>>>16,o+=h>>>16,new Z(h&Y0|o<<16,g&Y0|l<<16)}function i0(g,l){return new Z(g.hi>>>l,g.lo>>>l|g.hi<<32-l)}function z1(){var g=0,l=0,h;for(h=0;h<arguments.length;h++)g^=arguments[h].lo,l^=arguments[h].hi;return new Z(l,g)}function R$(g,l){var h,o,Y0=32-l;if(l<32)h=g.hi>>>l|g.lo<<Y0,o=g.lo>>>l|g.hi<<Y0;else if(l<64)h=g.lo>>>l|g.hi<<Y0,o=g.hi>>>l|g.lo<<Y0;return new Z(h,o)}function B6(g,l,h){var o=g.hi&l.hi^~g.hi&h.hi,Y0=g.lo&l.lo^~g.lo&h.lo;return new Z(o,Y0)}function P4(g,l,h){var o=g.hi&l.hi^g.hi&h.hi^l.hi&h.hi,Y0=g.lo&l.lo^g.lo&h.lo^l.lo&h.lo;return new Z(o,Y0)}function h5(g){return z1(R$(g,28),R$(g,34),R$(g,39))}function e(g){return z1(R$(g,14),R$(g,18),R$(g,41))}function J1(g){return z1(R$(g,1),R$(g,8),i0(g,7))}function r$(g){return z1(R$(g,19),R$(g,61),i0(g,6))}var o$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function L9(g,l,h){var o=[],Y0=[],K0=[],b0=[],l0,P0,k0;for(P0=0;P0<8;P0++)o[P0]=K0[P0]=E(g,8*P0);var j0=0;while(h>=128){for(P0=0;P0<16;P0++)b0[P0]=E(l,8*P0+j0);for(P0=0;P0<80;P0++){for(k0=0;k0<8;k0++)Y0[k0]=K0[k0];l0=N1(K0[7],e(K0[4]),B6(K0[4],K0[5],K0[6]),o$[P0],b0[P0%16]),Y0[7]=N1(l0,h5(K0[0]),P4(K0[0],K0[1],K0[2])),Y0[3]=N1(Y0[3],l0);for(k0=0;k0<8;k0++)K0[(k0+1)%8]=Y0[k0];if(P0%16===15)for(k0=0;k0<16;k0++)b0[k0]=N1(b0[k0],b0[(k0+9)%16],J1(b0[(k0+1)%16]),r$(b0[(k0+14)%16]))}for(P0=0;P0<8;P0++)K0[P0]=N1(K0[P0],o[P0]),o[P0]=K0[P0];j0+=128,h-=128}for(P0=0;P0<8;P0++)z(g,8*P0,o[P0]);return h}var vG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function T8(g,l,h){var o=new Uint8Array(64),Y0=new Uint8Array(256),K0,b0=h;for(K0=0;K0<64;K0++)o[K0]=vG[K0];L9(o,l,h),h%=128;for(K0=0;K0<256;K0++)Y0[K0]=0;for(K0=0;K0<h;K0++)Y0[K0]=l[b0-h+K0];Y0[h]=128,h=256-128*(h<112?1:0),Y0[h-9]=0,z(Y0,h-8,new Z(b0/536870912|0,b0<<3)),L9(o,Y0,h);for(K0=0;K0<64;K0++)g[K0]=o[K0];return 0}function M6(g,l){var h=G(),o=G(),Y0=G(),K0=G(),b0=G(),l0=G(),P0=G(),k0=G(),j0=G();I0(h,g[1],g[0]),I0(j0,l[1],l[0]),F0(h,h,j0),_0(o,g[0],g[1]),_0(j0,l[0],l[1]),F0(o,o,j0),F0(Y0,g[3],l[3]),F0(Y0,Y0,U),F0(K0,g[2],l[2]),_0(K0,K0,K0),I0(b0,o,h),I0(l0,K0,Y0),_0(P0,K0,Y0),_0(k0,o,h),F0(g[0],b0,l0),F0(g[1],k0,P0),F0(g[2],P0,l0),F0(g[3],b0,k0)}function e4(g,l,h){var o;for(o=0;o<4;o++)f0(g[o],l[o],h)}function A5(g,l){var h=G(),o=G(),Y0=G();X0(Y0,l[2]),F0(h,l[0],Y0),F0(o,l[1],Y0),m0(g,o),g[31]^=n0(h)<<7}function $9(g,l,h){var o,Y0;A0(g[0],J),A0(g[1],W),A0(g[2],W),A0(g[3],J);for(Y0=255;Y0>=0;--Y0)o=h[Y0/8|0]>>(Y0&7)&1,e4(g,l,o),M6(l,g),M6(g,g),e4(g,l,o)}function z9(g,l){var h=[G(),G(),G(),G()];A0(h[0],F),A0(h[1],H),A0(h[2],W),F0(h[3],F,H),$9(g,h,l)}function b1(g,l,h){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],K0;if(!h)X(l,32);T8(o,l,32),o[0]&=248,o[31]&=127,o[31]|=64,z9(Y0,o),A5(g,Y0);for(K0=0;K0<32;K0++)l[K0+32]=g[K0];return 0}var I8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function R8(g,l){var h,o,Y0,K0;for(o=63;o>=32;--o){h=0;for(Y0=o-32,K0=o-12;Y0<K0;++Y0)l[Y0]+=h-16*l[o]*I8[Y0-(o-32)],h=Math.floor((l[Y0]+128)/256),l[Y0]-=h*256;l[Y0]+=h,l[o]=0}h=0;for(Y0=0;Y0<32;Y0++)l[Y0]+=h-(l[31]>>4)*I8[Y0],h=l[Y0]>>8,l[Y0]&=255;for(Y0=0;Y0<32;Y0++)l[Y0]-=h*I8[Y0];for(o=0;o<32;o++)l[o+1]+=l[o]>>8,g[o]=l[o]&255}function $6(g){var l=new Float64Array(64),h;for(h=0;h<64;h++)l[h]=g[h];for(h=0;h<64;h++)g[h]=0;R8(g,l)}function b$(g,l,h,o){var Y0=new Uint8Array(64),K0=new Uint8Array(64),b0=new Uint8Array(64),l0,P0,k0=new Float64Array(64),j0=[G(),G(),G(),G()];T8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var g0=h+64;for(l0=0;l0<h;l0++)g[64+l0]=l[l0];for(l0=0;l0<32;l0++)g[32+l0]=Y0[32+l0];T8(b0,g.subarray(32),h+32),$6(b0),z9(j0,b0),A5(g,j0);for(l0=32;l0<64;l0++)g[l0]=o[l0];T8(K0,g,h+64),$6(K0);for(l0=0;l0<64;l0++)k0[l0]=0;for(l0=0;l0<32;l0++)k0[l0]=b0[l0];for(l0=0;l0<32;l0++)for(P0=0;P0<32;P0++)k0[l0+P0]+=K0[l0]*Y0[P0];return R8(g.subarray(32),k0),g0}function w8(g,l){var h=G(),o=G(),Y0=G(),K0=G(),b0=G(),l0=G(),P0=G();if(A0(g[2],W),N0(g[1],l),Q0(Y0,g[1]),F0(K0,Y0,w),I0(Y0,Y0,g[2]),_0(K0,g[2],K0),Q0(b0,K0),Q0(l0,b0),F0(P0,l0,b0),F0(h,P0,Y0),F0(h,h,K0),S0(h,h),F0(h,h,Y0),F0(h,h,K0),F0(h,h,K0),F0(g[0],h,K0),Q0(o,g[0]),F0(o,o,K0),x0(o,Y0))F0(g[0],g[0],N);if(Q0(o,g[0]),F0(o,o,K0),x0(o,Y0))return-1;if(n0(g[0])===l[31]>>7)I0(g[0],J,g[0]);return F0(g[3],g[0],g[1]),0}function E7(g,l,h,o){var Y0,K0=new Uint8Array(32),b0=new Uint8Array(64),l0=[G(),G(),G(),G()],P0=[G(),G(),G(),G()];if(h<64)return-1;if(w8(P0,o))return-1;for(Y0=0;Y0<h;Y0++)g[Y0]=l[Y0];for(Y0=0;Y0<32;Y0++)g[Y0+32]=o[Y0];if(T8(b0,g,h),$6(b0),$9(l0,P0,b0),z9(P0,l.subarray(32)),M6(l0,P0),A5(K0,l0),h-=64,A(l,0,K0,0)){for(Y0=0;Y0<h;Y0++)g[Y0]=0;return-1}for(Y0=0;Y0<h;Y0++)g[Y0]=l[Y0+64];return h}var M$=32,d6=24,o6=32,i8=16,$5=32,C=32,u=32,c=32,I=32,r=d6,y0=o6,d0=i8,Q1=64,w1=32,x1=64,C1=32,X8=64;$.lowlevel={crypto_core_hsalsa20:q,crypto_stream_xor:Z0,crypto_stream:v,crypto_stream_salsa20_xor:t,crypto_stream_salsa20:f,crypto_onetimeauth:O0,crypto_onetimeauth_verify:W0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:J0,crypto_secretbox_open:s,crypto_scalarmult:n,crypto_scalarmult_base:$0,crypto_box_beforenm:R0,crypto_box_afternm:d,crypto_box:V0,crypto_box_open:v0,crypto_box_keypair:t0,crypto_hash:T8,crypto_sign:b$,crypto_sign_keypair:b1,crypto_sign_open:E7,crypto_secretbox_KEYBYTES:M$,crypto_secretbox_NONCEBYTES:d6,crypto_secretbox_ZEROBYTES:o6,crypto_secretbox_BOXZEROBYTES:i8,crypto_scalarmult_BYTES:$5,crypto_scalarmult_SCALARBYTES:C,crypto_box_PUBLICKEYBYTES:u,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:I,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:y0,crypto_box_BOXZEROBYTES:d0,crypto_sign_BYTES:Q1,crypto_sign_PUBLICKEYBYTES:w1,crypto_sign_SECRETKEYBYTES:x1,crypto_sign_SEEDBYTES:C1,crypto_hash_BYTES:X8,gf:G,D:w,L:I8,pack25519:m0,unpack25519:N0,M:F0,A:_0,S:Q0,Z:I0,pow2523:S0,add:M6,set25519:A0,modL:R8,scalarmult:$9,scalarbase:z9};function c1(g,l){if(g.length!==M$)throw Error("bad key size");if(l.length!==d6)throw Error("bad nonce size")}function E$(g,l){if(g.length!==u)throw Error("bad public key size");if(l.length!==c)throw Error("bad secret key size")}function G$(){for(var g=0;g<arguments.length;g++)if(!(arguments[g]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function x$(g){for(var l=0;l<g.length;l++)g[l]=0}$.randomBytes=function(g){var l=new Uint8Array(g);return X(l,g),l},$.secretbox=function(g,l,h){G$(g,l,h),c1(h,l);var o=new Uint8Array(o6+g.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<g.length;K0++)o[K0+o6]=g[K0];return J0(Y0,o,o.length,l,h),Y0.subarray(i8)},$.secretbox.open=function(g,l,h){G$(g,l,h),c1(h,l);var o=new Uint8Array(i8+g.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<g.length;K0++)o[K0+i8]=g[K0];if(o.length<32)return null;if(s(Y0,o,o.length,l,h)!==0)return null;return Y0.subarray(o6)},$.secretbox.keyLength=M$,$.secretbox.nonceLength=d6,$.secretbox.overheadLength=i8,$.scalarMult=function(g,l){if(G$(g,l),g.length!==C)throw Error("bad n size");if(l.length!==$5)throw Error("bad p size");var h=new Uint8Array($5);return n(h,g,l),h},$.scalarMult.base=function(g){if(G$(g),g.length!==C)throw Error("bad n size");var l=new Uint8Array($5);return $0(l,g),l},$.scalarMult.scalarLength=C,$.scalarMult.groupElementLength=$5,$.box=function(g,l,h,o){var Y0=$.box.before(h,o);return $.secretbox(g,l,Y0)},$.box.before=function(g,l){G$(g,l),E$(g,l);var h=new Uint8Array(I);return R0(h,g,l),h},$.box.after=$.secretbox,$.box.open=function(g,l,h,o){var Y0=$.box.before(h,o);return $.secretbox.open(g,l,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var g=new Uint8Array(u),l=new Uint8Array(c);return t0(g,l),{publicKey:g,secretKey:l}},$.box.keyPair.fromSecretKey=function(g){if(G$(g),g.length!==c)throw Error("bad secret key size");var l=new Uint8Array(u);return $0(l,g),{publicKey:l,secretKey:new Uint8Array(g)}},$.box.publicKeyLength=u,$.box.secretKeyLength=c,$.box.sharedKeyLength=I,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(g,l){if(G$(g,l),l.length!==x1)throw Error("bad secret key size");var h=new Uint8Array(Q1+g.length);return b$(h,g,g.length,l),h},$.sign.open=function(g,l){if(G$(g,l),l.length!==w1)throw Error("bad public key size");var h=new Uint8Array(g.length),o=E7(h,g,g.length,l);if(o<0)return null;var Y0=new Uint8Array(o);for(var K0=0;K0<Y0.length;K0++)Y0[K0]=h[K0];return Y0},$.sign.detached=function(g,l){var h=$.sign(g,l),o=new Uint8Array(Q1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=h[Y0];return o},$.sign.detached.verify=function(g,l,h){if(G$(g,l,h),l.length!==Q1)throw Error("bad signature size");if(h.length!==w1)throw Error("bad public key size");var o=new Uint8Array(Q1+g.length),Y0=new Uint8Array(Q1+g.length),K0;for(K0=0;K0<Q1;K0++)o[K0]=l[K0];for(K0=0;K0<g.length;K0++)o[K0+Q1]=g[K0];return E7(Y0,o,o.length,h)>=0},$.sign.keyPair=function(){var g=new Uint8Array(w1),l=new Uint8Array(x1);return b1(g,l),{publicKey:g,secretKey:l}},$.sign.keyPair.fromSecretKey=function(g){if(G$(g),g.length!==x1)throw Error("bad secret key size");var l=new Uint8Array(w1);for(var h=0;h<l.length;h++)l[h]=g[32+h];return{publicKey:l,secretKey:new Uint8Array(g)}},$.sign.keyPair.fromSeed=function(g){if(G$(g),g.length!==C1)throw Error("bad seed size");var l=new Uint8Array(w1),h=new Uint8Array(x1);for(var o=0;o<32;o++)h[o]=g[o];return b1(l,h,!0),{publicKey:l,secretKey:h}},$.sign.publicKeyLength=w1,$.sign.secretKeyLength=x1,$.sign.seedLength=C1,$.sign.signatureLength=Q1,$.hash=function(g){G$(g);var l=new Uint8Array(X8);return T8(l,g,g.length),l},$.hash.hashLength=X8,$.verify=function(g,l){if(G$(g,l),g.length===0||l.length===0)return!1;if(g.length!==l.length)return!1;return j(g,0,l,0,g.length)===0?!0:!1},$.setPRNG=function(g){X=g},function(){var g=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(g&&g.getRandomValues){var l=65536;$.setPRNG(function(h,o){var Y0,K0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=l)g.getRandomValues(K0.subarray(Y0,Y0+Math.min(o-Y0,l)));for(Y0=0;Y0<o;Y0++)h[Y0]=K0[Y0];x$(K0)})}else if(g=u0("crypto"),g&&g.randomBytes)$.setPRNG(function(h,o){var Y0,K0=g.randomBytes(o);for(Y0=0;Y0<o;Y0++)h[Y0]=K0[Y0];x$(K0)})}()})(typeof Gg<"u"&&z$Z?z$Z:globalThis.nacl=globalThis.nacl||{});oV=typeof Gg<"u"&&z$Z?z$Z:globalThis.nacl,Y14={fromSeed:oV.sign.keyPair.fromSeed,sign:oV.sign.detached,verify:oV.sign.detached.verify,randomBytes:oV.randomBytes,scalarBaseMultiply:oV.scalarMult.base,seal:oV.box,open:oV.box.open};J14=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);c$=class c$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(h$||(h$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(e8||(e8={}));aV=[120,107,118,49];Q14(Y14);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(AJ||(AJ={}))});function o11($){try{$?.clear?.()}catch{}}async function wS$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=JS$($),W=t11(J.sub),K=r11(new TextEncoder().encode(Z)),w=GS$();try{let U=await QS$(Y,w,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:AJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(WS$(U,w))}finally{o11(w),o11(K),o11(W)}}var US$=O(()=>{KS$()});function E14($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function FS$(){let $=new g1;return $.post("/links/session",async(Z)=>{let X=Z.get("meshContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=E1();if(!Y.natsTunnelPublicEnabled)return Z.json(a11(),503);if(!Y.natsPublicUrl)return Z.json(a11(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(a11(),503)}let Q=PJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await wS$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:ak$(Q),userId:X,allowedConnectionTypes:E14(Y.natsPublicUrl)})}return Z.json(sk$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var a11=()=>({error:"link session unavailable"});var HS$=O(()=>{m6();z8();ek$();US$()});async function j14($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function P14($){let{ctx:Z,runner:G,claimName:X,userId:Y,projectRef:Q,sandboxProviderKind:J}=$;try{await G.delete(X)}catch(W){console.warn(`[vm-events] runner.delete failed for ${X}: ${W instanceof Error?W.message:String(W)}`)}try{await new BN(Z.db).delete({userId:Y,projectRef:Q},J)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Y}/${Q}/${J}: ${W instanceof Error?W.message:String(W)}`)}}async function A14($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,w=(H)=>{if(J)return;J=!0,clearTimeout(U),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},U=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),w(!1)},L14),F=()=>w(!1);Y.addEventListener("abort",F,{once:!0}),K=Tn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")w(!0);else if(H.kind==="failed")w(!1)})})}async function T14($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(w){if(Y.aborted)return;if(Date.now()-Q<NS$){await n8(BS$,{signal:Y}).catch(()=>{});continue}let U=w instanceof Error?w.message:String(w);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<NS$){await n8(BS$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:w}=await W.read();if(w)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var L14=90000,z14=15000,OS$=()=>{let $=new g1;return $.get("/",async(Z)=>{let G=Z.var.meshContext;try{M0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=y1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=D0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=pw({orgId:Y.id,virtualMcpId:Q,branch:J}),w=Iy({userId:X,projectRef:K},J),U=W.metadata??null,F,H=null,N=null;try{let E=await KJ(G,{userId:X,branch:J,virtualMcpMetadata:U});F=E.provider,H=E.kind}catch(E){N=E instanceof Error?E:Error(String(E)),F=null}let B=H&&ow(ZZ(U),X,J,H),D=!!B&&B.sandboxHandle===w;if(!F)return cQ(Z,async(E)=>{await E.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this mesh."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),cQ(Z,async(E)=>{let L=new AbortController,z=setInterval(()=>{E.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(z)})},z14);E.onAbort(()=>{L.abort(),clearInterval(z)});try{if(D&&H){if(await j14(F,w)){await P14({ctx:G,runner:F,claimName:w,userId:X,projectRef:K,sandboxProviderKind:H}),await E.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await A14({stream:E,claimName:w,runner:F,signal:L.signal})||L.signal.aborted)return;await T14({stream:E,runner:F,claimName:w,signal:L.signal})}finally{clearInterval(z)}})}),$},NS$=60000,BS$=500;var DS$=O(()=>{m6();rV();PY();Z9();cD0();In();Lv();H90();qQ()});function R14($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function q14($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(I14)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var I14=1e4,M14=async($,Z)=>{if(!$.get("meshContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},ES$=()=>{let $=new g1;return $.use("*",M14),$.get("/",async(Z)=>{let G=E1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await q14(X,Y);return Z.json({apps:R14(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var LS$=O(()=>{m6();z8()});import{z as v1}from"zod";function wK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function y14($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function g14($,Z,G){try{return JSON.parse($)}catch{throw new PS$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function h14($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:g14(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function c14($){let Z=$.map((G)=>{let X=G.function.parameters?wY(G.function.parameters):wY({type:"object",properties:{}});return[G.function.name,$8({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function u14($){if(!$)return;return{openai:{response_format:$}}}function d14(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function zS$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function jS$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var k14=256,S14,V14,C14,_14,b14,f14,x14,v14,PS$,AS$,TS$;var IS$=O(()=>{y6();m6();rV();S14=v1.object({type:v1.literal("function"),function:v1.object({name:v1.string(),description:v1.string().optional(),parameters:v1.record(v1.string(),v1.unknown()).optional()})}),V14=v1.object({id:v1.string(),type:v1.literal("function"),function:v1.object({name:v1.string(),arguments:v1.string()})}),C14=v1.discriminatedUnion("role",[v1.object({role:v1.literal("system"),content:v1.string(),name:v1.string().optional()}),v1.object({role:v1.literal("user"),content:v1.union([v1.string(),v1.array(v1.union([v1.object({type:v1.literal("text"),text:v1.string()}),v1.object({type:v1.literal("image_url"),image_url:v1.object({url:v1.string(),detail:v1.string().optional()})})]))]),name:v1.string().optional()}),v1.object({role:v1.literal("assistant"),content:v1.string().nullable().optional(),name:v1.string().optional(),tool_calls:v1.array(V14).optional()}),v1.object({role:v1.literal("tool"),content:v1.string(),tool_call_id:v1.string()})]),_14=v1.object({type:v1.literal("text")}),b14=v1.object({type:v1.literal("json_object")}),f14=v1.object({type:v1.literal("json_schema"),json_schema:v1.object({name:v1.string(),description:v1.string().optional(),schema:v1.record(v1.string(),v1.unknown()),strict:v1.boolean().optional()})}),x14=v1.union([_14,b14,f14]),v14=v1.object({model:v1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:v1.array(C14),stream:v1.boolean().optional().default(!1),temperature:v1.number().min(0).max(2).optional(),max_tokens:v1.number().positive().optional(),top_p:v1.number().min(0).max(1).optional(),frequency_penalty:v1.number().min(-2).max(2).optional(),presence_penalty:v1.number().min(-2).max(2).optional(),stop:v1.union([v1.string(),v1.array(v1.string())]).optional(),tools:v1.array(S14).optional(),tool_choice:v1.union([v1.literal("auto"),v1.literal("none"),v1.literal("required"),v1.object({type:v1.literal("function"),function:v1.object({name:v1.string()})})]).optional(),response_format:x14.optional(),user:v1.string().optional()});PS$=class PS$ extends Error{constructor($){super($);this.name="MessageConversionError"}};AS$=new g1;AS$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("meshContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(wK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(wK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(wK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=v14.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(wK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=y14(Q.model);if(!J)return $.json(wK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(wK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let w;try{w=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(wK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=w.aiSdk.languageModel(K),F=h14(Q.messages),H=Q.tools?c14(Q.tools):void 0,N=u14(Q.response_format),B=d14(),D=Math.floor(Date.now()/1000);if(Q.stream)return cQ($,async(E)=>{let L=zS$(U,F,H,Q,N,$.req.raw.signal);try{let z=IQ(L),j=!1,P=0,A="",M=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=k14)await M()}else if(S.type==="tool-call"){await M();let q=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:q,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await M(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:jS$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await M(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=zS$(U,F,H,Q,N,$.req.raw.signal),L=await KN(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:jS$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(wK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(wK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(wK(Y.message,"server_error"),500)}});TS$=AS$});var qS$;var RS$=O(()=>{qS$={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"}}});function i14(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??m14}}var MS$,m14="https://ph.studio.decocms.com",kS$;var SS$=O(()=>{m6();Fb0();_N();nG();z8();Qe0();RS$();MS$=new g1;MS$.get("/",($)=>{let Z={version:qS$.version,theme:D_1(),...fO().logo&&{logo:fO().logo},...SQ()&&{internalUrl:Re()},...E1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!E1().firecrawlApiKey,auth:$T$(),posthog:i14(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!SQ()&&E1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});kS$=MS$});function VS$($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var CS$,n14,p14,_S$;var bS$=O(()=>{m6();I3();Iv();wb();CS$=new g1,n14=["range","if-none-match","if-modified-since"],p14=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];CS$.get("/:org/files/*",async($)=>{let Z=$.get("meshContext"),G=Z.organization?.id;if(!Z.auth?.user?.id){if(xy($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new z$(401,{message:"Authentication required"})}if(!G)throw new z$(401,{message:"Organization context required"});let X=$.req.path.replace(/^.*\/files\//,"");if(!X)throw new z$(400,{message:"Missing file key"});let Y=await Vn(X,Z);if(!Y)throw new z$(503,{message:"Object storage not configured"});if(Y.startsWith("data:")&&T3()){let K=Y.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new z$(500,{message:"Invalid data URL from storage"});let[,w,U]=K,F=Buffer.from(U,"base64"),H=new Headers({"Content-Type":w,"Cache-Control":"private, max-age=86400"});return VS$(H,w),new Response(F,{status:200,headers:H})}let Q=new Headers;for(let K of n14){let w=$.req.header(K);if(w)Q.set(K,w)}let J=await fetch(Y,{headers:Q});if(J.status===403||J.status===404)throw new z$(404,{message:"File not found"});if(!J.ok&&J.status!==304&&J.status!==416)throw console.error(`[files] upstream storage error ${J.status} for key:`,X),new z$(502,{message:"Upstream storage error"});let W=new Headers;for(let K of p14){let w=J.headers.get(K);if(w)W.set(K,w)}return W.set("Cache-Control","private, max-age=86400"),VS$(W,W.get("content-type")??""),new Response(J.body,{status:J.status,headers:W})});_S$=CS$});var ft=_((eV)=>{var t14=eV&&eV.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),r14=eV&&eV.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))t14(Z,$,G)};Object.defineProperty(eV,"__esModule",{value:!0});r14(dX(),eV)});var vS$=_((fS$)=>{Object.defineProperty(fS$,"__esModule",{value:!0});fS$.version=void 0;fS$.version="3.4.0"});var hS$=_((UK)=>{var o14=UK&&UK.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(UK,"__esModule",{value:!0});UK.NodeTransport=UK.VERSION=void 0;UK.nodeResolveHost=G$4;var m4=ft(),a14=u0("net"),s11=u0("tls"),s14=u0("path"),yS$=u0("fs"),e14=o14(u0("dns")),$$4=vS$();UK.VERSION=$$4.version;var Z$4="nats.js";class gS${socket;version;lang;yields=[];signal=(0,m4.deferred)();closedNotification=(0,m4.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=Z$4,this.version=UK.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:G}=this.options,{handshakeFirst:X}=G||{};try{if(X===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let Y=await this.peekInfo();(0,m4.checkOptions)(Y,Z);let{tls_required:Q,tls_available:J}=Y,W=J===!0&&Z.tls!==null;if(!X&&(Q||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(Q&&this.socket.encrypted!==!0)throw m4.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Y){let Q=Y;if(!Q)Q=new m4.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=Q,W=J==="ECONNREFUSED"?new m4.errors.ConnectionError("connection refused",{cause:Q}):Q;throw this.socket?.destroy(),W}}dial($){let Z=(0,m4.deferred)(),G,X=(0,a14.createConnection)($.port,$.hostname,()=>{Z.resolve(X),X.removeAllListeners()});return X.on("error",(Y)=>{G=Y}),X.on("close",()=>{X.removeAllListeners(),Z.reject(G)}),X.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,m4.deferred)(),Z;return this.socket.on("data",(G)=>{this.yields.push(G);let X=m4.DataBuffer.concat(...this.yields),Y=(0,m4.extractProtocolMessage)(X);if(Y!=="")try{let Q=m4.INFO.exec(Y);if(!Q)throw Error("unexpected response from server");let J=JSON.parse(Q[1]);$.resolve(J)}catch(Q){$.reject(Q)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(G)=>{Z=G}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,m4.deferred)();try{if($=(0,s14.resolve)($),!(0,yS$.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,yS$.readFile)($,(G,X)=>{if(G)return Z.reject(G);Z.resolve(X)})}catch(G){Z.reject(G)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:G,caFile:X,ca:Y,keyFile:Q,key:J}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(G)$.cert=G;if(Q){let W=await this.loadFile(Q);if(W)$.key=W}else if(J)$.key=J;if(X){let W=await this.loadFile(X);if(W)$.ca=[W]}else if(Y)$.ca=Y;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,G={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)G.socket=this.socket;if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};G=(0,m4.extend)(G,this.options.tls,Y)}catch(Y){return Promise.reject(new m4.errors.ConnectionError(Y.message,{cause:Y}))}let X=(0,m4.deferred)();try{let Y=(0,s11.connect)($.port,$.hostname,G,()=>{Y.removeAllListeners(),X.resolve(Y)});Y.on("error",(Q)=>{Z=Q}),Y.on("secureConnect",()=>{if(G.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{X.reject(Z),Y.removeAllListeners()}),Y.setNoDelay(!0)}catch(Y){X.reject(new m4.errors.ConnectionError(Y.message,{cause:Y}))}return X}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Z=(0,m4.extend)(Z,this.options.tls,X)}catch(X){return Promise.reject(new m4.errors.ConnectionError(X.message,{cause:X}))}let G=(0,m4.deferred)();try{let X=(0,s11.connect)(Z,()=>{X.removeAllListeners(),G.resolve(X)});X.on("error",(Y)=>{$=Y}),X.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{G.reject($),X.removeAllListeners()})}catch(X){G.reject(new m4.errors.ConnectionError(X.message,{cause:X}))}return G}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,m4.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,m4.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof s11.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,m4.render)($)}`);let Z=(0,m4.deferred)();try{this.socket.write($,(G)=>{if(G){if(this.options.debug)console.error(`!!! ${(0,m4.render)($)}: ${G}`);return Z.reject(G)}return Z.resolve()})}catch(G){if(this.options.debug)console.error(`!!! ${(0,m4.render)($)}: ${G}`);Z.reject(G)}return Z}send($){this._send($).catch((G)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}UK.NodeTransport=gS$;function G$4($){let Z=(0,m4.deferred)();return e14.default.lookup($,{all:!0},(G,X)=>{if(G){Z.reject(G);return}let Y=[];for(let Q of X)Y.push(Q.address);if(Y.length===0)Y.push($);Z.resolve(Y)}),Z}});var mS$=_((lS$)=>{Object.defineProperty(lS$,"__esModule",{value:!0});lS$.connect=X$4;var cS$=hS$(),uS$=ft(),dS$=ft();function X$4($={}){if((0,dS$.hasWsProtocol)($))return Promise.reject(dS$.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,uS$.setTransportFactory)({factory:()=>{return new cS$.NodeTransport},dnsResolveFn:cS$.nodeResolveHost}),uS$.NatsConnectionImpl.connect($)}});var iS$=_((kU)=>{var Q$4=kU&&kU.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),J$4=kU&&kU.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))Q$4(Z,$,G)};Object.defineProperty(kU,"__esModule",{value:!0});kU.connect=void 0;var W$4=mS$();Object.defineProperty(kU,"connect",{enumerable:!0,get:function(){return W$4.connect}});J$4(ft(),kU)});function rS$($){let Z=$?.connectFn??F$4,G=null,X=null,Y=!1,Q=!1,J=!1,W=[];function K(){return G!==null&&!G.isClosed()&&!G.isDraining()&&!J}function w(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let H of W)try{H()}catch{}}function U(H){(async()=>{for await(let N of H.status())if(N.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(N.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,X=null,w()})().catch(()=>{})}async function F(H,N){let B=0;while(!Q)try{G=await Z({servers:H,timeout:U$4,reconnect:!0,maxReconnectAttempts:-1,...N?{authenticator:N}:{}}),console.log(`[NatsProvider] Connected to ${G.getServer()} after ${B} attempt(s)`),X=null,J=!1,U(G),w();return}catch{B++;let D=yX(w$4,K$4,B-1,2,0.5);await n8(D)}}return{init(H,N){if(Y)return;Y=!0,Q=!1;let B=N?.creds?nS$.credsAuthenticator(new TextEncoder().encode(N.creds)):void 0;F(H,B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?G:null},getJetStream(){if(!K())return null;if(!X)X=tS$.jetstream(G);return X},onReady(H){if(W.push(H),K())try{H()}catch{}},async drain(){if(Q=!0,Y=!1,X=null,J=!1,G){let H=G;G=null,await H.drain().catch(()=>{})}}}}function F$4($){return pS$.connect($)}var nS$,pS$,tS$,K$4=100,w$4=3000,U$4=3000;var oS$=O(()=>{Z9();nS$=k(Vg(),1),pS$=k(iS$(),1),tS$=k(RB(),1)});function Xg($){let Z=$?.ttlMs??60000,G=$?.maxSize??1e4,X=$?.updateRecencyOnGet??!1,Y=new Map;function Q(){if(Y.size<=G)return;let J=Date.now();for(let[W,K]of Y)if(K.expiresAt<=J)Y.delete(W);while(Y.size>G){let W=Y.keys().next().value;if(W===void 0)break;Y.delete(W)}}return{get(J){let W=Y.get(J);if(!W)return;if(W.expiresAt<=Date.now()){Y.delete(J);return}if(X)Y.delete(J),Y.set(J,W);return W.value},set(J,W){Y.delete(J),Y.set(J,{value:W,expiresAt:Date.now()+Z}),Q()},delete(J){Y.delete(J)},clear(){Y.clear()},size(){return Y.size}}}function e11($,Z){return`${$}.${Z}`}class $$1{cache;constructor($){this.cache=Xg({ttlMs:$?.ttlMs??H$4,maxSize:$?.maxSize??N$4})}async get($,Z){return this.cache.get(e11($,Z))??null}async set($,Z,G){this.cache.set(e11($,Z),G)}async invalidate($,Z){this.cache.delete(e11($,Z))}teardown(){this.cache.clear()}}var H$4=600000,N$4=5000;var aS$=()=>{};function eE0($,Z){return`${$}:${Z}`}function Z$1($){let Z=Xg({ttlMs:$?.ttlMs??B$4,maxSize:$?.maxSize??O$4}),G=$?.getConnection,X=crypto.randomUUID(),Y=new TextEncoder,Q=new TextDecoder,J=null;function W(K,w){let U=G?.();if(!U)return;try{U.publish(sS$,Y.encode(JSON.stringify({organizationId:K,keyId:w,originId:X})))}catch(F){console.warn("[ProviderKeyCache] Publish failed (non-critical):",F)}}return{get(K,w){return Z.get(eE0(K,w))},set(K,w,U){Z.set(eE0(K,w),U)},invalidate(K,w){Z.delete(eE0(K,w)),W(K,w)},start(){if(J)return;let K=G?.();if(!K)return;J=K.subscribe(sS$),(async()=>{for await(let w of J)try{let U=JSON.parse(Q.decode(w.data));if(U.originId===X)continue;Z.delete(eE0(U.organizationId,U.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,Z.clear()}}}var sS$="studio.ai-provider-keys.invalidate",B$4=30000,O$4=5000;var eS$=()=>{};class G$1{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;this.sub=Z.subscribe("mesh.decopilot.cancel");let G=new TextDecoder;(async()=>{for await(let X of this.sub)try{let Y=JSON.parse(G.decode(X.data));if(Y.originId===this.originId)continue;this.onCancel?.(Y.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;Z.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}publishControlFrame($,Z){}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}var $V$=($)=>{let Z;return()=>Z??=$()},X$1,Y$1;var ZV$=O(()=>{I5();X$1=$V$(()=>g8.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),Y$1=$V$(()=>g8.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function A$4(){return{name:lw,subjects:[`${Sl0}.>`],storage:TJ.StorageType.File,max_age:L$4,max_bytes:j$4,max_msgs_per_subject:P$4,discard:TJ.DiscardPolicy.Old,retention:TJ.RetentionPolicy.Limits,duplicate_window:z$4,num_replicas:1}}class YV${chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function GV$($){let Z=XV$.headers();for(let[G,X]of Object.entries($))Z.set(G,X);return Z}function q$4($,Z){let G=0;return{publish(X,Y,Q,J){X.publish(Y,Q,J?{headers:J}:void 0).catch((W)=>{if(G++,E$4().add(1,{"org.id":Z??"unknown"}),G===1||G%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${G} total):`,W)})},get errorCount(){return G}}}class Q$1{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=this.options.getJetStreamManager?await this.options.getJetStreamManager():await TJ.jetstreamManager($),G=A$4();try{await Z.streams.info(lw),await Z.streams.update(lw,G)}catch(X){if(X instanceof Error&&X.message.includes("stream not found"))await Z.streams.add(G);else if(X instanceof Error&&/can ?not change.*storage|storage type/i.test(X.message))await Z.streams.delete(lw),await Z.streams.add(G);else throw X}this.js=this.options.getJetStream(),this.jsm=Z,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,G,X){let Y=this.js;if(!Y)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let Q=q$4(Z,X),J=!1,W=()=>{if(J)return;J=!0;let w=I6$(Z);Y.publish(w.subject,w.data).catch(()=>{})};G.addEventListener("abort",W,{once:!0});let K=(w)=>{let U=performance.now(),F=Cl0(w,{runId:Z}),H=performance.now()-U;if(X$1().record(H),Y$1().add(1,{"org.id":X??"unknown"}),R$4?.record(H,F.reduce((N,B)=>N+B.data.length,0)),F.length===0){console.warn(`[Decopilot] dropping oversized stream chunk for thread ${Z}`);return}for(let N of F)Q.publish(Y,N.subject,N.data,N.headers?GV$(N.headers):void 0)};return(async()=>{let w=$.getReader(),U=0,F=0,H;try{while(!0){let{done:N,value:B}=await w.read();if(N)break;if(K(B),F++,++U>=64)U=0,await new Promise((D)=>setImmediate(D))}}catch(N){H=N,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,N?.message??N)}finally{if(w.releaseLock(),W(),I$4)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:F,publishErrors:Q.errorCount}))}if(H!==void 0)throw H})()}async publishRawChunk($,Z,G){let X=this.js;if(!X)return!1;let Y=performance.now(),Q=Cl0(Z,{runId:$,dedup:G});if(X$1().record(performance.now()-Y),Y$1().add(1),Q.length===0)return console.warn(`[Decopilot] dropping oversized raw chunk for thread ${$} (> MAX_CHUNKED_BYTES)`),!0;for(let J of Q)await X.publish(J.subject,J.data,{...J.headers?{headers:GV$(J.headers)}:{},...J.msgId?{msgID:J.msgId}:{}});return!0}async publishDone($,Z,G){let X=this.js;if(!X)return!1;let Y=T6$({runId:$,fenceToken:Z,finalSeq:G});return await X.publish(Y.subject,Y.data,{msgID:Y.msgId}),!0}async createTailStream($,Z,G){let X=this.js;if(!X)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let Y=G?.deliverPolicy==="new"?TJ.DeliverPolicy.New:TJ.DeliverPolicy.All,Q=G?.closeOnDone??!1,J=UN($),W;try{W=await(await X.consumers.get(lw,{filter_subjects:J,deliver_policy:Y})).consume()}catch(D){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",D?.message??D),null}let U=d50({messages:async function*(){try{for await(let D of W)yield{subject:D.subject,data:D.data,headers:D.headers}}finally{W.stop()}}(),onCancel:()=>W.stop()}).pipeThrough(h50()).pipeThrough(c50()).getReader(),F=!1,H=()=>{if(F)return;F=!0;try{U.releaseLock()}catch{}},N=!1,B=()=>{if(N)return;N=!0,W.stop(),U.cancel().catch(()=>{}),H()};return Z?.addEventListener("abort",B,{once:!0}),new ReadableStream({async pull(D){for(;;){let{done:E,value:L}=await U.read();if(E){B(),D.close();return}let z=L;if(z.kind==="done"){if(Q){B(),D.close();return}continue}D.enqueue(z.chunk);return}},cancel(){B()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(lw,{filter:UN($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var TJ,XV$,D$4=($)=>{let Z;return()=>Z??=$()},E$4,L$4=86400000000000,z$4=120000000000,j$4=4294967296,P$4=500000,T$4,I$4,R$4;var QV$=O(()=>{bl0();l50();_l0();I5();ZV$();TJ=k(RB(),1),XV$=k(Vg(),1),E$4=D$4(()=>g8.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"}));T$4=process.env.STREAM_ENCODE_TRACE==="1",I$4=process.env.DECOPILOT_STREAM_TRACE==="1";R$4=T$4?new YV$:null});import{z as G8}from"zod";var JV$,WV$,FK,J$1,KV$,wV$,UV$,FV$,M$4,HV$,NV$,BV$,OV$,DV$,k$4,EV$,V8Z,S$4,V$4=($)=>{return $.issues.map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"frame"}: ${Z.message}`}).join("; ")},LV$=($)=>{return new TextEncoder().encode(JSON.stringify($))},zV$=($)=>{let Z;try{Z=JSON.parse(new TextDecoder().decode($))}catch(Q){throw TypeError("malformed JSON in tunnel frame",{cause:Q})}if(Z===null||typeof Z!=="object"||Array.isArray(Z))throw TypeError("frame must be an object");if(!("type"in Z))throw TypeError("frame type missing");let G=Z.type,X=typeof G==="string"?S$4[G]:void 0;if(!X)throw TypeError(`unknown frame type: ${String(G)}`);let Y=X.safeParse(Z);if(!Y.success)throw TypeError(`invalid tunnel frame: ${V$4(Y.error)}`);return Y.data};var jV$=O(()=>{JV$=G8.string().regex(/^[A-Za-z0-9_-]*$/u),WV$=G8.array(G8.tuple([G8.string(),G8.string()])),FK=G8.string().regex(/^[A-Za-z0-9_-]+$/u),J$1=G8.string().min(1),KV$=G8.object({type:G8.literal("request.start"),protocol:G8.literal("tunnel.v1"),requestId:FK,method:G8.string().min(1),url:G8.string().min(1),headers:WV$,replySubject:J$1,bodySubject:J$1.optional(),abortSubject:J$1,deadlineUnixMs:G8.number().int().nonnegative().optional()}),wV$=G8.object({type:G8.literal("request.chunk"),requestId:FK,seq:G8.number().int().nonnegative(),data:JV$}),UV$=G8.object({type:G8.literal("request.end"),requestId:FK,seq:G8.number().int().nonnegative()}),FV$=G8.object({type:G8.literal("request.error"),requestId:FK,code:G8.string().min(1),message:G8.string()}),M$4=G8.union([wV$,UV$,FV$]),HV$=G8.object({type:G8.literal("response.ack"),requestId:FK}),NV$=G8.object({type:G8.literal("response.start"),requestId:FK,status:G8.number().int().min(100).max(599),statusText:G8.string().optional(),headers:WV$}),BV$=G8.object({type:G8.literal("response.chunk"),requestId:FK,seq:G8.number().int().nonnegative(),data:JV$}),OV$=G8.object({type:G8.literal("response.end"),requestId:FK,seq:G8.number().int().nonnegative()}),DV$=G8.object({type:G8.literal("response.error"),requestId:FK,code:G8.string().min(1),message:G8.string()}),k$4=G8.union([HV$,NV$,BV$,OV$,DV$]),EV$=G8.object({type:G8.literal("abort"),requestId:FK,reason:G8.string().optional()}),V8Z=G8.union([KV$,M$4,k$4,EV$]),S$4={"request.start":KV$,"request.chunk":wV$,"request.end":UV$,"request.error":FV$,"response.ack":HV$,"response.start":NV$,"response.chunk":BV$,"response.end":OV$,"response.error":DV$,abort:EV$}});var C$4=($)=>{return $.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")},_$4=($)=>{let Z=$.replaceAll("-","+").replaceAll("_","/"),G=(4-Z.length%4)%4;return Z+"=".repeat(G)},b$4=($)=>{let Z=[];for(let G=0;G<$.length;G+=32768)Z.push(String.fromCharCode(...$.subarray(G,G+32768)));return Z.join("")},f$4=($)=>{let Z=new Uint8Array($.length);for(let G=0;G<$.length;G+=32768){let X=$.slice(G,G+32768);Z.set(Uint8Array.from(X,(Y)=>Y.charCodeAt(0)),G)}return Z},PV$=($)=>{return C$4(btoa(b$4($)))},AV$=($)=>{return f$4(atob(_$4($)))},x$4;var TV$=O(()=>{x$4=class x$4{#$=[];#Z;#G=!1;#Q=new Set;push($){if(this.#G)return;let Z=this.#Y();if(Z){Z.resolve({value:$,done:!1});return}this.#$.push($)}close(){if(this.#G)return;this.#G=!0,this.#X()}fail($){if(this.#G)return;this.#Z=$,this.#G=!0,this.#J($)}[Symbol.asyncIterator](){let $=!1,Z=new Set;return{next:()=>{if($)return Promise.resolve({value:void 0,done:!0});if(this.#$.length>0)return Promise.resolve({value:this.#$.shift(),done:!1});if(this.#Z)return Promise.reject(this.#Z);if(this.#G)return Promise.resolve({value:void 0,done:!0});return new Promise((G,X)=>{let Y;Y={resolve:(Q)=>{Z.delete(Y),G(Q)},reject:(Q)=>{Z.delete(Y),X(Q)}},Z.add(Y),this.#Q.add(Y)})},return:()=>{$=!0;for(let G of Z)this.#Q.delete(G),G.resolve({value:void 0,done:!0});return Z.clear(),Promise.resolve({value:void 0,done:!0})}}}#Y(){for(let $ of this.#Q)return this.#Q.delete($),$;return}#X(){for(let $ of this.#Q)$.resolve({value:void 0,done:!0});this.#Q.clear()}#J($){for(let Z of this.#Q)Z.reject($);this.#Q.clear()}}});function*i$4($,Z){for(let G=0;G<$.length;G+=Z)yield $.subarray(G,G+Z)}class e$4{maxSize;ttlMs;now;#$=new Map;constructor($,Z,G=Date.now){this.maxSize=$;this.ttlMs=Z;this.now=G}get($){let Z=this.#$.get($);if(!Z)return;if(Z.expiresAt<=this.now()){this.#$.delete($);return}return Z.value}has($){return this.get($)!==void 0}set($,Z){let G=this.now();this.prune(G),this.#$.delete($),this.#$.set($,{value:Z,expiresAt:G+this.ttlMs});while(this.#$.size>this.maxSize){let X=this.#$.keys().next().value;if(X===void 0)return;this.#$.delete(X)}}take($){let Z=this.get($);return this.#$.delete($),Z}clear(){this.#$.clear()}prune($){for(let[Z,G]of this.#$)if(G.expiresAt<=$)this.#$.delete(Z)}}var v$4=30000,y$4=1000,g$4=65536,dQ,h$4=($)=>{return"connection"in $},c$4=($)=>{let Z=h$4($)?$:{connection:$};return{connection:Z.connection,timeoutMs:Z.timeoutMs??0,firstFrameTimeoutMs:Z.firstFrameTimeoutMs??v$4,idleTimeoutMs:Z.idleTimeoutMs??0,republishIntervalMs:Z.republishIntervalMs??y$4,maxChunkBytes:Z.maxChunkBytes??g$4,diagnostics:Z.diagnostics}},IV$=($)=>{return Array.from($.entries())},u$4=($)=>{return $!==void 0&&!($ instanceof Headers)&&typeof $!=="function"&&typeof $[Symbol.iterator]==="function"},d$4=($,Z,G)=>{if(u$4(Z?.headers))return Array.from(Z?.headers,([X,Y])=>[String(X),String(Y)]);if($ instanceof Request)return IV$(G.headers);return IV$(G.headers)},RV$=($)=>{let Z=new Headers;for(let[G,X]of $)Z.append(G,X);return Z},l$4=()=>{return crypto.randomUUID().replaceAll("-","")},m$4=($)=>{try{$?.unsubscribe()}catch{}},n$4=($)=>{if(!Number.isSafeInteger($)||$<1)throw TypeError("maxChunkBytes must be a positive safe integer")},p$4=($,Z)=>{return $==="HEAD"||Z===204||Z===205||Z===304},wB=($,Z,G)=>{$.publish(Z,LV$(G))},t$4=($)=>{return $.type.startsWith("response.")},W$1=($)=>{let Z=$.reason;if(Z instanceof Error)return Z.message;if(typeof Z==="string")return Z;return"aborted"},r$4=($)=>{if($==="idle")return new dQ("tunnel_idle_timeout","no response frame within idleTimeoutMs");return new dQ("tunnel_no_first_frame","no response frame arrived before firstFrameTimeoutMs")},qV$=async($,Z,G,X,Y="first_frame")=>{while(!0){let Q,J;try{let W=await Promise.race([$.next(),new Promise((w,U)=>{if(X.aborted){U(X.reason);return}let F=()=>U(X.reason);J=()=>{X.removeEventListener("abort",F)},X.addEventListener("abort",F,{once:!0})}),...G>0?[new Promise((w,U)=>{Q=setTimeout(()=>{U(r$4(Y))},G)})]:[]]);if(W.done)return{value:void 0,done:!0};let K=zV$(W.value.data);if(!t$4(K)||K.requestId!==Z)continue;return{value:K,done:!1}}finally{if(J?.(),Q)clearTimeout(Q)}}},o$4=async($)=>{let Z=!1;while(!0){let G=await qV$($.iterator,$.requestId,Z?0:$.firstFrameTimeoutMs,$.signal);if(G.done)throw new dQ("tunnel_response_closed","response subscription closed before response.start");if(!Z)Z=!0,$.onFirstResponseFrame();if(G.value.type==="response.ack")continue;if(G.value.type==="response.start")return G.value;if(G.value.type==="response.error")throw new dQ(G.value.code,G.value.message);throw new dQ("tunnel_unexpected_response_frame",`expected response.start, got ${G.value.type}`)}},a$4=async($)=>{let Z=$.body.getReader(),G=0,X=!1,Y=()=>{X=!0,Z.cancel($.signal.reason).catch(()=>{})};try{if($.signal.aborted){Y();return}$.signal.addEventListener("abort",Y,{once:!0});while(!0){let{done:Q,value:J}=await Z.read();if(X)return;if(Q){wB($.connection,$.subject,{type:"request.end",requestId:$.requestId,seq:G});return}for(let W of i$4(J,$.maxChunkBytes)){if(X)return;wB($.connection,$.subject,{type:"request.chunk",requestId:$.requestId,seq:G,data:PV$(W)}),G++}}}catch(Q){if(X)return;wB($.connection,$.subject,{type:"request.error",requestId:$.requestId,code:"tunnel_request_body_error",message:Q instanceof Error?Q.message:String(Q)})}finally{$.signal.removeEventListener("abort",Y),Z.releaseLock()}},s$4=($)=>{return new ReadableStream({async pull(Z){while(!0)try{let G=await qV$($.iterator,$.requestId,$.idleTimeoutMs,$.signal,"idle");if(G.done){Z.error(new dQ("tunnel_response_closed","response subscription closed before response.end")),$.cleanup();return}let X=G.value;if(X.type==="response.ack"||X.type==="response.start")continue;if(X.type==="response.chunk"){Z.enqueue(AV$(X.data));return}if(X.type==="response.end"){Z.close(),$.cleanup();return}Z.error(new dQ(X.code,X.message)),$.cleanup();return}catch(G){Z.error(G),$.cleanup();return}},cancel(){wB($.connection,$.abortSubject,{type:"abort",requestId:$.requestId,reason:"response_body_cancelled"}),$.cleanup()}},{highWaterMark:0})},UB=($)=>{let Z=c$4($);return n$4(Z.maxChunkBytes),async(G,X)=>{let Y=rk$(G),Q=new Request(G,X),J=l$4(),W=ok$(Y.hostname,J),K=new AbortController,w=new AbortController,U=!1,F,H,N,B,D=!1,E=(P=new dQ("tunnel_closed","tunnel request closed"))=>{if(U)return;if(U=!0,m$4(F),Q.body&&!D)Q.body.cancel(P).catch(()=>{});if(w.abort(P),K.abort(P),N)clearInterval(N);if(B)clearTimeout(B);Q.signal.removeEventListener("abort",L)},L=()=>{let P=new dQ("tunnel_aborted",W$1(Q.signal));wB(Z.connection,W.abort,{type:"abort",requestId:J,reason:W$1(Q.signal)}),K.abort(P),E(P)};if(Q.signal.aborted)throw new dQ("tunnel_aborted",W$1(Q.signal));if(F=Z.connection.subscribe(W.reply),H=F[Symbol.asyncIterator](),Q.signal.addEventListener("abort",L,{once:!0}),Z.timeoutMs>0)B=setTimeout(()=>{let P=new dQ("tunnel_timeout",`tunnel request timed out after ${Z.timeoutMs}ms`);wB(Z.connection,W.abort,{type:"abort",requestId:J,reason:"tunnel_timeout"}),K.abort(P),E(P)},Z.timeoutMs);let z={type:"request.start",protocol:"tunnel.v1",requestId:J,method:Q.method,url:Y.pathWithSearch,headers:d$4(G,X,Q),replySubject:W.reply,abortSubject:W.abort,...Q.body?{bodySubject:W.body}:{},...Z.timeoutMs>0?{deadlineUnixMs:Date.now()+Z.timeoutMs}:{}};wB(Z.connection,W.request,z),N=Z.republishIntervalMs>0?setInterval(()=>{if(!D)wB(Z.connection,W.request,z)},Z.republishIntervalMs):void 0;let j=()=>{if(D)return;D=!0,(Q.body?a$4({connection:Z.connection,subject:W.body,requestId:J,body:Q.body,maxChunkBytes:Z.maxChunkBytes,signal:w.signal}):void 0)?.catch((A)=>{Z.diagnostics?.({event:"request_body_error",requestId:J,subject:W.body,error:A instanceof Error?A.message:String(A)})})};try{let P=await o$4({iterator:H,requestId:J,firstFrameTimeoutMs:Z.firstFrameTimeoutMs,signal:K.signal,onFirstResponseFrame:()=>{if(N)clearInterval(N);j()}});if(p$4(Q.method,P.status))return E(),new Response(null,{status:P.status,statusText:P.statusText,headers:RV$(P.headers)});return new Response(s$4({connection:Z.connection,abortSubject:W.abort,iterator:H,requestId:J,idleTimeoutMs:Z.idleTimeoutMs,signal:K.signal,cleanup:E}),{status:P.status,statusText:P.statusText,headers:RV$(P.headers)})}catch(P){throw E(P instanceof Error?P:Error(String(P))),P}}};var MV$=O(()=>{jV$();TV$();rE0();dQ=class dQ extends Error{code;constructor($,Z,G){super(`${$}: ${Z}`,G);this.code=$;this.name="TunnelTransportError"}}});var $L0=O(()=>{MV$()});function kV$($){let Z=$.createFetch??$84,G=$.timeoutMs??2000;return async(X)=>{try{let Y=$.getConnection();if(!Y)return K$1;let Q=PJ(X),W=await Z(Y,G)(`tunnel://${Q}/api/links/status`,{method:"GET"});if(!W.ok)return K$1;let K=await W.json();return{online:!0,hostname:K.hostname,capabilities:K.capabilities??[],cliVersion:K.cliVersion}}catch{return K$1}}}var K$1,$84=($,Z)=>UB({connection:$,firstFrameTimeoutMs:Z});var SV$=O(()=>{$L0();_t();K$1={online:!1,capabilities:[]}});async function*Z84($){if(!$.body){yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};return}let Z=$.body.getReader(),G=!1;try{yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};while(!0){let{done:X,value:Y}=await Z.read();if(X){G=!0;return}yield{data:Buffer.from(Y).toString("base64")}}}finally{try{if(!G)await Z.cancel()}catch{}finally{Z.releaseLock()}}}function VV$($){let Z=$.createFetch??((G)=>UB({connection:G,idleTimeoutMs:G84}));return async function*(X,Y,Q){let J=$.getConnection();if(!J)throw Error("link_unavailable: NATS unavailable");let W=PJ(X),K=Z(J),w={method:Y.method,headers:Y.headers,signal:Q?.signal};if(Y.body!=null)w.body=Y.body;let U=await K(`tunnel://${W}${Y.path}`,w);yield*Z84(U)}}var G84=45000;var CV$=O(()=>{$L0();_t()});import{z as IJ}from"zod";function _V$($){return JSON.stringify($)}var Q6Z;var bV$=O(()=>{Q6Z=IJ.discriminatedUnion("type",[IJ.object({type:IJ.literal("cancel"),runId:IJ.string()}),IJ.object({type:IJ.literal("cancel_req"),reqId:IJ.string()}),IJ.object({type:IJ.literal("keep_alive")}),IJ.object({type:IJ.literal("shutdown")})])});function fV$($){let Z=$.createFetch??((G)=>UB({connection:G,idleTimeoutMs:X84}));return{async publish(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=PJ(G),K=await Z(Q)(`tunnel://${J}/api/links/work`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel work publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}function xV$($){let Z=$.createFetch??UB;return{async publishControlFrame(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=PJ(G),K=await Z(Q)(`tunnel://${J}/api/links/control`,{method:"POST",headers:{"content-type":"application/json"},body:_V$(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel control publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}var X84=45000;var vV$=O(()=>{$L0();bV$();_t()});function ZL0($,Z,G,X){if(!X)return!1;return $.emit(Z,A3(G,X.status,{title:X.title??void 0,virtualMcpId:X.virtual_mcp_id??void 0,createdBy:X.created_by??void 0,triggerId:X.trigger_id??null,branch:X.branch??null,createdAt:X.created_at,updatedAt:X.updated_at})),!0}var yV$=O(()=>{t8()});class w$1{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as Y84,rm as GL0}from"fs/promises";import{join as XL0}from"path";async function YL0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-Q84),Z.setUTCHours(0,0,0,0);let G=0;try{let X=await $C($);for(let Y of X)if(/^\d{4}$/.test(Y))G+=await gV$($,Y,Z);else if(!Y.startsWith(".")){let Q=XL0($,Y),J=await $C(Q);for(let K of J){if(!/^\d{4}$/.test(K))continue;G+=await gV$(Q,K,Z)}if((await $C(Q)).length===0)await GL0(Q,{recursive:!0,force:!0})}}catch(X){console.warn("monitoring retention cleanup failed:",X)}return G}async function gV$($,Z,G){let X=0,Y=XL0($,Z),Q=await $C(Y);for(let W of Q){if(!/^\d{2}$/.test(W))continue;let K=XL0(Y,W),w=await $C(K);for(let F of w){if(!/^\d{2}$/.test(F))continue;let H=new Date(`${Z}-${W}-${F}T00:00:00Z`);if(isNaN(H.getTime()))continue;if(H<G){let N=XL0(K,F);await GL0(N,{recursive:!0,force:!0}),X++}}if((await $C(K)).length===0)await GL0(K,{recursive:!0,force:!0})}if((await $C(Y)).length===0)await GL0(Y,{recursive:!0,force:!0});return X}async function $C($){try{return(await Y84($)).filter((G)=>!G.startsWith("."))}catch{return[]}}var Q84=30;var U$1=()=>{};import{DBOS as F$1,SchedulerMode as J84}from"@dbos-inc/dbos-sdk";async function K84(){let $=[mQ(),GC(),DK()],Z=0;for(let G of $)try{Z+=await YL0(G)}catch(X){console.error("[monitoring-retention] cleanup failed:",X)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function w84($,Z){await F$1.runStep(()=>K84(),{name:"monitoringRetention"})}function cV$(){if(hV$)return;hV$=!0;let $=F$1.registerWorkflow(w84,{name:"monitoringRetentionWorkflow"});F$1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:W84,mode:J84.ExactlyOncePerIntervalWhenActive})}var W84="23 4 * * *",hV$=!1;var uV$=O(()=>{gX();U$1()});function dV$($){return async(Z,G)=>{let X=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",G).where("member.organizationId","=",Z).executeTakeFirst();if(!X)return console.warn(`[automationContextFactory] User ${G} not found in org ${Z} \u2014 returning null`),null;let Y=await pH.create();Y.auth.user={id:G,role:X.role},Y.organization={id:X.orgId,slug:X.orgSlug,name:X.orgName};let Q=await vc0($.db,Z,X.role);return Y.boundAuth=xc0({auth:Y.authInstance,headers:new Headers,role:X.role,permissions:Q,userId:G}),Y.access=new zD(G,void 0,Y.boundAuth,X.role,"self"),j40(Y,{id:X.orgId,slug:X.orgSlug}),Y}}var lV$=O(()=>{jD();Zi()});function U84(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function H84(){for(let $ of F84)$()}function mV$($){let Z=[...H$1.logs,$];H$1={...H$1,logs:Z.length>500?Z.slice(-500):Z},H84()}function N$1(){return N84}var H$1,F84,N84=!1;var B$1=O(()=>{H$1=U84(),F84=new Set});import{EventEmitter as B84}from"events";var O$1;var iV$=O(()=>{B$1();O$1=new B84;O$1.on("request",($)=>{mV$($)})});function nV$(){return async($,Z)=>{let G=Date.now(),X=$.req.method,Y=$.req.path;if(Y==="/api/auth/get-session"||Y.includes("favicon")){await Z();return}let Q="",J=!1;if(Y.startsWith("/mcp")&&X==="POST"){J=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let H=await $.req.raw.clone().json();if(H.method==="tools/call"&&H.params?.name){let N=Yg(H.params.name),B=H.params.arguments||{},D=Object.keys(B).map((L)=>Yg(L)),E=D.length>0?D.slice(0,3).join(",")+(D.length>3?"\u2026":""):"";Q=`${s4.tool}${N}${s4.dim}(${E})${s4.reset}`}else if(H.method)Q=`${s4.dim}${Yg(H.method)}${s4.reset}`}}catch{}}let W=Yg(Y);if(Y.startsWith("/mcp/conn_")){let U=Y.split("/")[2]??"";W=`/mcp/${s4.mcp}${Yg(U.slice(0,12))}\u2026${s4.reset}`}else if(Y==="/mcp")W=`${s4.mcp}/mcp${s4.reset}`;else if(Y==="/mcp/registry")W=`${s4.mcp}/mcp/registry${s4.reset}`;let K=D84(X),w=J?"\u25C0":"\u2190";if(!N$1())console.log(`${s4.dim}${w}${s4.reset} ${K}${X}${s4.reset} ${W}${Q?` ${Q}`:""}`);try{await Z()}finally{let U=Date.now()-G,F=$.res.status,H=O84(F),N=U<1000?`${U}ms`:`${(U/1000).toFixed(1)}s`,B=J?"\u25B6":"\u2192";if(!N$1())console.log(`${s4.dim}${B}${s4.reset} ${K}${X}${s4.reset} ${W}${Q?` ${Q}`:""} ${H}${F}${s4.reset} ${s4.duration}${N}${s4.reset}`);O$1.emit("request",{method:X,path:Yg(Y),status:F,duration:U,timestamp:new Date})}}}var s4,O84=($)=>{if($>=500)return s4.serverError;if($>=400)return s4.clientError;if($>=300)return s4.redirect;return s4.ok},D84=($)=>{return s4[$]||s4.reset},Yg=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var pV$=O(()=>{B$1();iV$();s4={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as aV$}from"crypto";import{mkdir as E84,readdir as L84,rm as tV$,stat as sV$}from"fs/promises";import{join as E$1,relative as z84}from"path";import{z as P$}from"zod";function $C$($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return E$1(j84,Z)}function ZC$($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function D$1($,Z){let G=$C$($),X=ZC$(Z);return E$1(G,X)}function P84($,Z,G,X){let Y=E1().encryptionKey||"dev-secret",Q=`${$}:${Z}:${G}:${X}`;return aV$("sha256",Y).update(Q).digest("hex")}function oV$($,Z,G,X,Y){let Q=Math.floor(Date.now()/1000)+X,J=P84(Z,G,Q,Y),W=new URL(`/api/dev-assets/${Z}/${ZC$(G)}`,$);return W.searchParams.set("expires",Q.toString()),W.searchParams.set("signature",J),W.searchParams.set("method",Y),W.toString()}function GC$($,Z,G){let X=`${$}:${Z.getTime()}:${G}`;return`"${aV$("md5","etag").update(X).digest("hex")}"`}async function XC$($,Z,G,X,Y){try{let Q=await L84($,{withFileTypes:!0});for(let J of Q){let W=E$1($,J.name),w=z84(Z,W).replace(/\\/g,"/");if(G&&!w.startsWith(G))continue;if(J.isDirectory())if(X){let U=w+"/";if(!G||U.startsWith(G)){if(!(G?w.slice(G.length):w).includes("/"))Y.commonPrefixes.add(U)}}else await XC$(W,Z,G,X,Y);else if(J.isFile()){if(X&&G){let U=w.slice(G.length);if(U.includes(X)){let F=U.indexOf(X),H=G+U.slice(0,F+1);Y.commonPrefixes.add(H);continue}}try{let U=await sV$(W);Y.objects.push({key:w,size:U.size,lastModified:U.mtime.toISOString(),etag:GC$(W,U.mtime,U.size)})}catch{}}}}catch{}}function YC$($,Z){let X=D0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:P$.object({prefix:P$.string().optional(),maxKeys:P$.number().optional().default(1000),continuationToken:P$.string().optional(),delimiter:P$.string().optional()}),outputSchema:P$.object({objects:P$.array(P$.object({key:P$.string(),size:P$.number(),lastModified:P$.string(),etag:P$.string()})),nextContinuationToken:P$.string().optional(),isTruncated:P$.boolean(),commonPrefixes:P$.array(P$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=Q.prefix||"",W=Q.maxKeys??1000,K=Q.delimiter,w=Q.continuationToken,U=$C$(X);await E84(U,{recursive:!0});let F={objects:[],commonPrefixes:new Set};await XC$(U,U,J,K,F),F.objects.sort((E,L)=>E.key.localeCompare(L.key));let H=0;if(w){if(H=F.objects.findIndex((E)=>E.key>w),H===-1)H=F.objects.length}let N=F.objects.slice(H,H+W),B=H+W<F.objects.length,D=B?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:B,nextContinuationToken:D,commonPrefixes:Array.from(F.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({contentType:P$.string().optional(),contentLength:P$.number(),lastModified:P$.string(),etag:P$.string(),metadata:P$.record(P$.string(),P$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=D$1(X,Q.key),W=await sV$(J);return{contentType:N01(Q.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:GC$(J,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??rV$;return{url:oV$(Z,X,Q.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional(),contentType:P$.string().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??rV$;return{url:oV$(Z,X,Q.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({success:P$.boolean(),key:P$.string()}),handler:async(Y)=>{let Q=Y,J=D$1(X,Q.key);try{return await tV$(J),{success:!0,key:Q.key}}catch{return{success:!1,key:Q.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:P$.object({keys:P$.array(P$.string()).max(1000)}),outputSchema:P$.object({deleted:P$.array(P$.string()),errors:P$.array(P$.object({key:P$.string(),message:P$.string()}))}),handler:async(Y)=>{let Q=Y,J=[],W=[];return await Promise.all(Q.keys.map(async(K)=>{let w=D$1(X,K);try{await tV$(w),J.push(K)}catch(U){W.push({key:K,message:U instanceof Error?U.message:"Unknown error"})}})),{deleted:J,errors:W}}}]}async function L$1($,Z,G){let X=YC$(Z,G),Y=new Yw({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:O5});for(let J of X){let W="shape"in J.inputSchema?J.inputSchema.shape:P$.object({}).shape,K=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:P$.object({}).shape;Y.registerTool(J.name,{description:J.description??"",inputSchema:W,outputSchema:K,annotations:J.annotations,_meta:J._meta},async(w)=>{try{let U=await J.handler(w);return{content:[{type:"text",text:JSON.stringify(U)}],structuredContent:U}}catch(U){return{content:[{type:"text",text:`Error: ${U.message}`}],isError:!0}}})}let Q=new SY({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Y.connect(Q),dW(Y,Q,$,"mcp:dev-assets")}async function QC$($,Z,G,X){let Q=YC$(G,X).find((J)=>J.name===$);if(!Q)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let J=await Q.handler(Z);return{content:[{type:"text",text:JSON.stringify(J)}]}}catch(J){return{content:[{type:"text",text:J instanceof Error?J.message:String(J)}],isError:!0}}}var j84="./data/assets",rV$=3600,eV$,JC$;var WC$=O(()=>{z8();fn();m6();Ku();kv();BG();OE0();eV$=new g1;eV$.all("/",async($)=>{let Z=$.get("meshContext"),G=new URL($.req.url),X=`${G.protocol}//${G.host}`;return L$1($.req.raw,Z,X)});JC$=eV$});var KC$={};Z6(KC$,{mountDevRoutes:()=>A84});function A84($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(X)=>{let Y=X.get("meshContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`;return L$1(X.req.raw,Y,J)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(X)=>{let Y=X.get("meshContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`,W=X.req.param("toolName");if(!W)return X.json({error:"Missing tool name"},400);let K=await X.req.json(),w=await QC$(W,K,Y,J);if(w.isError)return X.json(w.content,500);return X.json(w.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",JC$);let G=new g1;G.use("*",hQ({mountPath:"/api/dev-assets"})),G.route("/",BE0({orgFromPath:!1})),$.route("/api/dev-assets",G)}var wC$=O(()=>{m6();J01();OE0();WC$()});var UC$=O(()=>{Qu0();Ju0();GE()});var QL0=O(()=>{UC$()});var HC$={};Z6(HC$,{streamAgent:()=>FC$,createDecopilotClient:()=>I84});async function T84($){let{parseJsonEventStream:Z,uiMessageChunkSchema:G}=await Promise.resolve().then(() => (y6(),Rl0));return Z({stream:$,schema:G}).pipeThrough(new TransformStream({transform(X,Y){if(!X.success)throw X.error;Y.enqueue(X.value)}}))}async function FC$($,Z,G,X,Y){let{readUIMessageStream:Q}=await Promise.resolve().then(() => (y6(),Rl0)),J=G.value??G.id;if(!J)throw Error("Agent binding has no id or value \u2014 cannot resolve agent");let W=X.credentialId??G.credentialId,K=X.thinking??G.thinking,w=K?.id,U={messages:X.messages,...w?{models:{credentialId:W,thinking:K,...X.fast??G.fast?{fast:X.fast??G.fast}:{}}}:{},agent:{id:J},temperature:X.temperature??G.temperature,toolApprovalLevel:X.toolApprovalLevel??G.toolApprovalLevel,mode:X.mode??G.mode??"default",...X.memory?{memory:X.memory}:{},...X.thread_id?{thread_id:X.thread_id}:{}},F=await fetch($,{method:"POST",headers:{"Content-Type":"application/json","x-mesh-token":Z,Authorization:`Bearer ${Z}`},body:JSON.stringify(U),signal:Y?.signal});if(!F.ok){let N=await F.text().catch(()=>""),B=`HTTP ${F.status}`;try{let D=JSON.parse(N);if(D?.error)B=D.error}catch{if(N)B=N}throw Error(B)}if(!F.body)throw Error("Empty response body from decopilot stream");let H=await T84(F.body);return Q({stream:H})}function I84($){let{baseUrl:Z,orgSlug:G,token:X}=$,Y=`${Z}/${G}/decopilot/runtime/stream`;return{stream(Q,J){let W={__type:"@deco/agent",id:Q.agent.id,credentialId:Q.credentialId??"",thinking:Q.thinking??{id:"",title:""},fast:Q.fast,toolApprovalLevel:Q.toolApprovalLevel,mode:Q.mode,temperature:Q.temperature};return FC$(Y,X,W,Q,J)}}}import{z as vX}from"zod";function NC$($){let Z=$.properties;if(!Z)return $;for(let G of Object.values(Z)){let X=G.properties;if(!X?.__type?.const)continue;let Y=X.__type.const,Q=R84.get(Y);if(!Q)continue;let J=Q.map((W)=>({name:String(W.name),...W.inputSchema&&{inputSchema:vX.toJSONSchema(W.inputSchema)},...W.outputSchema&&{outputSchema:vX.toJSONSchema(W.outputSchema)}}));X.__binding={const:J}}return $}var R84,G4Z,q84=($)=>{return typeof $==="object"&&$!==null&&$.__type==="@deco/agent"},j$1=($)=>{return typeof $==="object"&&$!==null&&typeof $.__type==="string"&&$.__type!=="@deco/agent"&&typeof $.value==="string"},JL0=($,Z,G)=>{let X=G?{"x-caller-app":G}:void 0;if(Z.cookie)X??={},X.cookie=Z.cookie;if(Z.token)X??={},X["x-mesh-token"]=Z.token;return{type:"HTTP",url:new URL(`/mcp/${$}`,Z.meshUrl).href,token:Z.token,headers:X}},M84=($,Z,G)=>{let X=JL0($,Z,G);return new Proxy(Cx.forConnection(X),{get(Y,Q){if(Q==="value")return $;if(Q==="__type")return G;return Y[Q]}})},k84=($,Z)=>{let G=Z.organizationSlug;if(!G)throw Error("organizationSlug is required for agent bindings");let X=`${Z.meshUrl}/api/${G}/decopilot/runtime/stream`;return{STREAM:async(Y,Q)=>{let{streamAgent:J}=await Promise.resolve().then(() => HC$);return J(X,Z.token,$,Y,Q)}}},z$1=($,Z)=>{if($===null||$===void 0)return $;if(Array.isArray($))return $.map((G)=>z$1(G,Z));if(typeof $==="object"){if(q84($))return k84($,Z);if(j$1($))return M84($.value,Z,$.__type);let G={};for(let[X,Y]of Object.entries($))G[X]=z$1(Y,Z);return G}return $},BC$=($)=>{return z$1($.state,$)};var Qg=O(()=>{QL0();R84=new Map;G4Z=vX.object({id:vX.string(),title:vX.string(),capabilities:vX.object({vision:vX.boolean().optional(),text:vX.boolean().optional(),tools:vX.boolean().optional(),reasoning:vX.boolean().optional()}).passthrough().optional(),provider:vX.string().optional().nullable(),limits:vX.object({contextWindow:vX.number().optional(),maxOutputTokens:vX.number().optional()}).passthrough().optional()})});var S84,OC$=($,Z,G)=>{if(!Z)return null;if($===void 0||$==="*")return"*";if(typeof $==="string")return $===Z?$:null;if(Array.isArray($))return $.includes(Z)?Z:null;if(typeof $==="function")return $(Z,G)??null;return null},V84=($,Z,G)=>{let X=Z.headers.get("Origin"),Y=OC$(G.origin,X,Z);if(Y)$.set("Access-Control-Allow-Origin",Y);if(G.credentials)$.set("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)$.set("Access-Control-Expose-Headers",G.exposeHeaders.join(", "))},DC$=($,Z)=>{let G=new Headers,X=$.headers.get("Origin"),Y=OC$(Z.origin,X,$);if(Y)G.set("Access-Control-Allow-Origin",Y);if(Z.credentials)G.set("Access-Control-Allow-Credentials","true");let Q=Z.allowMethods??S84;G.set("Access-Control-Allow-Methods",Q.join(", "));let J=$.headers.get("Access-Control-Request-Headers");if(Z.allowHeaders?.length)G.set("Access-Control-Allow-Headers",Z.allowHeaders.join(", "));else if(J)G.set("Access-Control-Allow-Headers",J);if(Z.maxAge!==void 0)G.set("Access-Control-Max-Age",Z.maxAge.toString());return new Response(null,{status:204,headers:G})},EC$=($,Z,G)=>{let X=new Headers($.headers);return V84(X,Z,G),new Response($.body,{status:$.status,statusText:$.statusText,headers:X})};var LC$=O(()=>{S84=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function zC$($=32){let G=new Uint8Array($);return crypto.getRandomValues(G),Array.from(G,(X)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[X%62]).join("")}function C84($){try{let Z=new URL($);return Z.protocol==="https:"||Z.hostname==="localhost"||Z.hostname.endsWith(".localhost")||Z.hostname==="127.0.0.1"||!Z.protocol.startsWith("http")}catch{return!1}}function jC$($){return btoa(JSON.stringify($)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function PC$($){try{let Z=$.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Z))}catch{return null}}function AC$($){return{handleProtectedResourceMetadata:(w)=>{let U=HK(new URL(w.url)),F=`${U.origin}/mcp`;return Response.json({resource:F,authorization_servers:[U.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:(w)=>{let F=HK(new URL(w.url)).origin;return Response.json({issuer:F,authorization_endpoint:`${F}/authorize`,token_endpoint:`${F}/token`,registration_endpoint:`${F}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:(w)=>{let U=HK(new URL(w.url)),F=U.searchParams.get("redirect_uri"),H=U.searchParams.get("response_type"),N=U.searchParams.get("state"),B=U.searchParams.get("code_challenge"),D=U.searchParams.get("code_challenge_method");if(!F)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(H!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let E=HK(new URL(`${U.origin}/oauth/callback`)),L=E.toString(),j=jC$({redirectUri:F,clientState:N??void 0,codeChallenge:B??void 0,codeChallengeMethod:D??void 0,oauthCallbackUri:L});E.searchParams.set("state",j);let P=$.authorizationUrl(E.toString());return Response.redirect(P,302)},handleOAuthCallback:async(w)=>{let U=HK(new URL(w.url)),F=U.searchParams.get("code"),H=U.searchParams.get("state"),N=U.searchParams.get("error"),B=H?PC$(H):null;if(N){let D=U.searchParams.get("error_description")??"Authorization failed";if(B?.redirectUri){let E=HK(new URL(B.redirectUri));if(E.searchParams.set("error",N),E.searchParams.set("error_description",D),B.clientState)E.searchParams.set("state",B.clientState);return Response.redirect(E.toString(),302)}return Response.json({error:N,error_description:D},{status:400})}if(!F||!B)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let D=B.oauthCallbackUri??HK(new URL(`${U.origin}/oauth/callback`)).toString(),E={code:F,redirect_uri:D},L=await $.exchangeCode(E),z={accessToken:L.access_token,tokenType:L.token_type,refreshToken:L.refresh_token,expiresIn:L.expires_in,scope:L.scope,codeChallenge:B.codeChallenge,codeChallengeMethod:B.codeChallengeMethod},j=jC$(z),P=HK(new URL(B.redirectUri));if(P.searchParams.set("code",j),B.clientState)P.searchParams.set("state",B.clientState);return Response.redirect(P.toString(),302)}catch(D){console.error("OAuth callback error:",D);let E=HK(new URL(B.redirectUri));if(E.searchParams.set("error","server_error"),E.searchParams.set("error_description","Failed to exchange authorization code"),B.clientState)E.searchParams.set("state",B.clientState);return Response.redirect(E.toString(),302)}},handleToken:async(w)=>{try{let U=w.headers.get("content-type")??"",F;if(U.includes("application/x-www-form-urlencoded")){let z=await w.formData();F=Object.fromEntries(z.entries())}else{let z=await w.json();if(typeof z!=="object"||z===null||Array.isArray(z))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});F=z}let{code:H,code_verifier:N,grant_type:B,refresh_token:D}=F;if(B==="refresh_token"){if(typeof D!=="string"||!D)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!$.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let z;try{z=await $.refreshToken(D)}catch(P){if(P instanceof P$1)return Response.json({error:P.error,...P.errorDescription?{error_description:P.errorDescription}:{}},{status:400});throw P}let j={access_token:z.access_token,token_type:z.token_type};if(z.refresh_token)j.refresh_token=z.refresh_token;if(z.expires_in!==void 0)j.expires_in=z.expires_in;if(z.scope)j.scope=z.scope;return Response.json(j,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(B!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof H!=="string"||!H)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let E=PC$(H);if(!E||!E.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(E.codeChallenge){if(typeof N!=="string"||!N)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let z;if(E.codeChallengeMethod==="S256"){let P=new TextEncoder().encode(N),A=await crypto.subtle.digest("SHA-256",P);z=btoa(String.fromCharCode(...new Uint8Array(A))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else z=N;if(z!==E.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let L={access_token:E.accessToken,token_type:E.tokenType};if(E.refreshToken)L.refresh_token=E.refreshToken;if(E.expiresIn!==void 0)L.expires_in=E.expiresIn;if(E.scope)L.scope=E.scope;return Response.json(L,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Token exchange error:",U),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async(w)=>{try{let U=await w.json();if(!U.redirect_uris||U.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let D of U.redirect_uris)if(!C84(D))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${D}`},{status:400});let F=zC$(32),H=U.token_endpoint_auth_method!=="none"?zC$(32):void 0,N=Math.floor(Date.now()/1000),B={client_id:F,client_secret:H,client_name:U.client_name,redirect_uris:U.redirect_uris,grant_types:U.grant_types??["authorization_code"],response_types:U.response_types??["code"],token_endpoint_auth_method:U.token_endpoint_auth_method??"client_secret_post",scope:U.scope,client_id_issued_at:N,client_secret_expires_at:0};if($.persistence)await $.persistence.saveClient(B);return new Response(JSON.stringify(B),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Client registration error:",U),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:(w)=>{let H=`Bearer resource_metadata="${`${HK(new URL(w.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":H,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:(w)=>w.headers.has("Authorization")}}var P$1,HK=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $};var A$1=O(()=>{P$1=class P$1 extends Error{error;errorDescription;constructor($="invalid_grant",Z){super(Z??$);this.name="OAuthInvalidGrantError",this.error=$,this.errorDescription=Z}}});import{AsyncLocalStorage as _84}from"async_hooks";var TC$,xt;var T$1=O(()=>{TC$=new _84,xt={getStore:()=>{return TC$.getStore()},run:($,Z,...G)=>TC$.run($,Z,...G)}});var RC$="SELF",KL0=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},qC$=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},IC$="::",MC$=($)=>{let Z=$.indexOf(IC$);if(Z===-1)return null;let G=$.substring(0,Z),X=$.substring(Z+IC$.length);return[G,X]},b84=($)=>{if(!$.startsWith("cron/"))return null;let Z=$.substring(5),G=Z.indexOf("/");if(G===-1)return null;let X=Z.substring(0,G),Y=Z.substring(G+1);return[X,Y]},kC$=($)=>{if(KL0($))return[];return Object.keys($)},f84=($,Z)=>{if(KL0($))return $.events;let G=$[Z];if(!G)return[];if(qC$(G))return G.events;return Object.keys(G)},WL0=($,Z,G)=>{if($===RC$){if(!G)return console.warn("[Event] SELF binding used but no connectionId available"),null;return G}let X=Z[$];if(!j$1(X))return console.warn(`[Event] Binding "${$}" not found in state`),null;return X.value},x84=($,Z,G)=>{let X=Z;if(KL0($)){let Q=[];for(let J of $.events){let W=MC$(J);if(!W){console.warn(`[Event] Global handler event "${J}" must be prefixed with BINDING:: (e.g., "SELF::${J}" or "DATABASE::${J}")`);continue}let[K,w]=W,U=WL0(K,X,G);if(!U)continue;Q.push({eventType:w,publisher:U})}return Q}let Y=[];for(let Q of kC$($)){let J=WL0(Q,X,G);if(!J)continue;let W=f84($,Q);for(let K of W)Y.push({eventType:K,publisher:J})}return Y},v84=($)=>{let Z=new Map;for(let G of $){let X=G.source,Y=Z.get(X)||[];Y.push(G),Z.set(X,Y)}return Z},y84=($)=>{let Z=new Map;for(let G of $){let X=G.type,Y=Z.get(X)||[];Y.push(G),Z.set(X,Y)}return Z},g84=($)=>{let Z={},G={},X=!1,Y=0,Q=[];for(let J of $){if(J.results)Object.assign(G,J.results);if(J.success===!1){if(X=!0,J.error)Q.push(J.error)}if(J.processedCount!==void 0)Y+=J.processedCount}if(Object.keys(G).length>0)Z.results=G;if(Z.success=!X,Q.length>0)Z.error=Q.join("; ");if(Y>0)Z.processedCount=Y;return Z},h84=async($,Z,G,X,Y)=>{let Q=X;if(KL0($)){let U=new Set;for(let H of $.events){let N=MC$(H);if(!N)continue;let[B,D]=N,E=WL0(B,Q,Y);if(!E)continue;U.add(`${E}:${D}`)}let F=Z.filter((H)=>{let N=`${H.source}:${H.type}`;return U.has(N)});if(F.length===0)return{success:!0};try{return await $.handler({events:F},G)}catch(H){return{success:!1,error:H instanceof Error?H.message:String(H)}}}let J=new Map;for(let U of kC$($)){let F=WL0(U,Q,Y);if(F)J.set(F,U)}let W=v84(Z),K=[];for(let[U,F]of W){let H=J.get(U);if(!H)continue;let N=$[H];if(!N)continue;if(qC$(N)){K.push((async()=>{try{return await N.handler({events:F},G)}catch(E){let L={};for(let z of F)L[z.id]={success:!1,error:E instanceof Error?E.message:String(E)};return{results:L}}})());continue}let B=N,D=y84(F);for(let[E,L]of D){let z=B[E];if(!z)continue;K.push((async()=>{try{let j=await z({events:L},G),P={};for(let A of L)P[A.id]=j;return{results:P}}catch(j){let P={};for(let A of L)P[A.id]={success:!1,error:j instanceof Error?j.message:String(j)};return{results:P}}})())}}let w=await Promise.all(K);if(w.length===0)return{success:!0};return g84(w)},SC$;var I$1=O(()=>{Qg();SC$={subscriptions:x84,execute:h84,parseCron:b84}});function c84($,Z){let G=JL0("self",{meshUrl:$,token:Z});return Cx.forConnection(G)}function u84($,Z){switch(Z.type){case"cron":return{automation_id:$,type:"cron",cron_expression:Z.cron};case"event":return{automation_id:$,type:"event",connection_id:Z.connectionId,event_type:Z.eventType,params:Z.params};case"webhook":return{automation_id:$,type:"webhook"}}}function VC$($,Z,G){return async(X)=>{if(!$)throw Error("createAgent: missing meshUrl in MESH_REQUEST_CONTEXT");let Y=c84($,Z),J=(await Y.COLLECTION_VIRTUAL_MCP_LIST({where:{operator:"and",conditions:[{field:["title"],operator:"eq",value:X.name}]},limit:1})).items.find((U)=>U.title===X.name);if(J)return{id:J.id,automations:[],automationIds:[],alreadyExisted:!0};let W=X.tools&&X.tools.length>0?X.tools.map((U)=>({connection_id:U.connectionId,selected_tools:U.tools??null,selected_resources:null,selected_prompts:null})):G?[{connection_id:G,selected_tools:null,selected_resources:null,selected_prompts:null}]:[],{item:K}=await Y.COLLECTION_VIRTUAL_MCP_CREATE({data:{title:X.name,description:X.description,metadata:X.instructions?{instructions:X.instructions}:void 0,connections:W}}),w=[];for(let U of X.automations??[]){let F=await Y.AUTOMATION_CREATE({name:U.name,virtual_mcp_id:K.id,messages:U.messages,models:U.models,tools:U.tools,active:U.active??!0}),H=[];for(let N of U.triggers??[])try{let B=await Y.AUTOMATION_TRIGGER_ADD(u84(F.id,N));H.push({type:N.type,ok:!0,id:B.id,webhook:B.webhook??void 0})}catch(B){H.push({type:N.type,ok:!1,error:B instanceof Error?B.message:String(B)})}w.push({id:F.id,name:U.name,triggers:H})}return{id:K.id,automations:w,automationIds:w.map((U)=>U.id),alreadyExisted:!1}}}var R$1=O(()=>{Qg();QL0()});import{z as KZ}from"zod";function SU($){return{...$,execute:(Z)=>{let G=vt(Z.runtimeContext);return $.execute({...Z,runtimeContext:G},G)}}}var vt=($)=>{let Z=xt.getStore();if(!Z){if($)return $;throw Error("Missing context, did you forget to call State.bind?")}return Z},CC$=($)=>{let Z=$.runtimeContext.env.MESH_REQUEST_CONTEXT;return{connectionId:Z?.connectionId,meshUrl:Z?.meshUrl,token:Z?.token}},d84=({events:$,configuration:{state:Z,scopes:G,onChange:X,onInstall:Y}={}}={})=>{let Q=Z?NC$(KZ.toJSONSchema(Z)):{type:"object",properties:{}};return[...X||Y||$?[SU({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:KZ.object({state:Z??KZ.unknown(),scopes:KZ.array(KZ.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')"),firstRun:KZ.boolean().optional().describe("True on the first configuration save for this connection \u2014 fires onInstall."),vault:KZ.object({baseUrl:KZ.string(),org:KZ.string(),subjectConnectionId:KZ.string(),token:KZ.string()}).optional()}),outputSchema:KZ.object({}),execute:async(J)=>{let W=J.context.state,K=J.context.vault;if(await X?.(J.runtimeContext.env,{state:W,scopes:J.context.scopes,vault:K}),Y&&J.context.firstRun){let{meshUrl:w,token:U,connectionId:F}=CC$(J);await Y(J.runtimeContext.env,{createAgent:VC$(w,U,F),vault:K})}return Promise.resolve({})}})]:[],...$?.handlers?[SU({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:i40,outputSchema:n40,execute:async(J)=>{let W=J.runtimeContext.env,K=W.MESH_REQUEST_CONTEXT?.state,{connectionId:w}=CC$(J);return SC$.execute($.handlers,J.context.events,W,K,w)}})]:[],SU({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:KZ.object({}),outputSchema:KZ.object({stateSchema:KZ.unknown(),scopes:KZ.array(KZ.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:Q,scopes:[...G??[]]})}})]},_C$=($)=>{let Z=null,G=null,X=null,Y=!1,Q=()=>{if(!Y)console.warn("[runtime] Passing factory functions to tools/prompts/resources is deprecated. Pass createTool()/createPrompt()/createResource() instances directly."),Y=!0},J=(N)=>typeof N==="object"&&N!==null&&(("id"in N)||("name"in N)||("uri"in N));async function W(N,B){if(!N)return[];return(await Promise.all(N.flatMap(async(D)=>{if(J(D))return[D];Q();let E=await D(B);if(Array.isArray(E))return E;return[E]}))).flat()}let K=async(N)=>{if(Z)return Z;if(G)return G;return G=(async()=>{try{let B;if(typeof $.tools==="function")Q(),B=await $.tools(N);else B=await W($.tools,N);B.push(...d84({...$}));let D;if(typeof $.prompts==="function")Q(),D=await $.prompts(N);else D=await W($.prompts,N);let E;if(typeof $.resources==="function")Q(),E=await $.resources(N);else E=await W($.resources,N);let L={tools:B,prompts:D,resources:E};return Z=L,L}catch(B){throw G=null,B}})(),G},w=(N,B)=>{for(let D of B.tools)N.registerTool(D.id,{_meta:D._meta,title:D.title,description:D.description,annotations:D.annotations,inputSchema:D.inputSchema&&"shape"in D.inputSchema?D.inputSchema:KZ.object({}),outputSchema:D.outputSchema&&typeof D.outputSchema==="object"&&"shape"in D.outputSchema?D.outputSchema:void 0},async(E)=>{let L=vt(),z=await D.execute({context:E,runtimeContext:L},L);if(z!=null&&typeof z==="object"&&"content"in z&&Array.isArray(z.content)&&z.content.every((j)=>j!=null&&typeof j==="object"&&("type"in j)&&typeof j.type==="string"))return z;return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});for(let D of B.prompts)N.registerPrompt(D.name,{title:D.title,description:D.description,argsSchema:D.argsSchema?D.argsSchema:KZ.object({}).shape},async(E)=>{let L=vt();return await D.execute({args:E,runtimeContext:L},L)});for(let D of B.resources)N.resource(D.name,D.uri,{description:D.description,mimeType:D.mimeType},async(E)=>{let L=vt(),z=await D.read({uri:E,runtimeContext:L},L),j=z._meta??void 0;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text,...j!==void 0?{_meta:j}:{}}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob,...j!==void 0?{_meta:j}:{}}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}})},U=async(N)=>{await $.before?.(N);let{instructions:B,...D}=$.serverInfo??{},E=new Yw({...D,name:D.name??"@deco/mcp-api",version:D.version??"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}},jsonSchemaValidator:O5,...B&&{instructions:B}}),L=await K(N);w(E,L);let z="tools/list",j=E.server._requestHandlers,P=j.get(z);if(P)j.set(z,async(A,M)=>{if(!X)X=await P(A,M);return X});return{server:E,...L}};return{fetch:async(N,B)=>{let{server:D}=await U(B),E=new SY;await D.connect(E);let L=()=>{try{E.close?.()}catch{}try{D.close?.()}catch{}};try{let z=await E.handleRequest(N),j=z.headers.get("content-type");if(!(j?.includes("text/event-stream")||j?.includes("application/json-rpc"))||!z.body)return L(),z;let{readable:A,writable:M}=new TransformStream;return z.body.pipeTo(M).catch(()=>{}).finally(L),new Response(A,{status:z.status,statusText:z.statusText,headers:z.headers})}catch(z){throw L(),z}},callTool:async({toolCallId:N,toolCallInput:B})=>{let D=xt.getStore();if(!D)throw Error("Missing state, did you forget to call State.bind?");let E=D?.env,{tools:L}=await K(E),j=L.find((A)=>A.id===N)?.execute;if(!j)throw Error(`Tool ${N} not found or does not have an execute function`);let P=vt();return j({context:B,runtimeContext:P},P)}}};var wL0=O(()=>{Uu0();BG();Ku();kv();Qg();I$1();T$1();R$1();I$1();R$1()});import{decodeJwt as bC$}from"jose";var l84=({env:$,server:Z,url:G})=>{$.SELF=new Proxy({},{get:(X,Y)=>{if(Y==="toJSON")return null;return async(Q)=>{return await Z.callTool({toolCallId:Y,toolCallInput:Q})}}}),$.IS_LOCAL=(G?.startsWith("http://localhost")||G?.startsWith("http://127.0.0.1"))??!1},fC$=($)=>()=>{return{...$??{}}},m84=({env:$,server:Z,tokenOrContext:G,url:X,authToken:Y})=>{let Q=$,J=Y?Y.split(" ")[1]:void 0,W;if(typeof G==="string"){let K=bC$(G),w=K.metadata??{};W={authorization:J,state:K.state??w.state??{},token:G,meshUrl:K.meshUrl??w.meshUrl,connectionId:K.connectionId??w.connectionId,organizationId:K.organizationId??w.organizationId,organizationName:K.organizationName??w.organizationName,organizationSlug:K.organizationSlug??w.organizationSlug,ensureAuthenticated:fC$(K.user??K.sub)}}else if(typeof G==="object"){W=G;let K=bC$(G.token),w=K.metadata??{},U=K.appName;W.authorization??=J,W.callerApp=U,W.connectionId??=K.connectionId??w.connectionId,W.organizationId??=K.organizationId??w.organizationId,W.organizationName??=K.organizationName??w.organizationName,W.organizationSlug??=K.organizationSlug??w.organizationSlug,W.ensureAuthenticated=fC$(K.user??K.sub)}else W={state:{},authorization:J,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return Q.MESH_REQUEST_CONTEXT=W,W.state=BC$(W),l84({env:Q,server:Z,url:X}),Q},i84,xC$=($)=>{let Z=_C$($),G=$.cors??i84,X=$.oauth,Y=X?AC$(X):null,Q=async(J,W,K)=>{let w=new URL(J.url);if(Y){if(w.pathname==="/.well-known/oauth-protected-resource"||w.pathname==="/mcp/.well-known/oauth-protected-resource")return Y.handleProtectedResourceMetadata(J);if(w.pathname==="/.well-known/oauth-authorization-server")return Y.handleAuthorizationServerMetadata(J);if(w.pathname==="/authorize")return Y.handleAuthorize(J);if(w.pathname==="/oauth/callback")return Y.handleOAuthCallback(J);if(w.pathname==="/token"&&J.method==="POST")return Y.handleToken(J);if((w.pathname==="/register"||w.pathname==="/mcp/register")&&J.method==="POST")return Y.handleClientRegistration(J)}if(w.pathname==="/mcp"){if(J.method==="GET")return new Response("Method not allowed",{status:405});if(Y&&!Y.hasAuth(J)){let U=J.clone();try{if((await U.json())?.method!=="tools/list")return Y.createUnauthorizedResponse(J)}catch{return Y.createUnauthorizedResponse(J)}}return Z.fetch(J,W,K)}if(w.pathname.startsWith("/mcp/call-tool")){let U=w.pathname.split("/").pop();if(!U)return new Response("Not found",{status:404});let F=await J.json(),H=await Z.callTool({toolCallId:U,toolCallInput:F});return new Response(JSON.stringify(H),{headers:{"Content-Type":"application/json"}})}return $.fetch?.(J,W,K)||new Response("Not found",{status:404})};return{fetch:async(J,W,K)=>{if(new URL(J.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(G!==!1&&J.method==="OPTIONS")return DC$(J,G??{});let w=m84({authToken:J.headers.get("authorization")??null,env:{...process.env,...W},server:Z,tokenOrContext:J.headers.get("x-mesh-token")??void 0,url:J.url}),U=await xt.run({req:J,env:w,ctx:K},async()=>await Q(J,w,K));if(G!==!1)return EC$(U,J,G??{});return U}}};var vC$=O(()=>{Qg();LC$();A$1();A$1();T$1();wL0();wL0();Qg();QL0();i84={origin:($)=>{if($.includes("localhost")||$.includes("127.0.0.1"))return $;return $},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});import{z as q$1}from"zod";function t84($,Z){let G=SU({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:zy,outputSchema:jy,execute:async({context:W})=>{let K={limit:W.limit,offset:W.offset,cursor:W.cursor,tags:W.tags,categories:W.categories,where:W.where},w=`${Z}:${JSON.stringify(K)}`,U=yC$.get(w);if(U)return U;let F=await $.listPublic(Z,K);return yC$.set(w,F),F}}),X=SU({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:ZK,outputSchema:fV,execute:async({context:W})=>{let K=W.id??W.name;if(!K)return{item:null};let w=await $.findByIdOrName(Z,K);if(w&&w.is_public)return{item:w};return{item:null}}}),Y=SU({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:ZK,outputSchema:q$1.object({versions:q$1.array(fV.shape.item)}),execute:async({context:W})=>{let K=W.id??W.name;if(!K)return{versions:[]};let w=await $.findByIdOrName(Z,K);if(w&&w.is_public)return{versions:[w]};return{versions:[]}}}),Q=SU({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:PD0,outputSchema:AD0,execute:async({context:W})=>{return await $.search(Z,W,{publicOnly:!0})}}),J=SU({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:q$1.object({}),outputSchema:Py,execute:async()=>{return await $.getFilters(Z,{publicOnly:!0})}});return[G,Q,X,Y,J]}function gC$($){let Z=$.db,G=new bf(Z);return async(X)=>{let Y=X.req.param("orgSlug")??X.req.param("org");if(!Y)return X.json({error:"Organization not found"},404);let Q=await Z.selectFrom("organization").select(["id","slug","name"]).where("slug","=",Y).executeTakeFirst();if(!Q)return X.json({error:"Organization not found"},404);let J=t84(G,Q.id),W=xC$({tools:J}),K=new URL(X.req.url),w=X.req.path.indexOf("/registry"),U=w>=0?X.req.path.slice(w+9):"",F=new URL(U||"/",K.origin);K.searchParams.forEach((B,D)=>{F.searchParams.set(D,B)});let H=new Request(F.toString(),{method:X.req.method,headers:X.req.raw.headers,body:X.req.method!=="GET"&&X.req.method!=="HEAD"?X.req.raw.body:void 0}),N={organizationId:Q.id,db:Z,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await W.fetch(H,N,X)}}var n84=3600000,p84=500,yC$;var hC$=O(()=>{vC$();wL0();Ky0();e5();yC$=Xg({ttlMs:n84,maxSize:p84,updateRecencyOnGet:!0})});import{sql as r84}from"kysely";import{randomUUID as cC$}from"crypto";import{z as o84}from"zod";async function s84($){let Z=new Date().toISOString(),G=cC$(),X=e6.SELF($.organizationId),Y="registry.publish_request.created",Q={requestId:$.request.id,requestedId:$.request.requested_id,title:$.request.title,status:$.request.status,createdAt:$.request.created_at,requester:{name:$.request.requester_name,email:$.request.requester_email}};await $.db.insertInto("events").values({id:G,organization_id:$.organizationId,type:"registry.publish_request.created",source:X,specversion:"1.0",subject:$.request.id,time:Z,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(Q),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Z,updated_at:Z}).execute();let J=await $.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",$.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((W)=>W.or([W("publisher","is",null),W("publisher","=",X)])).execute();if(J.length>0)await $.db.insertInto("event_deliveries").values(J.map((W)=>({id:cC$(),event_id:G,subscription_id:W.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Z}))).execute();try{await r84`SELECT pg_notify('mesh_events', ${G})`.execute($.db)}catch{}}async function e84($,Z){let X=(await $.selectFrom("organization").select(["id"]).where("id","=",Z).execute())[0];if(X?.id)return X.id;return(await $.selectFrom("organization").select(["id"]).where("slug","=",Z).execute())[0]?.id??null}async function $64($,Z){let G=await $.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.virtual_mcp_id").select(["virtual_mcp_plugin_configs.settings as settings"]).where("connections.organization_id","=",Z).where("virtual_mcp_plugin_configs.plugin_id","=",xV).execute();for(let X of G){let Y=X.settings,Q=typeof Y==="string"?(()=>{try{return JSON.parse(Y)}catch{return{}}})():Y??{};if(Q.acceptPublishRequests===!0){let J=Q.rateLimitWindow==="minute"?"minute":"hour",W=Q.rateLimitMax,K=typeof W==="number"&&Number.isFinite(W)&&W>=1?Math.floor(W):dC$;return{acceptPublishRequests:!0,requireApiToken:Q.requireApiToken===!0,rateLimitEnabled:Q.rateLimitEnabled===void 0?uC$:Q.rateLimitEnabled===!0,rateLimitWindow:J,rateLimitMax:K}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:uC$,rateLimitWindow:a84,rateLimitMax:dC$}}async function Z64($,Z,G){let X=G==="minute"?60000:3600000,Y=new Date(Date.now()-X).toISOString(),Q=await $.selectFrom("private_registry_publish_request").select((J)=>J.fn.countAll().as("count")).where("organization_id","=",Z).where("created_at",">=",Y).executeTakeFirst();return Number(Q?.count??0)}async function G64($,Z,G,X){let Y=await $.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Z).where((Q)=>Q.or([Q("id","=",G),Q("title","=",X)])).executeTakeFirst();return Y?{id:String(Y.id),title:String(Y.title)}:null}function lC$($){let{db:Z,db:G}=$,X=new ff(G),Y=new xf(G);return async(Q)=>{let J=Q.req.param("orgRef")??Q.req.param("org");if(!J)return Q.json({error:"Organization not found"},404);let W=await e84(Z,J);if(!W)return Q.json({error:"Organization not found"},404);let K=await $64(Z,W);if(!K.acceptPublishRequests)return Q.json({error:"Publish requests are not enabled for this registry."},403);if(K.requireApiToken){let N=Q.req.header("Authorization"),B=N?.startsWith("Bearer ")?N.slice(7).trim():null;if(!B)return Q.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await Y.validate(W,B))return Q.json({error:"Invalid API key"},401)}if(K.rateLimitEnabled){if(await Z64(G,W,K.rateLimitWindow)>=K.rateLimitMax)return Q.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:K.rateLimitWindow==="minute"?60:3600},429)}let w;try{w=await Q.req.json()}catch{return Q.json({error:"Invalid JSON body"},400)}let U=Xj$.safeParse(w);if(!U.success)return Q.json({error:"Invalid publish request payload",details:o84.treeifyError(U.error)},400);let F=await G64(G,W,U.data.data.id,U.data.data.title);if(F)return Q.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:F},409);let H=await X.createOrUpdate({organization_id:W,requested_id:U.data.data.id,title:U.data.data.title,description:U.data.data.description??null,_meta:U.data.data._meta,server:U.data.data.server,requester_name:U.data.requester?.name??null,requester_email:U.data.requester?.email??null});try{await s84({db:Z,organizationId:W,request:H})}catch(N){console.warn("[private-registry] failed to emit publish-request event:",N)}return r1.capture({distinctId:U.data.requester?.email??`org:${W}`,event:"registry_publish_request_submitted",groups:{organization:W},properties:{organization_id:W,request_id:H.id,requested_id:H.requested_id,title:U.data.data.title,requester_email:U.data.requester?.email??null}}),Q.json({id:H.id,requested_id:H.requested_id,status:H.status},201)}}var uC$=!0,a84="hour",dC$=100;var mC$=O(()=>{v4();t8();Ay();wy0();Uy0();e5()});var iC$={};Z6(iC$,{createPublishRequestHandler:()=>lC$,createPublicMCPHandler:()=>gC$});var nC$=O(()=>{hC$();mC$()});var kn0={};Z6(kn0,{watchHandler:()=>aC$,getProxyDispatch:()=>J64,createApp:()=>O64});import{readFileSync as X64}from"fs";import{PrometheusSerializer as Y64}from"@opentelemetry/exporter-prometheus";import{DBOS as Jg}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as U64,oAuthProtectedResourceMetadata as F64}from"better-auth/plugins";async function Q64($){let Z=$.connect(),G;try{G=await Promise.race([Z,tC$(pC$)])}catch{return Z.then((X)=>X.release(!0)).catch(()=>{}),!1}try{return await Promise.race([G.query("SELECT 1"),tC$(pC$)]),G.release(),!0}catch{return G.release(!0),!1}}function tC$($){return new Promise((Z,G)=>setTimeout(()=>G(Error("pg health-check timeout")),$))}function J64(){if(!M$1)throw Error("getProxyDispatch() called before createApp() or without NATS \u2014 proxy dispatch unavailable");return M$1}async function W64($,Z){let{items:G}=await $.storage.connections.list(Z,{where:{field:["connection_url"],operator:"like",value:`${PC1}%`},limit:1}),X=G[0];if(!X?.configuration_state)return null;return X.configuration_state.project_locator}function K64($){let Z=new URLSearchParams;if($){let[G,X]=$.split("/");if(G)Z.set("workspace_hint",G);if(X)Z.set("project_hint",X)}else Z.set("auto_personal","true");return Z.set("force_new","true"),Z}async function O64($={}){let Z=$.database??u6(),G=!1;JZ.stop().catch((d)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",d)});let X,Y,Q=new $$1,J,W,K,w,U,F=null;if($.disableNats)J=Z$1(),X={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},Y=new xn,W={start:async()=>{},broadcast:()=>{},publishControlFrame:()=>{},stop:async()=>{}},U=void 0,K={init:async()=>{},pump:(d)=>{return(async()=>{let m=d.getReader();try{while(!0){let{done:V0}=await m.read();if(V0)break}}catch{}finally{m.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{F=rS$();let d=E1().natsCredsPath,m;if(d)try{m=X64(d,"utf8")}catch(z1){console.error(`[app] failed to read NATS_CREDS at ${d}; connecting anonymously`,z1)}F.init(E1().natsUrls,m?{creds:m}:void 0);let V0=Dy0()?new Wx0({getJetStream:()=>F.getJetStream()}):null;V0?.init().catch(()=>{}),X=V0;let v0=new kp0({getJetStream:()=>F.getJetStream()});v0.init().catch(()=>{}),Y=v0,J=Z$1({getConnection:()=>F.getConnection()}),W=new G$1({getConnection:()=>F.getConnection()}),K=new Q$1({getConnection:()=>F.getConnection(),getJetStream:()=>F.getJetStream()}),w=kV$({getConnection:()=>F.getConnection()}),U=fV$({getConnection:()=>F.getConnection()});let N1=xV$({getConnection:()=>F.getConnection()}),i0=W;W={start:(z1)=>i0.start(z1),broadcast:(z1)=>i0.broadcast(z1),publishControlFrame:(z1,R$)=>{N1.publishControlFrame(z1,R$).catch((B6)=>{console.warn("[TunnelControl] publishControlFrame failed (non-critical):",B6)})},stop:()=>i0.stop()},fA$(F),F.onReady(()=>{V0?.init().catch((z1)=>{console.error("[McpListCache] Deferred init failed:",z1)}),v0.init().catch((z1)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",z1)}),J.start(),Fm1(()=>F.getConnection()),K.init().catch((z1)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",z1)})})}if(Wg)await Wg();Kx0(X),Sp0(Y);let N={storage:new uf(Z.db),sseHub:JZ},B=new ml0(N),D=new kl(Z.db),E=new w$1(D);E.start(),W.start((d)=>{Z90(d),B.execute({type:"CANCEL",taskId:d}).catch((m)=>{console.error("[Decopilot] CancelBroadcast execute failed:",m)})}).catch((d)=>{console.error("[Decopilot] CancelBroadcast start failed:",d)}),F?.onReady(()=>{W.start().catch((d)=>{console.error("[CancelBroadcast] Deferred start failed:",d)})}),K.init().catch((d)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",d)}),Wg=async()=>{await B.stopAll(),B.dispose(),E.dispose(),W.stop().catch(()=>{}),K.teardown(),X?.teardown(),Q.teardown(),J.teardown(),Hm1(),Y.teardown(),Kx0(null),Sp0(null)};let L=new g1;if(L.use("*",Qb0({enabled:(d)=>Hb(d,"debug")==="1"})),L.use("*",ML0),L.use("/*",J_1({origin:(d)=>{if(d.includes("localhost")||d.includes("127.0.0.1"))return d;return d},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),L.use("*",async(d,m)=>{if(await m(),d.req.path.includes("/files/"))return;if(d.req.path.includes("/fs/")&&d.req.path.endsWith("/read"))return;d.header("X-Frame-Options","DENY"),d.header("Content-Security-Policy","frame-ancestors 'none'")}),!E1().noTui)L.use("*",nV$());L.use("*",async(d,m)=>{if(await m(),Fg(d.req.path))return;if(d.res.status>=500){let v0=await d.res.clone().text();console.error(`[5xx Response] ${d.req.method} ${d.req.path} - ${d.res.status}:`,v0)}}),L.get(e7.HEALTH,(d)=>{if(G)return d.json({status:"shutting_down"},503);return d.json({status:"ok"})}),L.get(e7.HEALTH_LIVE,(d)=>{return d.json({status:"ok"})}),L.get(e7.HEALTH_READY,async(d)=>{if(G)return d.json({status:"shutting_down"},503);let m={};if(m.postgres={status:await Q64(Z.pool)?"up":"down"},F)m.nats=F.isConnected()?{status:"up"}:{status:"down"};else m.nats={status:"down"};let V0=m.postgres.status==="up",v0=V0?200:503;return d.json({status:V0?"ready":"not_ready",services:m},v0)}),L.get(e7.METRICS,async(d)=>{try{let m=await CL0.collect(),V0=w64.serialize(m.resourceMetrics);return d.text(V0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(m){return console.error("Failed to collect metrics:",m),d.text("# Error collecting metrics",500)}}),L.get(`${e7.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(d)=>{let m=d.req.param("queueName");if(!H64.has(m))return d.json({error:`Unknown queue: ${m}`},404);let V0=await Jg.listQueuedWorkflows({queueName:m,status:"ENQUEUED"});return d.json({queue_length:V0.length})}),L.route("/api/config",kS$),L.route("/api/auth/custom",ZT$),L.all("/api/auth/*",async(d)=>{return await Z4.handler(d.req.raw)});let z=io1();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",hV),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",hV),L.route("/",z),L.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",Gi),L.route("/",ro1()),L.use("/oauth-proxy/:connectionId/*",hV),L.all("/oauth-proxy/:connectionId/*",rC$);let j=async(d)=>{let V0=await N64()(d.req.raw),v0=await V0.json();return Response.json(v0,V0)};L.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",hV),L.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",j);let P=async(d)=>{let V0=await B64()(d.req.raw),v0=await V0.json();return Response.json(v0,V0)};L.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",P);let A=VA$({ttlMs:120000}),M=await Co1({db:Z.db,auth:Z4,encryption:{key:E1().encryptionKey},observability:{tracer:CU,meter:g8},modelListCache:Q,providerKeyCache:J,memberRoleCache:A,linkStatusProbe:w,publishLinkControlFrame:(d,m)=>W.publishControlFrame(d,m)});pH.set(M);let S=new Fw(E1().encryptionKey);BR1({db:Z.db,baseUrl:cJ()});let q=_80(Z.db),V=new jl(Z.db),t=dV$({db:Z.db});Tp0({storage:q,meshContextFactory:t}),el0({meshContextFactory:t,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:JZ},prepareLinkWorkFn:nR$,workPublisher:U}),tl0({dispatchRunFn:mR$,meshContextFactory:t,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:JZ}});let f=new uf(Z.db);x6$({getJetStream:()=>F?.getJetStream()??null,getJetStreamManager:async()=>{let d=F?.getConnection();return d?await oC$.jetstreamManager(d):null},messageParts:f.messageParts(),resolveRun:async(d)=>{let m=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",d).executeTakeFirst();return m?{orgId:m.organization_id,createdBy:m.created_by,version:m.message_storage_version??1,status:m.status,runFenceToken:m.run_fence_token,title:m.title??null}:null},completeRunIfNotCompleted:async(d,m)=>{let V0=await f.completeRunIfNotCompleted(d,m);return ZL0(JZ,m,d,V0),V0},markRunRequiresAction:async(d,m)=>{let V0=await f.requiresActionIfInProgress(d,m);return ZL0(JZ,m,d,V0),V0},markRunFailed:async(d,m,V0,v0)=>{let N1=await f.markRunFailed(d,m,V0,v0);return ZL0(JZ,m,d,N1),N1},persistTitle:(d,m,V0)=>f.update(d,m,{title:V0}),onTitleUpdated:async({runId:d,orgId:m,title:V0})=>{let v0=await f.get(d,m).catch(()=>null);JZ.emit(m,A3(d,v0?.status??"in_progress",{title:V0,virtualMcpId:v0?.virtual_mcp_id??void 0,createdBy:v0?.created_by,triggerId:v0?.trigger_id,branch:v0?.branch??null,createdAt:v0?.created_at,updatedAt:v0?.updated_at}))},bumpProgress:async({runId:d,orgId:m})=>{await f.bumpProgress(d,m)},recordCompleted:async({runId:d,orgId:m,distinctId:V0,usage:v0})=>{r1.capture({distinctId:V0,event:"chat_message_completed",groups:{organization:m},properties:{organization_id:m,thread_id:d,transport:"projector",input_tokens:v0.inputTokens,output_tokens:v0.outputTokens,total_tokens:v0.totalTokens}})},recordFailed:async({runId:d,orgId:m,distinctId:V0,reason:v0,kind:N1})=>{r1.capture({distinctId:V0,event:"chat_message_failed",groups:{organization:m},properties:{organization_id:m,thread_id:d,transport:"projector",error_category:N1,error_message:v0}})},purgeRun:async(d)=>{K.purge(d)}}),P3$({meshContextFactory:t,systemDatabaseUrl:Vf1(E1().databaseUrl,E1().databasePgSsl),streamBuffer:K}),cV$(),OR1();let v=async(d,m,V0)=>{let v0=await q.findById(d,m);if(!v0)throw Error("Automation not found");return qp0({automationId:v0.id,organizationId:v0.organization_id,triggerId:null})},Z0=new yy(q,({automation:d,trigger:m,contextMessages:V0,idempotencyKey:v0})=>bn({automationId:d.id,organizationId:d.organization_id,triggerId:m.id,contextMessages:V0},{idempotencyKey:v0})),a=[mQ(),GC(),DK()];for(let d of a)YL0(d).then(()=>{}).catch((m)=>console.error("[monitoring] Retention cleanup failed:",m));let B0=()=>Z.db.deleteFrom("apikey").where("expiresAt","<",new Date).execute().then(()=>{}).catch((d)=>console.error("[auth] Expired API key cleanup failed:",d));B0(),setInterval(B0,86400000).unref(),L.use("*",async(d,m)=>{if(RL0(d.req.path))return m();let V0={measure:async(N1,i0)=>{GQ(d,N1);try{return await i0()}finally{$Y(d,N1)}}},v0=await pH.create(d.req.raw,{timings:V0});v0.automationRunner=v,d.set("meshContext",v0);try{await m()}finally{let N1=v0.pendingRevalidations;if(N1.length>0)Promise.race([Promise.allSettled(N1),n8(30000)]).catch((z1)=>console.error("[mesh] revalidation cleanup error:",z1))}}),L.use("/api/:org/decopilot/*",cV),L.use("/api/:org/v1/*",cV),L.use("/api/:org/files/*",cV),L.use("*",async(d,m)=>{let V0=d.req.path;if(V0.startsWith("/api/org-sso/")||V0.startsWith("/api/auth/")||V0.startsWith("/api/tools/management")||V0.startsWith("/oauth-proxy/"))return m();let v0=d.get("meshContext");if(!v0?.organization?.id||!v0?.auth?.user?.id)return m();if(!(await v0.storage.orgSsoConfig.getByOrgId(v0.organization.id))?.enforced)return m();if(!await v0.storage.orgSsoSessions.isValid(v0.auth.user.id,v0.organization.id))return d.json({error:"SSO authentication required for this organization"},403);return m()});let O0=new g1;O0.use("*",hQ({mountPath:"/api/org-sso"})),O0.route("/",xD0()),L.route("/api/org-sso",O0),L.get("/api/tools/management",(d)=>{return d.json({tools:Wb0,grouped:bO()})}),L.use("/mcp/*",async(d,m)=>{GQ(d,"mcp");try{return await m()}finally{$Y(d,"mcp")}});let W0=async(d,m)=>{let V0=d.var.meshContext;if(!V0.auth.user?.id&&!V0.auth.apiKey?.id){let v0=new URL(d.req.url);return d.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${v0.origin}${v0.pathname}/.well-known/oauth-protected-resource"`}})}return await m()};if(L.use("/mcp/:connectionId?",W0),L.use("/mcp/gateway/:virtualMcpId?",W0),L.use("/mcp/virtual-mcp/:virtualMcpId?",W0),L.use("/mcp/self",W0),T3()){let{mountDevRoutes:d}=(wC$(),OL0(KC$));d(L,W0)}let J0=new g1;J0.use("*",hQ({mountPath:"/mcp"})),J0.route("/",AN0()),L.route("/mcp",J0);let s=new g1;s.use("*",hQ({mountPath:"/mcp/self"})),s.route("/",mE0()),L.route("/mcp/self",s);let A0=new g1;A0.use("*",hQ({mountPath:"/mcp"})),A0.route("/",RN0()),L.route("/mcp",A0),L.use("/api/:org/models/*",async(d,m)=>{GQ(d,"llm_models");try{return await m()}finally{$Y(d,"llm_models")}});let U0=Y01({cancelBroadcast:W,streamBuffer:K,runRegistry:B,linkStatusProbe:w});if(L.route("/api",U0),F!=null)M$1=VV$({getConnection:()=>F?.getConnection()??null});L.route("/api",FS$()),L.get("/api/links/me",async(d)=>{try{let m=d.req.header("authorization")??"",V0=/^Bearer\s+(.+)$/i.exec(m),v0=null;if(V0){let i0=(V0[1]??"").trim();v0=await tk$(i0,Z4.api)}else v0=d.get("meshContext")?.auth?.user?.id??null;if(!v0)return d.json({error:"unauthorized"},401);let N1=w?await w(v0):{online:!1,capabilities:[]};if(!N1.online)return d.json(null);return d.json({hostname:N1.hostname,cliVersion:N1.cliVersion})}catch(m){return console.error("[links/me] presence probe failed; reporting offline:",m instanceof Error?m.message:String(m)),d.json(null)}}),L.use("/api/:org/files/*",cV),L.route("/api",_S$);let f0=new g1;f0.use("*",hQ({mountPath:"/api"})),f0.route("/",iE0()),L.route("/api",f0),L.route("/api",TS$);let m0=new g1;m0.use("*",hQ({mountPath:"/api"})),m0.route("/",nE0({tokenStorage:V,automationEventDispatcher:Z0})),L.route("/api",m0);let x0=new Al(Z.db),n0=new g1;n0.use("*",hQ({mountPath:"/api"})),n0.route("/",FE0()),L.route("/api",n0),L.route("/api/deco-sites",B2$()),L.route("/api/deco-apps",ES$());let N0=new g1;N0.use("*",hQ({mountPath:"/api/deco-sites"})),N0.route("/",NE0()),L.route("/api/deco-sites",N0);let _0=new g1;_0.use("*",hQ({mountPath:"/api/vm-events"})),_0.route("/",OS$()),L.route("/api/vm-events",_0);let{createPublishRequestHandler:I0,createPublicMCPHandler:F0}=await Promise.resolve().then(() => (nC$(),iC$)),Q0={db:Z.db,vault:{encrypt:(d)=>S.encrypt(d),decrypt:(d)=>S.decrypt(d)}},X0=I0(Q0),S0=F0(Q0);L.use("/org/:orgRef/registry/publish-request",hV),L.post("/org/:orgRef/registry/publish-request",X0),L.use("/org/:orgSlug/registry/*",hV),L.all("/org/:orgSlug/registry/*",S0),L.post("/api/:org/registry/publish-request",X0),L.all("/api/:org/registry/*",S0);let n=nk$({kvStorage:x0,runRegistry:B,streamBuffer:K,sseHub:JZ,cancelBroadcast:W,tokenStorage:V,automationEventDispatcher:Z0,mountDevAssets:T3(),mcpAuth:W0,oauthProxyHandler:rC$,watchHandler:aC$,betterAuthProtectedResourceHandler:j,getNatsConnection:()=>F?.getConnection()??null});return L.route("/api/:org",n),L.notFound((d)=>{return d.json({error:"Not Found",path:d.req.path},404)}),L.onError(Z2$),Object.assign(L,{markShuttingDown:()=>{G=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([JZ.stop(),Wg?Promise.resolve(Wg()).finally(()=>{Wg=null}):Promise.resolve()]),F)await F.drain().catch((d)=>console.error("[shutdown] NATS drain error:",d));console.log("[shutdown] Flushing telemetry..."),await yY().catch((d)=>console.error("[shutdown] Telemetry flush error:",d)),console.log("[shutdown] Closing database..."),await _f1(Z).catch((d)=>console.error("[shutdown] Database close error:",d)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await Jg.registerQueue(vY,{partitionQueue:!0,concurrency:jp0,minPollingIntervalMs:Pp0}),await Jg.registerQueue(lQ,{partitionQueue:!0,concurrency:sl0}),await Jg.registerQueue(OK,{partitionQueue:!0,concurrency:pl0}),await Jg.registerQueue(VU,{partitionQueue:!0,concurrency:j3$}),await K01(q),await Promise.allSettled(["automations-gate","automations-global"].map((d)=>Jg.deleteQueue(d))),await Ap0(Z.pool),Zg1().catch((d)=>{console.error("[studio-pack-backfill] failed:",d)}),DR1().catch((d)=>{console.error("[org-fs] public-sets boot sync kick failed:",d)})}})}var oC$,pC$=5000,M$1=null,Wg=null,rC$=async($)=>{let Z=$.req.param("connectionId");if(!Z)return $.json({error:"Missing connectionId"},400);let G=$.req.path.split("/").filter(Boolean),X=G[G.length-1],Y=$.get("meshContext");if(!Y)Y=await pH.create($.req.raw),$.set("meshContext",Y);let Q=$.req.param("org")?Y.organization?.id:void 0,J=await Y.storage.connections.findById(Z,Q);if(!J?.connection_url)return $.json({error:"Connection not found"},404);let W=await Rx(J.connection_url),K,w=new URL(J.connection_url);if(W.ok)K=(await W.json()).authorization_servers?.[0];if(!K)K=w.origin;let U=await Xi(K);if(!U.ok)return $.json({error:"Failed to get auth server metadata"},502);let F=await U.json(),H;if(X==="authorize")H=F.authorization_endpoint;else if(X==="token")H=F.token_endpoint;else if(X==="register")H=F.registration_endpoint;if(!H)return $.json({error:`Unknown OAuth endpoint: ${X}`},404);let N=new URL(H),B=new URL($.req.url);if(N.search=B.search,X==="authorize"){let q=N.searchParams.get("redirect_uri");if(q){let V=E1().baseUrl??B.origin;try{let t=new URL(q),f=new URL(V);if(!(t.origin===f.origin||t.hostname==="localhost"))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}N.searchParams.set("redirect_uri",q)}if(N.searchParams.has("resource"))N.searchParams.set("resource",J.connection_url);if(AC1(J.connection_url))try{let V=await W64(Y,J.organization_id),t=K64(V);for(let[f,v]of t)N.searchParams.set(f,v)}catch(V){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",V)}return $.redirect(N.toString(),302)}let D={Accept:$.req.header("Accept")||"application/json"},E=$.req.header("Content-Type");if(E)D["Content-Type"]=E;let L=$.req.header("Authorization");if(L)D.Authorization=L;let z,j=null,P=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(X==="token"&&E?.includes("application/x-www-form-urlencoded")){if(L?.toLowerCase().startsWith("basic "))try{let v=atob(L.slice(6).trim()),Z0=v.indexOf(":");if(Z0!==-1){let a=decodeURIComponent(v.slice(0,Z0)),B0=decodeURIComponent(v.slice(Z0+1));j=a||null,P=B0||null}}catch{}let q=await $.req.formData();if(q.has("resource"))q.set("resource",J.connection_url);let V=q.get("client_id"),t=q.get("client_secret");if(typeof V==="string"&&V)j=V;if(typeof t==="string"&&t)P=t;let f=new URLSearchParams;for(let[v,Z0]of q.entries())f.append(v,Z0.toString());z=f.toString()}else if(X==="register"&&E?.toLowerCase().includes("application/json")){let q=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organization_id).executeTakeFirst(),V=await $.req.text(),t={};try{t=V?JSON.parse(V):{}}catch{z=V}let f=typeof t==="object"&&t!==null&&!Array.isArray(t);if(z===void 0&&!f)z=V;if(z===void 0){let v=t,Z0=v.metadata&&typeof v.metadata==="object"?v.metadata:{};v.metadata={...Z0,organization_id:J.organization_id,...q?.slug?{organization_slug:q.slug}:{},...q?.name?{organization_name:q.name}:{}},z=JSON.stringify(v),D["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let A=await fetch(N.toString(),{method:$.req.method,headers:D,body:z,duplex:"half",redirect:"manual"}),M=new Headers,S=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[q,V]of A.headers.entries())if(!S.includes(q.toLowerCase()))M.set(q,V);if(X==="token"&&A.ok){let q=await A.text();try{let V=JSON.parse(q);if(typeof V.access_token==="string"&&V.access_token){let t=typeof V.expires_in==="number"?new Date(Date.now()+V.expires_in*1000):null,f=null;try{f=await qx(J.connection_url)??H}catch{f=H}let v={connectionId:Z,accessToken:V.access_token,refreshToken:typeof V.refresh_token==="string"?V.refresh_token:null,scope:typeof V.scope==="string"?V.scope:null,expiresAt:t,clientId:j,clientSecret:P,tokenEndpoint:f};await new V5(Y.db,Y.vault).upsert(v)}}catch(V){console.error("[oauth-proxy] failed to persist downstream token:",V)}return new Response(q,{status:A.status,statusText:A.statusText,headers:M})}return new Response(A.body,{status:A.status,statusText:A.statusText,headers:M})},aC$=async($)=>{let Z=$.var.meshContext;if(!(Z.auth.user?.id??Z.auth.apiKey?.userId))return $.json({error:"Unauthorized"},401);let X=Z.organization?.id;if(!X)return $.json({error:"organization id missing"},400);let Y=$.req.query("types"),Q=Y?Y.split(",").map((W)=>W.trim()).filter(Boolean):null,J=crypto.randomUUID();return cQ($,async(W)=>{if(await W.writeSSE({event:"connected",data:JSON.stringify({listenerId:J,organizationId:X,typePatterns:Q,connectedAt:new Date().toISOString()})}),!JZ.add({id:J,organizationId:X,typePatterns:Q?.length?Q:null,push:(U)=>{W.writeSSE({id:U.id,event:U.type,data:JSON.stringify(U)}).catch(()=>{JZ.remove(X,J)})}})){await W.writeSSE({event:"error",data:JSON.stringify({error:"Too many connections",message:"SSE connection limit reached. Try again later."})});return}let w=setInterval(()=>{W.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(w)})},30000);await new Promise((U)=>{W.onAbort(()=>{clearInterval(w),JZ.remove(X,J),U()})})})},w64,H64,N64=()=>F64(Z4),B64=()=>U64(Z4);var Sn0=O(()=>{Z9();z8();ER1();nG();wb();t8();m6();M10();W_1();Jb0();gw();Zi();ss0();R3();I5();v4();Qe0();we0();eR$();Q01();t3();P40();J01();G2$();W01();pk$();HS$();DS$();H01();LS$();TN0();Yi();IS$();qN0();f11();SS$();bS$();b11();_11();pt();cu();oS$();XY();o80();Il();Cp0();aS$();eS$();QV$();SV$();CV$();vV$();il0();yV$();Sy0();fy0();uV$();A$0();U$1();gX();w01();ri();dl0();A$0();$01();ev0();$y0();lV$();Nb();pV$();rV();ss0();Rv();G90();oC$=k(RB(),1);w64=new Y64,H64=new Set([vY,lQ,OK,VU])});var Z_$={};Z6(Z_$,{resolveClientDir:()=>A64,resolveAssetPathWithTraversalCheck:()=>$_$,isPathWithinDirectory:()=>eC$,createAssetHandler:()=>T64});import{resolve as yt,dirname as D64,join as E64,extname as L64,basename as z64,sep as sC$}from"path";function j64($,Z){if($===Z||z64($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${sC$}assets${sC$}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function eC$($,Z){let G=yt(Z),X=yt($);return X===G||X.startsWith(G+"/")}function $_$({requestPath:$,clientDir:Z}){let G=$.startsWith("/")?$.slice(1):$,X=yt(Z,G);if(!eC$(X,Z))return null;return X}function A64($,Z="../client"){let G=new URL($),X=D64(G.pathname);return yt(X,Z)}function T64($={}){let{env:Z="production",clientDir:G=P64,isServerPath:X=()=>!1}=$;if(Z==="development")return async function(Q){return null};return async function(Q){if(Q.method!=="GET")return null;let J=new URL(Q.url),W;try{W=decodeURIComponent(J.pathname)}catch{return null}if(X(W))return null;let K=$_$({requestPath:W,clientDir:G});if(!K)return null;let w=E64(K,"index.html"),U=yt(G,"index.html"),F=Q.headers.get("accept"),N=F?.includes("text/html")||F?.includes("*/*")&&["",".html"].includes(L64(K))?[w,U]:[];for(let B of[K,...N])try{let D=Bun.file(B);if(await D.exists())return new Response(D,{headers:j64(B,U)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var P64="./dist/client";var G_$=()=>{};var X_$={};Z6(X_$,{tryUpgradePreviewWs:()=>V64,tryHandlePreviewHttp:()=>S64,previewWebSocketHandler:()=>C64,parsePreviewBaseDomain:()=>k64,isPreviewWsData:()=>UL0,extractHandleFromHost:()=>k$1});function q64($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function M64(){return new Response(R64,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function k64($){if(!$||$.trim()==="")return null;let Z=$.includes("{handle}")?$.replace("{handle}","__handle__"):$,G;try{G=new URL(Z)}catch{return null}let X=G.hostname;if($.includes("{handle}")){let Y=X.indexOf(".");if(Y<=0||Y===X.length-1)return null;return X.slice(Y+1)}return X}function k$1($,Z){if(!$||!Z)return null;let G=$.indexOf(":"),X=(G>=0?$.slice(0,G):$).toLowerCase(),Q=`.${Z.toLowerCase().replace(/^\.+|\.+$/g,"")}`;if(!X.endsWith(Q))return null;let J=X.slice(0,X.length-Q.length);if(!J||J.includes("."))return null;return J}async function S64($,Z){let G=k$1($.headers.get("host"),Z.baseDomain);if(!G)return null;let X=await Z.getRunner();if(!X)return ht(503,"preview proxy not configured");let Y=await X.proxyPreviewRequest(G,$);if(Y.headers.get(sS)&&q64($))return M64();return Y.headers.delete(sS),Y}function ht($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function UL0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function V64($,Z,G){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let X=k$1($.headers.get("host"),G.baseDomain);if(!X)return null;let Y=await G.getRunner();if(!Y)return ht(503,"preview proxy not configured");let Q=await Y.resolvePreviewUpstreamUrl(X);if(!Q)return ht(404,"sandbox not found");let J=new URL($.url);if(J.pathname.startsWith("/_sandbox")||J.pathname.startsWith("/_decopilot_vm"))return ht(404,"not found");let W=`${Q.replace(/^http/,"ws")}${J.pathname}${J.search}`,K=$.headers.get("sec-websocket-protocol"),w=K?K.split(",").map((H)=>H.trim()).filter(Boolean):[],U={kind:"preview",upstreamUrl:W,upstreamProtocols:w,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:U}))return ht(426,"upgrade failed");return}function gt($,Z,G,X){if(Z.closed)return;Z.closed=!0;try{$.close(G,X)}catch{}try{Z.upstream?.close()}catch{}}var I64=256,R64='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>',C64;var Y_$=O(()=>{In0();C64={open($){let Z=$.data;if(!UL0(Z))return;let G;try{G=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(X){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${X instanceof Error?X.message:String(X)}`),gt($,Z,1011,"upstream connect failed");return}G.binaryType="arraybuffer",Z.upstream=G,G.addEventListener("open",()=>{while(Z.pending.length>0){let X=Z.pending.shift();if(X!==void 0)G.send(X)}}),G.addEventListener("message",(X)=>{if(Z.closed)return;$.send(X.data)}),G.addEventListener("close",(X)=>{gt($,Z,X.code||1000,X.reason||"")}),G.addEventListener("error",()=>{gt($,Z,1011,"upstream error")})},message($,Z){let G=$.data;if(!UL0(G))return;let X=G.upstream;if(X&&X.readyState===WebSocket.OPEN){X.send(Z);return}if(G.pending.length>=I64){gt($,G,1011,"preview ws backlog overflow");return}G.pending.push(Z)},close($){let Z=$.data;if(!UL0(Z))return;gt($,Z,1000,"")}}});var K_$={};Z6(K_$,{printBanner:()=>b64,bannerLines:()=>W_$,BANNER_LINES:()=>Q_$,BANNER_GRADIENT:()=>J_$});function _64($){let Z=Number.parseInt($.slice(1),16);return[Z>>16&255,Z>>8&255,Z&255]}function W_$($){let Z=Q_$.map((G,X)=>{let[Y,Q,J]=_64(J_$[X]);return`\x1B[38;2;${Y};${Q};${J}m${G}\x1B[39m`});if($!==void 0)Z.push(`\x1B[2m v${$}\x1B[22m`);return Z}function b64($){console.log("");for(let Z of W_$($))console.log(Z);console.log("")}var Q_$,J_$;var w_$=O(()=>{Q_$=[" \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 "],J_$=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});var F_$={};Z6(F_$,{bootstrapDevLinkSession:()=>d64});import{existsSync as f64}from"fs";import{chmod as x64,mkdir as v64,rename as y64,writeFile as g64}from"fs/promises";import{dirname as h64,join as U_$}from"path";function c64($){return U_$($,"dev-link")}function u64($){let Z=process.env.DEV_LINK_SESSION_PATH;if(Z&&Z.trim()!=="")return Z;return U_$(c64($),"session.json")}async function d64($,Z){let G=u64($),X=u6().db,Y=SQ()?await Sn():await X.selectFrom("user").select(["id","email","name"]).orderBy("createdAt","desc").executeTakeFirst();if(!Y?.id)return null;if(f64(G))try{let w=await Bun.file(G).json(),U=w.user?.sub,F=w.accessToken;if(U===Y.id&&typeof F==="string"){if(await Z4.api.verifyApiKey({body:{key:F}}).then((N)=>N?.valid===!0).catch(()=>!1))return{path:G,userSub:U}}}catch{}let Q=null;try{Q=await Z4.api.createApiKey({body:{name:"dev-link (auto-minted by bun run dev)",userId:Y.id,permissions:{"*":["*"]},expiresIn:2592000,rateLimitEnabled:!1}})}catch(K){return console.warn("[dev-link] failed to mint API key:",K instanceof Error?K.message:String(K)),null}if(!Q?.key)return null;let J={target:Z,clientId:"dev-link",user:{sub:Y.id,...Y.email?{email:Y.email}:{},...Y.name?{name:Y.name}:{}},accessToken:Q.key,createdAt:new Date().toISOString()};await v64(h64(G),{recursive:!0});let W=`${G}.tmp`;return await g64(W,JSON.stringify(J,null,2),{mode:384}),await x64(W,384),await y64(W,G),{path:G,userSub:Y.id}}var H_$=O(()=>{R3();gw();_N()});Z9();var y$1="4";function g$1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:y$1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}z8();I5();function Rb$(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function xL0($,Z){for(let G=0;G<$.length;G++){let X=$[G];if(X===void 0)continue;if(X===Z)return $[G+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function z81(){let $=Rb$();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:xL0($,"--cpu-prof-dir")??process.cwd(),name:xL0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(xL0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}gL0();var ot;function k81(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let G=HB();if(!G)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),Q=Y(),J=Object.entries(Q.objectTypeCounts).sort((W,K)=>K[1]-W[1]).slice(0,20);X={objectCount:Q.objectCount,heapSize:Q.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:G.rss,heapUsed:G.heapUsed,heapTotal:G.heapTotal,external:G.external,arrayBuffers:G.arrayBuffers,...X}))};return Z().catch(()=>{}),ot=setInterval(()=>void Z().catch(()=>{}),$),ot.unref?.(),process.on("SIGUSR2",()=>{try{let G=Bun.generateHeapSnapshot("v8"),X=typeof G==="string"?G:JSON.stringify(G),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(G){console.error("[heap-watch] snapshot failed:",G)}}),()=>{if(ot)clearInterval(ot)}}import*as kb$ from"bun:jsc";var{startSamplingProfiler:Sb$,samplingProfilerStackTraces:Vb$}=kb$;function S81(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Sb$()}catch(Q){return console.error("[stall-watchdog] failed to start sampling profiler:",Q),()=>{}}let G,X=performance.now()+Z,Y=()=>{let Q=performance.now(),J=Q-X;X=Q+Z;let W=[];try{W=Vb$()?.traces??[]}catch{}if(J>$&&W.length>0){let K=new Map;for(let U of W){let F=U.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??U.frames[0];if(!F)continue;let H=(F.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),N=`${F.name??"?"} @ ${H}:${F.line??"?"}`;K.set(N,(K.get(N)??0)+1)}let w=[...K.entries()].sort((U,F)=>F[1]-U[1]).slice(0,8).map(([U,F])=>({frame:U,count:F}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:W.length,top:w}))}G=setTimeout(Y,Z),G.unref?.()};return G=setTimeout(Y,Z),G.unref?.(),()=>{if(G)clearTimeout(G)}}function V81(){z81();let $=[k81(),M81(),S81()];return()=>{for(let Z of $)Z()}}import{existsSync as o64}from"fs";var xY=E1();E81();var{DBOS:ct,DBOSClient:l64}=await import("@dbos-inc/dbos-sdk");function E_$($,Z){if(!Z)return $;let G=new URL($);if(!G.searchParams.has("sslmode"))G.searchParams.set("sslmode","verify-full");return G.toString()}var m64=[vY,lQ,OK,VU],i64=xY.dispatchRole==="worker"?m64:xY.dispatchRole==="api"?[]:void 0;ct.setConfig(g$1({systemDatabaseUrl:E_$(xY.databaseUrl,xY.databasePgSsl),poolSize:Number(process.env.DBOS_POOL_SIZE??5),executorID:xY.podName,listenQueues:i64}));var{createApp:n64}=await Promise.resolve().then(() => (Sn0(),kn0)),{isServerPath:p64}=await Promise.resolve().then(() => (pt(),$81)),{createAssetHandler:t64,resolveClientDir:L_$}=await Promise.resolve().then(() => (G_$(),Z_$)),r64=xY.port,N_$=L_$(import.meta.url,"../client"),a64=o64(N_$)?N_$:L_$(import.meta.url,"../dist/client"),s64=t64({clientDir:a64,isServerPath:p64}),e64={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function $44($){let Z=new Headers($.headers);for(let[G,X]of Object.entries(e64))Z.set(G,X);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:Z44,tryHandlePreviewHttp:G44,tryUpgradePreviewWs:X44,previewWebSocketHandler:S$1,isPreviewWsData:V$1}=await Promise.resolve().then(() => (Y_$(),X_$)),{getOrInitSharedRunner:Y44}=await Promise.resolve().then(() => (In(),xY$)),z_$=Z44(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),B_$={baseDomain:z_$??"",getRunner:Y44},FL0=await n64(),C$1=process.env.DBOS_CONDUCTOR_KEY?.trim(),O_$=process.env.DBOS_CONDUCTOR_URL?.trim();await ct.launch({...C$1?{conductorKey:C$1}:{},...C$1&&O_$?{conductorURL:O_$}:{}});console.log(`[dbos] application version: ${ct.applicationVersion}`);await FL0.initDbos();if(!xY.isCli){let{bannerLines:$}=await Promise.resolve().then(() => (w_$(),K_$));console.log("");for(let Z of $())console.log(Z)}var Q44=Bun.serve({idleTimeout:0,port:r64,hostname:"0.0.0.0",fetch:async($,Z)=>{if(z_$){let X=await X44($,Z,B_$);if(X===void 0)return;if(X)return X;let Y=await G44($,B_$);if(Y)return Y}let G=await s64($);if(G)return $44(G);return FL0.fetch($,{server:Z})},websocket:{open($){if(V$1($.data))S$1.open($)},message($,Z){if(V$1($.data))S$1.message($,Z)},close($){if(V$1($.data))S$1.close($)}},development:!1}),J44=V81();if(xY.localMode)Promise.resolve().then(() => (_N(),GN0)).then(async({seedLocalMode:$,markSeedComplete:Z})=>{try{let G=await $();if(process.env.DEV_LINK_SESSION_PATH)try{let{bootstrapDevLinkSession:X}=await Promise.resolve().then(() => (H_$(),F_$)),Y=xY.baseUrl??`http://localhost:${xY.port}`,Q=await X(xY.dataDir,Y);if(Q)console.log(`[dev-link] session ready at ${Q.path} (userSub=${Q.userSub})`);else console.warn("[dev-link] no admin user yet \u2014 skipping session bootstrap. The auto-spawned link will refuse to start until an admin exists.")}catch(X){console.error("[dev-link] bootstrap failed:",X)}}catch(G){console.error("Failed to seed local mode:",G)}finally{Z()}}).catch(async($)=>{console.error("Failed to load local-mode module:",$);try{let{markSeedComplete:Z}=await Promise.resolve().then(() => (_N(),GN0));Z()}catch{}});var D_$=!1;async function W44($){let Z;try{Z=await l64.create({systemDatabaseUrl:E_$(xY.databaseUrl,xY.databasePgSsl),systemDatabaseSchemaName:"dbos"});let G=await Z.listWorkflows({status:"PENDING",queueName:lQ,executorId:$,loadInput:!1,loadOutput:!1});if(G.length===0){console.log(`[shutdown] no in-flight thread-gate gates to hand off (executor ${$})`);return}let X=G.map((Y)=>Y.workflowID);await Z.resumeWorkflows(X,{queueName:lQ}),console.log(`[shutdown] re-enqueued ${X.length} in-flight thread-gate gate(s) for re-adoption by a live executor (from ${$}):`,X)}catch(G){console.error("[shutdown] thread-gate handoff failed:",G)}finally{await Z?.destroy().catch(()=>{})}}async function HL0($){if(D_$)return;D_$=!0,console.log(`
|
|
2603
|
+
`;return new TextEncoder().encode(X)}var i11,oV,Y14,ZS$,m11="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",J14,c$,h$,e8,$S$=24,aV,AJ;var KS$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(i11||(i11={}));(function($){var Z=function(g,l){this.hi=g|0,this.lo=l|0},G=function(g){var l,h=new Float64Array(16);if(g)for(l=0;l<g.length;l++)h[l]=g[l];return h},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),w=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),U=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(g,l){return g<<l|g>>>32-l}function D(g,l){var h=g[l+3]&255;return h=h<<8|g[l+2]&255,h=h<<8|g[l+1]&255,h<<8|g[l+0]&255}function E(g,l){var h=g[l]<<24|g[l+1]<<16|g[l+2]<<8|g[l+3],o=g[l+4]<<24|g[l+5]<<16|g[l+6]<<8|g[l+7];return new Z(h,o)}function L(g,l,h){var o;for(o=0;o<4;o++)g[l+o]=h&255,h>>>=8}function z(g,l,h){g[l]=h.hi>>24&255,g[l+1]=h.hi>>16&255,g[l+2]=h.hi>>8&255,g[l+3]=h.hi&255,g[l+4]=h.lo>>24&255,g[l+5]=h.lo>>16&255,g[l+6]=h.lo>>8&255,g[l+7]=h.lo&255}function j(g,l,h,o,Y0){var K0,b0=0;for(K0=0;K0<Y0;K0++)b0|=g[l+K0]^h[o+K0];return(1&b0-1>>>8)-1}function P(g,l,h,o){return j(g,l,h,o,16)}function A(g,l,h,o){return j(g,l,h,o,32)}function M(g,l,h,o,Y0){var K0=new Uint32Array(16),b0=new Uint32Array(16),l0=new Uint32Array(16),P0=new Uint32Array(4),k0,j0,g0;for(k0=0;k0<4;k0++)b0[5*k0]=D(o,4*k0),b0[1+k0]=D(h,4*k0),b0[6+k0]=D(l,4*k0),b0[11+k0]=D(h,16+4*k0);for(k0=0;k0<16;k0++)l0[k0]=b0[k0];for(k0=0;k0<20;k0++){for(j0=0;j0<4;j0++){for(g0=0;g0<4;g0++)P0[g0]=b0[(5*j0+4*g0)%16];P0[1]^=B(P0[0]+P0[3]|0,7),P0[2]^=B(P0[1]+P0[0]|0,9),P0[3]^=B(P0[2]+P0[1]|0,13),P0[0]^=B(P0[3]+P0[2]|0,18);for(g0=0;g0<4;g0++)K0[4*j0+(j0+g0)%4]=P0[g0]}for(g0=0;g0<16;g0++)b0[g0]=K0[g0]}if(Y0){for(k0=0;k0<16;k0++)b0[k0]=b0[k0]+l0[k0]|0;for(k0=0;k0<4;k0++)b0[5*k0]=b0[5*k0]-D(o,4*k0)|0,b0[6+k0]=b0[6+k0]-D(l,4*k0)|0;for(k0=0;k0<4;k0++)L(g,4*k0,b0[5*k0]),L(g,16+4*k0,b0[6+k0])}else for(k0=0;k0<16;k0++)L(g,4*k0,b0[k0]+l0[k0]|0)}function S(g,l,h,o){return M(g,l,h,o,!1),0}function q(g,l,h,o){return M(g,l,h,o,!0),0}var V=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function t(g,l,h,o,Y0,K0,b0){var l0=new Uint8Array(16),P0=new Uint8Array(64),k0,j0;if(!Y0)return 0;for(j0=0;j0<16;j0++)l0[j0]=0;for(j0=0;j0<8;j0++)l0[j0]=K0[j0];while(Y0>=64){S(P0,l0,b0,V);for(j0=0;j0<64;j0++)g[l+j0]=(h?h[o+j0]:0)^P0[j0];k0=1;for(j0=8;j0<16;j0++)k0=k0+(l0[j0]&255)|0,l0[j0]=k0&255,k0>>>=8;if(Y0-=64,l+=64,h)o+=64}if(Y0>0){S(P0,l0,b0,V);for(j0=0;j0<Y0;j0++)g[l+j0]=(h?h[o+j0]:0)^P0[j0]}return 0}function f(g,l,h,o,Y0){return t(g,l,null,0,h,o,Y0)}function v(g,l,h,o,Y0){var K0=new Uint8Array(32);return q(K0,o,Y0,V),f(g,l,h,o.subarray(16),K0)}function Z0(g,l,h,o,Y0,K0,b0){var l0=new Uint8Array(32);return q(l0,K0,b0,V),t(g,l,h,o,Y0,K0.subarray(16),l0)}function a(g,l){var h,o=0;for(h=0;h<17;h++)o=o+(g[h]+l[h]|0)|0,g[h]=o&255,o>>>=8}var B0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function O0(g,l,h,o,Y0,K0){var b0,l0,P0,k0,j0=new Uint32Array(17),g0=new Uint32Array(17),o0=new Uint32Array(17),$1=new Uint32Array(17),W1=new Uint32Array(17);for(P0=0;P0<17;P0++)g0[P0]=o0[P0]=0;for(P0=0;P0<16;P0++)g0[P0]=K0[P0];g0[3]&=15,g0[4]&=252,g0[7]&=15,g0[8]&=252,g0[11]&=15,g0[12]&=252,g0[15]&=15;while(Y0>0){for(P0=0;P0<17;P0++)$1[P0]=0;for(P0=0;P0<16&&P0<Y0;++P0)$1[P0]=h[o+P0];$1[P0]=1,o+=P0,Y0-=P0,a(o0,$1);for(l0=0;l0<17;l0++){j0[l0]=0;for(P0=0;P0<17;P0++)j0[l0]=j0[l0]+o0[P0]*(P0<=l0?g0[l0-P0]:320*g0[l0+17-P0]|0)|0|0}for(l0=0;l0<17;l0++)o0[l0]=j0[l0];k0=0;for(P0=0;P0<16;P0++)k0=k0+o0[P0]|0,o0[P0]=k0&255,k0>>>=8;k0=k0+o0[16]|0,o0[16]=k0&3,k0=5*(k0>>>2)|0;for(P0=0;P0<16;P0++)k0=k0+o0[P0]|0,o0[P0]=k0&255,k0>>>=8;k0=k0+o0[16]|0,o0[16]=k0}for(P0=0;P0<17;P0++)W1[P0]=o0[P0];a(o0,B0),b0=-(o0[16]>>>7)|0;for(P0=0;P0<17;P0++)o0[P0]^=b0&(W1[P0]^o0[P0]);for(P0=0;P0<16;P0++)$1[P0]=K0[P0+16];$1[16]=0,a(o0,$1);for(P0=0;P0<16;P0++)g[l+P0]=o0[P0];return 0}function W0(g,l,h,o,Y0,K0){var b0=new Uint8Array(16);return O0(b0,0,h,o,Y0,K0),P(g,l,b0,0)}function J0(g,l,h,o,Y0){var K0;if(h<32)return-1;Z0(g,0,l,0,h,o,Y0),O0(g,16,g,32,h-32,g);for(K0=0;K0<16;K0++)g[K0]=0;return 0}function s(g,l,h,o,Y0){var K0,b0=new Uint8Array(32);if(h<32)return-1;if(v(b0,0,32,o,Y0),W0(l,16,l,32,h-32,b0)!==0)return-1;Z0(g,0,l,0,h,o,Y0);for(K0=0;K0<32;K0++)g[K0]=0;return 0}function A0(g,l){var h;for(h=0;h<16;h++)g[h]=l[h]|0}function U0(g){var l,h;for(h=0;h<16;h++)g[h]+=65536,l=Math.floor(g[h]/65536),g[(h+1)*(h<15?1:0)]+=l-1+37*(l-1)*(h===15?1:0),g[h]-=l*65536}function f0(g,l,h){var o,Y0=~(h-1);for(var K0=0;K0<16;K0++)o=Y0&(g[K0]^l[K0]),g[K0]^=o,l[K0]^=o}function m0(g,l){var h,o,Y0,K0=G(),b0=G();for(h=0;h<16;h++)b0[h]=l[h];U0(b0),U0(b0),U0(b0);for(o=0;o<2;o++){K0[0]=b0[0]-65517;for(h=1;h<15;h++)K0[h]=b0[h]-65535-(K0[h-1]>>16&1),K0[h-1]&=65535;K0[15]=b0[15]-32767-(K0[14]>>16&1),Y0=K0[15]>>16&1,K0[14]&=65535,f0(b0,K0,1-Y0)}for(h=0;h<16;h++)g[2*h]=b0[h]&255,g[2*h+1]=b0[h]>>8}function x0(g,l){var h=new Uint8Array(32),o=new Uint8Array(32);return m0(h,g),m0(o,l),A(h,0,o,0)}function n0(g){var l=new Uint8Array(32);return m0(l,g),l[0]&1}function N0(g,l){var h;for(h=0;h<16;h++)g[h]=l[2*h]+(l[2*h+1]<<8);g[15]&=32767}function _0(g,l,h){var o;for(o=0;o<16;o++)g[o]=l[o]+h[o]|0}function I0(g,l,h){var o;for(o=0;o<16;o++)g[o]=l[o]-h[o]|0}function F0(g,l,h){var o,Y0,K0=new Float64Array(31);for(o=0;o<31;o++)K0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)K0[o+Y0]+=l[o]*h[Y0];for(o=0;o<15;o++)K0[o]+=38*K0[o+16];for(o=0;o<16;o++)g[o]=K0[o];U0(g),U0(g)}function Q0(g,l){F0(g,l,l)}function X0(g,l){var h=G(),o;for(o=0;o<16;o++)h[o]=l[o];for(o=253;o>=0;o--)if(Q0(h,h),o!==2&&o!==4)F0(h,h,l);for(o=0;o<16;o++)g[o]=h[o]}function S0(g,l){var h=G(),o;for(o=0;o<16;o++)h[o]=l[o];for(o=250;o>=0;o--)if(Q0(h,h),o!==1)F0(h,h,l);for(o=0;o<16;o++)g[o]=h[o]}function n(g,l,h){var o=new Uint8Array(32),Y0=new Float64Array(80),K0,b0,l0=G(),P0=G(),k0=G(),j0=G(),g0=G(),o0=G();for(b0=0;b0<31;b0++)o[b0]=l[b0];o[31]=l[31]&127|64,o[0]&=248,N0(Y0,h);for(b0=0;b0<16;b0++)P0[b0]=Y0[b0],j0[b0]=l0[b0]=k0[b0]=0;l0[0]=j0[0]=1;for(b0=254;b0>=0;--b0)K0=o[b0>>>3]>>>(b0&7)&1,f0(l0,P0,K0),f0(k0,j0,K0),_0(g0,l0,k0),I0(l0,l0,k0),_0(k0,P0,j0),I0(P0,P0,j0),Q0(j0,g0),Q0(o0,l0),F0(l0,k0,l0),F0(k0,P0,g0),_0(g0,l0,k0),I0(l0,l0,k0),Q0(P0,l0),I0(k0,j0,o0),F0(l0,k0,K),_0(l0,l0,j0),F0(k0,k0,l0),F0(l0,j0,o0),F0(j0,P0,Y0),Q0(P0,g0),f0(l0,P0,K0),f0(k0,j0,K0);for(b0=0;b0<16;b0++)Y0[b0+16]=l0[b0],Y0[b0+32]=k0[b0],Y0[b0+48]=P0[b0],Y0[b0+64]=j0[b0];var $1=Y0.subarray(32),W1=Y0.subarray(16);return X0($1,$1),F0(W1,W1,$1),m0(g,W1),0}function $0(g,l){return n(g,l,Q)}function t0(g,l){return X(l,32),$0(g,l)}function R0(g,l,h){var o=new Uint8Array(32);return n(o,h,l),q(g,Y,o,V)}var d=J0,m=s;function V0(g,l,h,o,Y0,K0){var b0=new Uint8Array(32);return R0(b0,Y0,K0),d(g,l,h,o,b0)}function v0(g,l,h,o,Y0,K0){var b0=new Uint8Array(32);return R0(b0,Y0,K0),m(g,l,h,o,b0)}function N1(){var g=0,l=0,h=0,o=0,Y0=65535,K0,b0,l0;for(l0=0;l0<arguments.length;l0++)K0=arguments[l0].lo,b0=arguments[l0].hi,g+=K0&Y0,l+=K0>>>16,h+=b0&Y0,o+=b0>>>16;return l+=g>>>16,h+=l>>>16,o+=h>>>16,new Z(h&Y0|o<<16,g&Y0|l<<16)}function i0(g,l){return new Z(g.hi>>>l,g.lo>>>l|g.hi<<32-l)}function z1(){var g=0,l=0,h;for(h=0;h<arguments.length;h++)g^=arguments[h].lo,l^=arguments[h].hi;return new Z(l,g)}function R$(g,l){var h,o,Y0=32-l;if(l<32)h=g.hi>>>l|g.lo<<Y0,o=g.lo>>>l|g.hi<<Y0;else if(l<64)h=g.lo>>>l|g.hi<<Y0,o=g.hi>>>l|g.lo<<Y0;return new Z(h,o)}function B6(g,l,h){var o=g.hi&l.hi^~g.hi&h.hi,Y0=g.lo&l.lo^~g.lo&h.lo;return new Z(o,Y0)}function P4(g,l,h){var o=g.hi&l.hi^g.hi&h.hi^l.hi&h.hi,Y0=g.lo&l.lo^g.lo&h.lo^l.lo&h.lo;return new Z(o,Y0)}function h5(g){return z1(R$(g,28),R$(g,34),R$(g,39))}function e(g){return z1(R$(g,14),R$(g,18),R$(g,41))}function J1(g){return z1(R$(g,1),R$(g,8),i0(g,7))}function r$(g){return z1(R$(g,19),R$(g,61),i0(g,6))}var o$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function L9(g,l,h){var o=[],Y0=[],K0=[],b0=[],l0,P0,k0;for(P0=0;P0<8;P0++)o[P0]=K0[P0]=E(g,8*P0);var j0=0;while(h>=128){for(P0=0;P0<16;P0++)b0[P0]=E(l,8*P0+j0);for(P0=0;P0<80;P0++){for(k0=0;k0<8;k0++)Y0[k0]=K0[k0];l0=N1(K0[7],e(K0[4]),B6(K0[4],K0[5],K0[6]),o$[P0],b0[P0%16]),Y0[7]=N1(l0,h5(K0[0]),P4(K0[0],K0[1],K0[2])),Y0[3]=N1(Y0[3],l0);for(k0=0;k0<8;k0++)K0[(k0+1)%8]=Y0[k0];if(P0%16===15)for(k0=0;k0<16;k0++)b0[k0]=N1(b0[k0],b0[(k0+9)%16],J1(b0[(k0+1)%16]),r$(b0[(k0+14)%16]))}for(P0=0;P0<8;P0++)K0[P0]=N1(K0[P0],o[P0]),o[P0]=K0[P0];j0+=128,h-=128}for(P0=0;P0<8;P0++)z(g,8*P0,o[P0]);return h}var vG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function T8(g,l,h){var o=new Uint8Array(64),Y0=new Uint8Array(256),K0,b0=h;for(K0=0;K0<64;K0++)o[K0]=vG[K0];L9(o,l,h),h%=128;for(K0=0;K0<256;K0++)Y0[K0]=0;for(K0=0;K0<h;K0++)Y0[K0]=l[b0-h+K0];Y0[h]=128,h=256-128*(h<112?1:0),Y0[h-9]=0,z(Y0,h-8,new Z(b0/536870912|0,b0<<3)),L9(o,Y0,h);for(K0=0;K0<64;K0++)g[K0]=o[K0];return 0}function M6(g,l){var h=G(),o=G(),Y0=G(),K0=G(),b0=G(),l0=G(),P0=G(),k0=G(),j0=G();I0(h,g[1],g[0]),I0(j0,l[1],l[0]),F0(h,h,j0),_0(o,g[0],g[1]),_0(j0,l[0],l[1]),F0(o,o,j0),F0(Y0,g[3],l[3]),F0(Y0,Y0,U),F0(K0,g[2],l[2]),_0(K0,K0,K0),I0(b0,o,h),I0(l0,K0,Y0),_0(P0,K0,Y0),_0(k0,o,h),F0(g[0],b0,l0),F0(g[1],k0,P0),F0(g[2],P0,l0),F0(g[3],b0,k0)}function e4(g,l,h){var o;for(o=0;o<4;o++)f0(g[o],l[o],h)}function A5(g,l){var h=G(),o=G(),Y0=G();X0(Y0,l[2]),F0(h,l[0],Y0),F0(o,l[1],Y0),m0(g,o),g[31]^=n0(h)<<7}function $9(g,l,h){var o,Y0;A0(g[0],J),A0(g[1],W),A0(g[2],W),A0(g[3],J);for(Y0=255;Y0>=0;--Y0)o=h[Y0/8|0]>>(Y0&7)&1,e4(g,l,o),M6(l,g),M6(g,g),e4(g,l,o)}function z9(g,l){var h=[G(),G(),G(),G()];A0(h[0],F),A0(h[1],H),A0(h[2],W),F0(h[3],F,H),$9(g,h,l)}function b1(g,l,h){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],K0;if(!h)X(l,32);T8(o,l,32),o[0]&=248,o[31]&=127,o[31]|=64,z9(Y0,o),A5(g,Y0);for(K0=0;K0<32;K0++)l[K0+32]=g[K0];return 0}var I8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function R8(g,l){var h,o,Y0,K0;for(o=63;o>=32;--o){h=0;for(Y0=o-32,K0=o-12;Y0<K0;++Y0)l[Y0]+=h-16*l[o]*I8[Y0-(o-32)],h=Math.floor((l[Y0]+128)/256),l[Y0]-=h*256;l[Y0]+=h,l[o]=0}h=0;for(Y0=0;Y0<32;Y0++)l[Y0]+=h-(l[31]>>4)*I8[Y0],h=l[Y0]>>8,l[Y0]&=255;for(Y0=0;Y0<32;Y0++)l[Y0]-=h*I8[Y0];for(o=0;o<32;o++)l[o+1]+=l[o]>>8,g[o]=l[o]&255}function $6(g){var l=new Float64Array(64),h;for(h=0;h<64;h++)l[h]=g[h];for(h=0;h<64;h++)g[h]=0;R8(g,l)}function b$(g,l,h,o){var Y0=new Uint8Array(64),K0=new Uint8Array(64),b0=new Uint8Array(64),l0,P0,k0=new Float64Array(64),j0=[G(),G(),G(),G()];T8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var g0=h+64;for(l0=0;l0<h;l0++)g[64+l0]=l[l0];for(l0=0;l0<32;l0++)g[32+l0]=Y0[32+l0];T8(b0,g.subarray(32),h+32),$6(b0),z9(j0,b0),A5(g,j0);for(l0=32;l0<64;l0++)g[l0]=o[l0];T8(K0,g,h+64),$6(K0);for(l0=0;l0<64;l0++)k0[l0]=0;for(l0=0;l0<32;l0++)k0[l0]=b0[l0];for(l0=0;l0<32;l0++)for(P0=0;P0<32;P0++)k0[l0+P0]+=K0[l0]*Y0[P0];return R8(g.subarray(32),k0),g0}function w8(g,l){var h=G(),o=G(),Y0=G(),K0=G(),b0=G(),l0=G(),P0=G();if(A0(g[2],W),N0(g[1],l),Q0(Y0,g[1]),F0(K0,Y0,w),I0(Y0,Y0,g[2]),_0(K0,g[2],K0),Q0(b0,K0),Q0(l0,b0),F0(P0,l0,b0),F0(h,P0,Y0),F0(h,h,K0),S0(h,h),F0(h,h,Y0),F0(h,h,K0),F0(h,h,K0),F0(g[0],h,K0),Q0(o,g[0]),F0(o,o,K0),x0(o,Y0))F0(g[0],g[0],N);if(Q0(o,g[0]),F0(o,o,K0),x0(o,Y0))return-1;if(n0(g[0])===l[31]>>7)I0(g[0],J,g[0]);return F0(g[3],g[0],g[1]),0}function E7(g,l,h,o){var Y0,K0=new Uint8Array(32),b0=new Uint8Array(64),l0=[G(),G(),G(),G()],P0=[G(),G(),G(),G()];if(h<64)return-1;if(w8(P0,o))return-1;for(Y0=0;Y0<h;Y0++)g[Y0]=l[Y0];for(Y0=0;Y0<32;Y0++)g[Y0+32]=o[Y0];if(T8(b0,g,h),$6(b0),$9(l0,P0,b0),z9(P0,l.subarray(32)),M6(l0,P0),A5(K0,l0),h-=64,A(l,0,K0,0)){for(Y0=0;Y0<h;Y0++)g[Y0]=0;return-1}for(Y0=0;Y0<h;Y0++)g[Y0]=l[Y0+64];return h}var M$=32,d6=24,o6=32,i8=16,$5=32,C=32,u=32,c=32,I=32,r=d6,y0=o6,d0=i8,Q1=64,w1=32,x1=64,C1=32,X8=64;$.lowlevel={crypto_core_hsalsa20:q,crypto_stream_xor:Z0,crypto_stream:v,crypto_stream_salsa20_xor:t,crypto_stream_salsa20:f,crypto_onetimeauth:O0,crypto_onetimeauth_verify:W0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:J0,crypto_secretbox_open:s,crypto_scalarmult:n,crypto_scalarmult_base:$0,crypto_box_beforenm:R0,crypto_box_afternm:d,crypto_box:V0,crypto_box_open:v0,crypto_box_keypair:t0,crypto_hash:T8,crypto_sign:b$,crypto_sign_keypair:b1,crypto_sign_open:E7,crypto_secretbox_KEYBYTES:M$,crypto_secretbox_NONCEBYTES:d6,crypto_secretbox_ZEROBYTES:o6,crypto_secretbox_BOXZEROBYTES:i8,crypto_scalarmult_BYTES:$5,crypto_scalarmult_SCALARBYTES:C,crypto_box_PUBLICKEYBYTES:u,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:I,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:y0,crypto_box_BOXZEROBYTES:d0,crypto_sign_BYTES:Q1,crypto_sign_PUBLICKEYBYTES:w1,crypto_sign_SECRETKEYBYTES:x1,crypto_sign_SEEDBYTES:C1,crypto_hash_BYTES:X8,gf:G,D:w,L:I8,pack25519:m0,unpack25519:N0,M:F0,A:_0,S:Q0,Z:I0,pow2523:S0,add:M6,set25519:A0,modL:R8,scalarmult:$9,scalarbase:z9};function c1(g,l){if(g.length!==M$)throw Error("bad key size");if(l.length!==d6)throw Error("bad nonce size")}function E$(g,l){if(g.length!==u)throw Error("bad public key size");if(l.length!==c)throw Error("bad secret key size")}function G$(){for(var g=0;g<arguments.length;g++)if(!(arguments[g]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function x$(g){for(var l=0;l<g.length;l++)g[l]=0}$.randomBytes=function(g){var l=new Uint8Array(g);return X(l,g),l},$.secretbox=function(g,l,h){G$(g,l,h),c1(h,l);var o=new Uint8Array(o6+g.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<g.length;K0++)o[K0+o6]=g[K0];return J0(Y0,o,o.length,l,h),Y0.subarray(i8)},$.secretbox.open=function(g,l,h){G$(g,l,h),c1(h,l);var o=new Uint8Array(i8+g.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<g.length;K0++)o[K0+i8]=g[K0];if(o.length<32)return null;if(s(Y0,o,o.length,l,h)!==0)return null;return Y0.subarray(o6)},$.secretbox.keyLength=M$,$.secretbox.nonceLength=d6,$.secretbox.overheadLength=i8,$.scalarMult=function(g,l){if(G$(g,l),g.length!==C)throw Error("bad n size");if(l.length!==$5)throw Error("bad p size");var h=new Uint8Array($5);return n(h,g,l),h},$.scalarMult.base=function(g){if(G$(g),g.length!==C)throw Error("bad n size");var l=new Uint8Array($5);return $0(l,g),l},$.scalarMult.scalarLength=C,$.scalarMult.groupElementLength=$5,$.box=function(g,l,h,o){var Y0=$.box.before(h,o);return $.secretbox(g,l,Y0)},$.box.before=function(g,l){G$(g,l),E$(g,l);var h=new Uint8Array(I);return R0(h,g,l),h},$.box.after=$.secretbox,$.box.open=function(g,l,h,o){var Y0=$.box.before(h,o);return $.secretbox.open(g,l,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var g=new Uint8Array(u),l=new Uint8Array(c);return t0(g,l),{publicKey:g,secretKey:l}},$.box.keyPair.fromSecretKey=function(g){if(G$(g),g.length!==c)throw Error("bad secret key size");var l=new Uint8Array(u);return $0(l,g),{publicKey:l,secretKey:new Uint8Array(g)}},$.box.publicKeyLength=u,$.box.secretKeyLength=c,$.box.sharedKeyLength=I,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(g,l){if(G$(g,l),l.length!==x1)throw Error("bad secret key size");var h=new Uint8Array(Q1+g.length);return b$(h,g,g.length,l),h},$.sign.open=function(g,l){if(G$(g,l),l.length!==w1)throw Error("bad public key size");var h=new Uint8Array(g.length),o=E7(h,g,g.length,l);if(o<0)return null;var Y0=new Uint8Array(o);for(var K0=0;K0<Y0.length;K0++)Y0[K0]=h[K0];return Y0},$.sign.detached=function(g,l){var h=$.sign(g,l),o=new Uint8Array(Q1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=h[Y0];return o},$.sign.detached.verify=function(g,l,h){if(G$(g,l,h),l.length!==Q1)throw Error("bad signature size");if(h.length!==w1)throw Error("bad public key size");var o=new Uint8Array(Q1+g.length),Y0=new Uint8Array(Q1+g.length),K0;for(K0=0;K0<Q1;K0++)o[K0]=l[K0];for(K0=0;K0<g.length;K0++)o[K0+Q1]=g[K0];return E7(Y0,o,o.length,h)>=0},$.sign.keyPair=function(){var g=new Uint8Array(w1),l=new Uint8Array(x1);return b1(g,l),{publicKey:g,secretKey:l}},$.sign.keyPair.fromSecretKey=function(g){if(G$(g),g.length!==x1)throw Error("bad secret key size");var l=new Uint8Array(w1);for(var h=0;h<l.length;h++)l[h]=g[32+h];return{publicKey:l,secretKey:new Uint8Array(g)}},$.sign.keyPair.fromSeed=function(g){if(G$(g),g.length!==C1)throw Error("bad seed size");var l=new Uint8Array(w1),h=new Uint8Array(x1);for(var o=0;o<32;o++)h[o]=g[o];return b1(l,h,!0),{publicKey:l,secretKey:h}},$.sign.publicKeyLength=w1,$.sign.secretKeyLength=x1,$.sign.seedLength=C1,$.sign.signatureLength=Q1,$.hash=function(g){G$(g);var l=new Uint8Array(X8);return T8(l,g,g.length),l},$.hash.hashLength=X8,$.verify=function(g,l){if(G$(g,l),g.length===0||l.length===0)return!1;if(g.length!==l.length)return!1;return j(g,0,l,0,g.length)===0?!0:!1},$.setPRNG=function(g){X=g},function(){var g=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(g&&g.getRandomValues){var l=65536;$.setPRNG(function(h,o){var Y0,K0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=l)g.getRandomValues(K0.subarray(Y0,Y0+Math.min(o-Y0,l)));for(Y0=0;Y0<o;Y0++)h[Y0]=K0[Y0];x$(K0)})}else if(g=u0("crypto"),g&&g.randomBytes)$.setPRNG(function(h,o){var Y0,K0=g.randomBytes(o);for(Y0=0;Y0<o;Y0++)h[Y0]=K0[Y0];x$(K0)})}()})(typeof Gg<"u"&&z$Z?z$Z:globalThis.nacl=globalThis.nacl||{});oV=typeof Gg<"u"&&z$Z?z$Z:globalThis.nacl,Y14={fromSeed:oV.sign.keyPair.fromSeed,sign:oV.sign.detached,verify:oV.sign.detached.verify,randomBytes:oV.randomBytes,scalarBaseMultiply:oV.scalarMult.base,seal:oV.box,open:oV.box.open};J14=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);c$=class c$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(h$||(h$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(e8||(e8={}));aV=[120,107,118,49];Q14(Y14);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(AJ||(AJ={}))});function o11($){try{$?.clear?.()}catch{}}async function wS$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=JS$($),W=t11(J.sub),K=r11(new TextEncoder().encode(Z)),w=GS$();try{let U=await QS$(Y,w,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:AJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(WS$(U,w))}finally{o11(w),o11(K),o11(W)}}var US$=O(()=>{KS$()});function E14($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function FS$(){let $=new g1;return $.post("/links/session",async(Z)=>{let X=Z.get("meshContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=E1();if(!Y.natsTunnelPublicEnabled)return Z.json(a11(),503);if(!Y.natsPublicUrl)return Z.json(a11(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(a11(),503)}let Q=PJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await wS$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:ak$(Q),userId:X,allowedConnectionTypes:E14(Y.natsPublicUrl)})}return Z.json(sk$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var a11=()=>({error:"link session unavailable"});var HS$=O(()=>{m6();z8();ek$();US$()});async function j14($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function P14($){let{ctx:Z,runner:G,claimName:X,userId:Y,projectRef:Q,sandboxProviderKind:J}=$;try{await G.delete(X)}catch(W){console.warn(`[vm-events] runner.delete failed for ${X}: ${W instanceof Error?W.message:String(W)}`)}try{await new BN(Z.db).delete({userId:Y,projectRef:Q},J)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Y}/${Q}/${J}: ${W instanceof Error?W.message:String(W)}`)}}async function A14($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,w=(H)=>{if(J)return;J=!0,clearTimeout(U),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},U=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),w(!1)},L14),F=()=>w(!1);Y.addEventListener("abort",F,{once:!0}),K=Tn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")w(!0);else if(H.kind==="failed")w(!1)})})}async function T14($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(w){if(Y.aborted)return;if(Date.now()-Q<NS$){await n8(BS$,{signal:Y}).catch(()=>{});continue}let U=w instanceof Error?w.message:String(w);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<NS$){await n8(BS$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:w}=await W.read();if(w)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var L14=90000,z14=15000,OS$=()=>{let $=new g1;return $.get("/",async(Z)=>{let G=Z.var.meshContext;try{M0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=y1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=D0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=pw({orgId:Y.id,virtualMcpId:Q,branch:J}),w=Iy({userId:X,projectRef:K},J),U=W.metadata??null,F,H=null,N=null;try{let E=await KJ(G,{userId:X,branch:J,virtualMcpMetadata:U});F=E.provider,H=E.kind}catch(E){N=E instanceof Error?E:Error(String(E)),F=null}let B=H&&ow(ZZ(U),X,J,H),D=!!B&&B.sandboxHandle===w;if(!F)return cQ(Z,async(E)=>{await E.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this mesh."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),cQ(Z,async(E)=>{let L=new AbortController,z=setInterval(()=>{E.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(z)})},z14);E.onAbort(()=>{L.abort(),clearInterval(z)});try{if(D&&H){if(await j14(F,w)){await P14({ctx:G,runner:F,claimName:w,userId:X,projectRef:K,sandboxProviderKind:H}),await E.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await A14({stream:E,claimName:w,runner:F,signal:L.signal})||L.signal.aborted)return;await T14({stream:E,runner:F,claimName:w,signal:L.signal})}finally{clearInterval(z)}})}),$},NS$=60000,BS$=500;var DS$=O(()=>{m6();rV();PY();Z9();cD0();In();Lv();H90();qQ()});function R14($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function q14($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(I14)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var I14=1e4,M14=async($,Z)=>{if(!$.get("meshContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},ES$=()=>{let $=new g1;return $.use("*",M14),$.get("/",async(Z)=>{let G=E1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await q14(X,Y);return Z.json({apps:R14(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var LS$=O(()=>{m6();z8()});import{z as v1}from"zod";function wK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function y14($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function g14($,Z,G){try{return JSON.parse($)}catch{throw new PS$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function h14($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:g14(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function c14($){let Z=$.map((G)=>{let X=G.function.parameters?wY(G.function.parameters):wY({type:"object",properties:{}});return[G.function.name,$8({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function u14($){if(!$)return;return{openai:{response_format:$}}}function d14(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function zS$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function jS$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var k14=256,S14,V14,C14,_14,b14,f14,x14,v14,PS$,AS$,TS$;var IS$=O(()=>{y6();m6();rV();S14=v1.object({type:v1.literal("function"),function:v1.object({name:v1.string(),description:v1.string().optional(),parameters:v1.record(v1.string(),v1.unknown()).optional()})}),V14=v1.object({id:v1.string(),type:v1.literal("function"),function:v1.object({name:v1.string(),arguments:v1.string()})}),C14=v1.discriminatedUnion("role",[v1.object({role:v1.literal("system"),content:v1.string(),name:v1.string().optional()}),v1.object({role:v1.literal("user"),content:v1.union([v1.string(),v1.array(v1.union([v1.object({type:v1.literal("text"),text:v1.string()}),v1.object({type:v1.literal("image_url"),image_url:v1.object({url:v1.string(),detail:v1.string().optional()})})]))]),name:v1.string().optional()}),v1.object({role:v1.literal("assistant"),content:v1.string().nullable().optional(),name:v1.string().optional(),tool_calls:v1.array(V14).optional()}),v1.object({role:v1.literal("tool"),content:v1.string(),tool_call_id:v1.string()})]),_14=v1.object({type:v1.literal("text")}),b14=v1.object({type:v1.literal("json_object")}),f14=v1.object({type:v1.literal("json_schema"),json_schema:v1.object({name:v1.string(),description:v1.string().optional(),schema:v1.record(v1.string(),v1.unknown()),strict:v1.boolean().optional()})}),x14=v1.union([_14,b14,f14]),v14=v1.object({model:v1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:v1.array(C14),stream:v1.boolean().optional().default(!1),temperature:v1.number().min(0).max(2).optional(),max_tokens:v1.number().positive().optional(),top_p:v1.number().min(0).max(1).optional(),frequency_penalty:v1.number().min(-2).max(2).optional(),presence_penalty:v1.number().min(-2).max(2).optional(),stop:v1.union([v1.string(),v1.array(v1.string())]).optional(),tools:v1.array(S14).optional(),tool_choice:v1.union([v1.literal("auto"),v1.literal("none"),v1.literal("required"),v1.object({type:v1.literal("function"),function:v1.object({name:v1.string()})})]).optional(),response_format:x14.optional(),user:v1.string().optional()});PS$=class PS$ extends Error{constructor($){super($);this.name="MessageConversionError"}};AS$=new g1;AS$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("meshContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(wK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(wK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(wK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=v14.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(wK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=y14(Q.model);if(!J)return $.json(wK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(wK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let w;try{w=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(wK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=w.aiSdk.languageModel(K),F=h14(Q.messages),H=Q.tools?c14(Q.tools):void 0,N=u14(Q.response_format),B=d14(),D=Math.floor(Date.now()/1000);if(Q.stream)return cQ($,async(E)=>{let L=zS$(U,F,H,Q,N,$.req.raw.signal);try{let z=IQ(L),j=!1,P=0,A="",M=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=k14)await M()}else if(S.type==="tool-call"){await M();let q=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:q,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await M(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:jS$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await M(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=zS$(U,F,H,Q,N,$.req.raw.signal),L=await KN(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:jS$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(wK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(wK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(wK(Y.message,"server_error"),500)}});TS$=AS$});var qS$;var RS$=O(()=>{qS$={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"}}});function i14(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??m14}}var MS$,m14="https://ph.studio.decocms.com",kS$;var SS$=O(()=>{m6();Fb0();_N();nG();z8();Qe0();RS$();MS$=new g1;MS$.get("/",($)=>{let Z={version:qS$.version,theme:D_1(),...fO().logo&&{logo:fO().logo},...SQ()&&{internalUrl:Re()},...E1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!E1().firecrawlApiKey,auth:$T$(),posthog:i14(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!SQ()&&E1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});kS$=MS$});function VS$($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var CS$,n14,p14,_S$;var bS$=O(()=>{m6();I3();Iv();wb();CS$=new g1,n14=["range","if-none-match","if-modified-since"],p14=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];CS$.get("/:org/files/*",async($)=>{let Z=$.get("meshContext"),G=Z.organization?.id;if(!Z.auth?.user?.id){if(xy($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new z$(401,{message:"Authentication required"})}if(!G)throw new z$(401,{message:"Organization context required"});let X=$.req.path.replace(/^.*\/files\//,"");if(!X)throw new z$(400,{message:"Missing file key"});let Y=await Vn(X,Z);if(!Y)throw new z$(503,{message:"Object storage not configured"});if(Y.startsWith("data:")&&T3()){let K=Y.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new z$(500,{message:"Invalid data URL from storage"});let[,w,U]=K,F=Buffer.from(U,"base64"),H=new Headers({"Content-Type":w,"Cache-Control":"private, max-age=86400"});return VS$(H,w),new Response(F,{status:200,headers:H})}let Q=new Headers;for(let K of n14){let w=$.req.header(K);if(w)Q.set(K,w)}let J=await fetch(Y,{headers:Q});if(J.status===403||J.status===404)throw new z$(404,{message:"File not found"});if(!J.ok&&J.status!==304&&J.status!==416)throw console.error(`[files] upstream storage error ${J.status} for key:`,X),new z$(502,{message:"Upstream storage error"});let W=new Headers;for(let K of p14){let w=J.headers.get(K);if(w)W.set(K,w)}return W.set("Cache-Control","private, max-age=86400"),VS$(W,W.get("content-type")??""),new Response(J.body,{status:J.status,headers:W})});_S$=CS$});var ft=_((eV)=>{var t14=eV&&eV.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),r14=eV&&eV.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))t14(Z,$,G)};Object.defineProperty(eV,"__esModule",{value:!0});r14(dX(),eV)});var vS$=_((fS$)=>{Object.defineProperty(fS$,"__esModule",{value:!0});fS$.version=void 0;fS$.version="3.4.0"});var hS$=_((UK)=>{var o14=UK&&UK.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(UK,"__esModule",{value:!0});UK.NodeTransport=UK.VERSION=void 0;UK.nodeResolveHost=G$4;var m4=ft(),a14=u0("net"),s11=u0("tls"),s14=u0("path"),yS$=u0("fs"),e14=o14(u0("dns")),$$4=vS$();UK.VERSION=$$4.version;var Z$4="nats.js";class gS${socket;version;lang;yields=[];signal=(0,m4.deferred)();closedNotification=(0,m4.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=Z$4,this.version=UK.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:G}=this.options,{handshakeFirst:X}=G||{};try{if(X===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let Y=await this.peekInfo();(0,m4.checkOptions)(Y,Z);let{tls_required:Q,tls_available:J}=Y,W=J===!0&&Z.tls!==null;if(!X&&(Q||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(Q&&this.socket.encrypted!==!0)throw m4.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Y){let Q=Y;if(!Q)Q=new m4.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=Q,W=J==="ECONNREFUSED"?new m4.errors.ConnectionError("connection refused",{cause:Q}):Q;throw this.socket?.destroy(),W}}dial($){let Z=(0,m4.deferred)(),G,X=(0,a14.createConnection)($.port,$.hostname,()=>{Z.resolve(X),X.removeAllListeners()});return X.on("error",(Y)=>{G=Y}),X.on("close",()=>{X.removeAllListeners(),Z.reject(G)}),X.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,m4.deferred)(),Z;return this.socket.on("data",(G)=>{this.yields.push(G);let X=m4.DataBuffer.concat(...this.yields),Y=(0,m4.extractProtocolMessage)(X);if(Y!=="")try{let Q=m4.INFO.exec(Y);if(!Q)throw Error("unexpected response from server");let J=JSON.parse(Q[1]);$.resolve(J)}catch(Q){$.reject(Q)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(G)=>{Z=G}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,m4.deferred)();try{if($=(0,s14.resolve)($),!(0,yS$.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,yS$.readFile)($,(G,X)=>{if(G)return Z.reject(G);Z.resolve(X)})}catch(G){Z.reject(G)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:G,caFile:X,ca:Y,keyFile:Q,key:J}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(G)$.cert=G;if(Q){let W=await this.loadFile(Q);if(W)$.key=W}else if(J)$.key=J;if(X){let W=await this.loadFile(X);if(W)$.ca=[W]}else if(Y)$.ca=Y;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,G={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)G.socket=this.socket;if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};G=(0,m4.extend)(G,this.options.tls,Y)}catch(Y){return Promise.reject(new m4.errors.ConnectionError(Y.message,{cause:Y}))}let X=(0,m4.deferred)();try{let Y=(0,s11.connect)($.port,$.hostname,G,()=>{Y.removeAllListeners(),X.resolve(Y)});Y.on("error",(Q)=>{Z=Q}),Y.on("secureConnect",()=>{if(G.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{X.reject(Z),Y.removeAllListeners()}),Y.setNoDelay(!0)}catch(Y){X.reject(new m4.errors.ConnectionError(Y.message,{cause:Y}))}return X}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Z=(0,m4.extend)(Z,this.options.tls,X)}catch(X){return Promise.reject(new m4.errors.ConnectionError(X.message,{cause:X}))}let G=(0,m4.deferred)();try{let X=(0,s11.connect)(Z,()=>{X.removeAllListeners(),G.resolve(X)});X.on("error",(Y)=>{$=Y}),X.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{G.reject($),X.removeAllListeners()})}catch(X){G.reject(new m4.errors.ConnectionError(X.message,{cause:X}))}return G}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,m4.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,m4.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof s11.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,m4.render)($)}`);let Z=(0,m4.deferred)();try{this.socket.write($,(G)=>{if(G){if(this.options.debug)console.error(`!!! ${(0,m4.render)($)}: ${G}`);return Z.reject(G)}return Z.resolve()})}catch(G){if(this.options.debug)console.error(`!!! ${(0,m4.render)($)}: ${G}`);Z.reject(G)}return Z}send($){this._send($).catch((G)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}UK.NodeTransport=gS$;function G$4($){let Z=(0,m4.deferred)();return e14.default.lookup($,{all:!0},(G,X)=>{if(G){Z.reject(G);return}let Y=[];for(let Q of X)Y.push(Q.address);if(Y.length===0)Y.push($);Z.resolve(Y)}),Z}});var mS$=_((lS$)=>{Object.defineProperty(lS$,"__esModule",{value:!0});lS$.connect=X$4;var cS$=hS$(),uS$=ft(),dS$=ft();function X$4($={}){if((0,dS$.hasWsProtocol)($))return Promise.reject(dS$.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,uS$.setTransportFactory)({factory:()=>{return new cS$.NodeTransport},dnsResolveFn:cS$.nodeResolveHost}),uS$.NatsConnectionImpl.connect($)}});var iS$=_((kU)=>{var Q$4=kU&&kU.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),J$4=kU&&kU.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))Q$4(Z,$,G)};Object.defineProperty(kU,"__esModule",{value:!0});kU.connect=void 0;var W$4=mS$();Object.defineProperty(kU,"connect",{enumerable:!0,get:function(){return W$4.connect}});J$4(ft(),kU)});function rS$($){let Z=$?.connectFn??F$4,G=null,X=null,Y=!1,Q=!1,J=!1,W=[];function K(){return G!==null&&!G.isClosed()&&!G.isDraining()&&!J}function w(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let H of W)try{H()}catch{}}function U(H){(async()=>{for await(let N of H.status())if(N.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(N.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,X=null,w()})().catch(()=>{})}async function F(H,N){let B=0;while(!Q)try{G=await Z({servers:H,timeout:U$4,reconnect:!0,maxReconnectAttempts:-1,...N?{authenticator:N}:{}}),console.log(`[NatsProvider] Connected to ${G.getServer()} after ${B} attempt(s)`),X=null,J=!1,U(G),w();return}catch{B++;let D=yX(w$4,K$4,B-1,2,0.5);await n8(D)}}return{init(H,N){if(Y)return;Y=!0,Q=!1;let B=N?.creds?nS$.credsAuthenticator(new TextEncoder().encode(N.creds)):void 0;F(H,B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?G:null},getJetStream(){if(!K())return null;if(!X)X=tS$.jetstream(G);return X},onReady(H){if(W.push(H),K())try{H()}catch{}},async drain(){if(Q=!0,Y=!1,X=null,J=!1,G){let H=G;G=null,await H.drain().catch(()=>{})}}}}function F$4($){return pS$.connect($)}var nS$,pS$,tS$,K$4=100,w$4=3000,U$4=3000;var oS$=O(()=>{Z9();nS$=k(Vg(),1),pS$=k(iS$(),1),tS$=k(RB(),1)});function Xg($){let Z=$?.ttlMs??60000,G=$?.maxSize??1e4,X=$?.updateRecencyOnGet??!1,Y=new Map;function Q(){if(Y.size<=G)return;let J=Date.now();for(let[W,K]of Y)if(K.expiresAt<=J)Y.delete(W);while(Y.size>G){let W=Y.keys().next().value;if(W===void 0)break;Y.delete(W)}}return{get(J){let W=Y.get(J);if(!W)return;if(W.expiresAt<=Date.now()){Y.delete(J);return}if(X)Y.delete(J),Y.set(J,W);return W.value},set(J,W){Y.delete(J),Y.set(J,{value:W,expiresAt:Date.now()+Z}),Q()},delete(J){Y.delete(J)},clear(){Y.clear()},size(){return Y.size}}}function e11($,Z){return`${$}.${Z}`}class $$1{cache;constructor($){this.cache=Xg({ttlMs:$?.ttlMs??H$4,maxSize:$?.maxSize??N$4})}async get($,Z){return this.cache.get(e11($,Z))??null}async set($,Z,G){this.cache.set(e11($,Z),G)}async invalidate($,Z){this.cache.delete(e11($,Z))}teardown(){this.cache.clear()}}var H$4=600000,N$4=5000;var aS$=()=>{};function eE0($,Z){return`${$}:${Z}`}function Z$1($){let Z=Xg({ttlMs:$?.ttlMs??B$4,maxSize:$?.maxSize??O$4}),G=$?.getConnection,X=crypto.randomUUID(),Y=new TextEncoder,Q=new TextDecoder,J=null;function W(K,w){let U=G?.();if(!U)return;try{U.publish(sS$,Y.encode(JSON.stringify({organizationId:K,keyId:w,originId:X})))}catch(F){console.warn("[ProviderKeyCache] Publish failed (non-critical):",F)}}return{get(K,w){return Z.get(eE0(K,w))},set(K,w,U){Z.set(eE0(K,w),U)},invalidate(K,w){Z.delete(eE0(K,w)),W(K,w)},start(){if(J)return;let K=G?.();if(!K)return;J=K.subscribe(sS$),(async()=>{for await(let w of J)try{let U=JSON.parse(Q.decode(w.data));if(U.originId===X)continue;Z.delete(eE0(U.organizationId,U.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,Z.clear()}}}var sS$="studio.ai-provider-keys.invalidate",B$4=30000,O$4=5000;var eS$=()=>{};class G$1{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;this.sub=Z.subscribe("mesh.decopilot.cancel");let G=new TextDecoder;(async()=>{for await(let X of this.sub)try{let Y=JSON.parse(G.decode(X.data));if(Y.originId===this.originId)continue;this.onCancel?.(Y.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;Z.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}publishControlFrame($,Z){}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}var $V$=($)=>{let Z;return()=>Z??=$()},X$1,Y$1;var ZV$=O(()=>{I5();X$1=$V$(()=>g8.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),Y$1=$V$(()=>g8.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function A$4(){return{name:lw,subjects:[`${Sl0}.>`],storage:TJ.StorageType.File,max_age:L$4,max_bytes:j$4,max_msgs_per_subject:P$4,discard:TJ.DiscardPolicy.Old,retention:TJ.RetentionPolicy.Limits,duplicate_window:z$4,num_replicas:1}}class YV${chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function GV$($){let Z=XV$.headers();for(let[G,X]of Object.entries($))Z.set(G,X);return Z}function q$4($,Z){let G=0;return{publish(X,Y,Q,J){X.publish(Y,Q,J?{headers:J}:void 0).catch((W)=>{if(G++,E$4().add(1,{"org.id":Z??"unknown"}),G===1||G%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${G} total):`,W)})},get errorCount(){return G}}}class Q$1{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=this.options.getJetStreamManager?await this.options.getJetStreamManager():await TJ.jetstreamManager($),G=A$4();try{await Z.streams.info(lw),await Z.streams.update(lw,G)}catch(X){if(X instanceof Error&&X.message.includes("stream not found"))await Z.streams.add(G);else if(X instanceof Error&&/can ?not change.*storage|storage type/i.test(X.message))await Z.streams.delete(lw),await Z.streams.add(G);else throw X}this.js=this.options.getJetStream(),this.jsm=Z,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,G,X){let Y=this.js;if(!Y)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let Q=q$4(Z,X),J=!1,W=()=>{if(J)return;J=!0;let w=I6$(Z);Y.publish(w.subject,w.data).catch(()=>{})};G.addEventListener("abort",W,{once:!0});let K=(w)=>{let U=performance.now(),F=Cl0(w,{runId:Z}),H=performance.now()-U;if(X$1().record(H),Y$1().add(1,{"org.id":X??"unknown"}),R$4?.record(H,F.reduce((N,B)=>N+B.data.length,0)),F.length===0){console.warn(`[Decopilot] dropping oversized stream chunk for thread ${Z}`);return}for(let N of F)Q.publish(Y,N.subject,N.data,N.headers?GV$(N.headers):void 0)};return(async()=>{let w=$.getReader(),U=0,F=0,H;try{while(!0){let{done:N,value:B}=await w.read();if(N)break;if(K(B),F++,++U>=64)U=0,await new Promise((D)=>setImmediate(D))}}catch(N){H=N,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,N?.message??N)}finally{if(w.releaseLock(),W(),I$4)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:F,publishErrors:Q.errorCount}))}if(H!==void 0)throw H})()}async publishRawChunk($,Z,G){let X=this.js;if(!X)return!1;let Y=performance.now(),Q=Cl0(Z,{runId:$,dedup:G});if(X$1().record(performance.now()-Y),Y$1().add(1),Q.length===0)return console.warn(`[Decopilot] dropping oversized raw chunk for thread ${$} (> MAX_CHUNKED_BYTES)`),!0;for(let J of Q)await X.publish(J.subject,J.data,{...J.headers?{headers:GV$(J.headers)}:{},...J.msgId?{msgID:J.msgId}:{}});return!0}async publishDone($,Z,G){let X=this.js;if(!X)return!1;let Y=T6$({runId:$,fenceToken:Z,finalSeq:G});return await X.publish(Y.subject,Y.data,{msgID:Y.msgId}),!0}async createTailStream($,Z,G){let X=this.js;if(!X)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let Y=G?.deliverPolicy==="new"?TJ.DeliverPolicy.New:TJ.DeliverPolicy.All,Q=G?.closeOnDone??!1,J=UN($),W;try{W=await(await X.consumers.get(lw,{filter_subjects:J,deliver_policy:Y})).consume()}catch(D){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",D?.message??D),null}let U=d50({messages:async function*(){try{for await(let D of W)yield{subject:D.subject,data:D.data,headers:D.headers}}finally{W.stop()}}(),onCancel:()=>W.stop()}).pipeThrough(h50()).pipeThrough(c50()).getReader(),F=!1,H=()=>{if(F)return;F=!0;try{U.releaseLock()}catch{}},N=!1,B=()=>{if(N)return;N=!0,W.stop(),U.cancel().catch(()=>{}),H()};return Z?.addEventListener("abort",B,{once:!0}),new ReadableStream({async pull(D){for(;;){let{done:E,value:L}=await U.read();if(E){B(),D.close();return}let z=L;if(z.kind==="done"){if(Q){B(),D.close();return}continue}D.enqueue(z.chunk);return}},cancel(){B()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(lw,{filter:UN($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var TJ,XV$,D$4=($)=>{let Z;return()=>Z??=$()},E$4,L$4=86400000000000,z$4=120000000000,j$4=4294967296,P$4=500000,T$4,I$4,R$4;var QV$=O(()=>{bl0();l50();_l0();I5();ZV$();TJ=k(RB(),1),XV$=k(Vg(),1),E$4=D$4(()=>g8.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"}));T$4=process.env.STREAM_ENCODE_TRACE==="1",I$4=process.env.DECOPILOT_STREAM_TRACE==="1";R$4=T$4?new YV$:null});import{z as G8}from"zod";var JV$,WV$,FK,J$1,KV$,wV$,UV$,FV$,M$4,HV$,NV$,BV$,OV$,DV$,k$4,EV$,V8Z,S$4,V$4=($)=>{return $.issues.map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"frame"}: ${Z.message}`}).join("; ")},LV$=($)=>{return new TextEncoder().encode(JSON.stringify($))},zV$=($)=>{let Z;try{Z=JSON.parse(new TextDecoder().decode($))}catch(Q){throw TypeError("malformed JSON in tunnel frame",{cause:Q})}if(Z===null||typeof Z!=="object"||Array.isArray(Z))throw TypeError("frame must be an object");if(!("type"in Z))throw TypeError("frame type missing");let G=Z.type,X=typeof G==="string"?S$4[G]:void 0;if(!X)throw TypeError(`unknown frame type: ${String(G)}`);let Y=X.safeParse(Z);if(!Y.success)throw TypeError(`invalid tunnel frame: ${V$4(Y.error)}`);return Y.data};var jV$=O(()=>{JV$=G8.string().regex(/^[A-Za-z0-9_-]*$/u),WV$=G8.array(G8.tuple([G8.string(),G8.string()])),FK=G8.string().regex(/^[A-Za-z0-9_-]+$/u),J$1=G8.string().min(1),KV$=G8.object({type:G8.literal("request.start"),protocol:G8.literal("tunnel.v1"),requestId:FK,method:G8.string().min(1),url:G8.string().min(1),headers:WV$,replySubject:J$1,bodySubject:J$1.optional(),abortSubject:J$1,deadlineUnixMs:G8.number().int().nonnegative().optional()}),wV$=G8.object({type:G8.literal("request.chunk"),requestId:FK,seq:G8.number().int().nonnegative(),data:JV$}),UV$=G8.object({type:G8.literal("request.end"),requestId:FK,seq:G8.number().int().nonnegative()}),FV$=G8.object({type:G8.literal("request.error"),requestId:FK,code:G8.string().min(1),message:G8.string()}),M$4=G8.union([wV$,UV$,FV$]),HV$=G8.object({type:G8.literal("response.ack"),requestId:FK}),NV$=G8.object({type:G8.literal("response.start"),requestId:FK,status:G8.number().int().min(100).max(599),statusText:G8.string().optional(),headers:WV$}),BV$=G8.object({type:G8.literal("response.chunk"),requestId:FK,seq:G8.number().int().nonnegative(),data:JV$}),OV$=G8.object({type:G8.literal("response.end"),requestId:FK,seq:G8.number().int().nonnegative()}),DV$=G8.object({type:G8.literal("response.error"),requestId:FK,code:G8.string().min(1),message:G8.string()}),k$4=G8.union([HV$,NV$,BV$,OV$,DV$]),EV$=G8.object({type:G8.literal("abort"),requestId:FK,reason:G8.string().optional()}),V8Z=G8.union([KV$,M$4,k$4,EV$]),S$4={"request.start":KV$,"request.chunk":wV$,"request.end":UV$,"request.error":FV$,"response.ack":HV$,"response.start":NV$,"response.chunk":BV$,"response.end":OV$,"response.error":DV$,abort:EV$}});var C$4=($)=>{return $.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")},_$4=($)=>{let Z=$.replaceAll("-","+").replaceAll("_","/"),G=(4-Z.length%4)%4;return Z+"=".repeat(G)},b$4=($)=>{let Z=[];for(let G=0;G<$.length;G+=32768)Z.push(String.fromCharCode(...$.subarray(G,G+32768)));return Z.join("")},f$4=($)=>{let Z=new Uint8Array($.length);for(let G=0;G<$.length;G+=32768){let X=$.slice(G,G+32768);Z.set(Uint8Array.from(X,(Y)=>Y.charCodeAt(0)),G)}return Z},PV$=($)=>{return C$4(btoa(b$4($)))},AV$=($)=>{return f$4(atob(_$4($)))},x$4;var TV$=O(()=>{x$4=class x$4{#$=[];#Z;#G=!1;#Q=new Set;push($){if(this.#G)return;let Z=this.#Y();if(Z){Z.resolve({value:$,done:!1});return}this.#$.push($)}close(){if(this.#G)return;this.#G=!0,this.#X()}fail($){if(this.#G)return;this.#Z=$,this.#G=!0,this.#J($)}[Symbol.asyncIterator](){let $=!1,Z=new Set;return{next:()=>{if($)return Promise.resolve({value:void 0,done:!0});if(this.#$.length>0)return Promise.resolve({value:this.#$.shift(),done:!1});if(this.#Z)return Promise.reject(this.#Z);if(this.#G)return Promise.resolve({value:void 0,done:!0});return new Promise((G,X)=>{let Y;Y={resolve:(Q)=>{Z.delete(Y),G(Q)},reject:(Q)=>{Z.delete(Y),X(Q)}},Z.add(Y),this.#Q.add(Y)})},return:()=>{$=!0;for(let G of Z)this.#Q.delete(G),G.resolve({value:void 0,done:!0});return Z.clear(),Promise.resolve({value:void 0,done:!0})}}}#Y(){for(let $ of this.#Q)return this.#Q.delete($),$;return}#X(){for(let $ of this.#Q)$.resolve({value:void 0,done:!0});this.#Q.clear()}#J($){for(let Z of this.#Q)Z.reject($);this.#Q.clear()}}});function*i$4($,Z){for(let G=0;G<$.length;G+=Z)yield $.subarray(G,G+Z)}class e$4{maxSize;ttlMs;now;#$=new Map;constructor($,Z,G=Date.now){this.maxSize=$;this.ttlMs=Z;this.now=G}get($){let Z=this.#$.get($);if(!Z)return;if(Z.expiresAt<=this.now()){this.#$.delete($);return}return Z.value}has($){return this.get($)!==void 0}set($,Z){let G=this.now();this.prune(G),this.#$.delete($),this.#$.set($,{value:Z,expiresAt:G+this.ttlMs});while(this.#$.size>this.maxSize){let X=this.#$.keys().next().value;if(X===void 0)return;this.#$.delete(X)}}take($){let Z=this.get($);return this.#$.delete($),Z}clear(){this.#$.clear()}prune($){for(let[Z,G]of this.#$)if(G.expiresAt<=$)this.#$.delete(Z)}}var v$4=30000,y$4=1000,g$4=65536,dQ,h$4=($)=>{return"connection"in $},c$4=($)=>{let Z=h$4($)?$:{connection:$};return{connection:Z.connection,timeoutMs:Z.timeoutMs??0,firstFrameTimeoutMs:Z.firstFrameTimeoutMs??v$4,idleTimeoutMs:Z.idleTimeoutMs??0,republishIntervalMs:Z.republishIntervalMs??y$4,maxChunkBytes:Z.maxChunkBytes??g$4,diagnostics:Z.diagnostics}},IV$=($)=>{return Array.from($.entries())},u$4=($)=>{return $!==void 0&&!($ instanceof Headers)&&typeof $!=="function"&&typeof $[Symbol.iterator]==="function"},d$4=($,Z,G)=>{if(u$4(Z?.headers))return Array.from(Z?.headers,([X,Y])=>[String(X),String(Y)]);if($ instanceof Request)return IV$(G.headers);return IV$(G.headers)},RV$=($)=>{let Z=new Headers;for(let[G,X]of $)Z.append(G,X);return Z},l$4=()=>{return crypto.randomUUID().replaceAll("-","")},m$4=($)=>{try{$?.unsubscribe()}catch{}},n$4=($)=>{if(!Number.isSafeInteger($)||$<1)throw TypeError("maxChunkBytes must be a positive safe integer")},p$4=($,Z)=>{return $==="HEAD"||Z===204||Z===205||Z===304},wB=($,Z,G)=>{$.publish(Z,LV$(G))},t$4=($)=>{return $.type.startsWith("response.")},W$1=($)=>{let Z=$.reason;if(Z instanceof Error)return Z.message;if(typeof Z==="string")return Z;return"aborted"},r$4=($)=>{if($==="idle")return new dQ("tunnel_idle_timeout","no response frame within idleTimeoutMs");return new dQ("tunnel_no_first_frame","no response frame arrived before firstFrameTimeoutMs")},qV$=async($,Z,G,X,Y="first_frame")=>{while(!0){let Q,J;try{let W=await Promise.race([$.next(),new Promise((w,U)=>{if(X.aborted){U(X.reason);return}let F=()=>U(X.reason);J=()=>{X.removeEventListener("abort",F)},X.addEventListener("abort",F,{once:!0})}),...G>0?[new Promise((w,U)=>{Q=setTimeout(()=>{U(r$4(Y))},G)})]:[]]);if(W.done)return{value:void 0,done:!0};let K=zV$(W.value.data);if(!t$4(K)||K.requestId!==Z)continue;return{value:K,done:!1}}finally{if(J?.(),Q)clearTimeout(Q)}}},o$4=async($)=>{let Z=!1;while(!0){let G=await qV$($.iterator,$.requestId,Z?0:$.firstFrameTimeoutMs,$.signal);if(G.done)throw new dQ("tunnel_response_closed","response subscription closed before response.start");if(!Z)Z=!0,$.onFirstResponseFrame();if(G.value.type==="response.ack")continue;if(G.value.type==="response.start")return G.value;if(G.value.type==="response.error")throw new dQ(G.value.code,G.value.message);throw new dQ("tunnel_unexpected_response_frame",`expected response.start, got ${G.value.type}`)}},a$4=async($)=>{let Z=$.body.getReader(),G=0,X=!1,Y=()=>{X=!0,Z.cancel($.signal.reason).catch(()=>{})};try{if($.signal.aborted){Y();return}$.signal.addEventListener("abort",Y,{once:!0});while(!0){let{done:Q,value:J}=await Z.read();if(X)return;if(Q){wB($.connection,$.subject,{type:"request.end",requestId:$.requestId,seq:G});return}for(let W of i$4(J,$.maxChunkBytes)){if(X)return;wB($.connection,$.subject,{type:"request.chunk",requestId:$.requestId,seq:G,data:PV$(W)}),G++}}}catch(Q){if(X)return;wB($.connection,$.subject,{type:"request.error",requestId:$.requestId,code:"tunnel_request_body_error",message:Q instanceof Error?Q.message:String(Q)})}finally{$.signal.removeEventListener("abort",Y),Z.releaseLock()}},s$4=($)=>{return new ReadableStream({async pull(Z){while(!0)try{let G=await qV$($.iterator,$.requestId,$.idleTimeoutMs,$.signal,"idle");if(G.done){Z.error(new dQ("tunnel_response_closed","response subscription closed before response.end")),$.cleanup();return}let X=G.value;if(X.type==="response.ack"||X.type==="response.start")continue;if(X.type==="response.chunk"){Z.enqueue(AV$(X.data));return}if(X.type==="response.end"){Z.close(),$.cleanup();return}Z.error(new dQ(X.code,X.message)),$.cleanup();return}catch(G){Z.error(G),$.cleanup();return}},cancel(){wB($.connection,$.abortSubject,{type:"abort",requestId:$.requestId,reason:"response_body_cancelled"}),$.cleanup()}},{highWaterMark:0})},UB=($)=>{let Z=c$4($);return n$4(Z.maxChunkBytes),async(G,X)=>{let Y=rk$(G),Q=new Request(G,X),J=l$4(),W=ok$(Y.hostname,J),K=new AbortController,w=new AbortController,U=!1,F,H,N,B,D=!1,E=(P=new dQ("tunnel_closed","tunnel request closed"))=>{if(U)return;if(U=!0,m$4(F),Q.body&&!D)Q.body.cancel(P).catch(()=>{});if(w.abort(P),K.abort(P),N)clearInterval(N);if(B)clearTimeout(B);Q.signal.removeEventListener("abort",L)},L=()=>{let P=new dQ("tunnel_aborted",W$1(Q.signal));wB(Z.connection,W.abort,{type:"abort",requestId:J,reason:W$1(Q.signal)}),K.abort(P),E(P)};if(Q.signal.aborted)throw new dQ("tunnel_aborted",W$1(Q.signal));if(F=Z.connection.subscribe(W.reply),H=F[Symbol.asyncIterator](),Q.signal.addEventListener("abort",L,{once:!0}),Z.timeoutMs>0)B=setTimeout(()=>{let P=new dQ("tunnel_timeout",`tunnel request timed out after ${Z.timeoutMs}ms`);wB(Z.connection,W.abort,{type:"abort",requestId:J,reason:"tunnel_timeout"}),K.abort(P),E(P)},Z.timeoutMs);let z={type:"request.start",protocol:"tunnel.v1",requestId:J,method:Q.method,url:Y.pathWithSearch,headers:d$4(G,X,Q),replySubject:W.reply,abortSubject:W.abort,...Q.body?{bodySubject:W.body}:{},...Z.timeoutMs>0?{deadlineUnixMs:Date.now()+Z.timeoutMs}:{}};wB(Z.connection,W.request,z),N=Z.republishIntervalMs>0?setInterval(()=>{if(!D)wB(Z.connection,W.request,z)},Z.republishIntervalMs):void 0;let j=()=>{if(D)return;D=!0,(Q.body?a$4({connection:Z.connection,subject:W.body,requestId:J,body:Q.body,maxChunkBytes:Z.maxChunkBytes,signal:w.signal}):void 0)?.catch((A)=>{Z.diagnostics?.({event:"request_body_error",requestId:J,subject:W.body,error:A instanceof Error?A.message:String(A)})})};try{let P=await o$4({iterator:H,requestId:J,firstFrameTimeoutMs:Z.firstFrameTimeoutMs,signal:K.signal,onFirstResponseFrame:()=>{if(N)clearInterval(N);j()}});if(p$4(Q.method,P.status))return E(),new Response(null,{status:P.status,statusText:P.statusText,headers:RV$(P.headers)});return new Response(s$4({connection:Z.connection,abortSubject:W.abort,iterator:H,requestId:J,idleTimeoutMs:Z.idleTimeoutMs,signal:K.signal,cleanup:E}),{status:P.status,statusText:P.statusText,headers:RV$(P.headers)})}catch(P){throw E(P instanceof Error?P:Error(String(P))),P}}};var MV$=O(()=>{jV$();TV$();rE0();dQ=class dQ extends Error{code;constructor($,Z,G){super(`${$}: ${Z}`,G);this.code=$;this.name="TunnelTransportError"}}});var $L0=O(()=>{MV$()});function kV$($){let Z=$.createFetch??$84,G=$.timeoutMs??2000;return async(X)=>{try{let Y=$.getConnection();if(!Y)return K$1;let Q=PJ(X),W=await Z(Y,G)(`tunnel://${Q}/api/links/status`,{method:"GET"});if(!W.ok)return K$1;let K=await W.json();return{online:!0,hostname:K.hostname,capabilities:K.capabilities??[],cliVersion:K.cliVersion}}catch{return K$1}}}var K$1,$84=($,Z)=>UB({connection:$,firstFrameTimeoutMs:Z});var SV$=O(()=>{$L0();_t();K$1={online:!1,capabilities:[]}});async function*Z84($){if(!$.body){yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};return}let Z=$.body.getReader(),G=!1;try{yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};while(!0){let{done:X,value:Y}=await Z.read();if(X){G=!0;return}yield{data:Buffer.from(Y).toString("base64")}}}finally{try{if(!G)await Z.cancel()}catch{}finally{Z.releaseLock()}}}function VV$($){let Z=$.createFetch??((G)=>UB({connection:G,idleTimeoutMs:G84}));return async function*(X,Y,Q){let J=$.getConnection();if(!J)throw Error("link_unavailable: NATS unavailable");let W=PJ(X),K=Z(J),w={method:Y.method,headers:Y.headers,signal:Q?.signal};if(Y.body!=null)w.body=Y.body;let U=await K(`tunnel://${W}${Y.path}`,w);yield*Z84(U)}}var G84=45000;var CV$=O(()=>{$L0();_t()});import{z as IJ}from"zod";function _V$($){return JSON.stringify($)}var Q6Z;var bV$=O(()=>{Q6Z=IJ.discriminatedUnion("type",[IJ.object({type:IJ.literal("cancel"),runId:IJ.string()}),IJ.object({type:IJ.literal("cancel_req"),reqId:IJ.string()}),IJ.object({type:IJ.literal("keep_alive")}),IJ.object({type:IJ.literal("shutdown")})])});function fV$($){let Z=$.createFetch??((G)=>UB({connection:G,idleTimeoutMs:X84}));return{async publish(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=PJ(G),K=await Z(Q)(`tunnel://${J}/api/links/work`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel work publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}function xV$($){let Z=$.createFetch??UB;return{async publishControlFrame(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=PJ(G),K=await Z(Q)(`tunnel://${J}/api/links/control`,{method:"POST",headers:{"content-type":"application/json"},body:_V$(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel control publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}var X84=45000;var vV$=O(()=>{$L0();bV$();_t()});function ZL0($,Z,G,X){if(!X)return!1;return $.emit(Z,A3(G,X.status,{title:X.title??void 0,virtualMcpId:X.virtual_mcp_id??void 0,createdBy:X.created_by??void 0,triggerId:X.trigger_id??null,branch:X.branch??null,createdAt:X.created_at,updatedAt:X.updated_at})),!0}var yV$=O(()=>{t8()});class w$1{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as Y84,rm as GL0}from"fs/promises";import{join as XL0}from"path";async function YL0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-Q84),Z.setUTCHours(0,0,0,0);let G=0;try{let X=await $C($);for(let Y of X)if(/^\d{4}$/.test(Y))G+=await gV$($,Y,Z);else if(!Y.startsWith(".")){let Q=XL0($,Y),J=await $C(Q);for(let K of J){if(!/^\d{4}$/.test(K))continue;G+=await gV$(Q,K,Z)}if((await $C(Q)).length===0)await GL0(Q,{recursive:!0,force:!0})}}catch(X){console.warn("monitoring retention cleanup failed:",X)}return G}async function gV$($,Z,G){let X=0,Y=XL0($,Z),Q=await $C(Y);for(let W of Q){if(!/^\d{2}$/.test(W))continue;let K=XL0(Y,W),w=await $C(K);for(let F of w){if(!/^\d{2}$/.test(F))continue;let H=new Date(`${Z}-${W}-${F}T00:00:00Z`);if(isNaN(H.getTime()))continue;if(H<G){let N=XL0(K,F);await GL0(N,{recursive:!0,force:!0}),X++}}if((await $C(K)).length===0)await GL0(K,{recursive:!0,force:!0})}if((await $C(Y)).length===0)await GL0(Y,{recursive:!0,force:!0});return X}async function $C($){try{return(await Y84($)).filter((G)=>!G.startsWith("."))}catch{return[]}}var Q84=30;var U$1=()=>{};import{DBOS as F$1,SchedulerMode as J84}from"@dbos-inc/dbos-sdk";async function K84(){let $=[mQ(),GC(),DK()],Z=0;for(let G of $)try{Z+=await YL0(G)}catch(X){console.error("[monitoring-retention] cleanup failed:",X)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function w84($,Z){await F$1.runStep(()=>K84(),{name:"monitoringRetention"})}function cV$(){if(hV$)return;hV$=!0;let $=F$1.registerWorkflow(w84,{name:"monitoringRetentionWorkflow"});F$1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:W84,mode:J84.ExactlyOncePerIntervalWhenActive})}var W84="23 4 * * *",hV$=!1;var uV$=O(()=>{gX();U$1()});function dV$($){return async(Z,G)=>{let X=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",G).where("member.organizationId","=",Z).executeTakeFirst();if(!X)return console.warn(`[automationContextFactory] User ${G} not found in org ${Z} \u2014 returning null`),null;let Y=await pH.create();Y.auth.user={id:G,role:X.role},Y.organization={id:X.orgId,slug:X.orgSlug,name:X.orgName};let Q=await vc0($.db,Z,X.role);return Y.boundAuth=xc0({auth:Y.authInstance,headers:new Headers,role:X.role,permissions:Q,userId:G}),Y.access=new zD(G,void 0,Y.boundAuth,X.role,"self"),j40(Y,{id:X.orgId,slug:X.orgSlug}),Y}}var lV$=O(()=>{jD();Zi()});function U84(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function H84(){for(let $ of F84)$()}function mV$($){let Z=[...H$1.logs,$];H$1={...H$1,logs:Z.length>500?Z.slice(-500):Z},H84()}function N$1(){return N84}var H$1,F84,N84=!1;var B$1=O(()=>{H$1=U84(),F84=new Set});import{EventEmitter as B84}from"events";var O$1;var iV$=O(()=>{B$1();O$1=new B84;O$1.on("request",($)=>{mV$($)})});function nV$(){return async($,Z)=>{let G=Date.now(),X=$.req.method,Y=$.req.path;if(Y==="/api/auth/get-session"||Y.includes("favicon")){await Z();return}let Q="",J=!1;if(Y.startsWith("/mcp")&&X==="POST"){J=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let H=await $.req.raw.clone().json();if(H.method==="tools/call"&&H.params?.name){let N=Yg(H.params.name),B=H.params.arguments||{},D=Object.keys(B).map((L)=>Yg(L)),E=D.length>0?D.slice(0,3).join(",")+(D.length>3?"\u2026":""):"";Q=`${s4.tool}${N}${s4.dim}(${E})${s4.reset}`}else if(H.method)Q=`${s4.dim}${Yg(H.method)}${s4.reset}`}}catch{}}let W=Yg(Y);if(Y.startsWith("/mcp/conn_")){let U=Y.split("/")[2]??"";W=`/mcp/${s4.mcp}${Yg(U.slice(0,12))}\u2026${s4.reset}`}else if(Y==="/mcp")W=`${s4.mcp}/mcp${s4.reset}`;else if(Y==="/mcp/registry")W=`${s4.mcp}/mcp/registry${s4.reset}`;let K=D84(X),w=J?"\u25C0":"\u2190";if(!N$1())console.log(`${s4.dim}${w}${s4.reset} ${K}${X}${s4.reset} ${W}${Q?` ${Q}`:""}`);try{await Z()}finally{let U=Date.now()-G,F=$.res.status,H=O84(F),N=U<1000?`${U}ms`:`${(U/1000).toFixed(1)}s`,B=J?"\u25B6":"\u2192";if(!N$1())console.log(`${s4.dim}${B}${s4.reset} ${K}${X}${s4.reset} ${W}${Q?` ${Q}`:""} ${H}${F}${s4.reset} ${s4.duration}${N}${s4.reset}`);O$1.emit("request",{method:X,path:Yg(Y),status:F,duration:U,timestamp:new Date})}}}var s4,O84=($)=>{if($>=500)return s4.serverError;if($>=400)return s4.clientError;if($>=300)return s4.redirect;return s4.ok},D84=($)=>{return s4[$]||s4.reset},Yg=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var pV$=O(()=>{B$1();iV$();s4={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as aV$}from"crypto";import{mkdir as E84,readdir as L84,rm as tV$,stat as sV$}from"fs/promises";import{join as E$1,relative as z84}from"path";import{z as P$}from"zod";function $C$($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return E$1(j84,Z)}function ZC$($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function D$1($,Z){let G=$C$($),X=ZC$(Z);return E$1(G,X)}function P84($,Z,G,X){let Y=E1().encryptionKey||"dev-secret",Q=`${$}:${Z}:${G}:${X}`;return aV$("sha256",Y).update(Q).digest("hex")}function oV$($,Z,G,X,Y){let Q=Math.floor(Date.now()/1000)+X,J=P84(Z,G,Q,Y),W=new URL(`/api/dev-assets/${Z}/${ZC$(G)}`,$);return W.searchParams.set("expires",Q.toString()),W.searchParams.set("signature",J),W.searchParams.set("method",Y),W.toString()}function GC$($,Z,G){let X=`${$}:${Z.getTime()}:${G}`;return`"${aV$("md5","etag").update(X).digest("hex")}"`}async function XC$($,Z,G,X,Y){try{let Q=await L84($,{withFileTypes:!0});for(let J of Q){let W=E$1($,J.name),w=z84(Z,W).replace(/\\/g,"/");if(G&&!w.startsWith(G))continue;if(J.isDirectory())if(X){let U=w+"/";if(!G||U.startsWith(G)){if(!(G?w.slice(G.length):w).includes("/"))Y.commonPrefixes.add(U)}}else await XC$(W,Z,G,X,Y);else if(J.isFile()){if(X&&G){let U=w.slice(G.length);if(U.includes(X)){let F=U.indexOf(X),H=G+U.slice(0,F+1);Y.commonPrefixes.add(H);continue}}try{let U=await sV$(W);Y.objects.push({key:w,size:U.size,lastModified:U.mtime.toISOString(),etag:GC$(W,U.mtime,U.size)})}catch{}}}}catch{}}function YC$($,Z){let X=D0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:P$.object({prefix:P$.string().optional(),maxKeys:P$.number().optional().default(1000),continuationToken:P$.string().optional(),delimiter:P$.string().optional()}),outputSchema:P$.object({objects:P$.array(P$.object({key:P$.string(),size:P$.number(),lastModified:P$.string(),etag:P$.string()})),nextContinuationToken:P$.string().optional(),isTruncated:P$.boolean(),commonPrefixes:P$.array(P$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=Q.prefix||"",W=Q.maxKeys??1000,K=Q.delimiter,w=Q.continuationToken,U=$C$(X);await E84(U,{recursive:!0});let F={objects:[],commonPrefixes:new Set};await XC$(U,U,J,K,F),F.objects.sort((E,L)=>E.key.localeCompare(L.key));let H=0;if(w){if(H=F.objects.findIndex((E)=>E.key>w),H===-1)H=F.objects.length}let N=F.objects.slice(H,H+W),B=H+W<F.objects.length,D=B?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:B,nextContinuationToken:D,commonPrefixes:Array.from(F.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({contentType:P$.string().optional(),contentLength:P$.number(),lastModified:P$.string(),etag:P$.string(),metadata:P$.record(P$.string(),P$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=D$1(X,Q.key),W=await sV$(J);return{contentType:N01(Q.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:GC$(J,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??rV$;return{url:oV$(Z,X,Q.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional(),contentType:P$.string().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??rV$;return{url:oV$(Z,X,Q.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({success:P$.boolean(),key:P$.string()}),handler:async(Y)=>{let Q=Y,J=D$1(X,Q.key);try{return await tV$(J),{success:!0,key:Q.key}}catch{return{success:!1,key:Q.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:P$.object({keys:P$.array(P$.string()).max(1000)}),outputSchema:P$.object({deleted:P$.array(P$.string()),errors:P$.array(P$.object({key:P$.string(),message:P$.string()}))}),handler:async(Y)=>{let Q=Y,J=[],W=[];return await Promise.all(Q.keys.map(async(K)=>{let w=D$1(X,K);try{await tV$(w),J.push(K)}catch(U){W.push({key:K,message:U instanceof Error?U.message:"Unknown error"})}})),{deleted:J,errors:W}}}]}async function L$1($,Z,G){let X=YC$(Z,G),Y=new Yw({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:O5});for(let J of X){let W="shape"in J.inputSchema?J.inputSchema.shape:P$.object({}).shape,K=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:P$.object({}).shape;Y.registerTool(J.name,{description:J.description??"",inputSchema:W,outputSchema:K,annotations:J.annotations,_meta:J._meta},async(w)=>{try{let U=await J.handler(w);return{content:[{type:"text",text:JSON.stringify(U)}],structuredContent:U}}catch(U){return{content:[{type:"text",text:`Error: ${U.message}`}],isError:!0}}})}let Q=new SY({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Y.connect(Q),dW(Y,Q,$,"mcp:dev-assets")}async function QC$($,Z,G,X){let Q=YC$(G,X).find((J)=>J.name===$);if(!Q)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let J=await Q.handler(Z);return{content:[{type:"text",text:JSON.stringify(J)}]}}catch(J){return{content:[{type:"text",text:J instanceof Error?J.message:String(J)}],isError:!0}}}var j84="./data/assets",rV$=3600,eV$,JC$;var WC$=O(()=>{z8();fn();m6();Ku();kv();BG();OE0();eV$=new g1;eV$.all("/",async($)=>{let Z=$.get("meshContext"),G=new URL($.req.url),X=`${G.protocol}//${G.host}`;return L$1($.req.raw,Z,X)});JC$=eV$});var KC$={};Z6(KC$,{mountDevRoutes:()=>A84});function A84($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(X)=>{let Y=X.get("meshContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`;return L$1(X.req.raw,Y,J)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(X)=>{let Y=X.get("meshContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`,W=X.req.param("toolName");if(!W)return X.json({error:"Missing tool name"},400);let K=await X.req.json(),w=await QC$(W,K,Y,J);if(w.isError)return X.json(w.content,500);return X.json(w.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",JC$);let G=new g1;G.use("*",hQ({mountPath:"/api/dev-assets"})),G.route("/",BE0({orgFromPath:!1})),$.route("/api/dev-assets",G)}var wC$=O(()=>{m6();J01();OE0();WC$()});var UC$=O(()=>{Qu0();Ju0();GE()});var QL0=O(()=>{UC$()});var HC$={};Z6(HC$,{streamAgent:()=>FC$,createDecopilotClient:()=>I84});async function T84($){let{parseJsonEventStream:Z,uiMessageChunkSchema:G}=await Promise.resolve().then(() => (y6(),Rl0));return Z({stream:$,schema:G}).pipeThrough(new TransformStream({transform(X,Y){if(!X.success)throw X.error;Y.enqueue(X.value)}}))}async function FC$($,Z,G,X,Y){let{readUIMessageStream:Q}=await Promise.resolve().then(() => (y6(),Rl0)),J=G.value??G.id;if(!J)throw Error("Agent binding has no id or value \u2014 cannot resolve agent");let W=X.credentialId??G.credentialId,K=X.thinking??G.thinking,w=K?.id,U={messages:X.messages,...w?{models:{credentialId:W,thinking:K,...X.fast??G.fast?{fast:X.fast??G.fast}:{}}}:{},agent:{id:J},temperature:X.temperature??G.temperature,toolApprovalLevel:X.toolApprovalLevel??G.toolApprovalLevel,mode:X.mode??G.mode??"default",...X.memory?{memory:X.memory}:{},...X.thread_id?{thread_id:X.thread_id}:{}},F=await fetch($,{method:"POST",headers:{"Content-Type":"application/json","x-mesh-token":Z,Authorization:`Bearer ${Z}`},body:JSON.stringify(U),signal:Y?.signal});if(!F.ok){let N=await F.text().catch(()=>""),B=`HTTP ${F.status}`;try{let D=JSON.parse(N);if(D?.error)B=D.error}catch{if(N)B=N}throw Error(B)}if(!F.body)throw Error("Empty response body from decopilot stream");let H=await T84(F.body);return Q({stream:H})}function I84($){let{baseUrl:Z,orgSlug:G,token:X}=$,Y=`${Z}/${G}/decopilot/runtime/stream`;return{stream(Q,J){let W={__type:"@deco/agent",id:Q.agent.id,credentialId:Q.credentialId??"",thinking:Q.thinking??{id:"",title:""},fast:Q.fast,toolApprovalLevel:Q.toolApprovalLevel,mode:Q.mode,temperature:Q.temperature};return FC$(Y,X,W,Q,J)}}}import{z as vX}from"zod";function NC$($){let Z=$.properties;if(!Z)return $;for(let G of Object.values(Z)){let X=G.properties;if(!X?.__type?.const)continue;let Y=X.__type.const,Q=R84.get(Y);if(!Q)continue;let J=Q.map((W)=>({name:String(W.name),...W.inputSchema&&{inputSchema:vX.toJSONSchema(W.inputSchema)},...W.outputSchema&&{outputSchema:vX.toJSONSchema(W.outputSchema)}}));X.__binding={const:J}}return $}var R84,G4Z,q84=($)=>{return typeof $==="object"&&$!==null&&$.__type==="@deco/agent"},j$1=($)=>{return typeof $==="object"&&$!==null&&typeof $.__type==="string"&&$.__type!=="@deco/agent"&&typeof $.value==="string"},JL0=($,Z,G)=>{let X=G?{"x-caller-app":G}:void 0;if(Z.cookie)X??={},X.cookie=Z.cookie;if(Z.token)X??={},X["x-mesh-token"]=Z.token;return{type:"HTTP",url:new URL(`/mcp/${$}`,Z.meshUrl).href,token:Z.token,headers:X}},M84=($,Z,G)=>{let X=JL0($,Z,G);return new Proxy(Cx.forConnection(X),{get(Y,Q){if(Q==="value")return $;if(Q==="__type")return G;return Y[Q]}})},k84=($,Z)=>{let G=Z.organizationSlug;if(!G)throw Error("organizationSlug is required for agent bindings");let X=`${Z.meshUrl}/api/${G}/decopilot/runtime/stream`;return{STREAM:async(Y,Q)=>{let{streamAgent:J}=await Promise.resolve().then(() => HC$);return J(X,Z.token,$,Y,Q)}}},z$1=($,Z)=>{if($===null||$===void 0)return $;if(Array.isArray($))return $.map((G)=>z$1(G,Z));if(typeof $==="object"){if(q84($))return k84($,Z);if(j$1($))return M84($.value,Z,$.__type);let G={};for(let[X,Y]of Object.entries($))G[X]=z$1(Y,Z);return G}return $},BC$=($)=>{return z$1($.state,$)};var Qg=O(()=>{QL0();R84=new Map;G4Z=vX.object({id:vX.string(),title:vX.string(),capabilities:vX.object({vision:vX.boolean().optional(),text:vX.boolean().optional(),tools:vX.boolean().optional(),reasoning:vX.boolean().optional()}).passthrough().optional(),provider:vX.string().optional().nullable(),limits:vX.object({contextWindow:vX.number().optional(),maxOutputTokens:vX.number().optional()}).passthrough().optional()})});var S84,OC$=($,Z,G)=>{if(!Z)return null;if($===void 0||$==="*")return"*";if(typeof $==="string")return $===Z?$:null;if(Array.isArray($))return $.includes(Z)?Z:null;if(typeof $==="function")return $(Z,G)??null;return null},V84=($,Z,G)=>{let X=Z.headers.get("Origin"),Y=OC$(G.origin,X,Z);if(Y)$.set("Access-Control-Allow-Origin",Y);if(G.credentials)$.set("Access-Control-Allow-Credentials","true");if(G.exposeHeaders?.length)$.set("Access-Control-Expose-Headers",G.exposeHeaders.join(", "))},DC$=($,Z)=>{let G=new Headers,X=$.headers.get("Origin"),Y=OC$(Z.origin,X,$);if(Y)G.set("Access-Control-Allow-Origin",Y);if(Z.credentials)G.set("Access-Control-Allow-Credentials","true");let Q=Z.allowMethods??S84;G.set("Access-Control-Allow-Methods",Q.join(", "));let J=$.headers.get("Access-Control-Request-Headers");if(Z.allowHeaders?.length)G.set("Access-Control-Allow-Headers",Z.allowHeaders.join(", "));else if(J)G.set("Access-Control-Allow-Headers",J);if(Z.maxAge!==void 0)G.set("Access-Control-Max-Age",Z.maxAge.toString());return new Response(null,{status:204,headers:G})},EC$=($,Z,G)=>{let X=new Headers($.headers);return V84(X,Z,G),new Response($.body,{status:$.status,statusText:$.statusText,headers:X})};var LC$=O(()=>{S84=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function zC$($=32){let G=new Uint8Array($);return crypto.getRandomValues(G),Array.from(G,(X)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[X%62]).join("")}function C84($){try{let Z=new URL($);return Z.protocol==="https:"||Z.hostname==="localhost"||Z.hostname.endsWith(".localhost")||Z.hostname==="127.0.0.1"||!Z.protocol.startsWith("http")}catch{return!1}}function jC$($){return btoa(JSON.stringify($)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function PC$($){try{let Z=$.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Z))}catch{return null}}function AC$($){return{handleProtectedResourceMetadata:(w)=>{let U=HK(new URL(w.url)),F=`${U.origin}/mcp`;return Response.json({resource:F,authorization_servers:[U.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:(w)=>{let F=HK(new URL(w.url)).origin;return Response.json({issuer:F,authorization_endpoint:`${F}/authorize`,token_endpoint:`${F}/token`,registration_endpoint:`${F}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:(w)=>{let U=HK(new URL(w.url)),F=U.searchParams.get("redirect_uri"),H=U.searchParams.get("response_type"),N=U.searchParams.get("state"),B=U.searchParams.get("code_challenge"),D=U.searchParams.get("code_challenge_method");if(!F)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(H!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let E=HK(new URL(`${U.origin}/oauth/callback`)),L=E.toString(),j=jC$({redirectUri:F,clientState:N??void 0,codeChallenge:B??void 0,codeChallengeMethod:D??void 0,oauthCallbackUri:L});E.searchParams.set("state",j);let P=$.authorizationUrl(E.toString());return Response.redirect(P,302)},handleOAuthCallback:async(w)=>{let U=HK(new URL(w.url)),F=U.searchParams.get("code"),H=U.searchParams.get("state"),N=U.searchParams.get("error"),B=H?PC$(H):null;if(N){let D=U.searchParams.get("error_description")??"Authorization failed";if(B?.redirectUri){let E=HK(new URL(B.redirectUri));if(E.searchParams.set("error",N),E.searchParams.set("error_description",D),B.clientState)E.searchParams.set("state",B.clientState);return Response.redirect(E.toString(),302)}return Response.json({error:N,error_description:D},{status:400})}if(!F||!B)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let D=B.oauthCallbackUri??HK(new URL(`${U.origin}/oauth/callback`)).toString(),E={code:F,redirect_uri:D},L=await $.exchangeCode(E),z={accessToken:L.access_token,tokenType:L.token_type,refreshToken:L.refresh_token,expiresIn:L.expires_in,scope:L.scope,codeChallenge:B.codeChallenge,codeChallengeMethod:B.codeChallengeMethod},j=jC$(z),P=HK(new URL(B.redirectUri));if(P.searchParams.set("code",j),B.clientState)P.searchParams.set("state",B.clientState);return Response.redirect(P.toString(),302)}catch(D){console.error("OAuth callback error:",D);let E=HK(new URL(B.redirectUri));if(E.searchParams.set("error","server_error"),E.searchParams.set("error_description","Failed to exchange authorization code"),B.clientState)E.searchParams.set("state",B.clientState);return Response.redirect(E.toString(),302)}},handleToken:async(w)=>{try{let U=w.headers.get("content-type")??"",F;if(U.includes("application/x-www-form-urlencoded")){let z=await w.formData();F=Object.fromEntries(z.entries())}else{let z=await w.json();if(typeof z!=="object"||z===null||Array.isArray(z))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});F=z}let{code:H,code_verifier:N,grant_type:B,refresh_token:D}=F;if(B==="refresh_token"){if(typeof D!=="string"||!D)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!$.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let z;try{z=await $.refreshToken(D)}catch(P){if(P instanceof P$1)return Response.json({error:P.error,...P.errorDescription?{error_description:P.errorDescription}:{}},{status:400});throw P}let j={access_token:z.access_token,token_type:z.token_type};if(z.refresh_token)j.refresh_token=z.refresh_token;if(z.expires_in!==void 0)j.expires_in=z.expires_in;if(z.scope)j.scope=z.scope;return Response.json(j,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(B!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof H!=="string"||!H)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let E=PC$(H);if(!E||!E.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(E.codeChallenge){if(typeof N!=="string"||!N)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let z;if(E.codeChallengeMethod==="S256"){let P=new TextEncoder().encode(N),A=await crypto.subtle.digest("SHA-256",P);z=btoa(String.fromCharCode(...new Uint8Array(A))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else z=N;if(z!==E.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let L={access_token:E.accessToken,token_type:E.tokenType};if(E.refreshToken)L.refresh_token=E.refreshToken;if(E.expiresIn!==void 0)L.expires_in=E.expiresIn;if(E.scope)L.scope=E.scope;return Response.json(L,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Token exchange error:",U),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async(w)=>{try{let U=await w.json();if(!U.redirect_uris||U.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let D of U.redirect_uris)if(!C84(D))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${D}`},{status:400});let F=zC$(32),H=U.token_endpoint_auth_method!=="none"?zC$(32):void 0,N=Math.floor(Date.now()/1000),B={client_id:F,client_secret:H,client_name:U.client_name,redirect_uris:U.redirect_uris,grant_types:U.grant_types??["authorization_code"],response_types:U.response_types??["code"],token_endpoint_auth_method:U.token_endpoint_auth_method??"client_secret_post",scope:U.scope,client_id_issued_at:N,client_secret_expires_at:0};if($.persistence)await $.persistence.saveClient(B);return new Response(JSON.stringify(B),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(U){return console.error("Client registration error:",U),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:(w)=>{let H=`Bearer resource_metadata="${`${HK(new URL(w.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":H,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:(w)=>w.headers.has("Authorization")}}var P$1,HK=($)=>{if(!($.hostname==="localhost"||$.hostname.endsWith(".localhost")||$.hostname==="127.0.0.1"))$.protocol="https:";return $};var A$1=O(()=>{P$1=class P$1 extends Error{error;errorDescription;constructor($="invalid_grant",Z){super(Z??$);this.name="OAuthInvalidGrantError",this.error=$,this.errorDescription=Z}}});import{AsyncLocalStorage as _84}from"async_hooks";var TC$,xt;var T$1=O(()=>{TC$=new _84,xt={getStore:()=>{return TC$.getStore()},run:($,Z,...G)=>TC$.run($,Z,...G)}});var RC$="SELF",KL0=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},qC$=($)=>{return typeof $==="object"&&$!==null&&"handler"in $&&"events"in $&&typeof $.handler==="function"&&Array.isArray($.events)},IC$="::",MC$=($)=>{let Z=$.indexOf(IC$);if(Z===-1)return null;let G=$.substring(0,Z),X=$.substring(Z+IC$.length);return[G,X]},b84=($)=>{if(!$.startsWith("cron/"))return null;let Z=$.substring(5),G=Z.indexOf("/");if(G===-1)return null;let X=Z.substring(0,G),Y=Z.substring(G+1);return[X,Y]},kC$=($)=>{if(KL0($))return[];return Object.keys($)},f84=($,Z)=>{if(KL0($))return $.events;let G=$[Z];if(!G)return[];if(qC$(G))return G.events;return Object.keys(G)},WL0=($,Z,G)=>{if($===RC$){if(!G)return console.warn("[Event] SELF binding used but no connectionId available"),null;return G}let X=Z[$];if(!j$1(X))return console.warn(`[Event] Binding "${$}" not found in state`),null;return X.value},x84=($,Z,G)=>{let X=Z;if(KL0($)){let Q=[];for(let J of $.events){let W=MC$(J);if(!W){console.warn(`[Event] Global handler event "${J}" must be prefixed with BINDING:: (e.g., "SELF::${J}" or "DATABASE::${J}")`);continue}let[K,w]=W,U=WL0(K,X,G);if(!U)continue;Q.push({eventType:w,publisher:U})}return Q}let Y=[];for(let Q of kC$($)){let J=WL0(Q,X,G);if(!J)continue;let W=f84($,Q);for(let K of W)Y.push({eventType:K,publisher:J})}return Y},v84=($)=>{let Z=new Map;for(let G of $){let X=G.source,Y=Z.get(X)||[];Y.push(G),Z.set(X,Y)}return Z},y84=($)=>{let Z=new Map;for(let G of $){let X=G.type,Y=Z.get(X)||[];Y.push(G),Z.set(X,Y)}return Z},g84=($)=>{let Z={},G={},X=!1,Y=0,Q=[];for(let J of $){if(J.results)Object.assign(G,J.results);if(J.success===!1){if(X=!0,J.error)Q.push(J.error)}if(J.processedCount!==void 0)Y+=J.processedCount}if(Object.keys(G).length>0)Z.results=G;if(Z.success=!X,Q.length>0)Z.error=Q.join("; ");if(Y>0)Z.processedCount=Y;return Z},h84=async($,Z,G,X,Y)=>{let Q=X;if(KL0($)){let U=new Set;for(let H of $.events){let N=MC$(H);if(!N)continue;let[B,D]=N,E=WL0(B,Q,Y);if(!E)continue;U.add(`${E}:${D}`)}let F=Z.filter((H)=>{let N=`${H.source}:${H.type}`;return U.has(N)});if(F.length===0)return{success:!0};try{return await $.handler({events:F},G)}catch(H){return{success:!1,error:H instanceof Error?H.message:String(H)}}}let J=new Map;for(let U of kC$($)){let F=WL0(U,Q,Y);if(F)J.set(F,U)}let W=v84(Z),K=[];for(let[U,F]of W){let H=J.get(U);if(!H)continue;let N=$[H];if(!N)continue;if(qC$(N)){K.push((async()=>{try{return await N.handler({events:F},G)}catch(E){let L={};for(let z of F)L[z.id]={success:!1,error:E instanceof Error?E.message:String(E)};return{results:L}}})());continue}let B=N,D=y84(F);for(let[E,L]of D){let z=B[E];if(!z)continue;K.push((async()=>{try{let j=await z({events:L},G),P={};for(let A of L)P[A.id]=j;return{results:P}}catch(j){let P={};for(let A of L)P[A.id]={success:!1,error:j instanceof Error?j.message:String(j)};return{results:P}}})())}}let w=await Promise.all(K);if(w.length===0)return{success:!0};return g84(w)},SC$;var I$1=O(()=>{Qg();SC$={subscriptions:x84,execute:h84,parseCron:b84}});function c84($,Z){let G=JL0("self",{meshUrl:$,token:Z});return Cx.forConnection(G)}function u84($,Z){switch(Z.type){case"cron":return{automation_id:$,type:"cron",cron_expression:Z.cron};case"event":return{automation_id:$,type:"event",connection_id:Z.connectionId,event_type:Z.eventType,params:Z.params};case"webhook":return{automation_id:$,type:"webhook"}}}function VC$($,Z,G){return async(X)=>{if(!$)throw Error("createAgent: missing meshUrl in MESH_REQUEST_CONTEXT");let Y=c84($,Z),J=(await Y.COLLECTION_VIRTUAL_MCP_LIST({where:{operator:"and",conditions:[{field:["title"],operator:"eq",value:X.name}]},limit:1})).items.find((U)=>U.title===X.name);if(J)return{id:J.id,automations:[],automationIds:[],alreadyExisted:!0};let W=X.tools&&X.tools.length>0?X.tools.map((U)=>({connection_id:U.connectionId,selected_tools:U.tools??null,selected_resources:null,selected_prompts:null})):G?[{connection_id:G,selected_tools:null,selected_resources:null,selected_prompts:null}]:[],{item:K}=await Y.COLLECTION_VIRTUAL_MCP_CREATE({data:{title:X.name,description:X.description,metadata:X.instructions?{instructions:X.instructions}:void 0,connections:W}}),w=[];for(let U of X.automations??[]){let F=await Y.AUTOMATION_CREATE({name:U.name,virtual_mcp_id:K.id,messages:U.messages,models:U.models,tools:U.tools,active:U.active??!0}),H=[];for(let N of U.triggers??[])try{let B=await Y.AUTOMATION_TRIGGER_ADD(u84(F.id,N));H.push({type:N.type,ok:!0,id:B.id,webhook:B.webhook??void 0})}catch(B){H.push({type:N.type,ok:!1,error:B instanceof Error?B.message:String(B)})}w.push({id:F.id,name:U.name,triggers:H})}return{id:K.id,automations:w,automationIds:w.map((U)=>U.id),alreadyExisted:!1}}}var R$1=O(()=>{Qg();QL0()});import{z as KZ}from"zod";function SU($){return{...$,execute:(Z)=>{let G=vt(Z.runtimeContext);return $.execute({...Z,runtimeContext:G},G)}}}var vt=($)=>{let Z=xt.getStore();if(!Z){if($)return $;throw Error("Missing context, did you forget to call State.bind?")}return Z},CC$=($)=>{let Z=$.runtimeContext.env.MESH_REQUEST_CONTEXT;return{connectionId:Z?.connectionId,meshUrl:Z?.meshUrl,token:Z?.token}},d84=({events:$,configuration:{state:Z,scopes:G,onChange:X,onInstall:Y}={}}={})=>{let Q=Z?NC$(KZ.toJSONSchema(Z)):{type:"object",properties:{}};return[...X||Y||$?[SU({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:KZ.object({state:Z??KZ.unknown(),scopes:KZ.array(KZ.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')"),firstRun:KZ.boolean().optional().describe("True on the first configuration save for this connection \u2014 fires onInstall."),vault:KZ.object({baseUrl:KZ.string(),org:KZ.string(),subjectConnectionId:KZ.string(),token:KZ.string()}).optional()}),outputSchema:KZ.object({}),execute:async(J)=>{let W=J.context.state,K=J.context.vault;if(await X?.(J.runtimeContext.env,{state:W,scopes:J.context.scopes,vault:K}),Y&&J.context.firstRun){let{meshUrl:w,token:U,connectionId:F}=CC$(J);await Y(J.runtimeContext.env,{createAgent:VC$(w,U,F),vault:K})}return Promise.resolve({})}})]:[],...$?.handlers?[SU({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:i40,outputSchema:n40,execute:async(J)=>{let W=J.runtimeContext.env,K=W.MESH_REQUEST_CONTEXT?.state,{connectionId:w}=CC$(J);return SC$.execute($.handlers,J.context.events,W,K,w)}})]:[],SU({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:KZ.object({}),outputSchema:KZ.object({stateSchema:KZ.unknown(),scopes:KZ.array(KZ.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:Q,scopes:[...G??[]]})}})]},_C$=($)=>{let Z=null,G=null,X=null,Y=!1,Q=()=>{if(!Y)console.warn("[runtime] Passing factory functions to tools/prompts/resources is deprecated. Pass createTool()/createPrompt()/createResource() instances directly."),Y=!0},J=(N)=>typeof N==="object"&&N!==null&&(("id"in N)||("name"in N)||("uri"in N));async function W(N,B){if(!N)return[];return(await Promise.all(N.flatMap(async(D)=>{if(J(D))return[D];Q();let E=await D(B);if(Array.isArray(E))return E;return[E]}))).flat()}let K=async(N)=>{if(Z)return Z;if(G)return G;return G=(async()=>{try{let B;if(typeof $.tools==="function")Q(),B=await $.tools(N);else B=await W($.tools,N);B.push(...d84({...$}));let D;if(typeof $.prompts==="function")Q(),D=await $.prompts(N);else D=await W($.prompts,N);let E;if(typeof $.resources==="function")Q(),E=await $.resources(N);else E=await W($.resources,N);let L={tools:B,prompts:D,resources:E};return Z=L,L}catch(B){throw G=null,B}})(),G},w=(N,B)=>{for(let D of B.tools)N.registerTool(D.id,{_meta:D._meta,title:D.title,description:D.description,annotations:D.annotations,inputSchema:D.inputSchema&&"shape"in D.inputSchema?D.inputSchema:KZ.object({}),outputSchema:D.outputSchema&&typeof D.outputSchema==="object"&&"shape"in D.outputSchema?D.outputSchema:void 0},async(E)=>{let L=vt(),z=await D.execute({context:E,runtimeContext:L},L);if(z!=null&&typeof z==="object"&&"content"in z&&Array.isArray(z.content)&&z.content.every((j)=>j!=null&&typeof j==="object"&&("type"in j)&&typeof j.type==="string"))return z;return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});for(let D of B.prompts)N.registerPrompt(D.name,{title:D.title,description:D.description,argsSchema:D.argsSchema?D.argsSchema:KZ.object({}).shape},async(E)=>{let L=vt();return await D.execute({args:E,runtimeContext:L},L)});for(let D of B.resources)N.resource(D.name,D.uri,{description:D.description,mimeType:D.mimeType},async(E)=>{let L=vt(),z=await D.read({uri:E,runtimeContext:L},L),j=z._meta??void 0;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text,...j!==void 0?{_meta:j}:{}}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob,...j!==void 0?{_meta:j}:{}}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}})},U=async(N)=>{await $.before?.(N);let{instructions:B,...D}=$.serverInfo??{},E=new Yw({...D,name:D.name??"@deco/mcp-api",version:D.version??"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}},jsonSchemaValidator:O5,...B&&{instructions:B}}),L=await K(N);w(E,L);let z="tools/list",j=E.server._requestHandlers,P=j.get(z);if(P)j.set(z,async(A,M)=>{if(!X)X=await P(A,M);return X});return{server:E,...L}};return{fetch:async(N,B)=>{let{server:D}=await U(B),E=new SY;await D.connect(E);let L=()=>{try{E.close?.()}catch{}try{D.close?.()}catch{}};try{let z=await E.handleRequest(N),j=z.headers.get("content-type");if(!(j?.includes("text/event-stream")||j?.includes("application/json-rpc"))||!z.body)return L(),z;let{readable:A,writable:M}=new TransformStream;return z.body.pipeTo(M).catch(()=>{}).finally(L),new Response(A,{status:z.status,statusText:z.statusText,headers:z.headers})}catch(z){throw L(),z}},callTool:async({toolCallId:N,toolCallInput:B})=>{let D=xt.getStore();if(!D)throw Error("Missing state, did you forget to call State.bind?");let E=D?.env,{tools:L}=await K(E),j=L.find((A)=>A.id===N)?.execute;if(!j)throw Error(`Tool ${N} not found or does not have an execute function`);let P=vt();return j({context:B,runtimeContext:P},P)}}};var wL0=O(()=>{Uu0();BG();Ku();kv();Qg();I$1();T$1();R$1();I$1();R$1()});import{decodeJwt as bC$}from"jose";var l84=({env:$,server:Z,url:G})=>{$.SELF=new Proxy({},{get:(X,Y)=>{if(Y==="toJSON")return null;return async(Q)=>{return await Z.callTool({toolCallId:Y,toolCallInput:Q})}}}),$.IS_LOCAL=(G?.startsWith("http://localhost")||G?.startsWith("http://127.0.0.1"))??!1},fC$=($)=>()=>{return{...$??{}}},m84=({env:$,server:Z,tokenOrContext:G,url:X,authToken:Y})=>{let Q=$,J=Y?Y.split(" ")[1]:void 0,W;if(typeof G==="string"){let K=bC$(G),w=K.metadata??{};W={authorization:J,state:K.state??w.state??{},token:G,meshUrl:K.meshUrl??w.meshUrl,connectionId:K.connectionId??w.connectionId,organizationId:K.organizationId??w.organizationId,organizationName:K.organizationName??w.organizationName,organizationSlug:K.organizationSlug??w.organizationSlug,ensureAuthenticated:fC$(K.user??K.sub)}}else if(typeof G==="object"){W=G;let K=bC$(G.token),w=K.metadata??{},U=K.appName;W.authorization??=J,W.callerApp=U,W.connectionId??=K.connectionId??w.connectionId,W.organizationId??=K.organizationId??w.organizationId,W.organizationName??=K.organizationName??w.organizationName,W.organizationSlug??=K.organizationSlug??w.organizationSlug,W.ensureAuthenticated=fC$(K.user??K.sub)}else W={state:{},authorization:J,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return Q.MESH_REQUEST_CONTEXT=W,W.state=BC$(W),l84({env:Q,server:Z,url:X}),Q},i84,xC$=($)=>{let Z=_C$($),G=$.cors??i84,X=$.oauth,Y=X?AC$(X):null,Q=async(J,W,K)=>{let w=new URL(J.url);if(Y){if(w.pathname==="/.well-known/oauth-protected-resource"||w.pathname==="/mcp/.well-known/oauth-protected-resource")return Y.handleProtectedResourceMetadata(J);if(w.pathname==="/.well-known/oauth-authorization-server")return Y.handleAuthorizationServerMetadata(J);if(w.pathname==="/authorize")return Y.handleAuthorize(J);if(w.pathname==="/oauth/callback")return Y.handleOAuthCallback(J);if(w.pathname==="/token"&&J.method==="POST")return Y.handleToken(J);if((w.pathname==="/register"||w.pathname==="/mcp/register")&&J.method==="POST")return Y.handleClientRegistration(J)}if(w.pathname==="/mcp"){if(J.method==="GET")return new Response("Method not allowed",{status:405});if(Y&&!Y.hasAuth(J)){let U=J.clone();try{if((await U.json())?.method!=="tools/list")return Y.createUnauthorizedResponse(J)}catch{return Y.createUnauthorizedResponse(J)}}return Z.fetch(J,W,K)}if(w.pathname.startsWith("/mcp/call-tool")){let U=w.pathname.split("/").pop();if(!U)return new Response("Not found",{status:404});let F=await J.json(),H=await Z.callTool({toolCallId:U,toolCallInput:F});return new Response(JSON.stringify(H),{headers:{"Content-Type":"application/json"}})}return $.fetch?.(J,W,K)||new Response("Not found",{status:404})};return{fetch:async(J,W,K)=>{if(new URL(J.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(G!==!1&&J.method==="OPTIONS")return DC$(J,G??{});let w=m84({authToken:J.headers.get("authorization")??null,env:{...process.env,...W},server:Z,tokenOrContext:J.headers.get("x-mesh-token")??void 0,url:J.url}),U=await xt.run({req:J,env:w,ctx:K},async()=>await Q(J,w,K));if(G!==!1)return EC$(U,J,G??{});return U}}};var vC$=O(()=>{Qg();LC$();A$1();A$1();T$1();wL0();wL0();Qg();QL0();i84={origin:($)=>{if($.includes("localhost")||$.includes("127.0.0.1"))return $;return $},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});import{z as q$1}from"zod";function t84($,Z){let G=SU({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:zy,outputSchema:jy,execute:async({context:W})=>{let K={limit:W.limit,offset:W.offset,cursor:W.cursor,tags:W.tags,categories:W.categories,where:W.where},w=`${Z}:${JSON.stringify(K)}`,U=yC$.get(w);if(U)return U;let F=await $.listPublic(Z,K);return yC$.set(w,F),F}}),X=SU({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:ZK,outputSchema:fV,execute:async({context:W})=>{let K=W.id??W.name;if(!K)return{item:null};let w=await $.findByIdOrName(Z,K);if(w&&w.is_public)return{item:w};return{item:null}}}),Y=SU({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:ZK,outputSchema:q$1.object({versions:q$1.array(fV.shape.item)}),execute:async({context:W})=>{let K=W.id??W.name;if(!K)return{versions:[]};let w=await $.findByIdOrName(Z,K);if(w&&w.is_public)return{versions:[w]};return{versions:[]}}}),Q=SU({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:PD0,outputSchema:AD0,execute:async({context:W})=>{return await $.search(Z,W,{publicOnly:!0})}}),J=SU({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",annotations:{readOnlyHint:!0,idempotentHint:!0},inputSchema:q$1.object({}),outputSchema:Py,execute:async()=>{return await $.getFilters(Z,{publicOnly:!0})}});return[G,Q,X,Y,J]}function gC$($){let Z=$.db,G=new bf(Z);return async(X)=>{let Y=X.req.param("orgSlug")??X.req.param("org");if(!Y)return X.json({error:"Organization not found"},404);let Q=await Z.selectFrom("organization").select(["id","slug","name"]).where("slug","=",Y).executeTakeFirst();if(!Q)return X.json({error:"Organization not found"},404);let J=t84(G,Q.id),W=xC$({tools:J}),K=new URL(X.req.url),w=X.req.path.indexOf("/registry"),U=w>=0?X.req.path.slice(w+9):"",F=new URL(U||"/",K.origin);K.searchParams.forEach((B,D)=>{F.searchParams.set(D,B)});let H=new Request(F.toString(),{method:X.req.method,headers:X.req.raw.headers,body:X.req.method!=="GET"&&X.req.method!=="HEAD"?X.req.raw.body:void 0}),N={organizationId:Q.id,db:Z,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await W.fetch(H,N,X)}}var n84=3600000,p84=500,yC$;var hC$=O(()=>{vC$();wL0();Ky0();e5();yC$=Xg({ttlMs:n84,maxSize:p84,updateRecencyOnGet:!0})});import{sql as r84}from"kysely";import{randomUUID as cC$}from"crypto";import{z as o84}from"zod";async function s84($){let Z=new Date().toISOString(),G=cC$(),X=e6.SELF($.organizationId),Y="registry.publish_request.created",Q={requestId:$.request.id,requestedId:$.request.requested_id,title:$.request.title,status:$.request.status,createdAt:$.request.created_at,requester:{name:$.request.requester_name,email:$.request.requester_email}};await $.db.insertInto("events").values({id:G,organization_id:$.organizationId,type:"registry.publish_request.created",source:X,specversion:"1.0",subject:$.request.id,time:Z,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(Q),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Z,updated_at:Z}).execute();let J=await $.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",$.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((W)=>W.or([W("publisher","is",null),W("publisher","=",X)])).execute();if(J.length>0)await $.db.insertInto("event_deliveries").values(J.map((W)=>({id:cC$(),event_id:G,subscription_id:W.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Z}))).execute();try{await r84`SELECT pg_notify('mesh_events', ${G})`.execute($.db)}catch{}}async function e84($,Z){let X=(await $.selectFrom("organization").select(["id"]).where("id","=",Z).execute())[0];if(X?.id)return X.id;return(await $.selectFrom("organization").select(["id"]).where("slug","=",Z).execute())[0]?.id??null}async function $64($,Z){let G=await $.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.virtual_mcp_id").select(["virtual_mcp_plugin_configs.settings as settings"]).where("connections.organization_id","=",Z).where("virtual_mcp_plugin_configs.plugin_id","=",xV).execute();for(let X of G){let Y=X.settings,Q=typeof Y==="string"?(()=>{try{return JSON.parse(Y)}catch{return{}}})():Y??{};if(Q.acceptPublishRequests===!0){let J=Q.rateLimitWindow==="minute"?"minute":"hour",W=Q.rateLimitMax,K=typeof W==="number"&&Number.isFinite(W)&&W>=1?Math.floor(W):dC$;return{acceptPublishRequests:!0,requireApiToken:Q.requireApiToken===!0,rateLimitEnabled:Q.rateLimitEnabled===void 0?uC$:Q.rateLimitEnabled===!0,rateLimitWindow:J,rateLimitMax:K}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:uC$,rateLimitWindow:a84,rateLimitMax:dC$}}async function Z64($,Z,G){let X=G==="minute"?60000:3600000,Y=new Date(Date.now()-X).toISOString(),Q=await $.selectFrom("private_registry_publish_request").select((J)=>J.fn.countAll().as("count")).where("organization_id","=",Z).where("created_at",">=",Y).executeTakeFirst();return Number(Q?.count??0)}async function G64($,Z,G,X){let Y=await $.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Z).where((Q)=>Q.or([Q("id","=",G),Q("title","=",X)])).executeTakeFirst();return Y?{id:String(Y.id),title:String(Y.title)}:null}function lC$($){let{db:Z,db:G}=$,X=new ff(G),Y=new xf(G);return async(Q)=>{let J=Q.req.param("orgRef")??Q.req.param("org");if(!J)return Q.json({error:"Organization not found"},404);let W=await e84(Z,J);if(!W)return Q.json({error:"Organization not found"},404);let K=await $64(Z,W);if(!K.acceptPublishRequests)return Q.json({error:"Publish requests are not enabled for this registry."},403);if(K.requireApiToken){let N=Q.req.header("Authorization"),B=N?.startsWith("Bearer ")?N.slice(7).trim():null;if(!B)return Q.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await Y.validate(W,B))return Q.json({error:"Invalid API key"},401)}if(K.rateLimitEnabled){if(await Z64(G,W,K.rateLimitWindow)>=K.rateLimitMax)return Q.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:K.rateLimitWindow==="minute"?60:3600},429)}let w;try{w=await Q.req.json()}catch{return Q.json({error:"Invalid JSON body"},400)}let U=Xj$.safeParse(w);if(!U.success)return Q.json({error:"Invalid publish request payload",details:o84.treeifyError(U.error)},400);let F=await G64(G,W,U.data.data.id,U.data.data.title);if(F)return Q.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:F},409);let H=await X.createOrUpdate({organization_id:W,requested_id:U.data.data.id,title:U.data.data.title,description:U.data.data.description??null,_meta:U.data.data._meta,server:U.data.data.server,requester_name:U.data.requester?.name??null,requester_email:U.data.requester?.email??null});try{await s84({db:Z,organizationId:W,request:H})}catch(N){console.warn("[private-registry] failed to emit publish-request event:",N)}return r1.capture({distinctId:U.data.requester?.email??`org:${W}`,event:"registry_publish_request_submitted",groups:{organization:W},properties:{organization_id:W,request_id:H.id,requested_id:H.requested_id,title:U.data.data.title,requester_email:U.data.requester?.email??null}}),Q.json({id:H.id,requested_id:H.requested_id,status:H.status},201)}}var uC$=!0,a84="hour",dC$=100;var mC$=O(()=>{v4();t8();Ay();wy0();Uy0();e5()});var iC$={};Z6(iC$,{createPublishRequestHandler:()=>lC$,createPublicMCPHandler:()=>gC$});var nC$=O(()=>{hC$();mC$()});var kn0={};Z6(kn0,{watchHandler:()=>aC$,getProxyDispatch:()=>J64,createApp:()=>O64});import{readFileSync as X64}from"fs";import{PrometheusSerializer as Y64}from"@opentelemetry/exporter-prometheus";import{DBOS as Jg}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as U64,oAuthProtectedResourceMetadata as F64}from"better-auth/plugins";async function Q64($){let Z=$.connect(),G;try{G=await Promise.race([Z,tC$(pC$)])}catch{return Z.then((X)=>X.release(!0)).catch(()=>{}),!1}try{return await Promise.race([G.query("SELECT 1"),tC$(pC$)]),G.release(),!0}catch{return G.release(!0),!1}}function tC$($){return new Promise((Z,G)=>setTimeout(()=>G(Error("pg health-check timeout")),$))}function J64(){if(!M$1)throw Error("getProxyDispatch() called before createApp() or without NATS \u2014 proxy dispatch unavailable");return M$1}async function W64($,Z){let{items:G}=await $.storage.connections.list(Z,{where:{field:["connection_url"],operator:"like",value:`${PC1}%`},limit:1}),X=G[0];if(!X?.configuration_state)return null;return X.configuration_state.project_locator}function K64($){let Z=new URLSearchParams;if($){let[G,X]=$.split("/");if(G)Z.set("workspace_hint",G);if(X)Z.set("project_hint",X)}else Z.set("auto_personal","true");return Z.set("force_new","true"),Z}async function O64($={}){let Z=$.database??u6(),G=!1;JZ.stop().catch((d)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",d)});let X,Y,Q=new $$1,J,W,K,w,U,F=null;if($.disableNats)J=Z$1(),X={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},Y=new xn,W={start:async()=>{},broadcast:()=>{},publishControlFrame:()=>{},stop:async()=>{}},U=void 0,K={init:async()=>{},pump:(d)=>{return(async()=>{let m=d.getReader();try{while(!0){let{done:V0}=await m.read();if(V0)break}}catch{}finally{m.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{F=rS$();let d=E1().natsCredsPath,m;if(d)try{m=X64(d,"utf8")}catch(z1){console.error(`[app] failed to read NATS_CREDS at ${d}; connecting anonymously`,z1)}F.init(E1().natsUrls,m?{creds:m}:void 0);let V0=Dy0()?new Wx0({getJetStream:()=>F.getJetStream()}):null;V0?.init().catch(()=>{}),X=V0;let v0=new kp0({getJetStream:()=>F.getJetStream()});v0.init().catch(()=>{}),Y=v0,J=Z$1({getConnection:()=>F.getConnection()}),W=new G$1({getConnection:()=>F.getConnection()}),K=new Q$1({getConnection:()=>F.getConnection(),getJetStream:()=>F.getJetStream()}),w=kV$({getConnection:()=>F.getConnection()}),U=fV$({getConnection:()=>F.getConnection()});let N1=xV$({getConnection:()=>F.getConnection()}),i0=W;W={start:(z1)=>i0.start(z1),broadcast:(z1)=>i0.broadcast(z1),publishControlFrame:(z1,R$)=>{N1.publishControlFrame(z1,R$).catch((B6)=>{console.warn("[TunnelControl] publishControlFrame failed (non-critical):",B6)})},stop:()=>i0.stop()},fA$(F),F.onReady(()=>{V0?.init().catch((z1)=>{console.error("[McpListCache] Deferred init failed:",z1)}),v0.init().catch((z1)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",z1)}),J.start(),Fm1(()=>F.getConnection()),K.init().catch((z1)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",z1)})})}if(Wg)await Wg();Kx0(X),Sp0(Y);let N={storage:new uf(Z.db),sseHub:JZ},B=new ml0(N),D=new kl(Z.db),E=new w$1(D);E.start(),W.start((d)=>{Z90(d),B.execute({type:"CANCEL",taskId:d}).catch((m)=>{console.error("[Decopilot] CancelBroadcast execute failed:",m)})}).catch((d)=>{console.error("[Decopilot] CancelBroadcast start failed:",d)}),F?.onReady(()=>{W.start().catch((d)=>{console.error("[CancelBroadcast] Deferred start failed:",d)})}),K.init().catch((d)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",d)}),Wg=async()=>{await B.stopAll(),B.dispose(),E.dispose(),W.stop().catch(()=>{}),K.teardown(),X?.teardown(),Q.teardown(),J.teardown(),Hm1(),Y.teardown(),Kx0(null),Sp0(null)};let L=new g1;if(L.use("*",Qb0({enabled:(d)=>Hb(d,"debug")==="1"})),L.use("*",ML0),L.use("/*",J_1({origin:(d)=>{if(d.includes("localhost")||d.includes("127.0.0.1"))return d;return d},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),L.use("*",async(d,m)=>{if(await m(),d.req.path.includes("/files/"))return;if(d.req.path.includes("/fs/")&&d.req.path.endsWith("/read"))return;d.header("X-Frame-Options","DENY"),d.header("Content-Security-Policy","frame-ancestors 'none'")}),!E1().noTui)L.use("*",nV$());L.use("*",async(d,m)=>{if(await m(),Fg(d.req.path))return;if(d.res.status>=500){let v0=await d.res.clone().text();console.error(`[5xx Response] ${d.req.method} ${d.req.path} - ${d.res.status}:`,v0)}}),L.get(e7.HEALTH,(d)=>{if(G)return d.json({status:"shutting_down"},503);return d.json({status:"ok"})}),L.get(e7.HEALTH_LIVE,(d)=>{return d.json({status:"ok"})}),L.get(e7.HEALTH_READY,async(d)=>{if(G)return d.json({status:"shutting_down"},503);let m={};if(m.postgres={status:await Q64(Z.pool)?"up":"down"},F)m.nats=F.isConnected()?{status:"up"}:{status:"down"};else m.nats={status:"down"};let V0=m.postgres.status==="up",v0=V0?200:503;return d.json({status:V0?"ready":"not_ready",services:m},v0)}),L.get(e7.METRICS,async(d)=>{try{let m=await CL0.collect(),V0=w64.serialize(m.resourceMetrics);return d.text(V0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(m){return console.error("Failed to collect metrics:",m),d.text("# Error collecting metrics",500)}}),L.get(`${e7.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(d)=>{let m=d.req.param("queueName");if(!H64.has(m))return d.json({error:`Unknown queue: ${m}`},404);let V0=await Jg.listQueuedWorkflows({queueName:m,status:"ENQUEUED"});return d.json({queue_length:V0.length})}),L.route("/api/config",kS$),L.route("/api/auth/custom",ZT$),L.all("/api/auth/*",async(d)=>{return await Z4.handler(d.req.raw)});let z=io1();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",hV),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",hV),L.route("/",z),L.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",Gi),L.route("/",ro1()),L.use("/oauth-proxy/:connectionId/*",hV),L.all("/oauth-proxy/:connectionId/*",rC$);let j=async(d)=>{let V0=await N64()(d.req.raw),v0=await V0.json();return Response.json(v0,V0)};L.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",hV),L.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",j);let P=async(d)=>{let V0=await B64()(d.req.raw),v0=await V0.json();return Response.json(v0,V0)};L.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",P);let A=VA$({ttlMs:120000}),M=await Co1({db:Z.db,auth:Z4,encryption:{key:E1().encryptionKey},observability:{tracer:CU,meter:g8},modelListCache:Q,providerKeyCache:J,memberRoleCache:A,linkStatusProbe:w,publishLinkControlFrame:(d,m)=>W.publishControlFrame(d,m)});pH.set(M);let S=new Fw(E1().encryptionKey);BR1({db:Z.db,baseUrl:cJ()});let q=_80(Z.db),V=new jl(Z.db),t=dV$({db:Z.db});Tp0({storage:q,meshContextFactory:t}),el0({meshContextFactory:t,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:JZ},prepareLinkWorkFn:nR$,workPublisher:U}),tl0({dispatchRunFn:mR$,meshContextFactory:t,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:JZ}});let f=new uf(Z.db);x6$({getJetStream:()=>F?.getJetStream()??null,getJetStreamManager:async()=>{let d=F?.getConnection();return d?await oC$.jetstreamManager(d):null},messageParts:f.messageParts(),resolveRun:async(d)=>{let m=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",d).executeTakeFirst();return m?{orgId:m.organization_id,createdBy:m.created_by,version:m.message_storage_version??1,status:m.status,runFenceToken:m.run_fence_token,title:m.title??null}:null},completeRunIfNotCompleted:async(d,m)=>{let V0=await f.completeRunIfNotCompleted(d,m);return ZL0(JZ,m,d,V0),V0},markRunRequiresAction:async(d,m)=>{let V0=await f.requiresActionIfInProgress(d,m);return ZL0(JZ,m,d,V0),V0},markRunFailed:async(d,m,V0,v0)=>{let N1=await f.markRunFailed(d,m,V0,v0);return ZL0(JZ,m,d,N1),N1},persistTitle:(d,m,V0)=>f.update(d,m,{title:V0}),onTitleUpdated:async({runId:d,orgId:m,title:V0})=>{let v0=await f.get(d,m).catch(()=>null);JZ.emit(m,A3(d,v0?.status??"in_progress",{title:V0,virtualMcpId:v0?.virtual_mcp_id??void 0,createdBy:v0?.created_by,triggerId:v0?.trigger_id,branch:v0?.branch??null,createdAt:v0?.created_at,updatedAt:v0?.updated_at}))},bumpProgress:async({runId:d,orgId:m})=>{await f.bumpProgress(d,m)},recordCompleted:async({runId:d,orgId:m,distinctId:V0,usage:v0})=>{r1.capture({distinctId:V0,event:"chat_message_completed",groups:{organization:m},properties:{organization_id:m,thread_id:d,transport:"projector",input_tokens:v0.inputTokens,output_tokens:v0.outputTokens,total_tokens:v0.totalTokens}})},recordFailed:async({runId:d,orgId:m,distinctId:V0,reason:v0,kind:N1})=>{r1.capture({distinctId:V0,event:"chat_message_failed",groups:{organization:m},properties:{organization_id:m,thread_id:d,transport:"projector",error_category:N1,error_message:v0}})},purgeRun:async(d)=>{K.purge(d)}}),P3$({meshContextFactory:t,systemDatabaseUrl:Vf1(E1().databaseUrl,E1().databasePgSsl),streamBuffer:K}),cV$(),OR1();let v=async(d,m,V0)=>{let v0=await q.findById(d,m);if(!v0)throw Error("Automation not found");return qp0({automationId:v0.id,organizationId:v0.organization_id,triggerId:null})},Z0=new yy(q,({automation:d,trigger:m,contextMessages:V0,idempotencyKey:v0})=>bn({automationId:d.id,organizationId:d.organization_id,triggerId:m.id,contextMessages:V0},{idempotencyKey:v0})),a=[mQ(),GC(),DK()];for(let d of a)YL0(d).then(()=>{}).catch((m)=>console.error("[monitoring] Retention cleanup failed:",m));let B0=()=>Z.db.deleteFrom("apikey").where("expiresAt","<",new Date).execute().then(()=>{}).catch((d)=>console.error("[auth] Expired API key cleanup failed:",d));B0(),setInterval(B0,86400000).unref(),L.use("*",async(d,m)=>{if(RL0(d.req.path))return m();let V0={measure:async(N1,i0)=>{GQ(d,N1);try{return await i0()}finally{$Y(d,N1)}}},v0=await pH.create(d.req.raw,{timings:V0});v0.automationRunner=v,d.set("meshContext",v0);try{await m()}finally{let N1=v0.pendingRevalidations;if(N1.length>0)Promise.race([Promise.allSettled(N1),n8(30000)]).catch((z1)=>console.error("[mesh] revalidation cleanup error:",z1))}}),L.use("/api/:org/decopilot/*",cV),L.use("/api/:org/v1/*",cV),L.use("/api/:org/files/*",cV),L.use("*",async(d,m)=>{let V0=d.req.path;if(V0.startsWith("/api/org-sso/")||V0.startsWith("/api/auth/")||V0.startsWith("/api/tools/management")||V0.startsWith("/oauth-proxy/"))return m();let v0=d.get("meshContext");if(!v0?.organization?.id||!v0?.auth?.user?.id)return m();if(!(await v0.storage.orgSsoConfig.getByOrgId(v0.organization.id))?.enforced)return m();if(!await v0.storage.orgSsoSessions.isValid(v0.auth.user.id,v0.organization.id))return d.json({error:"SSO authentication required for this organization"},403);return m()});let O0=new g1;O0.use("*",hQ({mountPath:"/api/org-sso"})),O0.route("/",xD0()),L.route("/api/org-sso",O0),L.get("/api/tools/management",(d)=>{return d.json({tools:Wb0,grouped:bO()})}),L.use("/mcp/*",async(d,m)=>{GQ(d,"mcp");try{return await m()}finally{$Y(d,"mcp")}});let W0=async(d,m)=>{let V0=d.var.meshContext;if(!V0.auth.user?.id&&!V0.auth.apiKey?.id){let v0=new URL(d.req.url);return d.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${v0.origin}${v0.pathname}/.well-known/oauth-protected-resource"`}})}return await m()};if(L.use("/mcp/:connectionId?",W0),L.use("/mcp/gateway/:virtualMcpId?",W0),L.use("/mcp/virtual-mcp/:virtualMcpId?",W0),L.use("/mcp/self",W0),T3()){let{mountDevRoutes:d}=(wC$(),OL0(KC$));d(L,W0)}let J0=new g1;J0.use("*",hQ({mountPath:"/mcp"})),J0.route("/",AN0()),L.route("/mcp",J0);let s=new g1;s.use("*",hQ({mountPath:"/mcp/self"})),s.route("/",mE0()),L.route("/mcp/self",s);let A0=new g1;A0.use("*",hQ({mountPath:"/mcp"})),A0.route("/",RN0()),L.route("/mcp",A0),L.use("/api/:org/models/*",async(d,m)=>{GQ(d,"llm_models");try{return await m()}finally{$Y(d,"llm_models")}});let U0=Y01({cancelBroadcast:W,streamBuffer:K,runRegistry:B,linkStatusProbe:w});if(L.route("/api",U0),F!=null)M$1=VV$({getConnection:()=>F?.getConnection()??null});L.route("/api",FS$()),L.get("/api/links/me",async(d)=>{try{let m=d.req.header("authorization")??"",V0=/^Bearer\s+(.+)$/i.exec(m),v0=null;if(V0){let i0=(V0[1]??"").trim();v0=await tk$(i0,Z4.api)}else v0=d.get("meshContext")?.auth?.user?.id??null;if(!v0)return d.json({error:"unauthorized"},401);let N1=w?await w(v0):{online:!1,capabilities:[]};if(!N1.online)return d.json(null);return d.json({hostname:N1.hostname,cliVersion:N1.cliVersion})}catch(m){return console.error("[links/me] presence probe failed; reporting offline:",m instanceof Error?m.message:String(m)),d.json(null)}}),L.use("/api/:org/files/*",cV),L.route("/api",_S$);let f0=new g1;f0.use("*",hQ({mountPath:"/api"})),f0.route("/",iE0()),L.route("/api",f0),L.route("/api",TS$);let m0=new g1;m0.use("*",hQ({mountPath:"/api"})),m0.route("/",nE0({tokenStorage:V,automationEventDispatcher:Z0})),L.route("/api",m0);let x0=new Al(Z.db),n0=new g1;n0.use("*",hQ({mountPath:"/api"})),n0.route("/",FE0()),L.route("/api",n0),L.route("/api/deco-sites",B2$()),L.route("/api/deco-apps",ES$());let N0=new g1;N0.use("*",hQ({mountPath:"/api/deco-sites"})),N0.route("/",NE0()),L.route("/api/deco-sites",N0);let _0=new g1;_0.use("*",hQ({mountPath:"/api/vm-events"})),_0.route("/",OS$()),L.route("/api/vm-events",_0);let{createPublishRequestHandler:I0,createPublicMCPHandler:F0}=await Promise.resolve().then(() => (nC$(),iC$)),Q0={db:Z.db,vault:{encrypt:(d)=>S.encrypt(d),decrypt:(d)=>S.decrypt(d)}},X0=I0(Q0),S0=F0(Q0);L.use("/org/:orgRef/registry/publish-request",hV),L.post("/org/:orgRef/registry/publish-request",X0),L.use("/org/:orgSlug/registry/*",hV),L.all("/org/:orgSlug/registry/*",S0),L.post("/api/:org/registry/publish-request",X0),L.all("/api/:org/registry/*",S0);let n=nk$({kvStorage:x0,runRegistry:B,streamBuffer:K,sseHub:JZ,cancelBroadcast:W,tokenStorage:V,automationEventDispatcher:Z0,mountDevAssets:T3(),mcpAuth:W0,oauthProxyHandler:rC$,watchHandler:aC$,betterAuthProtectedResourceHandler:j,getNatsConnection:()=>F?.getConnection()??null});return L.route("/api/:org",n),L.notFound((d)=>{return d.json({error:"Not Found",path:d.req.path},404)}),L.onError(Z2$),Object.assign(L,{markShuttingDown:()=>{G=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([JZ.stop(),Wg?Promise.resolve(Wg()).finally(()=>{Wg=null}):Promise.resolve()]),F)await F.drain().catch((d)=>console.error("[shutdown] NATS drain error:",d));console.log("[shutdown] Flushing telemetry..."),await yY().catch((d)=>console.error("[shutdown] Telemetry flush error:",d)),console.log("[shutdown] Closing database..."),await _f1(Z).catch((d)=>console.error("[shutdown] Database close error:",d)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await Jg.registerQueue(vY,{partitionQueue:!0,concurrency:jp0,minPollingIntervalMs:Pp0}),await Jg.registerQueue(lQ,{partitionQueue:!0,concurrency:sl0}),await Jg.registerQueue(OK,{partitionQueue:!0,concurrency:pl0}),await Jg.registerQueue(VU,{partitionQueue:!0,concurrency:j3$}),await K01(q),await Promise.allSettled(["automations-gate","automations-global"].map((d)=>Jg.deleteQueue(d))),await Ap0(Z.pool),Zg1().catch((d)=>{console.error("[studio-pack-backfill] failed:",d)}),DR1().catch((d)=>{console.error("[org-fs] public-sets boot sync kick failed:",d)})}})}var oC$,pC$=5000,M$1=null,Wg=null,rC$=async($)=>{let Z=$.req.param("connectionId");if(!Z)return $.json({error:"Missing connectionId"},400);let G=$.req.path.split("/").filter(Boolean),X=G[G.length-1],Y=$.get("meshContext");if(!Y)Y=await pH.create($.req.raw),$.set("meshContext",Y);let Q=$.req.param("org")?Y.organization?.id:void 0,J=await Y.storage.connections.findById(Z,Q);if(!J?.connection_url)return $.json({error:"Connection not found"},404);let W=await Rx(J.connection_url),K,w=new URL(J.connection_url);if(W.ok)K=(await W.json()).authorization_servers?.[0];if(!K)K=w.origin;let U=await Xi(K);if(!U.ok)return $.json({error:"Failed to get auth server metadata"},502);let F=await U.json(),H;if(X==="authorize")H=F.authorization_endpoint;else if(X==="token")H=F.token_endpoint;else if(X==="register")H=F.registration_endpoint;if(!H)return $.json({error:`Unknown OAuth endpoint: ${X}`},404);let N=new URL(H),B=new URL($.req.url);if(N.search=B.search,X==="authorize"){let q=N.searchParams.get("redirect_uri");if(q){let V=E1().baseUrl??B.origin;try{let t=new URL(q),f=new URL(V);if(!(t.origin===f.origin||t.hostname==="localhost"))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}N.searchParams.set("redirect_uri",q)}if(N.searchParams.has("resource"))N.searchParams.set("resource",J.connection_url);if(AC1(J.connection_url))try{let V=await W64(Y,J.organization_id),t=K64(V);for(let[f,v]of t)N.searchParams.set(f,v)}catch(V){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",V)}return $.redirect(N.toString(),302)}let D={Accept:$.req.header("Accept")||"application/json"},E=$.req.header("Content-Type");if(E)D["Content-Type"]=E;let L=$.req.header("Authorization");if(L)D.Authorization=L;let z,j=null,P=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(X==="token"&&E?.includes("application/x-www-form-urlencoded")){if(L?.toLowerCase().startsWith("basic "))try{let v=atob(L.slice(6).trim()),Z0=v.indexOf(":");if(Z0!==-1){let a=decodeURIComponent(v.slice(0,Z0)),B0=decodeURIComponent(v.slice(Z0+1));j=a||null,P=B0||null}}catch{}let q=await $.req.formData();if(q.has("resource"))q.set("resource",J.connection_url);let V=q.get("client_id"),t=q.get("client_secret");if(typeof V==="string"&&V)j=V;if(typeof t==="string"&&t)P=t;let f=new URLSearchParams;for(let[v,Z0]of q.entries())f.append(v,Z0.toString());z=f.toString()}else if(X==="register"&&E?.toLowerCase().includes("application/json")){let q=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organization_id).executeTakeFirst(),V=await $.req.text(),t={};try{t=V?JSON.parse(V):{}}catch{z=V}let f=typeof t==="object"&&t!==null&&!Array.isArray(t);if(z===void 0&&!f)z=V;if(z===void 0){let v=t,Z0=v.metadata&&typeof v.metadata==="object"?v.metadata:{};v.metadata={...Z0,organization_id:J.organization_id,...q?.slug?{organization_slug:q.slug}:{},...q?.name?{organization_name:q.name}:{}},z=JSON.stringify(v),D["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let A=await fetch(N.toString(),{method:$.req.method,headers:D,body:z,duplex:"half",redirect:"manual"}),M=new Headers,S=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[q,V]of A.headers.entries())if(!S.includes(q.toLowerCase()))M.set(q,V);if(X==="token"&&A.ok){let q=await A.text();try{let V=JSON.parse(q);if(typeof V.access_token==="string"&&V.access_token){let t=typeof V.expires_in==="number"?new Date(Date.now()+V.expires_in*1000):null,f=null;try{f=await qx(J.connection_url)??H}catch{f=H}let v={connectionId:Z,accessToken:V.access_token,refreshToken:typeof V.refresh_token==="string"?V.refresh_token:null,scope:typeof V.scope==="string"?V.scope:null,expiresAt:t,clientId:j,clientSecret:P,tokenEndpoint:f};await new V5(Y.db,Y.vault).upsert(v)}}catch(V){console.error("[oauth-proxy] failed to persist downstream token:",V)}return new Response(q,{status:A.status,statusText:A.statusText,headers:M})}return new Response(A.body,{status:A.status,statusText:A.statusText,headers:M})},aC$=async($)=>{let Z=$.var.meshContext;if(!(Z.auth.user?.id??Z.auth.apiKey?.userId))return $.json({error:"Unauthorized"},401);let X=Z.organization?.id;if(!X)return $.json({error:"organization id missing"},400);let Y=$.req.query("types"),Q=Y?Y.split(",").map((W)=>W.trim()).filter(Boolean):null,J=crypto.randomUUID();return cQ($,async(W)=>{if(await W.writeSSE({event:"connected",data:JSON.stringify({listenerId:J,organizationId:X,typePatterns:Q,connectedAt:new Date().toISOString()})}),!JZ.add({id:J,organizationId:X,typePatterns:Q?.length?Q:null,push:(U)=>{W.writeSSE({id:U.id,event:U.type,data:JSON.stringify(U)}).catch(()=>{JZ.remove(X,J)})}})){await W.writeSSE({event:"error",data:JSON.stringify({error:"Too many connections",message:"SSE connection limit reached. Try again later."})});return}let w=setInterval(()=>{W.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(w)})},30000);await new Promise((U)=>{W.onAbort(()=>{clearInterval(w),JZ.remove(X,J),U()})})})},w64,H64,N64=()=>F64(Z4),B64=()=>U64(Z4);var Sn0=O(()=>{Z9();z8();ER1();nG();wb();t8();m6();M10();W_1();Jb0();gw();Zi();ss0();R3();I5();v4();Qe0();we0();eR$();Q01();t3();P40();J01();G2$();W01();pk$();HS$();DS$();H01();LS$();TN0();Yi();IS$();qN0();f11();SS$();bS$();b11();_11();pt();cu();oS$();XY();o80();Il();Cp0();aS$();eS$();QV$();SV$();CV$();vV$();il0();yV$();Sy0();fy0();uV$();A$0();U$1();gX();w01();ri();dl0();A$0();$01();ev0();$y0();lV$();Nb();pV$();rV();ss0();Rv();G90();oC$=k(RB(),1);w64=new Y64,H64=new Set([vY,lQ,OK,VU])});var Z_$={};Z6(Z_$,{resolveClientDir:()=>A64,resolveAssetPathWithTraversalCheck:()=>$_$,isPathWithinDirectory:()=>eC$,createAssetHandler:()=>T64});import{resolve as yt,dirname as D64,join as E64,extname as L64,basename as z64,sep as sC$}from"path";function j64($,Z){if($===Z||z64($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${sC$}assets${sC$}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function eC$($,Z){let G=yt(Z),X=yt($);return X===G||X.startsWith(G+"/")}function $_$({requestPath:$,clientDir:Z}){let G=$.startsWith("/")?$.slice(1):$,X=yt(Z,G);if(!eC$(X,Z))return null;return X}function A64($,Z="../client"){let G=new URL($),X=D64(G.pathname);return yt(X,Z)}function T64($={}){let{env:Z="production",clientDir:G=P64,isServerPath:X=()=>!1}=$;if(Z==="development")return async function(Q){return null};return async function(Q){if(Q.method!=="GET")return null;let J=new URL(Q.url),W;try{W=decodeURIComponent(J.pathname)}catch{return null}if(X(W))return null;let K=$_$({requestPath:W,clientDir:G});if(!K)return null;let w=E64(K,"index.html"),U=yt(G,"index.html"),F=Q.headers.get("accept"),N=F?.includes("text/html")||F?.includes("*/*")&&["",".html"].includes(L64(K))?[w,U]:[];for(let B of[K,...N])try{let D=Bun.file(B);if(await D.exists())return new Response(D,{headers:j64(B,U)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var P64="./dist/client";var G_$=()=>{};var X_$={};Z6(X_$,{tryUpgradePreviewWs:()=>V64,tryHandlePreviewHttp:()=>S64,previewWebSocketHandler:()=>C64,parsePreviewBaseDomain:()=>k64,isPreviewWsData:()=>UL0,extractHandleFromHost:()=>k$1});function q64($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function M64(){return new Response(R64,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function k64($){if(!$||$.trim()==="")return null;let Z=$.includes("{handle}")?$.replace("{handle}","__handle__"):$,G;try{G=new URL(Z)}catch{return null}let X=G.hostname;if($.includes("{handle}")){let Y=X.indexOf(".");if(Y<=0||Y===X.length-1)return null;return X.slice(Y+1)}return X}function k$1($,Z){if(!$||!Z)return null;let G=$.indexOf(":"),X=(G>=0?$.slice(0,G):$).toLowerCase(),Q=`.${Z.toLowerCase().replace(/^\.+|\.+$/g,"")}`;if(!X.endsWith(Q))return null;let J=X.slice(0,X.length-Q.length);if(!J||J.includes("."))return null;return J}async function S64($,Z){let G=k$1($.headers.get("host"),Z.baseDomain);if(!G)return null;let X=await Z.getRunner();if(!X)return ht(503,"preview proxy not configured");let Y=await X.proxyPreviewRequest(G,$);if(Y.headers.get(sS)&&q64($))return M64();return Y.headers.delete(sS),Y}function ht($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function UL0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function V64($,Z,G){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let X=k$1($.headers.get("host"),G.baseDomain);if(!X)return null;let Y=await G.getRunner();if(!Y)return ht(503,"preview proxy not configured");let Q=await Y.resolvePreviewUpstreamUrl(X);if(!Q)return ht(404,"sandbox not found");let J=new URL($.url);if(J.pathname.startsWith("/_sandbox")||J.pathname.startsWith("/_decopilot_vm"))return ht(404,"not found");let W=`${Q.replace(/^http/,"ws")}${J.pathname}${J.search}`,K=$.headers.get("sec-websocket-protocol"),w=K?K.split(",").map((H)=>H.trim()).filter(Boolean):[],U={kind:"preview",upstreamUrl:W,upstreamProtocols:w,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:U}))return ht(426,"upgrade failed");return}function gt($,Z,G,X){if(Z.closed)return;Z.closed=!0;try{$.close(G,X)}catch{}try{Z.upstream?.close()}catch{}}var I64=256,R64='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>',C64;var Y_$=O(()=>{In0();C64={open($){let Z=$.data;if(!UL0(Z))return;let G;try{G=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(X){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${X instanceof Error?X.message:String(X)}`),gt($,Z,1011,"upstream connect failed");return}G.binaryType="arraybuffer",Z.upstream=G,G.addEventListener("open",()=>{while(Z.pending.length>0){let X=Z.pending.shift();if(X!==void 0)G.send(X)}}),G.addEventListener("message",(X)=>{if(Z.closed)return;$.send(X.data)}),G.addEventListener("close",(X)=>{gt($,Z,X.code||1000,X.reason||"")}),G.addEventListener("error",()=>{gt($,Z,1011,"upstream error")})},message($,Z){let G=$.data;if(!UL0(G))return;let X=G.upstream;if(X&&X.readyState===WebSocket.OPEN){X.send(Z);return}if(G.pending.length>=I64){gt($,G,1011,"preview ws backlog overflow");return}G.pending.push(Z)},close($){let Z=$.data;if(!UL0(Z))return;gt($,Z,1000,"")}}});var K_$={};Z6(K_$,{printBanner:()=>b64,bannerLines:()=>W_$,BANNER_LINES:()=>Q_$,BANNER_GRADIENT:()=>J_$});function _64($){let Z=Number.parseInt($.slice(1),16);return[Z>>16&255,Z>>8&255,Z&255]}function W_$($){let Z=Q_$.map((G,X)=>{let[Y,Q,J]=_64(J_$[X]);return`\x1B[38;2;${Y};${Q};${J}m${G}\x1B[39m`});if($!==void 0)Z.push(`\x1B[2m v${$}\x1B[22m`);return Z}function b64($){console.log("");for(let Z of W_$($))console.log(Z);console.log("")}var Q_$,J_$;var w_$=O(()=>{Q_$=[" \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 "],J_$=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});var F_$={};Z6(F_$,{bootstrapDevLinkSession:()=>d64});import{existsSync as f64}from"fs";import{chmod as x64,mkdir as v64,rename as y64,writeFile as g64}from"fs/promises";import{dirname as h64,join as U_$}from"path";function c64($){return U_$($,"dev-link")}function u64($){let Z=process.env.DEV_LINK_SESSION_PATH;if(Z&&Z.trim()!=="")return Z;return U_$(c64($),"session.json")}async function d64($,Z){let G=u64($),X=u6().db,Y=SQ()?await Sn():await X.selectFrom("user").select(["id","email","name"]).orderBy("createdAt","desc").executeTakeFirst();if(!Y?.id)return null;if(f64(G))try{let w=await Bun.file(G).json(),U=w.user?.sub,F=w.accessToken;if(U===Y.id&&typeof F==="string"){if(await Z4.api.verifyApiKey({body:{key:F}}).then((N)=>N?.valid===!0).catch(()=>!1))return{path:G,userSub:U}}}catch{}let Q=null;try{Q=await Z4.api.createApiKey({body:{name:"dev-link (auto-minted by bun run dev)",userId:Y.id,permissions:{"*":["*"]},expiresIn:2592000,rateLimitEnabled:!1}})}catch(K){return console.warn("[dev-link] failed to mint API key:",K instanceof Error?K.message:String(K)),null}if(!Q?.key)return null;let J={target:Z,clientId:"dev-link",user:{sub:Y.id,...Y.email?{email:Y.email}:{},...Y.name?{name:Y.name}:{}},accessToken:Q.key,createdAt:new Date().toISOString()};await v64(h64(G),{recursive:!0});let W=`${G}.tmp`;return await g64(W,JSON.stringify(J,null,2),{mode:384}),await x64(W,384),await y64(W,G),{path:G,userSub:Y.id}}var H_$=O(()=>{R3();gw();_N()});Z9();var y$1="4";function g$1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:y$1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}z8();I5();function Rb$(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function xL0($,Z){for(let G=0;G<$.length;G++){let X=$[G];if(X===void 0)continue;if(X===Z)return $[G+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function z81(){let $=Rb$();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:xL0($,"--cpu-prof-dir")??process.cwd(),name:xL0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(xL0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}gL0();var ot;function k81(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let G=HB();if(!G)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),Q=Y(),J=Object.entries(Q.objectTypeCounts).sort((W,K)=>K[1]-W[1]).slice(0,20);X={objectCount:Q.objectCount,heapSize:Q.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:G.rss,heapUsed:G.heapUsed,heapTotal:G.heapTotal,external:G.external,arrayBuffers:G.arrayBuffers,...X}))};return Z().catch(()=>{}),ot=setInterval(()=>void Z().catch(()=>{}),$),ot.unref?.(),process.on("SIGUSR2",()=>{try{let G=Bun.generateHeapSnapshot("v8"),X=typeof G==="string"?G:JSON.stringify(G),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(G){console.error("[heap-watch] snapshot failed:",G)}}),()=>{if(ot)clearInterval(ot)}}import*as kb$ from"bun:jsc";var{startSamplingProfiler:Sb$,samplingProfilerStackTraces:Vb$}=kb$;function S81(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Sb$()}catch(Q){return console.error("[stall-watchdog] failed to start sampling profiler:",Q),()=>{}}let G,X=performance.now()+Z,Y=()=>{let Q=performance.now(),J=Q-X;X=Q+Z;let W=[];try{W=Vb$()?.traces??[]}catch{}if(J>$&&W.length>0){let K=new Map;for(let U of W){let F=U.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??U.frames[0];if(!F)continue;let H=(F.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),N=`${F.name??"?"} @ ${H}:${F.line??"?"}`;K.set(N,(K.get(N)??0)+1)}let w=[...K.entries()].sort((U,F)=>F[1]-U[1]).slice(0,8).map(([U,F])=>({frame:U,count:F}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:W.length,top:w}))}G=setTimeout(Y,Z),G.unref?.()};return G=setTimeout(Y,Z),G.unref?.(),()=>{if(G)clearTimeout(G)}}function V81(){z81();let $=[k81(),M81(),S81()];return()=>{for(let Z of $)Z()}}import{existsSync as o64}from"fs";var xY=E1();E81();var{DBOS:ct,DBOSClient:l64}=await import("@dbos-inc/dbos-sdk");function E_$($,Z){if(!Z)return $;let G=new URL($);if(!G.searchParams.has("sslmode"))G.searchParams.set("sslmode","verify-full");return G.toString()}var m64=[vY,lQ,OK,VU],i64=xY.dispatchRole==="worker"?m64:xY.dispatchRole==="api"?[]:void 0;ct.setConfig(g$1({systemDatabaseUrl:E_$(xY.databaseUrl,xY.databasePgSsl),poolSize:Number(process.env.DBOS_POOL_SIZE??5),executorID:xY.podName,listenQueues:i64}));var{createApp:n64}=await Promise.resolve().then(() => (Sn0(),kn0)),{isServerPath:p64}=await Promise.resolve().then(() => (pt(),$81)),{createAssetHandler:t64,resolveClientDir:L_$}=await Promise.resolve().then(() => (G_$(),Z_$)),r64=xY.port,N_$=L_$(import.meta.url,"../client"),a64=o64(N_$)?N_$:L_$(import.meta.url,"../dist/client"),s64=t64({clientDir:a64,isServerPath:p64}),e64={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function $44($){let Z=new Headers($.headers);for(let[G,X]of Object.entries(e64))Z.set(G,X);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:Z44,tryHandlePreviewHttp:G44,tryUpgradePreviewWs:X44,previewWebSocketHandler:S$1,isPreviewWsData:V$1}=await Promise.resolve().then(() => (Y_$(),X_$)),{getOrInitSharedRunner:Y44}=await Promise.resolve().then(() => (In(),xY$)),z_$=Z44(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),B_$={baseDomain:z_$??"",getRunner:Y44},FL0=await n64(),C$1=process.env.DBOS_CONDUCTOR_KEY?.trim(),O_$=process.env.DBOS_CONDUCTOR_URL?.trim();await ct.launch({...C$1?{conductorKey:C$1}:{},...C$1&&O_$?{conductorURL:O_$}:{}});console.log(`[dbos] application version: ${ct.applicationVersion}`);await FL0.initDbos();if(!xY.isCli){let{bannerLines:$}=await Promise.resolve().then(() => (w_$(),K_$));console.log("");for(let Z of $())console.log(Z)}var Q44=Bun.serve({idleTimeout:0,port:r64,hostname:"0.0.0.0",fetch:async($,Z)=>{if(z_$){let X=await X44($,Z,B_$);if(X===void 0)return;if(X)return X;let Y=await G44($,B_$);if(Y)return Y}let G=await s64($);if(G)return $44(G);return FL0.fetch($,{server:Z})},websocket:{open($){if(V$1($.data))S$1.open($)},message($,Z){if(V$1($.data))S$1.message($,Z)},close($){if(V$1($.data))S$1.close($)}},development:!1}),J44=V81();if(xY.localMode)Promise.resolve().then(() => (_N(),GN0)).then(async({seedLocalMode:$,markSeedComplete:Z})=>{try{let G=await $();if(process.env.DEV_LINK_SESSION_PATH)try{let{bootstrapDevLinkSession:X}=await Promise.resolve().then(() => (H_$(),F_$)),Y=xY.baseUrl??`http://localhost:${xY.port}`,Q=await X(xY.dataDir,Y);if(Q)console.log(`[dev-link] session ready at ${Q.path} (userSub=${Q.userSub})`);else console.warn("[dev-link] no admin user yet \u2014 skipping session bootstrap. The auto-spawned link will refuse to start until an admin exists.")}catch(X){console.error("[dev-link] bootstrap failed:",X)}}catch(G){console.error("Failed to seed local mode:",G)}finally{Z()}}).catch(async($)=>{console.error("Failed to load local-mode module:",$);try{let{markSeedComplete:Z}=await Promise.resolve().then(() => (_N(),GN0));Z()}catch{}});var D_$=!1;async function W44($){let Z;try{Z=await l64.create({systemDatabaseUrl:E_$(xY.databaseUrl,xY.databasePgSsl),systemDatabaseSchemaName:"dbos"});let G=await Z.listWorkflows({status:"PENDING",queueName:lQ,executorId:$,loadInput:!1,loadOutput:!1});if(G.length===0){console.log(`[shutdown] no in-flight thread-gate gates to hand off (executor ${$})`);return}let X=G.map((Y)=>Y.workflowID);await Z.resumeWorkflows(X,{queueName:lQ}),console.log(`[shutdown] re-enqueued ${X.length} in-flight thread-gate gate(s) for re-adoption by a live executor (from ${$}):`,X)}catch(G){console.error("[shutdown] thread-gate handoff failed:",G)}finally{await Z?.destroy().catch(()=>{})}}async function HL0($){if(D_$)return;D_$=!0,console.log(`
|
|
2604
2604
|
[shutdown] Received ${$}, shutting down gracefully...`);let Z=Number(process.env.SHUTDOWN_GRACE_SECONDS??60)*1000,G=Math.max(Z-5000,1e4),X=setTimeout(()=>{console.error(`[shutdown] Timed out after ${G}ms, forcing exit.`),process.exit(1)},G);X.unref?.();let Y=0;try{J44(),FL0.markShuttingDown();let Q=Number(process.env.SHUTDOWN_DRAIN_MS??Math.floor(G*0.6));await n8(Q),await Q44.stop(!0);let J=ct.executorID;await ct.shutdown(),await W44(J),await FL0.shutdown()}catch(Q){console.error("[shutdown] Error during shutdown:",Q),Y=1}clearTimeout(X),process.exit(Y)}process.on("SIGTERM",()=>HL0("SIGTERM"));process.on("SIGINT",()=>HL0("SIGINT"));process.on("SIGHUP",()=>HL0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),HL0("uncaughtException")});
|