decocms 3.16.0 → 3.16.2
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/README.md +1 -0
- package/dist/client/assets/{AlertCircle-BI29wjuV.js → AlertCircle-DWAN9Wtv.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-C7v72TP5.js → ArrowUpRight-BUVCeBgF.js} +1 -1
- package/dist/client/assets/{Check-CzIme0W8.js → Check-xK0Dpy7Y.js} +1 -1
- package/dist/client/assets/{CheckCircle--UGh3wJv.js → CheckCircle-CfsfuPyo.js} +1 -1
- package/dist/client/assets/{ChevronDown-Cu9H0qjA.js → ChevronDown-CRCwC3Li.js} +1 -1
- package/dist/client/assets/{ChevronLeft-D8npbjMi.js → ChevronLeft-DqUB5GkQ.js} +1 -1
- package/dist/client/assets/{ChevronRight-Bqn4Advl.js → ChevronRight-BQ7uT0fS.js} +1 -1
- package/dist/client/assets/{ChevronUp-DYpdNcmd.js → ChevronUp-Dz9zLt9c.js} +1 -1
- package/dist/client/assets/{Container-BRy06Lyg.js → Container-DvCkiP_Y.js} +1 -1
- package/dist/client/assets/{DotsVertical-BB53L8iN.js → DotsVertical-DDFyK0FL.js} +1 -1
- package/dist/client/assets/{Eye-BID-l8WP.js → Eye-BGU8SU3T.js} +1 -1
- package/dist/client/assets/{FilterLines-daWZ2vq9.js → FilterLines-xSfTaBHA.js} +1 -1
- package/dist/client/assets/{Globe01-aNhDj-hh.js → Globe01-DdayJDGq.js} +1 -1
- package/dist/client/assets/{HardDrive-B6ZdqAkR.js → HardDrive-D1r8CfAN.js} +1 -1
- package/dist/client/assets/{Key01-B8rXI_e_.js → Key01-ABfgWq8X.js} +1 -1
- package/dist/client/assets/{LayoutLeft-Dqyy4chy.js → LayoutLeft-09hONDEE.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DRQv2AkL.js → LinkExternal01-B9Zg787Y.js} +1 -1
- package/dist/client/assets/{Monitor01-Dt57JiF5.js → Monitor01-Ba0W4-pP.js} +1 -1
- package/dist/client/assets/{Palette-jtJnyFtk.js → Palette-LWQb8urx.js} +1 -1
- package/dist/client/assets/{Play-DNH1qpro.js → Play-CGwVHot6.js} +1 -1
- package/dist/client/assets/{Plus-C1PiVejT.js → Plus-Bk7xoiFI.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-DsfbqzHk.js → RefreshCcw01-Zo79KeBk.js} +1 -1
- package/dist/client/assets/{SearchMd-D_uAO4J8.js → SearchMd-Cucit25J.js} +1 -1
- package/dist/client/assets/{Settings02-DcpJptDA.js → Settings02-DD4r3M2k.js} +1 -1
- package/dist/client/assets/{Shield01-DcR7qxU-.js → Shield01-JdamIQzm.js} +1 -1
- package/dist/client/assets/{Star01-Cw6noCyb.js → Star01-CH3pdn5T.js} +1 -1
- package/dist/client/assets/{Stars01-xYwET6Ed.js → Stars01-BFj05_x0.js} +1 -1
- package/dist/client/assets/{Stars02-BhlYy0AM.js → Stars02-CHlB0qtO.js} +1 -1
- package/dist/client/assets/{Sun-Bdye4fDW.js → Sun-BCcF0C4W.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Bn_enG-b.js → SwitchHorizontal01-C-5DM8z_.js} +1 -1
- package/dist/client/assets/{Tool01-DiylH4v8.js → Tool01-CMiV5tFB.js} +1 -1
- package/dist/client/assets/{Trash01-pQiKFAO7.js → Trash01-isP2OC4b.js} +1 -1
- package/dist/client/assets/{Upload01-1oZkFffM.js → Upload01-BLR1jV4q.js} +1 -1
- package/dist/client/assets/{User01-MvLyO1cw.js → User01-CMpA7ymY.js} +1 -1
- package/dist/client/assets/{Users01-DO83y5ko.js → Users01-But-x6Bu.js} +1 -1
- package/dist/client/assets/{Users03-CkuhA4Dx.js → Users03-BYpajxW9.js} +1 -1
- package/dist/client/assets/{X-CTeCarZS.js → X-CyJzEHvU.js} +1 -1
- package/dist/client/assets/{XCircle-CkQveB1C.js → XCircle-CHjjMnp4.js} +1 -1
- package/dist/client/assets/{XClose-BLPAxzWg.js → XClose-CCAPm8jH.js} +1 -1
- package/dist/client/assets/{Zap-DILryqEk.js → Zap-CmhE8hc8.js} +1 -1
- package/dist/client/assets/{ZapSquare-BzBTc27d.js → ZapSquare-BETHX9wd.js} +1 -1
- package/dist/client/assets/{ZoomOut-Dyg6Ynvk.js → ZoomOut-CB5BQPqo.js} +1 -1
- package/dist/client/assets/{access-gate-BIXm_Gv1.js → access-gate-Cvear7H5.js} +1 -1
- package/dist/client/assets/{accordion-C7KkkA3P.js → accordion-B6jfush9.js} +1 -1
- package/dist/client/assets/{add-section-modal-DfAQZIST.js → add-section-modal-DxtUTesW.js} +1 -1
- package/dist/client/assets/{agent-capabilities-xBlip94j.js → agent-capabilities-QazvcZO5.js} +1 -1
- package/dist/client/assets/{agent-icon-BxBotA9F.js → agent-icon-DIgg-_T7.js} +1 -1
- package/dist/client/assets/{agent-icons-BqPp8RVg.js → agent-icons-C5suS1LV.js} +1 -1
- package/dist/client/assets/{agents-list-BsMdT6QO.js → agents-list-D3p2hTWz.js} +1 -1
- package/dist/client/assets/{ai-providers-DqPqzK_n.js → ai-providers-BocpMaUv.js} +1 -1
- package/dist/client/assets/{alert-dialog-DFPTa24v.js → alert-dialog-CHQQ-z6i.js} +1 -1
- package/dist/client/assets/{alert-BD7VqAP9.js → alert-jqHZmOs0.js} +1 -1
- package/dist/client/assets/app-editor-Bo2y2-Ww.js +1 -0
- package/dist/client/assets/{auth-catchall-D5fxR7Bt.js → auth-catchall-ygLJOyfE.js} +1 -1
- package/dist/client/assets/{auth-split-layout-BZeF4sNr.js → auth-split-layout-DxOlVIyj.js} +1 -1
- package/dist/client/assets/{automation-list-row-BdZ8w_R2.js → automation-list-row-DzvppJsT.js} +1 -1
- package/dist/client/assets/{automation-runs-B5wicb8t.js → automation-runs-gzCejmHa.js} +1 -1
- package/dist/client/assets/{automations-L8OvBcgs.js → automations-bfESKZ_A.js} +1 -1
- package/dist/client/assets/{avatar-Br8xwE6z.js → avatar-BFeUdXJO.js} +1 -1
- package/dist/client/assets/{badge-C0C9P1aK.js → badge-DQMoKi7V.js} +1 -1
- package/dist/client/assets/{brand-context-BF0JPM43.js → brand-context-CFYLmdnl.js} +1 -1
- package/dist/client/assets/{buckets-DhdPLfld.js → buckets-J8iQ0uHe.js} +1 -1
- package/dist/client/assets/{calendar-C3nPDh1_.js → calendar-C13zdVr5.js} +1 -1
- package/dist/client/assets/{capability-load-error-CVivlcE_.js → capability-load-error-CVvFf6Pn.js} +1 -1
- package/dist/client/assets/{card-DHB2ZjmS.js → card-3XMXf9Bu.js} +1 -1
- package/dist/client/assets/{chat-context-zLKrJQ3p.js → chat-context-ChBT7-Rd.js} +1 -1
- package/dist/client/assets/{checkbox-BiB1kMdv.js → checkbox-Dp-yuCUI.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BIwCU5bb.js → cli-auth-success-Dv7SWRHM.js} +1 -1
- package/dist/client/assets/{collection-detail-CX9YjCuj.js → collection-detail-iLCHOcfv.js} +1 -1
- package/dist/client/assets/{collection-display-button-Cx86q8Jp.js → collection-display-button-DFVY_zjQ.js} +1 -1
- package/dist/client/assets/{collection-search-Bs1yJ02v.js → collection-search-DFtCpwS7.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CVEgeIVZ.js → collection-table-wrapper-BnxEBWoL.js} +1 -1
- package/dist/client/assets/{collection-tabs-Dec305bU.js → collection-tabs-BUlvY_r4.js} +1 -1
- package/dist/client/assets/{collections-CYRGmk_F.js → collections-BTNqn2V4.js} +1 -1
- package/dist/client/assets/{command-PPVW10Ii.js → command-DUxTfw5B.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-B5LRff1G.js → connect-desktop-dialog-BH-F_jfx.js} +1 -1
- package/dist/client/assets/{connection-card-Bfui2fXk.js → connection-card-BQ86JW8A.js} +1 -1
- package/dist/client/assets/{connection-detail-BQa-1Soy.js → connection-detail-DNHb8jnI.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BX-jwBGP.js → connection-form-helpers-CQlz6oZo.js} +1 -1
- package/dist/client/assets/{connections-Bpg7Erwj.js → connections-BZZKz9c_.js} +1 -1
- package/dist/client/assets/{constants-CYEfRxai.js → constants-B4EuapOM.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-D55kTQO_.js → decopilot-sse-pool-ChlaFOKg.js} +1 -1
- package/dist/client/assets/{dialog-gzgAgwdt.js → dialog-Bih6ACDQ.js} +1 -1
- package/dist/client/assets/{domain-settings-7HpyfAeq.js → domain-settings-B4NqtLc-.js} +1 -1
- package/dist/client/assets/{drawer-DIUVpTJU.js → drawer-CIQIBGBn.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BLh_frb5.js → dropdown-menu-3oZEaZbE.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-Cu9g18cN.js → dynamic-plugin-layout-CjrUTTfO.js} +1 -1
- package/dist/client/assets/{empty-state-CYnFHEkU.js → empty-state-B7frmOjw.js} +1 -1
- package/dist/client/assets/{empty-state-C77RR4Bp.js → empty-state-Nqh-4CDR.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BnO5S8nS.js → extract-connection-data-tKLjhHF7.js} +1 -1
- package/dist/client/assets/{features-DVQo2j2Q.js → features-ctz4EgYG.js} +1 -1
- package/dist/client/assets/{file-explorer-saWJkNHd.js → file-explorer-DheHXF3j.js} +1 -1
- package/dist/client/assets/{file-type-icon-DUV477F6.js → file-type-icon-EKrn5BCe.js} +1 -1
- package/dist/client/assets/{files-DPtssiuA.js → files-BDWIxhAL.js} +1 -1
- package/dist/client/assets/{form-CkQfVZw7.js → form-B8zr6-5o.js} +1 -1
- package/dist/client/assets/{general-Ckzm0vna.js → general-Ou3NBZIp.js} +1 -1
- package/dist/client/assets/{generate-id-CEntJ3oE.js → generate-id-CUPg0vof.js} +1 -1
- package/dist/client/assets/{github-repo-picker-DFQRcS2N.js → github-repo-picker-C034sGIC.js} +1 -1
- package/dist/client/assets/{header-tab-button-_bCRznp7.js → header-tab-button-DpxBT1jc.js} +1 -1
- package/dist/client/assets/{hover-card-pZPjUxSL.js → hover-card-BrumZu5x.js} +1 -1
- package/dist/client/assets/{image-field-BFHPv86g.js → image-field-CvWT7Aql.js} +1 -1
- package/dist/client/assets/{index-DTWN_XHU.js → index-B0eKpUZ_.js} +1 -1
- package/dist/client/assets/{index-DaXyZQs-.js → index-B9fSDZP7.js} +1 -1
- package/dist/client/assets/{index-Chd7QSCp.js → index-BWPhdkP3.js} +1 -1
- package/dist/client/assets/{index-CtwhBYz4.js → index-Babe4L6W.js} +1 -1
- package/dist/client/assets/{index-DOTXqORm.js → index-BlX12RAb.js} +1 -1
- package/dist/client/assets/{index-BEBk-pGk.js → index-C-JoKMmM.js} +1 -1
- package/dist/client/assets/{index-BbUMoI92.js → index-C2tzFprH.js} +1 -1
- package/dist/client/assets/{index-a0yTkymL.js → index-CI96ibWf.js} +1 -1
- package/dist/client/assets/{index-nZjZ9tZ8.js → index-COmFbgEW.js} +4 -4
- package/dist/client/assets/{index-BSC-VTZr.js → index-CQS7Cf-0.js} +1 -1
- package/dist/client/assets/{index-CYteHjiO.js → index-C_PyotX6.js} +1 -1
- package/dist/client/assets/{index-DcKZQyuJ.js → index-CcLeWCM0.js} +3 -3
- package/dist/client/assets/{index-BQ1u9buh.js → index-D1HFKPiQ.js} +1 -1
- package/dist/client/assets/{index-TaR-5k-m.js → index-DOtQwzzq.js} +1 -1
- package/dist/client/assets/{index-DulELJbA.js → index-eBlc86qP.js} +1 -1
- package/dist/client/assets/{index-redirect-ukPgGeMA.js → index-redirect-YV0RtwpL.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-BCvlTYZ7.js → infiniteQueryObserver-Cku1gzM9.js} +1 -1
- package/dist/client/assets/{input-DJMcepu5.js → input-D4tkpM3Q.js} +1 -1
- package/dist/client/assets/{integration-icon-DT-I2Gna.js → integration-icon-BuQ_gjKo.js} +1 -1
- package/dist/client/assets/{label-Cr9sEKXW.js → label-CBw4fo7J.js} +1 -1
- package/dist/client/assets/{layout-BTB1a8Jq.js → layout-B3W0nEaO.js} +1 -1
- package/dist/client/assets/{login-DClVEvkP.js → login-Bbylni06.js} +1 -1
- package/dist/client/assets/{members-CwTGsF9u.js → members-CcfrpMzO.js} +1 -1
- package/dist/client/assets/{monaco-editor-BH3qQvMf.js → monaco-editor-D1gfoKcG.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-sGAvXnO4.js → monitoring-stats-row-BccJSKjN.js} +1 -1
- package/dist/client/assets/{oauth-callback-DAgVWTiX.js → oauth-callback-B8lcXHyi.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CwbyTHvu.js → oauth-callback-ai-provider-DXVQFRaV.js} +1 -1
- package/dist/client/assets/{onboarding-DPGdwS4j.js → onboarding-U0X8CRAx.js} +1 -1
- package/dist/client/assets/{org-install-Om2sLwcp.js → org-install-CISy3VNY.js} +1 -1
- package/dist/client/assets/{org-layout-BeikhO8n.js → org-layout-Dj0uEKhS.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-B4rNmeAX.js → org-plugin-layout-mr1CZw07.js} +1 -1
- package/dist/client/assets/{page-seo-form-DUyoSuf4.js → page-seo-form-s-IH69b9.js} +1 -1
- package/dist/client/assets/page-seo-sheet-BtS_oF_p.js +1 -0
- package/dist/client/assets/{pair-BVQHY5D-.js → pair-aV4dp_2w.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-pgMXgxsa.js → plugin-empty-state-DCTXe7Oe.js} +1 -1
- package/dist/client/assets/{plugin-header-gyIfG86f.js → plugin-header-B0JpgOTJ.js} +1 -1
- package/dist/client/assets/{plugin-layout-DIuSCl-f.js → plugin-layout-DaDHg1Qt.js} +1 -1
- package/dist/client/assets/{popover-BJucz03L.js → popover-DzxxHpoh.js} +1 -1
- package/dist/client/assets/{post-editor-pPdCIaGJ.js → post-editor-XCm0U2U5.js} +1 -1
- package/dist/client/assets/{primitives-CLEiF2hv.js → primitives-DWH4-T87.js} +1 -1
- package/dist/client/assets/{profile-DnVd3fGw.js → profile-R3LkQ-eG.js} +1 -1
- package/dist/client/assets/project-app-view-DbIC8Cv3.js +1 -0
- package/dist/client/assets/record-editor-WD3iCePu.js +1 -0
- package/dist/client/assets/registry-CVnC7GxK.js +2 -0
- package/dist/client/assets/{registry-layout-Dr1DptzB.js → registry-layout-CO_F-Dh-.js} +1 -1
- package/dist/client/assets/{require-capability-4xKgzcUg.js → require-capability-1PkKBSIY.js} +1 -1
- package/dist/client/assets/{required-auth-layout-KoTw7aby.js → required-auth-layout-iWiBTPH_.js} +1 -1
- package/dist/client/assets/{reset-password-DfAOwY4o.js → reset-password-DyYQi9Rn.js} +1 -1
- package/dist/client/assets/{resizable-zd70SiQl.js → resizable-DU2AQpyt.js} +1 -1
- package/dist/client/assets/{roles-IQRs-oMz.js → roles-BUWKnu9J.js} +1 -1
- package/dist/client/assets/{save-status-1qmNBhvh.js → save-status-BNoG5-z-.js} +1 -1
- package/dist/client/assets/{schema-form-C8qbvCuU.js → schema-form-DRgjPGyH.js} +1 -1
- package/dist/client/assets/{scroll-area-Ct4CZIU9.js → scroll-area-JxmFjgmO.js} +1 -1
- package/dist/client/assets/{search-input-_kGGoeN0.js → search-input-DvR9ui1n.js} +1 -1
- package/dist/client/assets/{secrets-BgA_WrQJ.js → secrets-DcTIAE2o.js} +1 -1
- package/dist/client/assets/{sections-editor-BXye9iXO.js → sections-editor-DD2l_RYq.js} +1 -1
- package/dist/client/assets/{select-BAuhetjO.js → select-Ds6ot749.js} +1 -1
- package/dist/client/assets/{select-model-YdtUkBdj.js → select-model-Cm5R7hEL.js} +1 -1
- package/dist/client/assets/{seo-editor-C9oG70S-.js → seo-editor-BsKeQahA.js} +1 -1
- package/dist/client/assets/{settings-layout-BS74fcW3.js → settings-layout-BamMg8M8.js} +1 -1
- package/dist/client/assets/{settings-section-CrTnvPGn.js → settings-section-se4I_s0Y.js} +1 -1
- package/dist/client/assets/{sheet-CEroNldF.js → sheet-BC34MSz-.js} +1 -1
- package/dist/client/assets/{shell-controls-6EA5TDcT.js → shell-controls-CkNDPKdH.js} +1 -1
- package/dist/client/assets/{shell-layout-BWd2t5eF.js → shell-layout-NqZvU3iV.js} +1 -1
- package/dist/client/assets/{shell-route-loading-DitfU_kW.js → shell-route-loading-BEDWTKDJ.js} +1 -1
- package/dist/client/assets/{sidebar-m7r8MsH7.js → sidebar-_BktlIC2.js} +1 -1
- package/dist/client/assets/{skeleton-CU7F22Jn.js → skeleton-BjYtlc5G.js} +1 -1
- package/dist/client/assets/{sortable.esm-8M6K4BUv.js → sortable.esm-Dn7WTqrt.js} +1 -1
- package/dist/client/assets/{spinner-bnBvLwbh.js → spinner-E-_W1w27.js} +1 -1
- package/dist/client/assets/{sso-C68k0Mix.js → sso-BDAqcm1E.js} +1 -1
- package/dist/client/assets/{store-DyTfGyf0.js → store-DkSeIJG3.js} +1 -1
- package/dist/client/assets/store-registry-DT0wjIec.js +2 -0
- package/dist/client/assets/{switch-dY_VAcRs.js → switch-D2gl20Ha.js} +1 -1
- package/dist/client/assets/{tab-id-BagNEu3n.js → tab-id-LHYHtZH7.js} +1 -1
- package/dist/client/assets/{table-BUxes8CZ.js → table-Cyx-kXGn.js} +1 -1
- package/dist/client/assets/{tabs-D06cnISc.js → tabs-BKAGAlHY.js} +1 -1
- package/dist/client/assets/{task-status-B_ardHmn.js → task-status-DPahS8ZP.js} +1 -1
- package/dist/client/assets/{textarea-DZoSL0GR.js → textarea-CUcRkWsl.js} +1 -1
- package/dist/client/assets/{toggle-group-Ch4zZK9m.js → toggle-group-DtKnMsvr.js} +1 -1
- package/dist/client/assets/{toolbar-DkxkF6VK.js → toolbar-Cqfedhq-.js} +1 -1
- package/dist/client/assets/{tools-list-CBzQhuFR.js → tools-list-e8bOkZHq.js} +1 -1
- package/dist/client/assets/{tooltip-kfM0uFHG.js → tooltip-DRMAEikW.js} +1 -1
- package/dist/client/assets/{types-DfFsOaFK.js → types-KaaPc28J.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CqmhvgV_.js → use-ai-providers-DihBbqAu.js} +1 -1
- package/dist/client/assets/{use-automations-BdQQ71yz.js → use-automations-BbaEVQDB.js} +1 -1
- package/dist/client/assets/{use-capability-5orkywIa.js → use-capability-CUKXLLhR.js} +1 -1
- package/dist/client/assets/{use-collections-C8qZJbjd.js → use-collections-CPhLPMA1.js} +1 -1
- package/dist/client/assets/{use-connection-a8JqT7Hs.js → use-connection-ZjA_eNS_.js} +1 -1
- package/dist/client/assets/{use-copy-wN82Hpni.js → use-copy-3MvUNP4S.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Dgs66Y5Y.js → use-create-virtual-mcp-ChSytD_i.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-C6DZZmUB.js → use-debounced-autosave-pprgkHW9.js} +1 -1
- package/dist/client/assets/{use-delete-connection-XLrcgkbn.js → use-delete-connection-Cz3xgzRz.js} +1 -1
- package/dist/client/assets/{use-file-configs-BT_EOXfV.js → use-file-configs-2NFFfwfH.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-CgjxiTmk.js → use-infinite-scroll-COdc2GH1.js} +1 -1
- package/dist/client/assets/{use-list-state-D0As8c67.js → use-list-state-C_tbDmOM.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-C2ItjHD3.js → use-mcp-prompts-BsqXI5r1.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BdvMnpfa.js → use-mcp-tools-CUbSP8xh.js} +1 -1
- package/dist/client/assets/{use-members-CYltJdm0.js → use-members-Yl35sFKR.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-BDimQ3jK.js → use-navigate-to-agent-x5_9jLH9.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-BaK_Zgrp.js → use-org-auth-client-h8XbgAXX.js} +1 -1
- package/dist/client/assets/{use-org-sso-DuW4VKS8.js → use-org-sso-DXGDI8WF.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Djg0NVJZ.js → use-organization-roles-BT_LHxIu.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BnV-_vYc.js → use-organization-settings-ip6zwB85.js} +1 -1
- package/dist/client/assets/{use-registry-connections-DvRELYMO.js → use-registry-connections-CXQpQsMC.js} +1 -1
- package/dist/client/assets/{use-secrets-OBGcNU6r.js → use-secrets-CIhkkl2y.js} +1 -1
- package/dist/client/assets/{use-status-sounds-CDuKS7ck.js → use-status-sounds-DOeFMvml.js} +1 -1
- package/dist/client/assets/{use-view-mode-BqcE_il6.js → use-view-mode-CFRLYWRD.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-jJ6PSGDU.js → use-virtual-mcp-BpJT2VUX.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-ToPI6RXX.js +1 -0
- package/dist/client/assets/{useRouterState-DaCAFXu7.js → useRouterState-DFvC-VAf.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Cj4Q2pz4.js +1 -0
- package/dist/client/assets/{user-BDW_hAZM.js → user-BTk_ZF5V.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DmIGhpeB.js → view-mode-toggle-CicM0lRF.js} +1 -1
- package/dist/client/assets/{workflow-NJRMccB4.js → workflow-C5YLhlRn.js} +1 -1
- package/dist/client/assets/workflow-detail-C3OI3afc.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +4 -4
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +3 -3
- package/package.json +1 -1
- package/dist/client/assets/app-editor-DEN71qY7.js +0 -1
- package/dist/client/assets/page-seo-sheet-D7ei5AIE.js +0 -1
- package/dist/client/assets/project-app-view-LTZlJF2k.js +0 -1
- package/dist/client/assets/record-editor-gNDn3aRf.js +0 -1
- package/dist/client/assets/registry-BA14L3jY.js +0 -2
- package/dist/client/assets/store-registry-Bvo7EI1p.js +0 -2
- package/dist/client/assets/useInfiniteQuery-5iq7zgt6.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CtBxh6Xe.js +0 -1
- package/dist/client/assets/workflow-detail-DFaqMzZD.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -141,7 +141,7 @@ Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.ht
|
|
|
141
141
|
Then retry.`);console.error(`[ensurePostgres] pg.initialise() failed. dataDir=${l}`,g);let E=N_(i,"postgres");if(E&&S$(E.pid,"postgres"))return t.state="running",t.pid=E.pid,t.port=E.port,t.owner="managed",t;throw g}await $.start();try{await $.createDatabase(rYt)}catch(g){if(!(g instanceof Error?g.message:String(g)).includes("already exists"))throw g}await Iui(f);let _=null;if(X_(n)){let g=Uui(n,"utf8").split(`
|
|
142
142
|
`)[0]?.trim();if(g)_=Number.parseInt(g,10)}if(_)Zui(i,"postgres",{pid:_,port:f,startedAt:new Date().toISOString()}),t.pid=_;return t.state="running",t.owner="managed",t}async function Q2l(i){let t=N_(i,"postgres");if(t===null){console.log("PostgreSQL: not running");return}let{pid:u,port:l}=t;if(!Kc(u)){console.log("PostgreSQL: process already dead, cleaning up state"),await Af(i,"postgres");return}if(!S$(u,"postgres")){console.log(`PostgreSQL: PID ${u} no longer belongs to postgres (possible PID reuse), cleaning up state`),await Af(i,"postgres");return}console.log(`PostgreSQL: stopping (PID ${u}, port ${l})...`);let n=C1(J_(i),"postgres","data");try{await new(await import("embedded-postgres")).default({databaseDir:n,port:l,user:BAi,password:QAi,persistent:!0}).stop()}catch{console.log("PostgreSQL: embedded-postgres stop failed, sending SIGTERM...");try{if(!S$(u,"postgres"))console.log(`PostgreSQL: PID ${u} is no longer postgres, skipping signal`);else{process.kill(u,"SIGTERM");let f=Date.now();while(Date.now()-f<5000&&Kc(u))await mu(200);if(Kc(u)&&S$(u,"postgres"))process.kill(u,"SIGKILL")}}catch{}}await Af(i,"postgres"),console.log("PostgreSQL stopped")}function Y2l(){let i=Tui(),t=IAi(),u={darwin:"darwin",linux:"linux",win32:"windows"},l={arm64:"arm64",x64:"amd64"},n=u[i],f=l[t];if(!n||!f)throw Error(`Unsupported platform: ${i}/${t}`);return`nats-server-${wYt}-${n}-${f}.zip`}function P2l(i){return C1(J_(i),"nats","bin",`nats-server${AAi}`)}async function A2l(i){let t=P2l(i);if(X_(t))return t;let u=C1(J_(i),"nats","bin");U8(u);let l=Y2l(),n=`https://github.com/nats-io/nats-server/releases/download/${wYt}/${l}`,f=await fetch(n);if(!f.ok)throw Error(`Failed to download NATS: ${f.status} ${f.statusText}`);let c=C1(u,l),$=await f.arrayBuffer();if(ZAi(c,Buffer.from($)),s6){if(await Bun.spawn(["powershell","-Command",`Expand-Archive -Path '${c}' -DestinationPath '${u}' -Force`]).exited,!X_(t)){let _=C1(u,l.replace(/\.zip$/,"")),g=C1(_,`nats-server${AAi}`);if(X_(g))hYt(g,t),O2l(_,{recursive:!0,force:!0})}}else await Bun.spawn(["unzip","-o","-j",c,"*/nats-server","-d",u]).exited;if(await vYt(c),!s6)await EYt(t,493);if(!X_(t))throw Error(`NATS binary not found at ${t} after extraction`);return t}async function G2l(i){let t={name:"NATS",state:"stopped",pid:null,port:0,owner:"none"},u=N_(i,"nats");if(u!==null){if(S$(u.pid,"nats-server"))return t.state="running",t.pid=u.pid,t.port=u.port,t.owner="managed",t;await Af(i,"nats")}let l=await Fui();t.port=l;let n=await A2l(i),f=C1(J_(i),"nats","data"),c=C1(J_(i),"nats");U8(f);let $=Bun.file(C1(c,"nats.log")),d=Bun.spawn([n,"-p",String(l),"-store_dir",f,"--jetstream"],{stdout:$,stderr:$});return Zui(i,"nats",{pid:d.pid,port:l,startedAt:new Date().toISOString()}),await Iui(l),t.state="running",t.pid=d.pid,t.owner="managed",t}async function W2l(i){let t=N_(i,"nats");if(t===null){console.log("NATS: not running");return}let{pid:u}=t;if(!Kc(u)){console.log("NATS: process already dead, cleaning up state"),await Af(i,"nats");return}if(!S$(u,"nats-server")){console.log(`NATS: PID ${u} no longer belongs to nats-server (possible PID reuse), cleaning up state`),await Af(i,"nats");return}if(console.log(`NATS: stopping (PID ${u})...`),s6)Bun.spawn(["taskkill","/PID",String(u)]);else process.kill(u,"SIGTERM");let l=Date.now();while(Date.now()-l<5000&&Kc(u))await mu(200);if(Kc(u)&&S$(u,"nats-server"))if(console.log("NATS: force killing..."),s6)Bun.spawn(["taskkill","/PID",String(u),"/F"]);else process.kill(u,"SIGKILL");await Af(i,"nats"),console.log("NATS stopped")}function DYt(i,t){return i==="win32"?"minio.exe":"minio"}function OYt(i,t){let u={darwin:"darwin",linux:"linux",win32:"windows"},l={arm64:"arm64",x64:"amd64"},n=u[i],f=l[t];if(!n||!f)throw Error(`Unsupported platform for MinIO: ${i}/${t}`);let c=DYt(i,t);return`https://dl.min.io/server/minio/release/${n}-${f}/${c}`}function k2l(i){return i===void 0||i===""||i==="true"||i==="1"}function j2l(i){return C1(J_(i),"minio","bin",`minio${AAi}`)}async function S2l(i){let t=j2l(i);if(X_(t))return t;let u=C1(J_(i),"minio","bin");U8(u);let l=OYt(Tui(),IAi()),n=await fetch(l);if(!n.ok)throw Error(`Failed to download MinIO: ${n.status} ${n.statusText}`);let f=await n.arrayBuffer(),c=`${t}.download-${process.pid}`;if(ZAi(c,Buffer.from(f)),!s6)await EYt(c,493);if(hYt(c,t),!X_(t))throw Error(`MinIO binary not found at ${t} after download`);return t}async function z2l(i,t=30000){let u=`http://127.0.0.1:${i}/minio/health/ready`,l=Date.now();while(Date.now()-l<t){try{if((await fetch(u)).status===200)return}catch{}await mu(200).catch(()=>{})}throw Error(`Timed out waiting for MinIO readiness at ${u}`)}async function _Yt(i){let{S3Client:t,CreateBucketCommand:u}=await Promise.resolve().then(() => (mG(),dYt)),l=new t({endpoint:i,region:"auto",credentials:{accessKeyId:YAi,secretAccessKey:PAi},forcePathStyle:!0});try{await l.send(new u({Bucket:xYt}))}catch(n){let f=n&&typeof n==="object"&&"name"in n?String(n.name):"";if(f!=="BucketAlreadyOwnedByUs"&&f!=="BucketAlreadyExists"&&!(n instanceof Error&&n.message.includes("already")))throw l.destroy(),n}l.destroy()}async function b2l(i){let t={name:"MinIO",state:"stopped",pid:null,port:0,owner:"none"},u=N_(i,"minio");if(u!==null){if(S$(u.pid,"minio"))return t.state="running",t.pid=u.pid,t.port=u.port,t.owner="managed",await _Yt(`http://127.0.0.1:${u.port}`),t;await Af(i,"minio")}let l=await Fui();t.port=l;let n=await S2l(i),f=C1(J_(i),"minio","data"),c=C1(J_(i),"minio");U8(f);let $=Bun.file(C1(c,"minio.log")),d=Bun.spawn([n,"server",f,"--address",`:${l}`],{env:{...process.env,MINIO_ROOT_USER:YAi,MINIO_ROOT_PASSWORD:PAi},stdout:$,stderr:$});return Zui(i,"minio",{pid:d.pid,port:l,startedAt:new Date().toISOString()}),await z2l(l),await _Yt(`http://127.0.0.1:${l}`),t.state="running",t.pid=d.pid,t.owner="managed",t}async function K2l(i){let t=N_(i,"minio");if(t===null){console.log("MinIO: not running");return}let{pid:u}=t;if(!Kc(u)){console.log("MinIO: process already dead, cleaning up state"),await Af(i,"minio");return}if(!S$(u,"minio")){console.log(`MinIO: PID ${u} no longer belongs to minio (possible PID reuse), cleaning up state`),await Af(i,"minio");return}if(console.log(`MinIO: stopping (PID ${u})...`),s6)Bun.spawn(["taskkill","/PID",String(u)]);else process.kill(u,"SIGTERM");let l=Date.now();while(Date.now()-l<5000&&Kc(u))await mu(200);if(Kc(u)&&S$(u,"minio"))if(console.log("MinIO: force killing..."),s6)Bun.spawn(["taskkill","/PID",String(u),"/F"]);else process.kill(u,"SIGKILL");await Af(i,"minio"),console.log("MinIO stopped")}function yYt(i){let t=i.hotReload===!0?["--hot"]:[],u=i.hotReload===!0?["--hot"]:[];return["bun",...t,"run","--cwd=apps/mesh","src/cli.ts","link",i.clusterUrl,"--port",String(i.port),"--no-tui",...u]}async function H2l(i){let t={name:"Link",state:"stopped",pid:null,port:0,owner:"none"},u=N_(i.home,"link");if(u!==null){if(S$(u.pid,FAi,"args"))return t.state="running",t.pid=u.pid,t.port=u.port,t.owner="managed",{info:t,proc:null};await Af(i.home,"link")}if(i.beforeSpawn)await i.beforeSpawn();let l=await Fui();t.port=l;let n=Bun.spawn(yYt({clusterUrl:i.clusterUrl,port:l,hotReload:i.hotReload}),{cwd:i.repoRoot,env:{...process.env,MESH_CLUSTER_URL:i.clusterUrl,DATA_DIR:i.linkDataDir,DECOCMS_HOME:i.linkDataDir,DECOCMS_LINK_MANAGED:"1"},stdio:i.stdio??["inherit","inherit","inherit"]});Zui(i.home,"link",{pid:n.pid,port:l,startedAt:new Date().toISOString()}),i.onSpawn?.(n);try{await Iui(l)}catch(f){try{n.kill()}catch{}throw await Af(i.home,"link"),f}return t.state="running",t.pid=n.pid,t.owner="managed",{info:t,proc:n}}async function XYt(i){let t=N_(i,"link");if(t===null){console.log("Link: not running");return}let{pid:u}=t;if(!Kc(u)){console.log("Link: process already dead, cleaning up state"),await Af(i,"link");return}if(!S$(u,FAi,"args")){console.log(`Link: PID ${u} no longer belongs to the link daemon (possible PID reuse), cleaning up state`),await Af(i,"link");return}if(console.log(`Link: stopping (PID ${u})...`),s6)Bun.spawn(["taskkill","/PID",String(u)]);else process.kill(u,"SIGTERM");let l=Date.now();while(Date.now()-l<5000&&Kc(u))await mu(200);if(Kc(u)&&S$(u,FAi,"args"))if(console.log("Link: force killing..."),s6)Bun.spawn(["taskkill","/PID",String(u),"/F"]);else process.kill(u,"SIGKILL");await Af(i,"link"),console.log("Link stopped")}function gYt(i){return Nn(L2l,R2l,i,2,0.5)}function e2l(i,t){if(t.aborted)return Promise.resolve();return new Promise((u)=>{let l=()=>{t.removeEventListener("abort",l),u()};t.addEventListener("abort",l,{once:!0}),i.exited.then(()=>{t.removeEventListener("abort",l),u()})})}async function M2l(i,t){while(!t.aborted&&Kc(i))await mu(2000,{signal:t}).catch(()=>{})}async function q2l(i){let t=0;while(!i.signal.aborted){let u=Date.now(),l;try{l=await H2l(i)}catch($){if(i.onDown?.(),i.onLog?.(`[link] daemon failed to start: ${$ instanceof Error?$.message:String($)} \u2014 retrying`),i.signal.aborted)return;await mu(gYt(t++),{signal:i.signal}).catch(()=>{});continue}let n=new AbortController,f=()=>n.abort();if(i.signal.addEventListener("abort",f,{once:!0}),Iui(l.info.port,30000,n.signal).then(()=>{if(!n.signal.aborted)i.onReady?.(l.info.port)}).catch(()=>{}),l.proc)await e2l(l.proc,i.signal);else if(l.info.pid!==null)await M2l(l.info.pid,i.signal);if(n.abort(),i.signal.removeEventListener("abort",f),i.signal.aborted)return;i.onDown?.();let c=Date.now()-u;if(c>=C2l)t=0;i.onLog?.(`[link] daemon exited after ${Math.round(c/1000)}s \u2014 respawning`),await mu(gYt(t++),{signal:i.signal}).catch(()=>{})}}function TAi(i,t){try{let u=new URL(i);return u.port?Number.parseInt(u.port,10):t}catch{return t}}async function V2l(i){U8(J_(i.home));let t=i.externalDatabaseUrl!==null,u=i.externalNatsUrl!==null,l=Boolean(process.env.S3_ENDPOINT&&process.env.S3_BUCKET&&process.env.S3_ACCESS_KEY_ID&&process.env.S3_SECRET_ACCESS_KEY),n=i.skipMinio===!0||l,f=t?{name:"PostgreSQL",state:"external",pid:null,port:TAi(i.externalDatabaseUrl,5432),owner:"external"}:await B2l(i.home),c=u?{name:"NATS",state:"external",pid:null,port:TAi(i.externalNatsUrl,4222),owner:"external"}:await G2l(i.home),$=[f,c],d=null;if(l){$.push({name:"MinIO",state:"external",pid:null,port:TAi(process.env.S3_ENDPOINT,T2l),owner:"external"});let h=k2l(process.env.S3_FORCE_PATH_STYLE);d={endpoint:process.env.S3_ENDPOINT,bucket:process.env.S3_BUCKET,accessKeyId:process.env.S3_ACCESS_KEY_ID,secretAccessKey:process.env.S3_SECRET_ACCESS_KEY,forcePathStyle:h}}else if(!n){let h=await b2l(i.home);$.push(h),d={endpoint:`http://127.0.0.1:${h.port}`,bucket:xYt,accessKeyId:YAi,secretAccessKey:PAi,forcePathStyle:!0}}if(d){if(process.env.S3_ENDPOINT=d.endpoint,process.env.S3_BUCKET=d.bucket,process.env.S3_ACCESS_KEY_ID=d.accessKeyId,process.env.S3_SECRET_ACCESS_KEY=d.secretAccessKey,d.forcePathStyle)process.env.S3_FORCE_PATH_STYLE="true"}let _=t?i.externalDatabaseUrl:I2l(f.port),g=u?i.externalNatsUrl:`nats://localhost:${c.port}`;return{services:$,outputs:{databaseUrl:_,natsUrls:[g],s3:d}}}async function a2l(i){await XYt(i),await Q2l(i),await W2l(i),await K2l(i),console.log(`
|
|
143
143
|
All managed services stopped.`)}async function m2l(i){let t=[],u=N_(i,"postgres");if(u!==null&&Kc(u.pid))t.push({name:"PostgreSQL",state:"running",pid:u.pid,port:u.port,owner:"managed"});else{if(u!==null)await Af(i,"postgres");t.push({name:"PostgreSQL",state:"stopped",pid:null,port:0,owner:"none"})}let l=N_(i,"nats");if(l!==null&&Kc(l.pid))t.push({name:"NATS",state:"running",pid:l.pid,port:l.port,owner:"managed"});else{if(l!==null)await Af(i,"nats");t.push({name:"NATS",state:"stopped",pid:null,port:0,owner:"none"})}let n=N_(i,"minio");if(n!==null&&Kc(n.pid))t.push({name:"MinIO",state:"running",pid:n.pid,port:n.port,owner:"managed"});else{if(n!==null)await Af(i,"minio");t.push({name:"MinIO",state:"stopped",pid:null,port:0,owner:"none"})}let f=N_(i,"link");if(f!==null&&Kc(f.pid))t.push({name:"Link",state:"running",pid:f.pid,port:f.port,owner:"managed"});else{if(f!==null)await Af(i,"link");t.push({name:"Link",state:"stopped",pid:null,port:0,owner:"none"})}return t}function o2l(i){console.log("Service State PID Port Owner"),console.log("---------- ---------- ----- ----- ----------");for(let l of i){let n=l.name.padEnd(10),f=l.state.padEnd(10),c=(l.pid?.toString()??"-").padEnd(5),$=(l.port?String(l.port):"-").padEnd(5),d=l.owner;console.log(`${n} ${f} ${c} ${$} ${d}`)}}var BAi="postgres",QAi="postgres",rYt="postgres",wYt="v2.10.24",YAi="minioadmin",PAi="minioadmin",xYt="studio-dev",T2l=9000,s6,AAi,FAi="cli.ts link",R2l=500,L2l=30000,C2l=30000;var F8=w(()=>{H1();s6=Tui()==="win32",AAi=s6?".exe":""});var JYt={};Gi(JYt,{servicesCommand:()=>s2l});function NYt(i){if(!i)return null;try{let u=new URL(i).hostname;if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return i}catch{return null}}async function s2l(i){let{subcommand:t,home:u}=i,{ensureServices:l,stopServices:n,getStatus:f,printTable:c}=await Promise.resolve().then(() => (F8(),T8));switch(t){case"up":{await l({home:u,externalDatabaseUrl:NYt(process.env.DATABASE_URL),externalNatsUrl:NYt(process.env.NATS_URL)});break}case"down":{await n(u);break}case"status":{let $=await f(u);c($);break}default:console.error(`Unknown services subcommand: ${t}
|
|
144
|
-
Usage: deco services <up|down|status>`),process.exit(1)}}import{homedir as p2l}from"os";function UH(i){return i==="true"||i==="1"}function UYt(i){if(!i)return null;try{let u=new URL(i).hostname;if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return i}catch{return null}}function twl(i){let t=i&&i.length>0?i:"user-desktop";if(t==="cluster")return"agent-sandbox";if(!iwl.has(t))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${i}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return t}function Bui(i,t){let u=i.home||t.DATA_DIR||t.DECOCMS_HOME||`${p2l()}/deco`,l=i.localMode,n=i.nodeEnv||t.NODE_ENV||"development",f=t.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:n,port:Number(i.port)||Number(t.PORT)||3000,baseUrl:i.baseUrl||t.BASE_URL,dataDir:u,databasePgSsl:UH(t.DATABASE_PG_SSL),databasePoolMax:Number(t.DATABASE_POOL_MAX)||5,betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",meshJwtSecret:t.MESH_JWT_SECRET,localMode:l,disableRateLimit:UH(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,clickhouseUrl:t.CLICKHOUSE_URL,monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:UH(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:UH(t.ENABLE_DECO_IMPORT),orgFsClusterMounts:UH(t.ORGFS_CLUSTER_MOUNTS),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:t.S3_FORCE_PATH_STYLE===void 0||t.S3_FORCE_PATH_STYLE===""||t.S3_FORCE_PATH_STYLE==="true"||t.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",isCli:!0,noTui:i.noTui===!0,podName:t.POD_NAME??crypto.randomUUID(),sandboxProviderKind:twl(t.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY},externalDatabaseUrl:UYt(t.DATABASE_URL),externalNatsUrl:UYt(f),skipMigrations:i.skipMigrations}}var iwl;var WAi=w(()=>{iwl=new Set(["agent-sandbox","user-desktop"])});function TYt(i){TH=Object.freeze(i)}function Qt(){if(!TH)uwl();return TH}function uwl(){if(TH)return;let i={...process.env},t=Bui({port:i.PORT||"3000",home:i.DATA_DIR||i.DECOCMS_HOME||"",localMode:i.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:i.DECO_NO_TUI==="true",vitePort:i.VITE_PORT,baseUrl:i.BASE_URL},i);TH=Object.freeze({...t.settings,databaseUrl:i.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(i.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}var TH=null;var U0=w(()=>{WAi()});import{context as lwl,propagation as nwl,SpanKind as fwl,SpanStatusCode as kAi}from"@opentelemetry/api";function $wl(i,t){let u=i instanceof Error?i.name:void 0;if(u==="TimeoutError")return"timeout";if(u==="AbortError")return"cancelled";if(t?.aborted)return"cancelled";return null}function dwl(i,t){if(t.startsWith("/_sandbox/")){if(i===404)return"daemon_gone";if(i===409)return"daemon_not_ready"}if(i===404&&t.includes("/sandboxclaims/"))return"claim_gone";return null}function _wl(i,t){if(i===404&&(t==="/.decofile"||t==="/live/_meta"))return"not_a_deco_site";return null}function gwl(i){if(!(i instanceof Error))return!1;if(i.message.includes("socket connection was closed"))return!0;let t=i.code;return t==="ECONNRESET"||t==="EPIPE"}async function hwl(i,t){let u,l;if(i instanceof Request)u=new URL(i.url),l=t?.method??i.method;else if(i instanceof URL)u=i,l=t?.method??"GET";else u=new URL(i),l=t?.method??"GET";let n=`${l} ${u.host}`;return Aw.startActiveSpan(n,{kind:fwl.CLIENT,attributes:{"http.request.method":l,"url.full":u.href,"url.scheme":u.protocol.replace(":",""),"url.path":u.pathname,"url.query":u.search||void 0,"server.address":u.hostname,"server.port":u.port?Number(u.port):void 0}},async(f)=>{try{let c=new Headers(t?.headers??(i instanceof Request?i.headers:{}));nwl.inject(lwl.active(),c,{set:(E,v,r)=>E.set(v,r)});let $={...t,headers:c},d=await cwl(i,$);f.setAttribute("http.response.status_code",d.status);let _=d.status===405&&l==="GET"&&(c.get("accept")??"").includes("text/event-stream"),g=d.status>=400?dwl(d.status,u.pathname):null,h=d.status>=400?_wl(d.status,u.pathname):null;if(d.status>=400&&!_&&!g&&!h)f.setStatus({code:kAi.ERROR,message:`HTTP ${d.status}`});else{if(g)f.setAttribute("sandbox.lifecycle",g);if(h)f.setAttribute("preview.probe",h);f.setStatus({code:kAi.OK})}return d}catch(c){let $=t?.signal??(i instanceof Request?i.signal:void 0),d=$wl(c,$??void 0);if(d)f.setAttribute("abort.reason",d);else if(gwl(c)&&u.pathname.startsWith("/_sandbox/"))f.setAttribute("sandbox.lifecycle","connection_closed");else f.recordException(c),f.setStatus({code:kAi.ERROR,message:c instanceof Error?c.message:"Fetch failed"});throw c}finally{f.end()}})}function FYt(){globalThis.fetch=hwl}var cwl;var ZYt=w(()=>{pf();cwl=globalThis.fetch});import{join as SAi}from"path";function p6(){return SAi(Qt().dataDir,"logs")}function oG(){return SAi(Qt().dataDir,"traces")}function ar(){return SAi(Qt().dataDir,"metrics")}function Gw(i,t){let u=i[t];return u!=null?String(u):""}function FH(i,t){let u=i[t];return u!=null&&u!==""?String(u):null}function IYt(i){let{attributes:t}=i,u=t[k0.IS_ERROR],l=t[k0.DURATION_MS];return{v:1,id:i.id,type:Gw(t,k0.TYPE)||ZH,organization_id:Gw(t,k0.ORGANIZATION_ID),connection_id:Gw(t,k0.CONNECTION_ID),connection_title:Gw(t,k0.CONNECTION_TITLE),tool_name:Gw(t,k0.TOOL_NAME),input:Gw(t,k0.INPUT),output:Gw(t,k0.OUTPUT),is_error:u===!0||u===1||u==="true"?1:0,error_message:FH(t,k0.ERROR_MESSAGE),duration_ms:typeof l==="number"?l:Number(l)||0,timestamp:new Date(Number(i.timestampNano/1000000n)).toISOString(),user_id:FH(t,k0.USER_ID),request_id:Gw(t,k0.REQUEST_ID),user_agent:FH(t,k0.USER_AGENT),virtual_mcp_id:FH(t,k0.VIRTUAL_MCP_ID),properties:FH(t,k0.PROPERTIES)}}function Yui(i){return i[0]*1000+i[1]/1e6}function pG(i){return new Date(Yui(i)).toISOString()}var jAi="mcp.proxy.callTool",k0,ZH="tool_call",sG="llm_call",Qui="decopilot";var U_=w(()=>{U0();k0={TYPE:"studio.monitoring.type",ORGANIZATION_ID:"studio.monitoring.organization_id",CONNECTION_ID:"studio.monitoring.connection_id",CONNECTION_TITLE:"studio.monitoring.connection_title",TOOL_NAME:"studio.monitoring.tool_name",INPUT:"studio.monitoring.input",OUTPUT:"studio.monitoring.output",IS_ERROR:"studio.monitoring.is_error",ERROR_MESSAGE:"studio.monitoring.error_message",DURATION_MS:"studio.monitoring.duration_ms",USER_ID:"studio.monitoring.user_id",REQUEST_ID:"studio.monitoring.request_id",USER_AGENT:"studio.monitoring.user_agent",VIRTUAL_MCP_ID:"studio.monitoring.virtual_mcp_id",PROPERTIES:"studio.monitoring.properties"}});import{ExportResultCode as Pui}from"@opentelemetry/core";import{mkdir as Ewl,rename as vwl,writeFile as rwl}from"fs/promises";import{join as Aui}from"path";class Z8{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(i){this.basePath=i.basePath,this.flushThreshold=i.flushThreshold??1000,this.maxBufferBytes=i.maxBufferBytes??10485760,this.partitionKey=i.partitionKey;let t=i.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(i){if(this.isShutdown)return Promise.resolve({code:Pui.FAILED});for(let t of i){let u=JSON.stringify(t),l=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:l,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Pui.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:Pui.FAILED}});return Promise.resolve({code:Pui.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let i=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let n of i){let f=t.get(n.partition);if(!f)f=[],t.set(n.partition,f);f.push(n.json)}let u=await Promise.allSettled(Array.from(t.entries()).map(([n,f])=>this.writeNDJSON(f,n).then(()=>n))),l=u.find((n)=>n.status==="rejected");if(l){let n=new Set;for(let c of u)if(c.status==="fulfilled")n.add(c.value);let f=i.filter((c)=>!n.has(c.partition));this.bufferItems=f.concat(this.bufferItems),this.bufferBytes=0;for(let c of this.bufferItems)this.bufferBytes+=Buffer.byteLength(c.json,"utf8")+1;throw l.reason}}async writeNDJSON(i,t){let u=new Date,l=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],n=t?Aui(this.basePath,t,...l):Aui(this.basePath,...l);if(!this.knownDirs.has(n))await Ewl(n,{recursive:!0,mode:448}),this.knownDirs.add(n);let f=`${crypto.randomUUID()}.ndjson`,c=Aui(n,`.${f}.tmp`),$=Aui(n,f),d=i.join(`
|
|
144
|
+
Usage: deco services <up|down|status>`),process.exit(1)}}import{homedir as p2l}from"os";function UH(i){return i==="true"||i==="1"}function UYt(i){if(!i)return null;try{let u=new URL(i).hostname;if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return i}catch{return null}}function twl(i){let t=i&&i.length>0?i:"user-desktop";if(t==="cluster")return"agent-sandbox";if(!iwl.has(t))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${i}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return t}function Bui(i,t){let u=i.home||t.DATA_DIR||t.DECOCMS_HOME||`${p2l()}/deco`,l=i.localMode,n=i.nodeEnv||t.NODE_ENV||"development",f=t.NATS_URL||"nats://localhost:4222";return{settings:{nodeEnv:n,port:Number(i.port)||Number(t.PORT)||3000,baseUrl:i.baseUrl||t.BASE_URL,dataDir:u,databasePgSsl:UH(t.DATABASE_PG_SSL),databasePoolMax:Number(t.DATABASE_POOL_MAX)||5,betterAuthSecret:t.BETTER_AUTH_SECRET||"",encryptionKey:t.ENCRYPTION_KEY||"",meshJwtSecret:t.MESH_JWT_SECRET,localMode:l,disableRateLimit:UH(t.DISABLE_RATE_LIMIT),studioProvisionSecretKey:t.STUDIO_PROVISION_SECRET_KEY,clickhouseUrl:t.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(t.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:t.MONITORING_OTLP_ENDPOINT,otelServiceName:t.OTEL_SERVICE_NAME||"studio",configPath:t.CONFIG_PATH||"./config.json",aiGatewayEnabled:UH(t.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:t.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:UH(t.ENABLE_DECO_IMPORT),orgFsClusterMounts:UH(t.ORGFS_CLUSTER_MOUNTS),orgFsPublicSetsJson:t.ORGFS_PUBLIC_SETS,s3Endpoint:t.S3_ENDPOINT,s3Bucket:t.S3_BUCKET,s3Region:t.S3_REGION||"auto",s3AccessKeyId:t.S3_ACCESS_KEY_ID,s3SecretAccessKey:t.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:t.S3_FORCE_PATH_STYLE===void 0||t.S3_FORCE_PATH_STYLE===""||t.S3_FORCE_PATH_STYLE==="true"||t.S3_FORCE_PATH_STYLE==="1",monitoringS3Bucket:t.MONITORING_S3_BUCKET,monitoringS3Endpoint:t.MONITORING_S3_ENDPOINT,monitoringS3Region:t.MONITORING_S3_REGION,monitoringS3AccessKeyId:t.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:t.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:t.MONITORING_S3_PREFIX,duckdbExtensionDirectory:t.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",isCli:!0,noTui:i.noTui===!0,podName:t.POD_NAME??crypto.randomUUID(),sandboxProviderKind:twl(t.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:t.DECO_SUPABASE_URL,decoSupabaseServiceKey:t.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:t.FIRECRAWL_API_KEY},externalDatabaseUrl:UYt(t.DATABASE_URL),externalNatsUrl:UYt(f),skipMigrations:i.skipMigrations}}var iwl;var WAi=w(()=>{iwl=new Set(["agent-sandbox","user-desktop"])});function TYt(i){TH=Object.freeze(i)}function Qt(){if(!TH)uwl();return TH}function uwl(){if(TH)return;let i={...process.env},t=Bui({port:i.PORT||"3000",home:i.DATA_DIR||i.DECOCMS_HOME||"",localMode:i.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:i.DECO_NO_TUI==="true",vitePort:i.VITE_PORT,baseUrl:i.BASE_URL},i);TH=Object.freeze({...t.settings,databaseUrl:i.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(i.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}var TH=null;var U0=w(()=>{WAi()});import{context as lwl,propagation as nwl,SpanKind as fwl,SpanStatusCode as kAi}from"@opentelemetry/api";function $wl(i,t){let u=i instanceof Error?i.name:void 0;if(u==="TimeoutError")return"timeout";if(u==="AbortError")return"cancelled";if(t?.aborted)return"cancelled";return null}function dwl(i,t){if(t.startsWith("/_sandbox/")){if(i===404)return"daemon_gone";if(i===409)return"daemon_not_ready"}if(i===404&&t.includes("/sandboxclaims/"))return"claim_gone";return null}function _wl(i,t){if(i===404&&(t==="/.decofile"||t==="/live/_meta"))return"not_a_deco_site";return null}function gwl(i){if(!(i instanceof Error))return!1;if(i.message.includes("socket connection was closed"))return!0;let t=i.code;return t==="ECONNRESET"||t==="EPIPE"}async function hwl(i,t){let u,l;if(i instanceof Request)u=new URL(i.url),l=t?.method??i.method;else if(i instanceof URL)u=i,l=t?.method??"GET";else u=new URL(i),l=t?.method??"GET";let n=`${l} ${u.host}`;return Aw.startActiveSpan(n,{kind:fwl.CLIENT,attributes:{"http.request.method":l,"url.full":u.href,"url.scheme":u.protocol.replace(":",""),"url.path":u.pathname,"url.query":u.search||void 0,"server.address":u.hostname,"server.port":u.port?Number(u.port):void 0}},async(f)=>{try{let c=new Headers(t?.headers??(i instanceof Request?i.headers:{}));nwl.inject(lwl.active(),c,{set:(E,v,r)=>E.set(v,r)});let $={...t,headers:c},d=await cwl(i,$);f.setAttribute("http.response.status_code",d.status);let _=d.status===405&&l==="GET"&&(c.get("accept")??"").includes("text/event-stream"),g=d.status>=400?dwl(d.status,u.pathname):null,h=d.status>=400?_wl(d.status,u.pathname):null;if(d.status>=400&&!_&&!g&&!h)f.setStatus({code:kAi.ERROR,message:`HTTP ${d.status}`});else{if(g)f.setAttribute("sandbox.lifecycle",g);if(h)f.setAttribute("preview.probe",h);f.setStatus({code:kAi.OK})}return d}catch(c){let $=t?.signal??(i instanceof Request?i.signal:void 0),d=$wl(c,$??void 0);if(d)f.setAttribute("abort.reason",d);else if(gwl(c)&&u.pathname.startsWith("/_sandbox/"))f.setAttribute("sandbox.lifecycle","connection_closed");else f.recordException(c),f.setStatus({code:kAi.ERROR,message:c instanceof Error?c.message:"Fetch failed"});throw c}finally{f.end()}})}function FYt(){globalThis.fetch=hwl}var cwl;var ZYt=w(()=>{pf();cwl=globalThis.fetch});import{join as SAi}from"path";function p6(){return SAi(Qt().dataDir,"logs")}function oG(){return SAi(Qt().dataDir,"traces")}function ar(){return SAi(Qt().dataDir,"metrics")}function Gw(i,t){let u=i[t];return u!=null?String(u):""}function FH(i,t){let u=i[t];return u!=null&&u!==""?String(u):null}function IYt(i){let{attributes:t}=i,u=t[k0.IS_ERROR],l=t[k0.DURATION_MS];return{v:1,id:i.id,type:Gw(t,k0.TYPE)||ZH,organization_id:Gw(t,k0.ORGANIZATION_ID),connection_id:Gw(t,k0.CONNECTION_ID),connection_title:Gw(t,k0.CONNECTION_TITLE),tool_name:Gw(t,k0.TOOL_NAME),input:Gw(t,k0.INPUT),output:Gw(t,k0.OUTPUT),is_error:u===!0||u===1||u==="true"?1:0,error_message:FH(t,k0.ERROR_MESSAGE),duration_ms:typeof l==="number"?l:Number(l)||0,timestamp:new Date(Number(i.timestampNano/1000000n)).toISOString(),user_id:FH(t,k0.USER_ID),request_id:Gw(t,k0.REQUEST_ID),user_agent:FH(t,k0.USER_AGENT),virtual_mcp_id:FH(t,k0.VIRTUAL_MCP_ID),properties:FH(t,k0.PROPERTIES)}}function Yui(i){return i[0]*1000+i[1]/1e6}function pG(i){return new Date(Yui(i)).toISOString()}var jAi="mcp.proxy.callTool",k0,ZH="tool_call",sG="llm_call",Qui="decopilot";var U_=w(()=>{U0();k0={TYPE:"studio.monitoring.type",ORGANIZATION_ID:"studio.monitoring.organization_id",CONNECTION_ID:"studio.monitoring.connection_id",CONNECTION_TITLE:"studio.monitoring.connection_title",TOOL_NAME:"studio.monitoring.tool_name",INPUT:"studio.monitoring.input",OUTPUT:"studio.monitoring.output",IS_ERROR:"studio.monitoring.is_error",ERROR_MESSAGE:"studio.monitoring.error_message",DURATION_MS:"studio.monitoring.duration_ms",USER_ID:"studio.monitoring.user_id",REQUEST_ID:"studio.monitoring.request_id",USER_AGENT:"studio.monitoring.user_agent",VIRTUAL_MCP_ID:"studio.monitoring.virtual_mcp_id",PROPERTIES:"studio.monitoring.properties"}});import{ExportResultCode as Pui}from"@opentelemetry/core";import{mkdir as Ewl,rename as vwl,writeFile as rwl}from"fs/promises";import{join as Aui}from"path";class Z8{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(i){this.basePath=i.basePath,this.flushThreshold=i.flushThreshold??1000,this.maxBufferBytes=i.maxBufferBytes??10485760,this.partitionKey=i.partitionKey;let t=i.flushIntervalMs??60000;if(t>0&&t<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},t),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(i){if(this.isShutdown)return Promise.resolve({code:Pui.FAILED});for(let t of i){let u=JSON.stringify(t),l=this.partitionKey?this.partitionKey(t):"";this.bufferItems.push({partition:l,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Pui.SUCCESS})).catch((t)=>{return console.error("[NDJSONExporter] Flush failed:",t),{code:Pui.FAILED}});return Promise.resolve({code:Pui.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let t=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=t,t}async doFlush(){if(this.bufferItems.length===0)return;let i=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let t=new Map;for(let n of i){let f=t.get(n.partition);if(!f)f=[],t.set(n.partition,f);f.push(n.json)}let u=await Promise.allSettled(Array.from(t.entries()).map(([n,f])=>this.writeNDJSON(f,n).then(()=>n))),l=u.find((n)=>n.status==="rejected");if(l){let n=new Set;for(let c of u)if(c.status==="fulfilled")n.add(c.value);let f=i.filter((c)=>!n.has(c.partition));this.bufferItems=f.concat(this.bufferItems),this.bufferBytes=0;for(let c of this.bufferItems)this.bufferBytes+=Buffer.byteLength(c.json,"utf8")+1;throw l.reason}}async writeNDJSON(i,t){let u=new Date,l=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],n=t?Aui(this.basePath,t,...l):Aui(this.basePath,...l);if(!this.knownDirs.has(n))await Ewl(n,{recursive:!0,mode:448}),this.knownDirs.add(n);let f=`${crypto.randomUUID()}.ndjson`,c=Aui(n,`.${f}.tmp`),$=Aui(n,f),d=i.join(`
|
|
145
145
|
`)+`
|
|
146
146
|
`;await rwl(c,d,{mode:384}),await vwl(c,$)}}var Gui=()=>{};import{ExportResultCode as wwl}from"@opentelemetry/core";class zAi{inner;constructor(i){this.inner=new Z8({...i,partitionKey:(t)=>t.organization_id})}export(i,t){let u=[];for(let l of i){if(!xwl.has(l.attributes[k0.TYPE]))continue;let n={};for(let[d,_]of Object.entries(l.attributes))if(typeof _==="string"||typeof _==="number"||typeof _==="boolean")n[d]=_;let f=l.spanContext?.spanId??crypto.randomUUID(),c=l.hrTime,$=BigInt(c[0])*1000000000n+BigInt(c[1]);u.push(IYt({id:f,timestampNano:$,attributes:n}))}this.inner.exportRows(u).then((l)=>t(l)).catch(()=>t({code:wwl.FAILED}))}async shutdown(){await this.inner.shutdown()}async forceFlush(){await this.inner.forceFlush()}}var xwl;var BYt=w(()=>{U_();Gui();xwl=new Set([ZH,sG])});import{ExportResultCode as Dwl}from"@opentelemetry/core";import{AggregationTemporality as Owl,DataPointType as QYt}from"@opentelemetry/sdk-metrics";class bAi{inner;constructor(i){this.inner=new Z8({...i,partitionKey:(t)=>t.organization_id})}selectAggregationTemporality(i){return Owl.DELTA}export(i,t){let u=[];for(let l of i.scopeMetrics)for(let n of l.metrics){let{descriptor:f,dataPointType:c}=n;if(c===QYt.SUM)for(let $ of n.dataPoints){let d=$.attributes;u.push({v:1,name:f.name,type:"sum",unit:f.unit,timestamp:pG($.endTime),organization_id:String(d["organization.id"]??""),connection_id:String(d["connection.id"]??""),tool_name:String(d["tool.name"]??""),status:String(d.status??""),error_type:String(d["error.type"]??""),value:$.value,hist_count:0,hist_sum:0,hist_min:0,hist_max:0,hist_boundaries:"[]",hist_bucket_counts:"[]"})}else if(c===QYt.HISTOGRAM)for(let $ of n.dataPoints){let{attributes:d,value:_}=$;u.push({v:1,name:f.name,type:"histogram",unit:f.unit,timestamp:pG($.endTime),organization_id:String(d["organization.id"]??""),connection_id:String(d["connection.id"]??""),tool_name:String(d["tool.name"]??""),status:String(d.status??""),error_type:String(d["error.type"]??""),value:_.count,hist_count:_.count,hist_sum:_.sum??0,hist_min:_.min??0,hist_max:_.max??0,hist_boundaries:JSON.stringify(_.buckets.boundaries),hist_bucket_counts:JSON.stringify(_.buckets.counts)})}}this.inner.exportRows(u).then((l)=>t(l)).catch(()=>t({code:Dwl.FAILED}))}async shutdown(){await this.inner.shutdown()}async forceFlush(){await this.inner.forceFlush()}}var YYt=w(()=>{U_();Gui()});import{ExportResultCode as ywl}from"@opentelemetry/core";function Xwl(i){let t=i.resource,u=t.attributes["service.name"]??"unknown";return{v:1,trace_id:i.spanContext().traceId,span_id:i.spanContext().spanId,parent_span_id:i.parentSpanContext?.spanId||null,name:i.name,kind:i.kind,status:i.status.code,status_message:i.status.message||null,start_time:pG(i.startTime),end_time:pG(i.endTime),duration_ms:Yui(i.endTime)-Yui(i.startTime),service_name:u,attributes:JSON.stringify(i.attributes),events:JSON.stringify(i.events),links:JSON.stringify(i.links),resource:JSON.stringify(t.attributes)}}class KAi{inner;constructor(i){this.inner=new Z8(i)}export(i,t){let u=i.map(Xwl);this.inner.exportRows(u).then((l)=>t(l)).catch(()=>t({code:ywl.FAILED}))}async shutdown(){await this.inner.shutdown()}async forceFlush(){await this.inner.forceFlush()}}var PYt=w(()=>{U_();Gui()});function iW(i,t=65536){if(i.length<=t&&Buffer.byteLength(i,"utf8")<=t)return i;let u=t-Nwl;if(u<=0)return"... [TRUNCATED]".slice(0,t);let l=0,n=0;for(let f of i){let c=f.charCodeAt(0)<=127?1:Buffer.byteLength(f,"utf8");if(l+c>u)break;l+=c,n+=f.length}return i.slice(0,n)+"... [TRUNCATED]"}var Nwl;var HAi=w(()=>{Nwl=Buffer.byteLength("... [TRUNCATED]","utf8")});import{NOOP_LOGGER as Jwl}from"@opentelemetry/api-logs";function GYt(i){AYt=i.getLogger(Uwl,Twl)}function WYt(){return AYt}var Uwl="studio.monitoring",Twl="1.0.0",AYt;var RAi=w(()=>{AYt=Jwl});var SYt={};Gi(SYt,{shouldSkipStudioContext:()=>LAi,isServerPath:()=>Ywl,isHealthPath:()=>IH,SYSTEM_PATHS:()=>T_});function IH(i){return i===T_.HEALTH||i===T_.HEALTH_LIVE||i===T_.HEALTH_READY}function kYt(i){return i===T_.HEALTH||i===T_.HEALTH_LIVE||i===T_.HEALTH_READY||i===T_.METRICS||i.startsWith(tW.WELL_KNOWN)}function jYt(i){return i.startsWith(tW.API)}function Zwl(i){return i==="/mcp"||i.startsWith(tW.MCP)}function Iwl(i){return i.startsWith(tW.OAUTH_PROXY)}function Bwl(i){return Fwl.test(i)}function Qwl(i){return i.startsWith(tW.ORG)}function Ywl(i){return jYt(i)||Zwl(i)||Iwl(i)||Qwl(i)||kYt(i)}function LAi(i){return i==="/"||i.startsWith(tW.API_AUTH)||i==="/api/trigger-callback"||kYt(i)||!jYt(i)&&Bwl(i)}var T_,tW,Fwl;var Wui=w(()=>{T_={HEALTH:"/health",HEALTH_LIVE:"/health/live",HEALTH_READY:"/health/ready",METRICS:"/metrics"},tW={API:"/api/",API_AUTH:"/api/auth/",MCP:"/mcp/",OAUTH_PROXY:"/oauth-proxy/",WELL_KNOWN:"/.well-known",ORG:"/org/"},Fwl=/\.(html|css|js|ico|svg|png|jpg|jpeg|gif|webp|woff|woff2)$/});import{SpanStatusCode as CAi}from"@opentelemetry/api";var eAi=async(i,t)=>{if(IH(i.req.path))return t();let u=i.req.raw,l=new URL(u.url),n=KYt(u),f=MAi(u),c={"http.request.url":u.url,"http.request.method":u.method,"http.request.body.size":u.headers.get("content-length")??void 0,"url.scheme":l.protocol.replace(":",""),"server.address":l.host,"url.query":l.search||void 0,"url.path":l.pathname,"user_agent.original":u.headers.get("user-agent")??void 0,"request.internal":u.headers.has("traceparent"),...f?{"trace.debug.id":f}:{}};await Aw.startActiveSpan(`${u.method} ${l.pathname}`,{attributes:c},n,async($)=>{i.set("rootSpan",$);try{await t()}catch(d){$.recordException(d),$.setStatus({code:CAi.ERROR});let _=typeof d==="object"&&d&&"message"in d?String(d.message):JSON.stringify(d);throw console.error("error: ",_,c),d}finally{let d=i.res?.status??500,_=d>=500;$.setStatus({code:_?CAi.ERROR:CAi.OK}),$.setAttribute("http.response.status_code",d);let g=i.get("meshContext");if(g){if(g.auth.user?.id)$.setAttribute("studio.user.id",g.auth.user.id);if(g.auth.apiKey?.id)$.setAttribute("studio.api_key.id",g.auth.apiKey.id);if(g.organization?.id)$.setAttribute("studio.organization.id",g.organization.id)}if(f)bYt(i.res.headers,f);$.end()}})};var zYt=w(()=>{pf();Wui()});import{createContextKey as Pwl,metrics as qYt,propagation as Awl,ROOT_CONTEXT as Gwl,SpanStatusCode as HYt,trace as VAi}from"@opentelemetry/api";import{logs as VYt,SeverityNumber as GH}from"@opentelemetry/api-logs";import{OTLPLogExporter as RYt}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Wwl}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as kwl}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as jwl}from"@opentelemetry/instrumentation-runtime-node";import{BatchLogRecordProcessor as qAi,LoggerProvider as LYt}from"@opentelemetry/sdk-logs";import{detectResources as Swl,envDetector as zwl,hostDetector as bwl,osDetector as Kwl,processDetector as Hwl,resourceFromAttributes as CYt}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Rwl}from"@opentelemetry/sdk-metrics";import{NodeSDK as Lwl}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as eYt,SamplingDecision as uW}from"@opentelemetry/sdk-trace-base";class mYt{inner;ratio;constructor(i,t){this.inner=i;this.ratio=t}onEmit(i,t){if(i.severityNumber!==void 0&&i.severityNumber>=GH.ERROR||Math.random()<this.ratio)this.inner.onEmit(i,t)}forceFlush(){return this.inner.forceFlush()}shutdown(){return this.inner.shutdown()}}class oYt{inner;maxBytes;constructor(i,t){this.inner=i;this.maxBytes=t}onEmit(i,t){let u=k0.OUTPUT,l=i.attributes?.[u];if(typeof l==="string"&&l.length>this.maxBytes){let n=iW(l,this.maxBytes);this.inner.onEmit({...i,attributes:{...i.attributes,[u]:n}},t)}else this.inner.onEmit(i,t)}forceFlush(){return this.inner.forceFlush()}shutdown(){return this.inner.shutdown()}}class sYt{inner;constructor(i){this.inner=i}shouldSample(i,t,u,l,n,f){let c=i.getValue(aYt);if(!c){if(this.inner)return this.inner.shouldSample(i,t,u,l,n,f);return{decision:uW.RECORD_AND_SAMPLED}}let $=MAi(c);if($)return{decision:uW.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":$}};if(this.inner){let d=this.inner.shouldSample(i,t,u,l,n,f);if(d.decision===uW.RECORD_AND_SAMPLED){let _=crypto.randomUUID();d.attributes={...d.attributes??{},"trace.debug.id":_}}return d}return{decision:uW.NOT_RECORD}}toString(){return"DebugSampler"}}class pYt{ratio;constructor(i){this.ratio=i}shouldSample(){if(Math.random()<this.ratio)return{decision:uW.RECORD_AND_SAMPLED};return{decision:uW.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}function iPt(){if(MYt)return;let i=Qt(),t=!!process.env.OTEL_EXPORTER_OTLP_ENDPOINT,u=t?new kwl:void 0;BH=i.nodeEnv==="test"?null:new zAi({basePath:p6()}),QH=i.nodeEnv==="test"?null:new KAi({basePath:oG()}),YH=i.nodeEnv==="test"?null:new bAi({basePath:ar()}),PH=YH?new Rwl({exporter:YH,exportIntervalMillis:60000}):null;let l=process.env.STUDIO_ENV??"production"??"unknown",n={};if(!process.env.OTEL_RESOURCE_ATTRIBUTES?.includes("deployment.environment"))n["deployment.environment"]=l;new Lwl({serviceName:i.otelServiceName,resource:CYt(n),metricReaders:[aAi,...PH?[PH]:[]],sampler:Mwl,spanProcessors:[...u?[new eYt(u,{scheduledDelayMillis:60000,maxExportBatchSize:1000})]:[],...QH?[new eYt(QH,{scheduledDelayMillis:60000,maxExportBatchSize:1000})]:[]],instrumentations:[new jwl]}).start(),u1=qYt.getMeter("studio","1.0.0"),Aw=VAi.getTracer("studio","1.0.0");let c=Swl({detectors:[zwl,bwl,Kwl,Hwl]}).merge(CYt({"service.name":i.otelServiceName,...n})),$=[];if(t){let h=l==="prod"||l==="production"?1:0.1,E=process.env.INFRA_LOG_SAMPLE_RATIO,v=h;if(E!==void 0){let r=Number(E);if(Number.isFinite(r)&&r>=0&&r<=1)v=r;else console.warn(`[observability] Ignoring invalid INFRA_LOG_SAMPLE_RATIO="${E}" (expected 0..1); using ${h}`)}$.push(new mYt(new qAi(new RYt),v))}AH=new LYt({resource:c,processors:$}),VYt.setGlobalLoggerProvider(AH),tPt=AH.getLogger("studio","1.0.0");let d=i.monitoringOtlpEndpoint??process.env.OTEL_EXPORTER_OTLP_ENDPOINT,_=[];if(d){let g=d.replace(/\/$/,""),h=g.endsWith("/v1/logs")?g:`${g}/v1/logs`;_.push(new oYt(new qAi(new RYt({url:h})),8000))}if(BH)_.push(new qAi(BH,{scheduledDelayMillis:60000,maxExportBatchSize:1000}));kui=new LYt({resource:c,processors:_}),GYt(kui),FYt(),MYt=!0}async function Sg(){let t=(await Promise.allSettled([AH?AH.forceFlush():Promise.resolve(),(async()=>{if(kui)await kui.forceFlush();if(BH)await BH.forceFlush()})(),(async()=>{let u=VAi.getTracerProvider();if("forceFlush"in u)await u.forceFlush();if(QH)await QH.forceFlush()})(),(async()=>{if(PH)await PH.forceFlush();if(YH)await YH.forceFlush()})()])).find((u)=>u.status==="rejected");if(t)throw t.reason}function sAi(i,t,u){return Aw.startActiveSpan(i,{attributes:u},async(l)=>{try{let n=await t(l);return l.setStatus({code:HYt.OK}),n}catch(n){let f=n instanceof Error?n:Error(String(n??"unknown"));throw l.setStatus({code:HYt.ERROR,message:f.message}),l.recordException(f),n}finally{l.end()}})}var Cwl="__d",aYt,ewl=1,MAi=(i)=>{let u=new URL(i.url).searchParams.get(Cwl);if(u==="")return crypto.randomUUID();if(!u)u=i.headers.get("x-trace-debug-id");return u},bYt=(i,t)=>{try{i.set("x-trace-debug-id",t)}catch{}},aAi,Mwl,BH=null,QH=null,YH=null,PH=null,AH=null,kui=null,MYt=!1,Aw,u1,tPt,mAi=(i,t,u)=>{let l={},n=u,f=u[u.length-1];if(f!==null&&typeof f==="object"&&!Array.isArray(f)&&!(f instanceof Error)&&Object.getPrototypeOf(f)===Object.prototype)l=f,n=u.slice(0,-1);let c=n.map(($)=>{if($ instanceof Error)return`${$.name}: ${$.message}`;if(typeof $==="object")try{return JSON.stringify($)}catch{return"[Object]"}return String($)}).join(" ");tPt.emit({severityNumber:i,severityText:t,body:c,attributes:{"log.source":"console",...l}})},oAi,KYt=(i)=>{return Awl.extract(Gwl,i.headers,{get:(u,l)=>u.get(l)??void 0,keys:(u)=>[...u.keys()]}).setValue(aYt,i)};var pf=w(()=>{ZYt();BYt();YYt();PYt();U_();HAi();U0();RAi();zYt();aYt=Pwl("Current request");aAi=new Wwl({preventServerStart:!0}),Mwl=new sYt(new pYt(ewl));Aw=VAi.getTracer("studio","1.0.0"),u1=qYt.getMeter("studio","1.0.0"),tPt=VYt.getLogger("studio","1.0.0"),oAi={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...i)=>{mAi(GH.ERROR,"ERROR",i),oAi.error(...i)};console.warn=(...i)=>{mAi(GH.WARN,"WARN",i),oAi.warn(...i)};console.debug=(...i)=>{mAi(GH.DEBUG,"DEBUG",i),oAi.debug(...i)}});function I8(){try{return process.memoryUsage()}catch{return null}}function lPt(){if(pAi)return;let i=performance.now()+iGi;pAi=setInterval(()=>{let t=performance.now();uPt=Math.max(0,t-i),i=t+iGi},iGi),pAi.unref?.()}function nPt(){return lPt(),uPt}function fPt(){if(lPt(),process.env.EVENT_LOOP_MONITOR!=="1")return()=>{};let i=Number(process.env.EVENT_LOOP_INTERVAL_MS??250),t=Number(process.env.EVENT_LOOP_SPIKE_MS??100),u=u1.createHistogram("eventloop.delay",{description:"Event-loop lag measured as timer scheduling drift",unit:"ms"}),l=performance.now()+i;return jui=setInterval(()=>{let n=performance.now(),f=Math.max(0,n-l);if(l=n+i,u.record(f),f>t){let c=I8();console.warn(JSON.stringify({msg:"event-loop-stall",ts:new Date().toISOString(),lagMs:Math.round(f),rss:c?.rss,heapUsed:c?.heapUsed,heapTotal:c?.heapTotal,external:c?.external}))}},i),jui.unref?.(),()=>{if(jui)clearInterval(jui)}}var jui,pAi,uPt=0,iGi=500;var tGi=w(()=>{pf()});var vPt={};Gi(vPt,{getDbDialect:()=>kH,getDb:()=>T0,getDatabaseUrl:()=>Ww,createDatabase:()=>EPt,closeDatabase:()=>kw});import{Kysely as qwl,PostgresDialect as dPt}from"kysely";import{Pool as _Pt}from"pg";function owl(i){let t=i.connect.bind(i);return i.connect=(u)=>{if(typeof u==="function")return t(u);let l=performance.now(),n=Sui(),f=i.idleCount===0&&i.totalCount>=n,c=i.idleCount;return t().then(($)=>{let d=performance.now()-l;if(cPt().record(d,{"db.pool.outcome":f?"contended":"available"}),d>awl)if(f)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:d,total:i.totalCount,idle:i.idleCount,waiting:i.waitingCount,max:n});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:d,idleAtStart:c,total:i.totalCount,max:n});return $},($)=>{throw cPt().record(performance.now()-l,{"db.pool.outcome":"error"}),$})},i}function hPt(){try{return Qt().databasePgSsl}catch{return!1}}function Sui(){try{return Qt().databasePoolMax}catch{return 10}}function swl(i){let t=owl(new _Pt({connectionString:i,max:Sui(),ssl:hPt(),...gPt})),u=new dPt({pool:t});return{type:"postgres",db:new qwl({dialect:u,log:mwl(t)}),pool:t}}function Ww(){return Qt().databaseUrl}function kH(i){let t=i||Ww();return new dPt({pool:new _Pt({connectionString:t,max:Sui(),ssl:hPt(),...gPt})})}function EPt(i){let t=i||Ww();return swl(t)}async function kw(i){if(await i.db.destroy(),!i.pool.ended)await i.pool.end();if(i===WH)WH=null}function T0(){if(!WH)WH=EPt(Ww());return WH}var Vwl=()=>u1.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),cPt=()=>u1.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),$Pt=400,awl=100,mwl=(i)=>(t)=>{let u={"db.statement":t.query.sql,"db.status":t.level==="error"?"error":"success"};if(t.queryDurationMillis>$Pt){let l=nPt(),n=l>$Pt/2;console.error(n?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:t.queryDurationMillis,eventLoopLagMs:Math.round(l),sql:t.query.sql,pool:{total:i.totalCount,idle:i.idleCount,waiting:i.waitingCount,max:Sui()}})}if(Vwl().record(t.queryDurationMillis,u),t.level==="error")console.error("Query failed:",{durationMs:t.queryDurationMillis,error:t.error,sql:t.query.sql})},gPt,WH=null;var z$=w(()=>{U0();pf();tGi();gPt={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0}});function wPt(i){let{port:t,query:u}=i,{protocol:l,path:n,hostname:f}=i;if(l&&l.slice(-1)!==":")l+=":";if(t)f+=`:${t}`;if(n&&n.charAt(0)!=="/")n=`/${n}`;let c=u?rPt.buildQueryString(u):"";if(c&&c[0]!=="?")c=`?${c}`;let $="";if(i.username!=null||i.password!=null){let _=i.username??"",g=i.password??"";$=`${_}:${g}@`}let d="";if(i.fragment)d=`#${i.fragment}`;return`${l}//${$}${f}${n}${c}${d}`}var rPt;var xPt=w(()=>{rPt=z(Fo(),1)});var DPt="UNSIGNED-PAYLOAD",OPt="X-Amz-Content-Sha256";class zui{signer;constructor(i){let t={service:i.signingName||i.service||"s3",uriEscapePath:i.uriEscapePath||!1,applyChecksum:i.applyChecksum||!1,...i};this.signer=new yPt.SignatureV4MultiRegion(t)}presign(i,{unsignableHeaders:t=new Set,hoistableHeaders:u=new Set,unhoistableHeaders:l=new Set,...n}={}){return this.prepareRequest(i,{unsignableHeaders:t,unhoistableHeaders:l,hoistableHeaders:u}),this.signer.presign(i,{expiresIn:900,unsignableHeaders:t,unhoistableHeaders:l,...n})}presignWithCredentials(i,t,{unsignableHeaders:u=new Set,hoistableHeaders:l=new Set,unhoistableHeaders:n=new Set,...f}={}){return this.prepareRequest(i,{unsignableHeaders:u,unhoistableHeaders:n,hoistableHeaders:l}),this.signer.presignWithCredentials(i,t,{expiresIn:900,unsignableHeaders:u,unhoistableHeaders:n,...f})}prepareRequest(i,{unsignableHeaders:t=new Set,unhoistableHeaders:u=new Set,hoistableHeaders:l=new Set}={}){t.add("content-type"),Object.keys(i.headers).map(($)=>$.toLowerCase()).filter(($)=>$.startsWith("x-amz-server-side-encryption")).forEach(($)=>{if(!l.has($))u.add($)}),i.headers[OPt]=DPt;let n=i.headers.host,f=i.port,c=`${i.hostname}${i.port!=null?":"+f:""}`;if(!n||n===i.hostname&&i.port!=null)i.headers.host=c}}var yPt;var uGi=w(()=>{yPt=z(DG(),1)});var XPt,NPt,bui=async(i,t,u={})=>{let l,n;if(typeof i.config.endpointProvider==="function"){let E=(await XPt.getEndpointFromInstructions(t.input,t.constructor,i.config)).properties?.authSchemes?.[0];if(E?.name==="sigv4a")n=E?.signingRegionSet?.join(",");else n=E?.signingRegion;l=new zui({...i.config,signingName:E?.signingName,region:async()=>n})}else l=new zui(i.config);let f=(h,E)=>async(v)=>{let{request:r}=v;if(!NPt.HttpRequest.isInstance(r))throw Error("Request to be presigned is not an valid HTTP request.");delete r.headers["amz-sdk-invocation-id"],delete r.headers["amz-sdk-request"],delete r.headers["x-amz-user-agent"];let x,O={...u,signingRegion:u.signingRegion??E.signing_region??n,signingService:u.signingService??E.signing_service};if(E.s3ExpressIdentity)x=await l.presignWithCredentials(r,E.s3ExpressIdentity,O);else x=await l.presign(r,O);return{response:{},output:{$metadata:{httpStatusCode:200},presigned:x}}},c="presignInterceptMiddleware",$=i.middlewareStack.clone();$.addRelativeTo(f,{name:c,relation:"before",toMiddleware:"awsAuthMiddleware",override:!0});let d=t.resolveMiddleware($,i.config,{}),{output:_}=await d({input:t.input}),{presigned:g}=_;return wPt(g)};var JPt=w(()=>{xPt();uGi();XPt=z(ft(),1),NPt=z(E1(),1)});var UPt=w(()=>{JPt();uGi()});import{extname as pwl}from"path";function IE(i){let t;try{t=decodeURIComponent(i)}catch{t=i}let l=t.replace(/\0/g,"").replace(/[\x00-\x1f\x7f]/g,"").replace(/\\/g,"/").split("/"),n=[];for(let f of l)if(f==="..")n.pop();else if(f!=="."&&f!=="")n.push(f);return n.join("/")}function jw(i,t){let u=IE(t);if(!u)throw Error("Key is empty after sanitization");return`${i}/${u}`}function TPt(i,t){if(!t)return`${i}/`;let u=IE(t);return`${i}/${u}${u.endsWith("/")?"":"/"}`}function lW(i,t,u){let l=u.split("/").map(encodeURIComponent).join("/");return`${i}/api/${encodeURIComponent(t)}/files/${l}`}function lGi(i,t){let u=`${i}/`;if(t.startsWith(u))return t.slice(u.length);return t}function Hc(i){let t=pwl(i).toLowerCase();return ixl[t]??"application/octet-stream"}function Kui(i){let t=i.split(";")[0].trim();if(txl.has(t))return!0;if(t.startsWith("text/"))return!0;return!1}var ixl,txl;var BE=w(()=>{ixl={".json":"application/json",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".mjs":"application/javascript",".ts":"text/typescript",".txt":"text/plain",".md":"text/markdown",".csv":"text/csv",".xml":"application/xml",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".pdf":"application/pdf",".zip":"application/zip",".gz":"application/gzip",".tar":"application/x-tar",".wasm":"application/wasm",".yaml":"application/yaml",".yml":"application/yaml",".toml":"application/toml"};txl=new Set(["application/json","text/html","text/css","application/javascript","text/typescript","text/plain","text/markdown","text/csv","application/xml","image/svg+xml","application/yaml","application/toml"])});class nGi{client;bucket;constructor(i){this.bucket=i.bucket,this.client=new bc({endpoint:i.endpoint,region:i.region,credentials:{accessKeyId:i.accessKeyId,secretAccessKey:i.secretAccessKey},forcePathStyle:i.forcePathStyle})}async getBytesOrPresign(i,t,u){let l=jw(i,t),n=await this.client.send(new o6({Bucket:this.bucket,Key:l})),f=n.ContentLength??0,c=n.ContentType??Hc(t);if(f>u.presignWhenLargerThan){let g=await bui(this.client,new Vr({Bucket:this.bucket,Key:l}),{expiresIn:u.presignExpiresIn??3600});return{error:"FILE_TOO_LARGE",size:f,maxInlineSize:u.presignWhenLargerThan,presignedUrl:g,contentType:c}}let d=await(await this.client.send(new Vr({Bucket:this.bucket,Key:l}))).Body.transformToByteArray(),_=Kui(c);return{content:_?new TextDecoder().decode(d):Buffer.from(d).toString("base64"),contentType:c,encoding:_?"utf-8":"base64",size:f,lastModified:n.LastModified,etag:n.ETag}}async getBytes(i,t){let u=jw(i,t);return(await this.client.send(new Vr({Bucket:this.bucket,Key:u}))).Body.transformToByteArray()}async put(i,t,u,l){let n=jw(i,t),f=l?.contentType??Hc(t);return{etag:(await this.client.send(new ZE({Bucket:this.bucket,Key:n,Body:typeof u==="string"?Buffer.from(u,"utf-8"):u,ContentType:f}))).ETag,key:t}}async list(i,t){let u=TPt(i,t?.prefix),l=await this.client.send(new kg({Bucket:this.bucket,Prefix:u,MaxKeys:t?.maxKeys??1000,ContinuationToken:t?.continuationToken,Delimiter:t?.delimiter})),n=l.CommonPrefixes?.map((f)=>lGi(i,f.Prefix??"")).filter(Boolean);return{objects:(l.Contents??[]).map((f)=>({key:lGi(i,f.Key??""),size:f.Size??0,lastModified:f.LastModified,etag:f.ETag})),isTruncated:l.IsTruncated??!1,nextContinuationToken:l.NextContinuationToken,commonPrefixes:n&&n.length>0?n:void 0}}async delete(i,t){let u=jw(i,t);await this.client.send(new LG({Bucket:this.bucket,Key:u}))}async head(i,t){let u=jw(i,t),l=await this.client.send(new o6({Bucket:this.bucket,Key:u}));return{contentType:l.ContentType??Hc(t),size:l.ContentLength??0,lastModified:l.LastModified,etag:l.ETag}}async presignedGetUrl(i,t,u=3600,l){let n=jw(i,t);return bui(this.client,new Vr({Bucket:this.bucket,Key:n}),{expiresIn:u})}async presignedPutUrl(i,t,u=3600,l){let n=jw(i,t);return bui(this.client,new ZE({Bucket:this.bucket,Key:n,ContentType:l}),{expiresIn:u})}}var FPt=w(()=>{mG();UPt();BE()});function uxl(){let i=Qt();return!!(i.s3Endpoint&&i.s3Bucket&&i.s3AccessKeyId&&i.s3SecretAccessKey)}function b$(){if(jH!==void 0)return jH;if(!uxl())return jH=null,null;let i=Qt();return jH=new nGi({endpoint:i.s3Endpoint,bucket:i.s3Bucket,region:i.s3Region,accessKeyId:i.s3AccessKeyId,secretAccessKey:i.s3SecretAccessKey,forcePathStyle:i.s3ForcePathStyle}),jH}var jH;var Sw=w(()=>{U0();FPt()});function F_(i,t){return{getBytesOrPresign:(u,l)=>i.getBytesOrPresign(t,u,l),getBytes:(u)=>i.getBytes(t,u),put:(u,l,n)=>i.put(t,u,l,n),list:(u)=>i.list(t,u),delete:(u)=>i.delete(t,u),head:(u)=>i.head(t,u),presignedGetUrl:(u,l,n)=>i.presignedGetUrl(t,u,l,n),presignedPutUrl:(u,l,n)=>i.presignedPutUrl(t,u,l,n)}}import{createHash as lxl}from"crypto";function Hui(i){let t=i;while(t?.[SH])t=t[SH];return t}function fW(i){let{objectStorage:t,baseUrl:u,orgSlug:l,prefix:n="connection-icons",maxBytes:f=fxl,dryRun:c=!1}=i;return async($)=>{if(typeof $!=="string")return $;let d=$.match(nxl);if(!d)return $;if(!t||!l)return $;let[,_,g]=d,h=_.toLowerCase(),E=$xl[h];if(!E)return $;if(Math.floor(g.length*3/4)>f)return console.warn(`[asset-hoister] asset exceeds ${f} bytes, keeping inline`),$;let v=Buffer.from(g,"base64"),r=lxl("sha256").update(v).digest("hex"),x=`${n}/${r}.${E}`;if(c)return lW(u,l,x);try{return await t.put(x,v,{contentType:h}),lW(u,l,x)}catch(O){return console.error("[asset-hoister] upload failed, keeping inline asset:",O),$}}}async function nW(i,t,u=0){if(u>cxl)return i;if(typeof i==="string")return await t(i)??i;if(Array.isArray(i)){let l=await Promise.all(i.map((n)=>nW(n,t,u+1)));return l.some((n,f)=>n!==i[f])?l:i}if(i!==null&&typeof i==="object"){let l=Object.entries(i),n=await Promise.all(l.map(([,$])=>nW($,t,u+1))),f=!1,c={};return l.forEach(([$,d],_)=>{if(c[$]=n[_],n[_]!==d)f=!0}),f?c:i}return i}function Lui(i,t){return nW(i,t)}async function Rui(i,t){let u={...i};if(typeof u.icon==="string")u.icon=await t(u.icon);if(u.metadata!==null&&typeof u.metadata==="object")u.metadata=await nW(u.metadata,t);return u}function dxl(i,t){return new Proxy(i,{get(u,l,n){if(l===SH)return u;if(l==="create")return async(c)=>u.create(await Rui(c,t));if(l==="update")return async(c,$)=>u.update(c,await Rui($,t));let f=Reflect.get(u,l,n);return typeof f==="function"?f.bind(u):f}})}function _xl(i,t){return new Proxy(i,{get(u,l,n){if(l===SH)return u;if(l==="create")return async(c,$,d,_)=>u.create(c,$,await Rui(d,t),_);if(l==="update")return async(c,$,d)=>u.update(c,$,await Rui(d,t));let f=Reflect.get(u,l,n);return typeof f==="function"?f.bind(u):f}})}async function gxl(i,t){let u=await nW(i.parts,t),l=await nW(i.metadata,t);if(u===i.parts&&l===i.metadata)return i;return{...i,parts:u,metadata:l}}function hxl(i,t){return new Proxy(i,{get(u,l,n){if(l===SH)return u;if(l==="saveMessages")return async(c)=>{let $=await Promise.all(c.map((d)=>gxl(d,t)));return u.saveMessages($)};let f=Reflect.get(u,l,n);return typeof f==="function"?f.bind(u):f}})}function Exl(i,t){return hxl(Hui(i),fW({...t,prefix:"thread-assets"}))}function cGi(i,t){let u=fW(t);if(fGi(i.connections))i.connections=dxl(Hui(i.connections),u);if(fGi(i.virtualMcps))i.virtualMcps=_xl(Hui(i.virtualMcps),u);if(fGi(i.threads))i.threads=Exl(Hui(i.threads),t)}function fGi(i){return i!==null&&typeof i==="object"}var nxl,fxl=5242880,cxl=64,SH,$xl;var Cui=w(()=>{BE();nxl=/^data:((?:image|audio|video)\/[^;,]+)(?:;[^,]+)?;base64,(.+)$/is,SH=Symbol("assetHoistingTarget"),$xl={"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"}});function Rc(){let i=Qt();if(i.baseUrl)return i.baseUrl;return`http://localhost:${i.port??3000}`}function eui(){return`http://localhost:${Qt().port??3000}`}function QE(){return process.env.MESH_PUBLIC_URL??Rc()}var Ud=w(()=>{U0()});var ZPt={};Gi(ZPt,{backfillThreadAssetsCommand:()=>vxl});import{sql as $Gi}from"kysely";async function vxl(i){let{dryRun:t,batch:u}=i,l=i.baseUrl??Rc(),n=b$();if(!n)return console.error("[backfill-assets] Object storage (S3) is not configured \u2014 cannot hoist "+"inline media. Set S3_ENDPOINT/S3_BUCKET/S3_ACCESS_KEY_ID/S3_SECRET_ACCESS_KEY and retry."),1;if(/^https?:\/\/localhost(:|\/|$)/.test(l))console.warn(`[backfill-assets] base URL resolves to "${l}" \u2014 set BASE_URL `+"(or pass --base-url) to the public origin, or stored media URLs will be wrong.");let f=T0(),{db:c}=f,$;if(i.org){let x=await c.selectFrom("organization").select(["id","slug"]).where((O)=>O.or([O("id","=",i.org),O("slug","=",i.org)])).executeTakeFirst();if(!x)return console.error(`[backfill-assets] org "${i.org}" not found (slug or id).`),await kw(f).catch(()=>{}),1;$=x.id,console.log(`[backfill-assets] scoped to org ${x.slug??x.id} (${x.id})`)}console.log(`[backfill-assets] starting${t?" (dry-run)":""} \u2014 target=${i.target} baseUrl=${l} batch=${u}${i.limit?` limit=${i.limit}`:""}`);let d=new Map,_=(x,O,y)=>{let X=`${y}\x00${x}`,N=d.get(X);if(N)return N;let U=fW({objectStorage:F_(n,x),baseUrl:l,orgSlug:O??void 0,prefix:y,dryRun:t});return d.set(X,U),U},g=async(x,O,y,X)=>{let N="";for(;;){let U=i.limit?i.limit-y.scanned:1/0;if(U<=0)break;let J=await x(N,Math.min(u,U));if(J.length===0)break;for(let T of J)N=T.id,y.scanned++,await O(T);console.log(`[backfill-assets] ${X}: scanned=${y.scanned} ${t?"would-change":"changed"}=${y.changed} errors=${y.errors} cursor=${N}`)}},h={scanned:0,changed:0,errors:0},E={scanned:0,changed:0,errors:0},v={scanned:0,changed:0,errors:0};try{if(i.target==="all"||i.target==="threads")await g((x,O)=>c.selectFrom("thread_messages as tm").innerJoin("threads as t","t.id","tm.thread_id").innerJoin("organization as o","o.id","t.organization_id").select(["tm.id as id",$Gi`tm.parts`.as("parts"),$Gi`tm.metadata`.as("metadata"),"t.organization_id as orgId","o.slug as orgSlug"]).where("tm.id",">",x).$if(!!$,(y)=>y.where("t.organization_id","=",$)).orderBy("tm.id","asc").limit(O).execute(),async(x)=>{try{if(!zH(x.parts)&&!zH(x.metadata))return;let O=_(x.orgId,x.orgSlug,"thread-assets"),y=JSON.parse(x.parts),X=await Lui(y,O),N=X!==y,U=x.metadata!==null?JSON.parse(x.metadata):null,J=await Lui(U,O),T=J!==U;if(!N&&!T)return;if(h.changed++,t)return;await c.updateTable("thread_messages").set({parts:N?JSON.stringify(X):x.parts,metadata:T?JSON.stringify(J):x.metadata}).where("id","=",x.id).execute()}catch(O){h.errors++,console.error(`[backfill-assets] thread_message ${x.id} failed, skipping:`,O)}},h,"threads");if(i.target==="all"||i.target==="connections")await g((x,O)=>c.selectFrom("connections as c").innerJoin("organization as o","o.id","c.organization_id").select(["c.id as id","c.icon as icon",$Gi`c.metadata`.as("metadata"),"c.organization_id as orgId","o.slug as orgSlug"]).where("c.id",">",x).$if(!!$,(y)=>y.where("c.organization_id","=",$)).orderBy("c.id","asc").limit(O).execute(),async(x)=>{try{if(!zH(x.icon)&&!zH(x.metadata))return;let O=_(x.orgId,x.orgSlug,"connection-icons"),y=x.icon!==null?await O(x.icon):x.icon,X=y!==x.icon,N=x.metadata!==null?JSON.parse(x.metadata):null,U=await Lui(N,O),J=U!==N;if(!X&&!J)return;if(E.changed++,t)return;await c.updateTable("connections").set({icon:X?y??null:x.icon,metadata:J?JSON.stringify(U):x.metadata}).where("id","=",x.id).execute()}catch(O){E.errors++,console.error(`[backfill-assets] connection ${x.id} failed, skipping:`,O)}},E,"connections");if(i.target==="all"||i.target==="organizations")await g((x,O)=>c.selectFrom("organization as o").select(["o.id as id","o.logo as logo","o.slug as orgSlug"]).where("o.id",">",x).$if(!!$,(y)=>y.where("o.id","=",$)).orderBy("o.id","asc").limit(O).execute(),async(x)=>{try{if(!zH(x.logo))return;let y=await _(x.id,x.orgSlug,"org-logos")(x.logo);if(y===x.logo)return;if(v.changed++,t)return;await c.updateTable("organization").set({logo:y??null}).where("id","=",x.id).execute()}catch(O){v.errors++,console.error(`[backfill-assets] organization ${x.id} failed, skipping:`,O)}},v,"organizations")}finally{await kw(f).catch(()=>{})}let r=t?"would-change":"changed";return console.log("[backfill-assets] done \u2014 "+`threads(scanned=${h.scanned} ${r}=${h.changed} errors=${h.errors}) connections(scanned=${E.scanned} ${r}=${E.changed} errors=${E.errors}) organizations(scanned=${v.scanned} ${r}=${v.changed} errors=${v.errors})`),h.errors+E.errors+v.errors>0?1:0}var zH=(i)=>i!==null&&(i.includes("data:image/")||i.includes("data:audio/")||i.includes("data:video/"));var IPt=w(()=>{z$();Sw();Cui();Ud()});async function BPt(i){let t,u,l=new Promise((c,$)=>{t=c,u=$});l.catch(()=>{});let n=!1,f=Bun.serve({port:i.port??0,hostname:"127.0.0.1",fetch(c){if(n)return new Response("",{status:204});let $=new URL(c.url),d=$.searchParams.get("code");if($.searchParams.get("state")!==i.expectedState)return n=!0,u(Error("OAuth state mismatch")),new Response("State mismatch \u2014 close this tab.",{status:400});if(!d)return n=!0,u(Error("OAuth callback missing code")),new Response("Missing code \u2014 close this tab.",{status:400});return n=!0,t({code:d}),new Response(null,{status:302,headers:{location:i.successRedirectUrl}})}});return{url:`http://127.0.0.1:${f.port}`,waitForCallback:()=>l,close:()=>f.stop(!0)}}import{createHash as rxl,randomBytes as wxl}from"crypto";function YPt(){let i=QPt(wxl(32)),t=QPt(rxl("sha256").update(i).digest());return{verifier:i,challenge:t}}function QPt(i){return i.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var PPt=()=>{};import{chmod as xxl,mkdir as Dxl,readdir as Oxl,readFile as yxl,rename as Xxl,rm as APt,writeFile as Nxl}from"fs/promises";import{dirname as Jxl,join as _Gi}from"path";function Mui(i,t){if(!t)return _Gi(i,"session.json");return _Gi(i,`session.${Uxl(t)}.json`)}function Uxl(i){let t=i;try{t=new URL(i).host}catch{}return t.replace(/[^a-zA-Z0-9.-]/g,"_")||"default"}async function dGi(i){try{let t=await yxl(i,"utf8"),u=JSON.parse(t);if(!Txl(u))return null;return u}catch{return null}}async function GPt(i){try{return(await Oxl(i)).filter((u)=>/^session(\..+)?\.json$/.test(u)).map((u)=>_Gi(i,u))}catch{return[]}}async function qui(i,t){let u=await dGi(Mui(i,t));if(u)return u;if(t)return dGi(Mui(i));for(let l of await GPt(i)){let n=await dGi(l);if(n)return n}return null}async function cW(i,t){let u=Mui(i,t.target);await Dxl(Jxl(u),{recursive:!0});let l=`${u}.tmp`;await Nxl(l,JSON.stringify(t,null,2),{mode:384}),await xxl(l,384),await Xxl(l,u)}async function WPt(i,t){if(t){await APt(Mui(i,t),{force:!0});return}for(let u of await GPt(i))await APt(u,{force:!0})}function Txl(i){if(!i||typeof i!=="object")return!1;let t=i;if(typeof t.target!=="string"||typeof t.clientId!=="string"||typeof t.accessToken!=="string"||typeof t.createdAt!=="string")return!1;if(!t.user||typeof t.user!=="object")return!1;if(typeof t.user.sub!=="string")return!1;return!0}var bH=()=>{};var kPt={};Gi(kPt,{performInteractiveLogin:()=>Vui,loginCommand:()=>Qxl});import{spawn as Fxl}from"child_process";import{randomUUID as Zxl}from"crypto";async function Vui(i={}){let t=(i.target??Ixl).replace(/\/$/,""),u=i.fetch??fetch,l=i.openBrowser??Gxl,n=Zxl(),f=YPt(),c=await BPt({expectedState:n,successRedirectUrl:`${t}/cli/auth-success`});try{let $=`${c.url}/`,d=await Yxl(u,t,$),_=new URLSearchParams({client_id:d,redirect_uri:$,response_type:"code",state:n,scope:Bxl,code_challenge:f.challenge,code_challenge_method:"S256"}),g=`${t}/login?${_.toString()}`;console.log(`Opening ${g} in your browser...`),await l(g);let{code:h}=await c.waitForCallback(),E=await Pxl(u,t,d,h,$,f.verifier);if(!E.id_token)throw Error("Token endpoint returned no id_token");let v=Axl(E.id_token);return{target:t,clientId:d,user:{sub:v.sub,email:v.email,name:v.name},accessToken:E.access_token,refreshToken:E.refresh_token,expiresAt:E.expires_in?Math.floor(Date.now()/1000)+E.expires_in:void 0,createdAt:new Date().toISOString()}}finally{c.close()}}async function Qxl(i){try{let t=await Vui({target:i.target,openBrowser:i.openBrowser,fetch:i.fetch});return await cW(i.dataDir,t),console.log(`Logged in as ${t.user.email??t.user.sub}.`),0}catch(t){return console.error(`Login failed: ${t instanceof Error?t.message:String(t)}`),1}}async function Yxl(i,t,u){let l=await i(`${t}/api/auth/mcp/register`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({client_name:"decocms-cli",redirect_uris:[u],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"none",application_type:"native"})});if(!l.ok)throw Error(`Client registration failed: HTTP ${l.status} ${await l.text().catch(()=>"")}`);let n=await l.json();if(typeof n?.client_id!=="string")throw Error("Client registration returned no client_id");return n.client_id}async function Pxl(i,t,u,l,n,f){let c=new URLSearchParams({grant_type:"authorization_code",code:l,redirect_uri:n,client_id:u,code_verifier:f}),$=await i(`${t}/api/auth/mcp/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:c.toString()});if(!$.ok)throw Error(`Token exchange failed: HTTP ${$.status} ${await $.text().catch(()=>"")}`);let d=await $.json();if(typeof d?.access_token!=="string")throw Error("Token endpoint returned no access_token");return d}function Axl(i){let t=i.split(".");if(t.length!==3||!t[1])throw Error("id_token is not a valid JWT");let u=JSON.parse(Buffer.from(t[1],"base64url").toString("utf8"));if(typeof u.sub!=="string")throw Error("id_token has no sub claim");return{sub:u.sub,email:typeof u.email==="string"?u.email:void 0,name:typeof u.name==="string"?u.name:void 0}}async function Gxl(i){let t,u;switch(process.platform){case"darwin":t="open",u=[i];break;case"win32":t="cmd",u=["/c","start","",i];break;default:t="xdg-open",u=[i];break}await new Promise((l)=>{let n=Fxl(t,u,{stdio:"ignore",detached:!0});n.on("error",()=>{console.log(`Could not open browser automatically. Please open this URL manually:
|
|
147
147
|
${i}`),l()}),n.on("spawn",()=>{n.unref(),l()})})}var Ixl="https://studio.decocms.com",Bxl="openid profile email offline_access";var gGi=w(()=>{PPt();bH()});async function jPt(i,t=fetch,u=Date.now){if(!i.refreshToken)throw new zg("invalid_grant","Session has no refresh token");let l=new URLSearchParams({grant_type:"refresh_token",refresh_token:i.refreshToken,client_id:i.clientId}),n;try{n=await t(`${i.target}/api/auth/mcp/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:l.toString()})}catch(c){throw new zg("transient",c instanceof Error?c.message:String(c))}if(!n.ok){let c=await n.text().catch(()=>"");if(n.status>=400&&n.status<500)throw new zg("invalid_grant",`HTTP ${n.status} ${c}`);throw new zg("transient",`HTTP ${n.status} ${c}`)}let f=await n.json();if(typeof f.access_token!=="string")throw new zg("transient","Token endpoint returned no access_token");return{...i,accessToken:f.access_token,refreshToken:f.refresh_token??i.refreshToken,expiresAt:f.expires_in?Math.floor(u()/1000)+f.expires_in:i.expiresAt}}var zg;var aui=w(()=>{zg=class zg extends Error{kind;constructor(i,t){super(t);this.name="RefreshFailedError",this.kind=i}}});async function zw(i){let t=await qui(i.dataDir,i.target);if(!t)return null;let u=i.now??Date.now;if(!kxl(t,u()))return t;try{let l=await jPt(t,i.fetch,u);return await cW(i.dataDir,l),l}catch(l){if(l instanceof zg&&l.kind==="invalid_grant")return null;throw l}}function kxl(i,t){if(i.expiresAt===void 0)return!1;let u=Math.floor(t/1000);return i.expiresAt-Wxl<u}var Wxl=60;var KH=w(()=>{aui();bH()});var SPt={};Gi(SPt,{whoamiCommand:()=>jxl});async function jxl(i){let t;try{t=await zw({dataDir:i.dataDir,fetch:i.fetch,now:i.now})}catch(u){if(u instanceof zg&&u.kind==="transient")return console.error(`Could not refresh session: ${u.message}. Run \`decocms auth login\` to authenticate.`),1;throw u}if(!t)return console.error("Not logged in. Run `decocms auth login` to authenticate."),1;return console.log(`Target: ${t.target}`),console.log(`User: ${t.user.email??t.user.sub}`),0}var zPt=w(()=>{KH();aui()});var bPt={};Gi(bPt,{logoutCommand:()=>Sxl});async function Sxl(i){if(!await qui(i.dataDir))return console.log("Already logged out."),0;return await WPt(i.dataDir),console.log("Logged out."),0}var KPt=w(()=>{bH()});async function mui(i){let t=i.isInteractive??Boolean(process.stdout.isTTY),u;try{u=await zw({dataDir:i.dataDir,target:i.target,fetch:i.fetch,now:i.now})}catch(n){if(n instanceof zg&&n.kind==="transient")throw Error(`Could not refresh session: ${n.message}. Run \`decocms auth login\` to sign in again.`);throw n}if(u&&i.target&&t&&!zxl(u.target,i.target))u=null;if(u)return u;if(!t)throw Error("No session found. Run `decocms auth login` first, then re-run the command.");console.log(`Not logged in \u2014 opening browser to sign in to ${i.intent}.`);let l=await Vui({target:i.target,openBrowser:i.openBrowser,fetch:i.fetch});return await cW(i.dataDir,l),console.log(`Logged in as ${l.user.email??l.user.sub}.`),l}function zxl(i,t){try{return new URL(i).host===new URL(t).host}catch{return i===t}}var hGi=w(()=>{gGi();KH();aui();bH()});function ih(i){let t=i?.userName?.trim();if(!t||HPt.test(t))return null;let u=i?.userEmail?.trim();if(!u||HPt.test(u))return{userName:t};if(!bxl.test(u))return{userName:t};return{userName:t,userEmail:u}}var HPt,bxl;var oui=w(()=>{HPt=/[\r\n<>]/,bxl=/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/});var HH=w(()=>{H1();oui()});async function pui(i){try{let t=await fetch(`${i}/health`,{signal:AbortSignal.timeout(Kxl)});if(!t.ok)return null;let u=await t.json();if(typeof u==="object"&&u!==null&&typeof u.bootId==="string"&&typeof u.ready==="boolean"&&u.setup&&typeof u.setup.running==="boolean"&&typeof u.setup.done==="boolean")return u;return null}catch{return null}}async function ili(i){for(let t=0;t<RPt;t++){if(await pui(i)!==null)return;let u=(Math.random()*2-1)*Hxl;await mu(LPt+u)}throw Error(`sandbox daemon at ${i} did not respond on /health within ${RPt*LPt/1000}s`)}async function B8(i,t,u,l,n){return Rxl(i,t,"POST",u,l,n)}async function Rxl(i,t,u,l,n,f){let c={...l};if(n&&n.rotateToken!==void 0)c.auth=n;let $=await fetch(`${i}/_sandbox/config`,{method:u,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(c),signal:AbortSignal.timeout(f?.timeoutMs??CPt)}),d=await $.text();if(!$.ok)throw new sui($.status,d);return JSON.parse(d)}async function ePt(i,t,u){let l=await fetch(`${i}/_sandbox/orgfs-config`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:u,signal:AbortSignal.timeout(CPt)}),n=await l.text();if(!l.ok)throw Error(`sandbox daemon /_sandbox/orgfs-config returned ${l.status}: ${n}`);return JSON.parse(n)}async function RH(i,t,u,l){let n=new Headers(l.headers);for(let $ of Lxl)n.delete($);n.set("authorization",`Bearer ${t}`);let f=l.method!=="GET"&&l.method!=="HEAD",c=`${i}${u.startsWith("/")?u:`/${u}`}`;return fetch(c,{method:l.method,headers:n,body:f?l.body:void 0,redirect:"manual",signal:l.signal,duplex:f?"half":void 0})}var sui,Kxl=500,CPt=30000,RPt=25,LPt=200,Hxl=50,Lxl;var EGi=w(()=>{HH();sui=class sui extends Error{status;constructor(i,t){super(`sandbox daemon /_sandbox/config returned ${i}: ${t}`);this.status=i;this.name="ConfigRequestError"}};Lxl=["cookie","host","connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","accept-encoding","content-length"]});var qPt=`var __create = Object.create;
|
|
@@ -104791,7 +104791,7 @@ ${c.stack}`;f.reject(d)}else f.resolve(_)}});return $.requestSubject=i,this.prot
|
|
|
104791
104791
|
`);if(g===-1)return;let h=$.subarray(0,g).toString("utf8"),E=$.subarray(g+4),v=h.split(`\r
|
|
104792
104792
|
`,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(v)){M8(i,1011,t.upstreamErrorReason);try{c.end()}catch{}return}d=!0,i.data.upstream=c;let r=j9l((x,O)=>{try{if(x===1)i.send(O.toString("utf8"));else if(x===2)i.send(O);else if(x===8){let{code:y,reason:X}=k9l(O);M8(i,y,X);try{c.end()}catch{}}}catch{}});if(c.removeAllListeners("data"),E.length>0)r(E);c.on("data",(x)=>r(x));for(let x of i.data.pending)try{c.write(xki(x,!0))}catch{}i.data.pending.length=0})}function W9l(i,t){let u=[`GET ${i} HTTP/1.1`];for(let[l,n]of Object.entries(t))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
|
|
104793
104793
|
`)}function M8(i,t,u){try{if(t!==void 0)i.close(t,u??"");else i.close()}catch{}}function xki(i,t,u){let l,n;if(typeof i==="string")l=Buffer.from(i,"utf8"),n=1;else if(i instanceof ArrayBuffer)l=Buffer.from(i),n=2;else if(Buffer.isBuffer(i))l=i,n=2;else l=Buffer.from(i),n=2;let f=u??n,c=l.length,$=[];$.push(128|f&15);let d=t?128:0;if(c<126)$.push(d|c);else if(c<65536)$.push(d|126,c>>8&255,c&255);else $.push(d|127,0,0,0,0),$.push(c>>>24&255,c>>>16&255,c>>>8&255,c&255);if(t){let _=USt(4),g=Buffer.alloc(c);for(let h=0;h<c;h++)g[h]=l[h]^_[h&3];return Buffer.concat([Buffer.from($),_,g])}return Buffer.concat([Buffer.from($),l])}function k9l(i){if(i.length<2)return{code:1000,reason:""};return{code:i.readUInt16BE(0),reason:i.subarray(2).toString("utf8")}}function j9l(i){let t=Buffer.alloc(0);return(u)=>{t=t.length===0?u:Buffer.concat([t,u]);while(!0){if(t.length<2)return;let l=t[0],n=t[1],f=l&15,c=(n&128)!==0,$=n&127,d=2;if($===126){if(t.length<d+2)return;$=t[d]<<8|t[d+1],d+=2}else if($===127){if(t.length<d+8)return;$=t[d+4]*16777216+(t[d+5]<<16|t[d+6]<<8|t[d+7]),d+=8}let _=null;if(c){if(t.length<d+4)return;_=t.subarray(d,d+4),d+=4}if(t.length<d+$)return;let g=t.subarray(d,d+$);if(_){let h=Buffer.alloc($);for(let E=0;E<$;E++)h[E]=g[E]^_[E&3];g=h}t=t.subarray(d+$),i(f,g)}}}var A9l=256;var ISt=w(()=>{JSt()});function BSt(i){if(typeof i!=="string"||i.length===0)return null;let t=i.lastIndexOf(":");if(i.startsWith("["))return null;let l=(t>=0?i.slice(0,t):i).replace(/\.$/,"").toLowerCase(),n=".localhost";if(!l.endsWith(n))return null;let f=l.slice(0,-n.length);if(f.length===0)return null;if(f.includes("."))return null;return f}async function QSt(i){let t=ZSt({maxPendingFrames:i.maxPendingWsFrames??S9l,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:i.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let f=l.headers.get("host"),c=BSt(f);if(!c)return new Response("not found",{status:404});let $=i.lookupSandboxPort(c);if(!$){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(z9l,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let h=new URL(l.url);if(!n.upgrade(l,{data:FSt({port:$,pathQuery:`${h.pathname}${h.search}`,protocols:TSt(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let d=new URL(l.url),_=`http://127.0.0.1:${$}${d.pathname}${d.search}`,g=new Headers(l.headers);return g.set("host",`127.0.0.1:${$}`),fetch(_,{method:l.method,headers:g,body:l.body,redirect:"manual"})},websocket:{open:t.open,message:t.message,close:t.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var S9l=256,z9l='<!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 local sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>';var YSt=w(()=>{ISt()});async function Dki(i=C9l){let t=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([i.detectClaudeCode().catch(()=>!1),i.detectCodex().catch(()=>!1)]);if(u)t.push("claude-code");if(l)t.push("codex");return t}function K9l(i){return b9l.filter((t)=>!i.includes(t))}function H9l(i,t){let u=t.filter((l)=>!i.includes(l));return i.push(...u),u}function PSt(i,t={}){let u=t.detect??(()=>Dki()),l=setInterval(()=>{if(K9l(i).length===0)return;u().then((n)=>{let f=H9l(i,n);if(f.length>0)t.onChange?.(f)}).catch(()=>{})},t.intervalMs??60000);return l.unref?.(),()=>clearInterval(l)}async function R9l(){try{let{query:i}=await import("@anthropic-ai/claude-agent-sdk"),t=i({prompt:"",options:{maxTurns:1}}),u=await t.accountInfo();return t.return(void 0),Boolean(u.email)}catch{return!1}}async function L9l(){try{let i=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),t=setTimeout(()=>i.kill(),1e4),u=await i.exited;return clearTimeout(t),u===0}catch{return!1}}var b9l,C9l;var ASt=w(()=>{b9l=["claude-code","codex"];C9l={detectClaudeCode:R9l,detectCodex:L9l}});import{randomBytes as e9l}from"crypto";import{mkdir as M9l,readFile as q9l,writeFile as V9l}from"fs/promises";import{dirname as a9l,join as m9l}from"path";function o9l(i){return m9l(i,"machine-id")}async function GSt(i){let t=o9l(i);try{let n=(await q9l(t,"utf8")).trim();if(n)return n}catch{}let u=e9l(16).toString("hex");return await M9l(a9l(t),{recursive:!0}),await V9l(t,u),u}var WSt=()=>{};import{randomBytes as s9l}from"crypto";import{mkdir as p9l}from"fs/promises";import{createServer as iNl}from"net";import{join as tNl}from"path";function kSt(i,t){return Error(`sandbox failed to start: ${i}`,{cause:t})}function uNl(i){if(!(i instanceof Error))return!1;return i.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(i.message)}function lNl(i){if(i instanceof Error){let t=i.cause;if(t instanceof Error&&t.message)return t.message;return i.message}return String(i)}function jSt(i){let t=i.maxSandboxes??20,u=new Map,l=i.pickPort??nNl,n=i.fetchImpl??fetch,f=i.resolvePreviewUrl??((E,v)=>`http://127.0.0.1:${v}`),c=(E)=>{try{i.onEvent?.(E)}catch{}},$=async(E)=>{let v=new AbortController,r=setTimeout(()=>v.abort(),1500);try{let x=await n(`${E}/health`,{signal:v.signal});if(!x.ok)console.warn(`[user-desktop] probe ${E}/health \u2192 ${x.status} (treating as dead)`);return x.ok}catch(x){return console.warn(`[user-desktop] probe ${E}/health failed: ${x instanceof Error?x.message:String(x)} (treating as dead)`),!1}finally{clearTimeout(r)}},d=(E)=>{console.warn(`[user-desktop] evicting dead daemon handle=${E.handle} port=${E.port}`);try{E.process.kill("SIGTERM")}catch{}if(u.get(E.handle)===E)u.delete(E.handle),c({handle:E.handle,phase:"evicted"})},_=new Map;function g(){if(u.size<t)return;let E=[...u.values()].filter((r)=>r.activeDispatchCount===0).sort((r,x)=>r.lastUsedAt-x.lastUsedAt);if(E.length===0){console.warn(`[user-desktop] at cap ${u.size}/${t} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let v=E[0];console.log(`[user-desktop] evicting LRU victim handle=${v.handle} port=${v.port} (cap ${t} reached, size=${u.size})`);try{v.process.kill("SIGTERM")}catch{}u.delete(v.handle),c({handle:v.handle,phase:"evicted"})}let h=async(E)=>{c({handle:E.handle,phase:"spawning"}),g();let v=tNl(i.dataDir,"sandboxes",E.handle);await p9l(v,{recursive:!0}),console.log(`[user-desktop] ensure handle=${E.handle} repo=${E.repo?.cloneUrl??"(none)"} branch=${E.repo?.branch??"(none)"} runtime=${E.workload?.runtime??"(autodetect)"} pm=${E.workload?.packageManager??"(autodetect)"}`);let r=s9l(24).toString("hex"),[x,O]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${E.handle} port=${x} devPort=${O} workdir=${v}`);let y=await Promise.resolve(i.spawnDaemon({workdir:v,handle:E.handle,port:x,daemonToken:r,offloadAllowedHosts:E.offloadAllowedHosts??[],offloadAllowSameHostDev:E.offloadAllowSameHostDev??!1,orgFsConfigJson:E.orgFsConfigJson}));try{try{await i.waitForHealth(x)}catch(J){throw kSt("the sandbox didn't come online in time",J)}console.log(`[user-desktop] healthy handle=${E.handle} port=${x} \u2014 posting config`);try{await i.postConfig(x,O,{repo:E.repo,workload:E.workload,operator:E.operator},r)}catch(J){throw kSt(uNl(J)?"configuration timed out":"the sandbox rejected its configuration",J)}}catch(J){console.error(`[user-desktop] sandbox bring-up failed handle=${E.handle} port=${x} (killing daemon):`,J);try{y.kill("SIGKILL")}catch{}throw c({handle:E.handle,phase:"failed",error:lNl(J)}),J}let X=`http://127.0.0.1:${x}`,N=f(E.handle,x);console.log(`[user-desktop] ready handle=${E.handle} port=${x} sandboxApiUrl=${X} previewUrl=${N}`);let U={handle:E.handle,port:x,process:y,sandboxApiUrl:X,previewUrl:N,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:r};if(u.set(E.handle,U),c({handle:E.handle,phase:"ready",port:x,previewUrl:N}),y.exited)y.exited.then(()=>{if(u.get(E.handle)===U)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${E.handle} port=${x} \u2014 removing from cache`),u.delete(E.handle),c({handle:E.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${E.handle} port=${x} (already replaced/removed)`)});return{sandboxApiUrl:X,previewUrl:N,port:x}};return{async ensureSandbox(E){let v=u.get(E.handle);if(v){if(await $(v.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${E.handle} port=${v.port} (alive)`),v.lastUsedAt=Date.now(),{sandboxApiUrl:v.sandboxApiUrl,previewUrl:v.previewUrl,port:v.port};console.warn(`[user-desktop] cache stale handle=${E.handle} port=${v.port} \u2014 respawning`),d(v)}let r=_.get(E.handle);if(r)return console.log(`[user-desktop] joining in-flight ensure handle=${E.handle}`),r;let x=h(E).finally(()=>{_.delete(E.handle)});return _.set(E.handle,x),x},proxyPort(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now();return v?.port??null},getDaemonToken(E){return u.get(E)?.daemonToken??null},hasHandle(E){return u.has(E)||_.has(E)},recordHit(E){let v=u.get(E);if(v)v.lastUsedAt=Date.now()},acquireDispatch(E){let v=u.get(E);if(!v)return()=>{};v.activeDispatchCount+=1;let r=!1;return()=>{if(r)return;r=!0;let x=u.get(E);if(x)x.activeDispatchCount=Math.max(0,x.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(E){let v=u.get(E);if(!v){console.log(`[user-desktop] delete handle=${E} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${E} port=${v.port}`);try{v.process.kill("SIGTERM")}catch{}u.delete(E),c({handle:E,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let E of u.values())try{E.process.kill("SIGTERM")}catch{}u.clear()}}}function nNl(){return new Promise((i,t)=>{let u=iNl();u.unref(),u.on("error",t),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>i(n))}else u.close(()=>t(Error("could not allocate port")))})})}var SSt=()=>{};import{randomUUID as fNl}from"crypto";import{hostname as cNl}from"os";async function zSt(i){let t=cNl()||void 0;i.monitor?.onMachine?.(t??"this machine");let u=pPt(i.dataDir,{outFd:i.logFd,hotReload:i.hotReload}),l=0,n=jSt({dataDir:i.dataDir,resolvePreviewUrl:(N,U)=>l>0?`http://${N}.localhost:${l}`:`http://127.0.0.1:${U}`,spawnDaemon:async(N)=>{let U={DAEMON_BOOT_ID:fNl(),APP_ROOT:N.workdir,PROXY_PORT:String(N.port),DAEMON_TOKEN:N.daemonToken,OFFLOAD_ALLOWED_HOSTS:N.offloadAllowedHosts.join(","),...N.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(N.orgFsConfigJson){let T=await lAt(i.dataDir);if(T)U.ORGFS_CONFIG=N.orgFsConfigJson,U.ORGFS_RCLONE_PATH=T}let J=await u({workdir:N.workdir,env:U,daemonPort:N.port});return{port:N.port,kill:(T)=>J.kill(T),exited:J.exited.then(()=>{return})}},postConfig:async(N,U,J,T)=>{let Q={port:U};if(J.workload)Q.runtime=J.workload.runtime,Q.packageManager={name:J.workload.packageManager,...J.workload.packageManagerPath?{path:J.workload.packageManagerPath}:{}};let B={application:Q},P=ih(J.operator??null);if(P)B.operator=P;if(J.repo)B.git={repository:{cloneUrl:J.repo.cloneUrl,branch:J.repo.branch},...J.repo.userName&&J.repo.userEmail?{identity:{userName:J.repo.userName,userEmail:J.repo.userEmail}}:{}};await B8(`http://127.0.0.1:${N}`,T,B)},waitForHealth:async(N)=>{await ili(`http://127.0.0.1:${N}`)},maxSandboxes:20,onEvent:i.monitor?.onEvent}),f=await QSt({port:i.port,lookupSandboxPort:(N)=>n.proxyPort(N)});l=f.port,console.log(`Local ingress listening on http://127.0.0.1:${f.port} (use http://<handle>.localhost:${f.port}/)`),i.monitor?.onIngress?.(f.port);let c=fAt({provider:n}),$=async()=>{let N=await zw({dataDir:i.dataDir,target:i.clusterBaseUrl});if(!N)throw Object.assign(Error(`Session for ${i.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${i.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return N.accessToken};console.log(`[link-daemon] transport=pull cluster=${i.clusterBaseUrl}`);let d=await GSt(i.dataDir),_=process.env.npm_package_version??"0.0.0",g=await Dki(),h=PSt(g,{onChange:(N)=>{console.log(`[link-daemon] capabilities detected: +${N.join(",")} (now: ${g.join(",")})`)}}),E=vki({path:`${i.dataDir}/link/outbox.sqlite`}),v=()=>{},r=await DSt({clusterBaseUrl:i.clusterBaseUrl,getAccessToken:$,provider:n,outbox:E,controlHandler:c,capabilities:g,machineId:d,cliVersion:_,previewPort:f.port,onConnected:()=>{i.monitor?.onCluster?.("linked"),console.log(`Linked to ${i.clusterBaseUrl} (pull transport)`)},onShutdown:()=>v()}),x,O=new Promise((N)=>{x=N}),y=!1,X=async()=>{if(y)return;y=!0,console.log(`
|
|
104794
|
-
Shutting down\u2026`),h();try{await r.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}x(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},r.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var bSt=w(()=>{EGi();HH();iAt();nAt();cAt();OSt();rki();YSt();ASt();WSt();KH();SSt()});function Oki(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var E0i;var yki=w(()=>{E0i={name:"decocms",version:"3.16.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:e2e":"playwright test","test:e2e:ui":"playwright test --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.2.141","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.80","@ai-sdk/google":"^3.0.80","@ai-sdk/openai":"^3.0.65","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^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.17.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","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@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",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.193","@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:*","@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","@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/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/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.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-mention":"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/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.191","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","mesh-plugin-workflows":"workspace:*",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",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var ER={};Gi(ER,{printBanner:()=>_Nl,bannerLines:()=>KSt,BANNER_LINES:()=>v0i,BANNER_GRADIENT:()=>r0i});function dNl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function KSt(i){let t=v0i.map((u,l)=>{let[n,f,c]=dNl(r0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function _Nl(i){console.log("");for(let t of KSt(i))console.log(t);console.log("")}var v0i,r0i;var BW=w(()=>{v0i=[" \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 "],r0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as gNl,Text as HSt}from"ink";import{jsx as hNl,jsxs as RSt}from"react/jsx-runtime";function w0i({version:i}){return RSt(gNl,{flexDirection:"column",marginTop:1,children:[v0i.map((t,u)=>hNl(HSt,{color:r0i[u],children:t},u)),RSt(HSt,{dimColor:!0,children:[" v",i]})]})}var Xki=w(()=>{BW()});var CSt={};Gi(CSt,{subscribeLinkState:()=>Uki,setMachine:()=>wNl,setLogPath:()=>DNl,setIngress:()=>rNl,setDaemonError:()=>xNl,setClusterUrl:()=>vNl,setCluster:()=>ENl,pushSandboxEvent:()=>ONl,getLinkState:()=>Jki,applySandboxEvent:()=>LSt});function LSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function q8(){for(let i of Nki)i()}function Jki(){return t$}function Uki(i){return Nki.add(i),()=>Nki.delete(i)}function ENl(i){t$={...t$,cluster:i},q8()}function vNl(i){t$={...t$,clusterUrl:i},q8()}function rNl(i,t){t$={...t$,ingressPort:i,ingressUrl:t},q8()}function wNl(i){t$={...t$,machine:i},q8()}function xNl(i){t$={...t$,daemonError:i},q8()}function DNl(i){t$={...t$,logPath:i},q8()}function ONl(i){t$={...t$,sandboxes:LSt(t$.sandboxes,i)},q8()}var t$,Nki;var Tki=w(()=>{t$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Nki=new Set});var eSt={};Gi(eSt,{LinkApp:()=>NNl});import{Box as u$,Text as l$}from"ink";import{useSyncExternalStore as yNl}from"react";import{jsx as $f,jsxs as LE}from"react/jsx-runtime";function XNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function NNl(){let i=yNl(Uki,Jki),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return LE(u$,{flexDirection:"column",children:[$f(w0i,{version:E0i.version}),$f(u$,{marginBottom:1,children:$f(l$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(u$,{children:i.cluster==="linked"?LE(l$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?LE(l$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):LE(l$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(u$,{children:i.ingressUrl?LE(l$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(l$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(u$,{marginBottom:1,children:$f(l$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(l$,{dimColor:!0,children:"No previews running yet."}):LE(u$,{flexDirection:"column",children:[LE(u$,{children:[$f(u$,{width:x0i.project,flexShrink:0,marginRight:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(u$,{width:x0i.status,flexShrink:0,marginRight:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(u$,{flexGrow:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=XNl(u);return LE(u$,{children:[$f(u$,{width:x0i.project,flexShrink:0,marginRight:1,children:$f(l$,{wrap:"truncate-end",children:u.handle})}),$f(u$,{width:x0i.status,flexShrink:0,marginRight:1,children:$f(l$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(u$,{flexGrow:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(u$,{marginTop:1,children:LE(l$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(u$,{marginTop:1,children:LE(l$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var x0i;var MSt=w(()=>{yki();Xki();Tki();x0i={project:18,status:14}});var VSt={};Gi(VSt,{runLinkCommand:()=>QNl});import{closeSync as JNl,mkdirSync as UNl,openSync as TNl,writeSync as FNl}from"fs";import{homedir as ZNl}from"os";import{join as qSt}from"path";function INl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{FNl(t,`${Oki(n)}
|
|
104794
|
+
Shutting down\u2026`),h();try{await r.close()}catch{}try{await f.stop()}catch{}try{await n.shutdown()}catch{}try{E.close()}catch{}x(0)};return process.on("SIGINT",()=>void X()),process.on("SIGTERM",()=>void X()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms link` to reconnect."),X()},r.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!y)console.error("Cluster connection closed permanently; exiting."),X()}),{stopped:O,stop:X}}var bSt=w(()=>{EGi();HH();iAt();nAt();cAt();OSt();rki();YSt();ASt();WSt();KH();SSt()});function Oki(i){return i.map((t)=>typeof t==="string"?t:String(t)).join(" ")}var E0i;var yki=w(()=>{E0i={name:"decocms",version:"3.16.2",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:e2e":"playwright test","test:e2e:ui":"playwright test --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.2.141","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.80","@ai-sdk/google":"^3.0.80","@ai-sdk/openai":"^3.0.65","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^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.17.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","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@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",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.193","@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:*","@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","@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/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/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.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-mention":"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/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.191","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","mesh-plugin-workflows":"workspace:*",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",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var ER={};Gi(ER,{printBanner:()=>_Nl,bannerLines:()=>KSt,BANNER_LINES:()=>v0i,BANNER_GRADIENT:()=>r0i});function dNl(i){let t=Number.parseInt(i.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function KSt(i){let t=v0i.map((u,l)=>{let[n,f,c]=dNl(r0i[l]);return`\x1B[38;2;${n};${f};${c}m${u}\x1B[39m`});if(i!==void 0)t.push(`\x1B[2m v${i}\x1B[22m`);return t}function _Nl(i){console.log("");for(let t of KSt(i))console.log(t);console.log("")}var v0i,r0i;var BW=w(()=>{v0i=[" \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 "],r0i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as gNl,Text as HSt}from"ink";import{jsx as hNl,jsxs as RSt}from"react/jsx-runtime";function w0i({version:i}){return RSt(gNl,{flexDirection:"column",marginTop:1,children:[v0i.map((t,u)=>hNl(HSt,{color:r0i[u],children:t},u)),RSt(HSt,{dimColor:!0,children:[" v",i]})]})}var Xki=w(()=>{BW()});var CSt={};Gi(CSt,{subscribeLinkState:()=>Uki,setMachine:()=>wNl,setLogPath:()=>DNl,setIngress:()=>rNl,setDaemonError:()=>xNl,setClusterUrl:()=>vNl,setCluster:()=>ENl,pushSandboxEvent:()=>ONl,getLinkState:()=>Jki,applySandboxEvent:()=>LSt});function LSt(i,t){let u=new Map(i);if(t.phase==="evicted"||t.phase==="deleted")return u.delete(t.handle),u;let l=u.get(t.handle);return u.set(t.handle,{handle:t.handle,port:t.port??l?.port??null,previewUrl:t.previewUrl??l?.previewUrl??null,status:t.phase,error:t.phase==="failed"?t.error??"failed":null}),u}function q8(){for(let i of Nki)i()}function Jki(){return t$}function Uki(i){return Nki.add(i),()=>Nki.delete(i)}function ENl(i){t$={...t$,cluster:i},q8()}function vNl(i){t$={...t$,clusterUrl:i},q8()}function rNl(i,t){t$={...t$,ingressPort:i,ingressUrl:t},q8()}function wNl(i){t$={...t$,machine:i},q8()}function xNl(i){t$={...t$,daemonError:i},q8()}function DNl(i){t$={...t$,logPath:i},q8()}function ONl(i){t$={...t$,sandboxes:LSt(t$.sandboxes,i)},q8()}var t$,Nki;var Tki=w(()=>{t$={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},Nki=new Set});var eSt={};Gi(eSt,{LinkApp:()=>NNl});import{Box as u$,Text as l$}from"ink";import{useSyncExternalStore as yNl}from"react";import{jsx as $f,jsxs as LE}from"react/jsx-runtime";function XNl(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function NNl(){let i=yNl(Uki,Jki),t=[...i.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return LE(u$,{flexDirection:"column",children:[$f(w0i,{version:E0i.version}),$f(u$,{marginBottom:1,children:$f(l$,{dimColor:!0,children:"\u2500".repeat(80)})}),$f(u$,{children:i.cluster==="linked"?LE(l$,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?LE(l$,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):LE(l$,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),$f(u$,{children:i.ingressUrl?LE(l$,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):$f(l$,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),$f(u$,{marginBottom:1,children:$f(l$,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${t.length} of ${i.cap} previews`})}),t.length===0?$f(l$,{dimColor:!0,children:"No previews running yet."}):LE(u$,{flexDirection:"column",children:[LE(u$,{children:[$f(u$,{width:x0i.project,flexShrink:0,marginRight:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),$f(u$,{width:x0i.status,flexShrink:0,marginRight:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),$f(u$,{flexGrow:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),t.map((u)=>{let l=XNl(u);return LE(u$,{children:[$f(u$,{width:x0i.project,flexShrink:0,marginRight:1,children:$f(l$,{wrap:"truncate-end",children:u.handle})}),$f(u$,{width:x0i.status,flexShrink:0,marginRight:1,children:$f(l$,{color:l.color,wrap:"truncate-end",children:l.text})}),$f(u$,{flexGrow:1,children:$f(l$,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),i.daemonError?$f(u$,{marginTop:1,children:LE(l$,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?$f(u$,{marginTop:1,children:LE(l$,{dimColor:!0,children:["Logs: ",i.logPath]})}):null]})}var x0i;var MSt=w(()=>{yki();Xki();Tki();x0i={project:18,status:14}});var VSt={};Gi(VSt,{runLinkCommand:()=>QNl});import{closeSync as JNl,mkdirSync as UNl,openSync as TNl,writeSync as FNl}from"fs";import{homedir as ZNl}from"os";import{join as qSt}from"path";function INl(i,t){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(t===void 0)return;try{FNl(t,`${Oki(n)}
|
|
104795
104795
|
`)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),i(Oki(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function BNl(i,t){let u;try{u=await fetch(`${i}/api/links/me`,{headers:{authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${i} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${i}\` and try again.`)}async function QNl(i={}){let t=i.port??5174,u=i.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??qSt(ZNl(),"deco"),l=i.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,f;try{let c=await mui({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await BNl(l,c.accessToken);let $;if(i.tui){let{render:_}=await import("ink"),{createElement:g}=await import("react"),{LinkApp:h}=await Promise.resolve().then(() => (MSt(),eSt)),{pushSandboxEvent:E,setCluster:v,setClusterUrl:r,setDaemonError:x,setIngress:O,setLogPath:y,setMachine:X}=await Promise.resolve().then(() => (Tki(),CSt));UNl(u,{recursive:!0});let N=qSt(u,"link.log");f=TNl(N,"a"),y(N),r(l),v("connecting"),$={onEvent:(U)=>E(U),onIngress:(U)=>O(U,`http://127.0.0.1:${U}`),onCluster:(U)=>v(U),onMachine:(U)=>X(U)},n=INl(x,f),_(g(h),{patchConsole:!1})}else if(i.banner!==!1){let{printBanner:_}=await Promise.resolve().then(() => (BW(),ER));_(i.version??"0.0.0")}return await(await zSt({port:t,clusterBaseUrl:l,dataDir:u,session:c,monitor:$,logFd:f,hotReload:i.hotReload})).stopped}catch(c){return n?.(),console.error(c instanceof Error?c.message:String(c)),1}finally{if(n?.(),f!==void 0)try{JNl(f)}catch{}}}var aSt=w(()=>{hGi();bSt()});var Yki={};Gi(Yki,{resolveDevLinkClusterUrl:()=>GNl,populateDevLinkToxiProxy:()=>tzt,isDevLinkToxiProxyEnabled:()=>ANl,ensureDevLinkToxiProxy:()=>zNl,buildDevLinkToxiProxyConfig:()=>pSt,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>oSt,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>sSt});function ANl(i=process.env){return i.DECO_DEV_LINK_TOXIPROXY==="1"}function Fki(i,t){if(!Number.isInteger(i)||i<1||i>65535)throw Error(`${t} must be an integer port in 1..65535`);return i}function pSt(i){let t=new URL(i.serverUrl);if(t.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=Fki(i.apiPort,"apiPort"),l=Fki(i.listenPort,"listenPort");if(t.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=Fki(Number.parseInt(t.port,10),"upstreamPort"),f=`http://127.0.0.1:${n}`,c=`http://127.0.0.1:${l}`;return{serviceName:oSt,proxyName:sSt,apiUrl:`http://127.0.0.1:${u}`,listen:`0.0.0.0:${l}`,upstream:`host.docker.internal:${n}`,publicTargetUrl:f,clusterUrl:c,logLine:`[dev-link-toxiproxy] ready: ${c} -> ${f}`}}function GNl(i){return i.toxiproxy?.clusterUrl??i.serverUrl}async function Zki(i,t,u){if(i.ok)return;let l=await i.text();throw Error(`ToxiProxy ${t} failed for ${u}: status=${i.status} statusText=${i.statusText} body=${l}`)}function Qki(i){if(i instanceof Error)return i.name==="Error"?i.message:`${i.name}: ${i.message}`;return String(i)}function izt(i){if(!(i instanceof Error))return!1;if(i.name==="TimeoutError")return!0;return izt(i.cause)}async function Iki(i,t,u,l){try{return await i(u,l)}catch(n){throw Error(`ToxiProxy ${t} failed for ${u}: ${Qki(n)}`,{cause:n})}}async function tzt(i,t=fetch){let u=`${i.apiUrl}/reset`,l=await Iki(t,"reset",u,{method:"POST"});await Zki(l,"reset",u);let n=`${i.apiUrl}/populate`,f=await Iki(t,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:i.proxyName,listen:i.listen,upstream:i.upstream,enabled:!0}])});await Zki(f,"populate",n)}async function WNl(i,t){let u=`${i.apiUrl}/version`;try{await Tr(async()=>{let l=await Iki(t,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(PNl)});await Zki(l,"readiness check",u)},{maxAttempts:YNl,minTimeout:mSt,maxTimeout:mSt,multiplier:1,jitter:0,isRetriable:(l)=>!izt(l)})}catch(l){let n=l instanceof H6?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${Qki(n)}`,{cause:n})}}async function kNl(i){if(i===null)return"";return await new Response(i).text()}async function Bki(i,t={}){let u=["docker",...i].join(" "),l=(()=>{try{return Bun.spawn(["docker",...i],{stdout:"ignore",stderr:"pipe"})}catch($){throw Error(`Docker command failed to start (${u}): ${Qki($)}`,{cause:$})}})(),[n,f]=await Promise.all([l.exited,kNl(l.stderr)]);if(n===0||t.ignoreFailure===!0)return;let c=f.trim().length>0?`: ${f.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${c}`)}async function jNl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await Bki(["rm","-f",u],{ignoreFailure:!0}),await Bki(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${i}:8474`,"-p",`127.0.0.1:${t}:${t}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function SNl(i,t){let u=`deco-dev-link-toxiproxy-${i}`;await Bki(["rm","-f",u],{ignoreFailure:!0})}async function zNl(i){let t=pSt(i),u=i.startDaemon??jNl,l=i.stopDaemon??(i.startDaemon===void 0?SNl:void 0);await u(i.apiPort,i.listenPort);let n=i.fetchImpl??fetch;try{await WNl(t,n),await tzt(t,n)}catch(f){if(l!==void 0)try{await l(i.apiPort,i.listenPort)}catch{}throw f}return{config:t,stop:async()=>{if(l!==void 0)await l(i.apiPort,i.listenPort)}}}var oSt="ToxiProxy",sSt="dev_link_studio",YNl=20,mSt=100,PNl=100;var Pki=w(()=>{H1()});var uzt={};Gi(uzt,{migrateBetterAuth:()=>Aki});import{getMigrations as bNl}from"better-auth/db";import{sso as KNl}from"@better-auth/sso";import{organization as HNl}from"@decocms/better-auth/plugins";import{admin as RNl,apiKey as LNl,jwt as CNl,magicLink as eNl,mcp as MNl,openAPI as qNl}from"better-auth/plugins";import{emailOTP as VNl}from"better-auth/plugins/email-otp";async function Aki(i){let u={database:kH(i||Ww()),plugins:[HNl({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),RNl(),LNl(),CNl(),qNl(),MNl({loginPage:"/login"}),KNl(),eNl({sendMagicLink:async()=>{}}),VNl({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:f}=await bNl(u);if(!l.length&&!n.length)return"up to date";return await f(),`${n.length+l.length} table(s) migrated`}var Gki=w(()=>{z$()});var Wki={};Gi(Wki,{up:()=>aNl,down:()=>mNl});import{sql as CE}from"kysely";async function aNl(i){await i.schema.createTable("connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(t)=>t.notNull()).addColumn("connectionUrl","text",(t)=>t.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("api_keys").addColumn("id","text",(t)=>t.primaryKey()).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(t)=>t.notNull()).addColumn("hashedKey","text",(t)=>t.notNull().unique()).addColumn("permissions","text",(t)=>t.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("audit_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createTable("oauth_clients").addColumn("id","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(t)=>t.notNull()).addColumn("redirectUris","text",(t)=>t.notNull()).addColumn("grantTypes","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_authorization_codes").addColumn("code","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(t)=>t.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(t)=>t.notNull()).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(t)=>t.primaryKey()).addColumn("clientId","text",(t)=>t.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("downstream_tokens").addColumn("id","text",(t)=>t.primaryKey()).addColumn("connectionId","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(t)=>t.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(t)=>t.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(CE`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function mNl(i){await i.schema.dropTable("downstream_tokens").execute(),await i.schema.dropTable("oauth_refresh_tokens").execute(),await i.schema.dropTable("oauth_authorization_codes").execute(),await i.schema.dropTable("oauth_clients").execute(),await i.schema.dropTable("audit_logs").execute(),await i.schema.dropTable("api_keys").execute(),await i.schema.dropTable("connections").execute()}var lzt=()=>{};var kki={};Gi(kki,{up:()=>oNl,down:()=>sNl});import{sql as nzt}from"kysely";async function oNl(i){await i.schema.createTable("organization_settings").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull().defaultTo(nzt`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(t)=>t.notNull().defaultTo(nzt`CURRENT_TIMESTAMP`)).execute()}async function sNl(i){await i.schema.dropTable("organization_settings").execute()}var fzt=()=>{};var jki={};Gi(jki,{up:()=>pNl,down:()=>iJl});async function pNl(i){await i.schema.alterTable("connections").renameColumn("name","title").execute(),await i.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await i.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await i.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await i.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await i.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await i.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await i.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await i.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await i.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await i.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await i.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function iJl(i){await i.schema.alterTable("connections").renameColumn("title","name").execute(),await i.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await i.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await i.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await i.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await i.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await i.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await i.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await i.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await i.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await i.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await i.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Ski={};Gi(Ski,{up:()=>tJl,down:()=>uJl});async function tJl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function uJl(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(t)=>t.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(t)=>t.notNull()).addColumn("updatedAt","text",(t)=>t.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((t)=>t.selectFrom("organization_settings").select(["organizationId",t.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var zki={};Gi(zki,{up:()=>lJl,down:()=>nJl});async function lJl(i){await i.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await i.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function nJl(i){await i.schema.alterTable("connections").dropColumn("configuration_state").execute(),await i.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var bki={};Gi(bki,{up:()=>cJl,down:()=>$Jl});import{sql as fJl}from"kysely";async function cJl(i){await i.schema.alterTable("organization_settings").addColumn("sidebar_items",fJl`text`).execute()}async function $Jl(i){await i.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var czt=()=>{};var Kki={};Gi(Kki,{up:()=>dJl,down:()=>_Jl});async function dJl(i){await i.schema.createTable("monitoring_logs").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(t)=>t.notNull()).addColumn("tool_name","text",(t)=>t.notNull()).addColumn("input","text",(t)=>t.notNull()).addColumn("output","text",(t)=>t.notNull()).addColumn("is_error","integer",(t)=>t.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(t)=>t.notNull()).addColumn("timestamp","text",(t)=>t.notNull()).addColumn("user_id","text").addColumn("request_id","text",(t)=>t.notNull()).execute(),await i.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function _Jl(i){await i.schema.dropIndex("monitoring_logs_is_error").execute(),await i.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await i.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await i.schema.dropTable("monitoring_logs").execute()}var Hki={};Gi(Hki,{up:()=>gJl,down:()=>hJl});import{sql as vR}from"kysely";async function gJl(i){await i.schema.createTable("events").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(t)=>t.notNull()).addColumn("source","text",(t)=>t.notNull()).addColumn("specversion","text",(t)=>t.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(t)=>t.notNull()).addColumn("datacontenttype","text",(t)=>t.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(vR`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(vR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_subscriptions").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(t)=>t.notNull()).addColumn("filter","text").addColumn("enabled","integer",(t)=>t.notNull().defaultTo(1)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(vR`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(vR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_deliveries").addColumn("id","text",(t)=>t.primaryKey()).addColumn("event_id","text",(t)=>t.notNull()).addColumn("subscription_id","text",(t)=>t.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(t)=>t.notNull().defaultTo("pending")).addColumn("attempts","integer",(t)=>t.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(vR`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await i.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await i.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await i.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await i.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await i.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await i.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await i.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await i.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await i.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function hJl(i){await i.schema.dropIndex("idx_deliveries_retry").execute(),await i.schema.dropIndex("idx_deliveries_subscription_status").execute(),await i.schema.dropIndex("idx_deliveries_event").execute(),await i.schema.dropIndex("idx_subscriptions_unique").execute(),await i.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await i.schema.dropIndex("idx_subscriptions_type").execute(),await i.schema.dropIndex("idx_subscriptions_connection").execute(),await i.schema.dropIndex("idx_events_retry").execute(),await i.schema.dropIndex("idx_events_type").execute(),await i.schema.dropIndex("idx_events_source").execute(),await i.schema.dropIndex("idx_events_org_status").execute(),await i.schema.dropTable("event_deliveries").execute(),await i.schema.dropTable("event_subscriptions").execute(),await i.schema.dropTable("events").execute()}var $zt=()=>{};var Rki={};Gi(Rki,{up:()=>vJl,down:()=>rJl});import{sql as EJl}from"kysely";async function vJl(i){await i.schema.dropTable("audit_logs").ifExists().execute()}async function rJl(i){await i.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(t)=>t.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(t)=>t.references("user.id").onDelete("set null")).addColumn("connectionId","text",(t)=>t.references("connections.id").onDelete("set null")).addColumn("toolName","text",(t)=>t.notNull()).addColumn("allowed","integer",(t)=>t.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(t)=>t.notNull().defaultTo(EJl`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var dzt=()=>{};var Lki={};Gi(Lki,{up:()=>wJl,down:()=>xJl});import{sql as D0i}from"kysely";async function wJl(i){await i.schema.createTable("gateways").addColumn("id","text",(t)=>t.primaryKey()).addColumn("organization_id","text",(t)=>t.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(t)=>t.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(t)=>t.notNull().defaultTo("active")).addColumn("is_default","integer",(t)=>t.notNull().defaultTo(0)).addColumn("created_at","text",(t)=>t.notNull().defaultTo(D0i`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(t)=>t.notNull().defaultTo(D0i`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(t)=>t.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await i.schema.createTable("gateway_connections").addColumn("id","text",(t)=>t.primaryKey()).addColumn("gateway_id","text",(t)=>t.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(t)=>t.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(t)=>t.notNull().defaultTo(D0i`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await i.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await D0i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(i),await i.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function xJl(i){await i.schema.dropIndex("idx_gateway_connections_unique").execute(),await i.schema.dropIndex("idx_gateway_connections_connection").execute(),await i.schema.dropIndex("idx_gateway_connections_gateway").execute(),await i.schema.dropIndex("idx_gateways_default_per_org").execute(),await i.schema.dropIndex("idx_gateways_org_status").execute(),await i.schema.dropIndex("idx_gateways_org").execute(),await i.schema.dropTable("gateway_connections").execute(),await i.schema.dropTable("gateways").execute()}var _zt=()=>{};var Cki={};Gi(Cki,{up:()=>DJl,down:()=>OJl});async function DJl(i){await i.schema.alterTable("gateways").addColumn("icon","text").execute()}async function OJl(i){await i.schema.alterTable("gateways").dropColumn("icon").execute()}var eki={};Gi(eki,{up:()=>yJl,down:()=>XJl});import{sql as O0i}from"kysely";async function yJl(i){await i.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(t)=>t.notNull().defaultTo("inclusion")).execute(),await O0i`
|
|
104796
104796
|
UPDATE gateways
|
|
104797
104797
|
SET tool_selection_mode = CASE
|
|
@@ -106621,7 +106621,7 @@ ${n}`}return i}});var G4i=W((ry)=>{var h00=ry&&ry.__createBinding||(Object.creat
|
|
|
106621
106621
|
ENDPOINT '${NM(u)}',
|
|
106622
106622
|
URL_STYLE 'path',
|
|
106623
106623
|
USE_SSL ${l}
|
|
106624
|
-
);`;try{await i.run(n)}catch{throw Error("Failed to initialize DuckDB GCS secret")}}async query(i){let t=await this.connectionPromise;try{let u=await t.runAndReadAll(i);if(u.currentRowCount===0)return[];return u.getRowObjectsJS()}catch(u){if(u instanceof Error&&u.message.includes("No files found that match the pattern"))return[];throw u}}async destroy(){(await this.connectionPromise).disconnectSync()}}class UM{client;initPromise;maxMemoryUsage;maxExecutionTime;constructor(i,t){this.maxMemoryUsage=t?.maxMemoryUsage??"
|
|
106624
|
+
);`;try{await i.run(n)}catch{throw Error("Failed to initialize DuckDB GCS secret")}}async query(i){let t=await this.connectionPromise;try{let u=await t.runAndReadAll(i);if(u.currentRowCount===0)return[];return u.getRowObjectsJS()}catch(u){if(u instanceof Error&&u.message.includes("No files found that match the pattern"))return[];throw u}}async destroy(){(await this.connectionPromise).disconnectSync()}}class UM{client;initPromise;maxMemoryUsage;maxExecutionTime;constructor(i,t){this.maxMemoryUsage=t?.maxMemoryUsage??"4294967296",this.maxExecutionTime=t?.maxExecutionTime??30,this.initPromise=Promise.resolve().then(() => z(W$u(),1)).then(({createClient:u})=>{this.client=u({url:i})})}async query(i,t){return await this.initPromise,await(await this.client.query({query:i,query_params:t,format:"JSONEachRow",clickhouse_settings:{max_memory_usage:this.maxMemoryUsage,max_execution_time:this.maxExecutionTime,max_bytes_before_external_group_by:String(Math.floor(Number(this.maxMemoryUsage)/2)),max_bytes_before_external_sort:String(Math.floor(Number(this.maxMemoryUsage)/2)),max_threads:1}})).json()}async destroy(){await this.initPromise,await this.client.close()}}async function Oqi(i){if(i.clickhouseUrl)return{engine:new UM(i.clickhouseUrl),source:i.tableName??J10};let t=i.basePath??p6(),u=X10(t);if(/[';]/.test(u))throw Error(`Invalid monitoring data path: ${u}`);let l=`read_ndjson('${u}/**/*.ndjson', auto_detect=true)`;return{engine:new JM,source:l}}function T10(i){let t=U10,u=(l)=>`attrs['${t}${l}']`;return`(
|
|
106625
106625
|
WITH _raw AS (
|
|
106626
106626
|
SELECT unnest(resourceLogs) AS rl
|
|
106627
106627
|
FROM read_json('${i}', format='auto', union_by_name=true, maximum_object_size=33554432, ignore_errors=true)
|
|
@@ -106840,7 +106840,7 @@ ${c}
|
|
|
106840
106840
|
|
|
106841
106841
|
`;break}case"tool":throw new M0({functionality:"tool messages"});default:throw Error(`Unsupported role: ${n}`)}return l+=`${u}:
|
|
106842
106842
|
`,{prompt:l,stopSequences:[`
|
|
106843
|
-
${t}:`]}}function Mhu({id:i,model:t,created:u}){return{id:i!=null?i:void 0,modelId:t!=null?t:void 0,timestamp:u!=null?new Date(u*1000):void 0}}function qhu(i){switch(i){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function a_0(i){return V_0.some((t)=>i.startsWith(t))}function mhu(i,t,u){if(i==null)return{};let l={};if(i.image_tokens!=null){let n=Math.floor(i.image_tokens/u),f=i.image_tokens-n*(u-1);l.imageTokens=t===u-1?f:n}if(i.text_tokens!=null){let n=Math.floor(i.text_tokens/u),f=i.text_tokens-n*(u-1);l.textTokens=t===u-1?f:n}return l}async function p_0(i){if(!i)return;if(i.type==="url")return _Vi(i.url);let t=i.data instanceof Uint8Array?i.data:Fc(i.data);return new Blob([t],{type:i.mediaType})}function ohu(i){var t,u,l,n;if(i==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let{input_tokens:f,output_tokens:c}=i,$=(u=(t=i.input_tokens_details)==null?void 0:t.cached_tokens)!=null?u:0,d=(n=(l=i.output_tokens_details)==null?void 0:l.reasoning_tokens)!=null?n:0;return{inputTokens:{total:f,noCache:f-$,cacheRead:$,cacheWrite:void 0},outputTokens:{total:c,text:c-d,reasoning:d},raw:i}}function Hg0(i){return JSON.stringify(i===void 0?{}:i)}function shu(i,t){if(!t)return!1;return t.some((u)=>i.startsWith(u))}async function Rg0({prompt:i,toolNameMapping:t,systemMessageMode:u,providerOptionsName:l,fileIdPrefixes:n,passThroughUnsupportedFiles:f=!1,store:c,hasConversation:$=!1,hasPreviousResponseId:d=!1,hasLocalShellTool:_=!1,hasShellTool:g=!1,hasApplyPatchTool:h=!1,customProviderToolNames:E}){var v,r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k,m;let S=[],M=[],p=new Set;for(let{role:s,content:$i}of i)switch(s){case"system":{switch(u){case"system":{S.push({role:"system",content:$i});break}case"developer":{S.push({role:"developer",content:$i});break}case"remove":{M.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${u}`)}break}case"user":{S.push({role:"user",content:$i.map((e,fi)=>{var a,_i,Oi;switch(e.type){case"text":return{type:"input_text",text:e.text};case"file":{let Di=e.mediaType==="image/*"?"image/jpeg":e.mediaType;if(Di.startsWith("image/"))return{type:"input_image",...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==="string"&&shu(e.data,n)?{file_id:e.data}:{image_url:`data:${Di};base64,${Zc(e.data)}`},detail:(_i=(a=e.providerOptions)==null?void 0:a[l])==null?void 0:_i.imageDetail};if(e.data instanceof URL)return{type:"input_file",file_url:e.data.toString()};if(Di!=="application/pdf"&&!f)throw new M0({functionality:`file part media type ${Di}`});return{type:"input_file",...typeof e.data==="string"&&shu(e.data,n)?{file_id:e.data}:{filename:(Oi=e.filename)!=null?Oi:Di==="application/pdf"?`part-${fi}.pdf`:`part-${fi}`,file_data:`data:${Di};base64,${Zc(e.data)}`}}}}})});break}case"assistant":{let e={};for(let fi of $i)switch(fi.type){case"text":{let a=(v=fi.providerOptions)==null?void 0:v[l],_i=a==null?void 0:a.itemId,Oi=a==null?void 0:a.phase;if($&&_i!=null)break;if(c&&_i!=null){S.push({type:"item_reference",id:_i});break}S.push({role:"assistant",content:[{type:"output_text",text:fi.text}],id:_i,...Oi!=null&&{phase:Oi}});break}case"tool-call":{let a=(X=(x=(r=fi.providerOptions)==null?void 0:r[l])==null?void 0:x.itemId)!=null?X:(y=(O=fi.providerMetadata)==null?void 0:O[l])==null?void 0:y.itemId;if($&&a!=null)break;let _i=t.toProviderToolName(fi.toolName);if(_i==="tool_search"){if(c&&a!=null){S.push({type:"item_reference",id:a});break}let Oi=typeof fi.input==="string"?await EVi({text:fi.input,schema:vmi}):await gl({value:fi.input,schema:vmi}),Di=Oi.call_id!=null?"client":"server";S.push({type:"tool_search_call",id:a!=null?a:fi.toolCallId,execution:Di,call_id:(N=Oi.call_id)!=null?N:null,status:"completed",arguments:Oi.arguments});break}if(fi.providerExecuted){if(c&&a!=null)S.push({type:"item_reference",id:a});break}if(c&&a!=null){if(d)break;S.push({type:"item_reference",id:a});break}if(_&&_i==="local_shell"){let Oi=await gl({value:fi.input,schema:_Eu});S.push({type:"local_shell_call",call_id:fi.toolCallId,id:a,action:{type:"exec",command:Oi.action.command,timeout_ms:Oi.action.timeoutMs,user:Oi.action.user,working_directory:Oi.action.workingDirectory,env:Oi.action.env}});break}if(g&&_i==="shell"){let Oi=await gl({value:fi.input,schema:hEu});S.push({type:"shell_call",call_id:fi.toolCallId,id:a,status:"completed",action:{commands:Oi.action.commands,timeout_ms:Oi.action.timeoutMs,max_output_length:Oi.action.maxOutputLength}});break}if(h&&_i==="apply_patch"){let Oi=await gl({value:fi.input,schema:fEu});S.push({type:"apply_patch_call",call_id:Oi.callId,id:a,status:"completed",operation:Oi.operation});break}if(E==null?void 0:E.has(_i)){S.push({type:"custom_tool_call",call_id:fi.toolCallId,name:_i,input:typeof fi.input==="string"?fi.input:JSON.stringify(fi.input),id:a});break}S.push({type:"function_call",call_id:fi.toolCallId,name:_i,arguments:Hg0(fi.input),id:a});break}case"tool-result":{if(fi.output.type==="execution-denied"||fi.output.type==="json"&&typeof fi.output.value==="object"&&fi.output.value!=null&&"type"in fi.output.value&&fi.output.value.type==="execution-denied")break;if($)break;let a=t.toProviderToolName(fi.toolName);if(a==="tool_search"){let _i=(T=(J=(U=fi.providerOptions)==null?void 0:U[l])==null?void 0:J.itemId)!=null?T:fi.toolCallId;if(c)S.push({type:"item_reference",id:_i});else if(fi.output.type==="json"){let Oi=await gl({value:fi.output.value,schema:rmi});S.push({type:"tool_search_output",id:_i,execution:"server",call_id:null,status:"completed",tools:Oi.tools})}break}if(g&&a==="shell"){if(fi.output.type==="json"){let _i=await gl({value:fi.output.value,schema:Emi});S.push({type:"shell_call_output",call_id:fi.toolCallId,output:_i.output.map((Oi)=>({stdout:Oi.stdout,stderr:Oi.stderr,outcome:Oi.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Oi.outcome.exitCode}}))})}break}if(c){let _i=(P=(B=(Q=fi.providerOptions)==null?void 0:Q[l])==null?void 0:B.itemId)!=null?P:fi.toolCallId;S.push({type:"item_reference",id:_i})}else M.push({type:"other",message:`Results for OpenAI tool ${fi.toolName} are not sent to the API when store is false`});break}case"reasoning":{let a=await h0({provider:l,providerOptions:fi.providerOptions,schema:Lg0}),_i=a==null?void 0:a.itemId;if(($||d)&&_i!=null)break;if(_i!=null){let Oi=e[_i];if(c){if(Oi===void 0)S.push({type:"item_reference",id:_i}),e[_i]={type:"reasoning",id:_i,summary:[]}}else{let Di=[];if(fi.text.length>0)Di.push({type:"summary_text",text:fi.text});else if(Oi!==void 0)M.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(fi)}.`});if(Oi===void 0)e[_i]={type:"reasoning",id:_i,encrypted_content:a==null?void 0:a.reasoningEncryptedContent,summary:Di},S.push(e[_i]);else if(Oi.summary.push(...Di),(a==null?void 0:a.reasoningEncryptedContent)!=null)Oi.encrypted_content=a.reasoningEncryptedContent}}else{let Oi=a==null?void 0:a.reasoningEncryptedContent;if(Oi!=null){let Di=[];if(fi.text.length>0)Di.push({type:"summary_text",text:fi.text});S.push({type:"reasoning",encrypted_content:Oi,summary:Di})}else M.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(fi)}.`})}break}}break}case"tool":{for(let e of $i){if(e.type==="tool-approval-response"){let Oi=e;if(p.has(Oi.approvalId))continue;if(p.add(Oi.approvalId),c)S.push({type:"item_reference",id:Oi.approvalId});S.push({type:"mcp_approval_response",approval_request_id:Oi.approvalId,approve:Oi.approved});continue}let fi=e.output;if(fi.type==="execution-denied"){if((j=(H=fi.providerOptions)==null?void 0:H.openai)==null?void 0:j.approvalId)continue}let a=t.toProviderToolName(e.toolName);if(a==="tool_search"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:rmi});S.push({type:"tool_search_output",execution:"client",call_id:e.toolCallId,status:"completed",tools:Oi.tools});continue}if(_&&a==="local_shell"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:gEu});S.push({type:"local_shell_call_output",call_id:e.toolCallId,output:Oi.output});continue}if(g&&a==="shell"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:Emi});S.push({type:"shell_call_output",call_id:e.toolCallId,output:Oi.output.map((Di)=>({stdout:Di.stdout,stderr:Di.stderr,outcome:Di.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Di.outcome.exitCode}}))});continue}if(h&&e.toolName==="apply_patch"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:cEu});S.push({type:"apply_patch_call_output",call_id:e.toolCallId,status:Oi.status,output:Oi.output});continue}if(E==null?void 0:E.has(a)){let Oi;switch(fi.type){case"text":case"error-text":Oi=fi.value;break;case"execution-denied":Oi=(k=fi.reason)!=null?k:"Tool execution denied.";break;case"json":case"error-json":Oi=JSON.stringify(fi.value);break;case"content":Oi=fi.value.map((Di)=>{var Mi,Yi,Fi,Qi,qi;switch(Di.type){case"text":return{type:"input_text",text:Di.text};case"image-data":return{type:"input_image",image_url:`data:${Di.mediaType};base64,${Di.data}`,detail:(Yi=(Mi=Di.providerOptions)==null?void 0:Mi[l])==null?void 0:Yi.imageDetail};case"image-url":return{type:"input_image",image_url:Di.url,detail:(Qi=(Fi=Di.providerOptions)==null?void 0:Fi[l])==null?void 0:Qi.imageDetail};case"file-data":return{type:"input_file",filename:(qi=Di.filename)!=null?qi:"data",file_data:`data:${Di.mediaType};base64,${Di.data}`};case"file-url":return{type:"input_file",file_url:Di.url};default:M.push({type:"other",message:`unsupported custom tool content part type: ${Di.type}`});return}}).filter(By);break;default:Oi=""}S.push({type:"custom_tool_call_output",call_id:e.toolCallId,output:Oi});continue}let _i;switch(fi.type){case"text":case"error-text":_i=fi.value;break;case"execution-denied":_i=(m=fi.reason)!=null?m:"Tool execution denied.";break;case"json":case"error-json":_i=JSON.stringify(fi.value);break;case"content":_i=fi.value.map((Oi)=>{var Di,Mi,Yi,Fi,Qi;switch(Oi.type){case"text":return{type:"input_text",text:Oi.text};case"image-data":return{type:"input_image",image_url:`data:${Oi.mediaType};base64,${Oi.data}`,detail:(Mi=(Di=Oi.providerOptions)==null?void 0:Di[l])==null?void 0:Mi.imageDetail};case"image-url":return{type:"input_image",image_url:Oi.url,detail:(Fi=(Yi=Oi.providerOptions)==null?void 0:Yi[l])==null?void 0:Fi.imageDetail};case"file-data":return{type:"input_file",filename:(Qi=Oi.filename)!=null?Qi:"data",file_data:`data:${Oi.mediaType};base64,${Oi.data}`};case"file-url":return{type:"input_file",file_url:Oi.url};default:{M.push({type:"other",message:`unsupported tool content part type: ${Oi.type}`});return}}}).filter(By);break}S.push({type:"function_call_output",call_id:e.toolCallId,output:_i})}break}default:throw Error(`Unsupported role: ${s}`)}if(!c&&S.some((s)=>("type"in s)&&s.type==="reasoning"&&s.encrypted_content==null))M.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),S=S.filter((s)=>!("type"in s)||s.type!=="reasoning"||s.encrypted_content!=null);return{input:S,warnings:M}}function gmi({finishReason:i,hasFunctionCall:t}){switch(i){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}async function qg0({tools:i,toolChoice:t,allowedTools:u,toolNameMapping:l,customProviderToolNames:n}){var f,c,$;i=(i==null?void 0:i.length)?i:void 0;let d=[];if(i==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let _=[],g=n!=null?n:new Set;for(let E of i)switch(E.type){case"function":{let v=(f=E.providerOptions)==null?void 0:f.openai,r=v==null?void 0:v.deferLoading;_.push({type:"function",name:E.name,description:E.description,parameters:E.inputSchema,...E.strict!=null?{strict:E.strict}:{},...r!=null?{defer_loading:r}:{}});break}case"provider":{switch(E.id){case"openai.file_search":{let v=await gl({value:E.args,schema:hg0});_.push({type:"file_search",vector_store_ids:v.vectorStoreIds,max_num_results:v.maxNumResults,ranking_options:v.ranking?{ranker:v.ranking.ranker,score_threshold:v.ranking.scoreThreshold}:void 0,filters:v.filters});break}case"openai.local_shell":{_.push({type:"local_shell"});break}case"openai.shell":{let v=await gl({value:E.args,schema:Ng0});_.push({type:"shell",...v.environment&&{environment:Vg0(v.environment)}});break}case"openai.apply_patch":{_.push({type:"apply_patch"});break}case"openai.web_search_preview":{let v=await gl({value:E.args,schema:Pg0});_.push({type:"web_search_preview",search_context_size:v.searchContextSize,user_location:v.userLocation});break}case"openai.web_search":{let v=await gl({value:E.args,schema:Zg0});_.push({type:"web_search",filters:v.filters!=null?{allowed_domains:v.filters.allowedDomains}:void 0,external_web_access:v.externalWebAccess,search_context_size:v.searchContextSize,user_location:v.userLocation});break}case"openai.code_interpreter":{let v=await gl({value:E.args,schema:ng0});_.push({type:"code_interpreter",container:v.container==null?{type:"auto",file_ids:void 0}:typeof v.container==="string"?v.container:{type:"auto",file_ids:v.container.fileIds}});break}case"openai.image_generation":{let v=await gl({value:E.args,schema:rg0});_.push({type:"image_generation",background:v.background,input_fidelity:v.inputFidelity,input_image_mask:v.inputImageMask?{file_id:v.inputImageMask.fileId,image_url:v.inputImageMask.imageUrl}:void 0,model:v.model,moderation:v.moderation,partial_images:v.partialImages,quality:v.quality,output_compression:v.outputCompression,output_format:v.outputFormat,size:v.size});break}case"openai.mcp":{let v=await gl({value:E.args,schema:kg0}),r=(y)=>({tool_names:y.toolNames}),x=v.requireApproval,O=x==null?void 0:typeof x==="string"?x:x.never!=null?{never:r(x.never)}:void 0;_.push({type:"mcp",server_label:v.serverLabel,allowed_tools:Array.isArray(v.allowedTools)?v.allowedTools:v.allowedTools?{read_only:v.allowedTools.readOnly,tool_names:v.allowedTools.toolNames}:void 0,authorization:v.authorization,connector_id:v.connectorId,headers:v.headers,require_approval:O!=null?O:"never",server_description:v.serverDescription,server_url:v.serverUrl});break}case"openai.custom":{let v=await gl({value:E.args,schema:$g0});_.push({type:"custom",name:v.name,description:v.description,format:v.format}),g.add(v.name);break}case"openai.tool_search":{let v=await gl({value:E.args,schema:Ug0});_.push({type:"tool_search",...v.execution!=null?{execution:v.execution}:{},...v.description!=null?{description:v.description}:{},...v.parameters!=null?{parameters:v.parameters}:{}});break}}break}default:d.push({type:"unsupported",feature:`function tool ${E}`});break}if(u!=null)return{tools:_,toolChoice:{type:"allowed_tools",mode:(c=u.mode)!=null?c:"auto",tools:u.toolNames.map((E)=>{var v;return{type:"function",name:(v=l==null?void 0:l.toProviderToolName(E))!=null?v:E}})},toolWarnings:d};if(t==null)return{tools:_,toolChoice:void 0,toolWarnings:d};let h=t.type;switch(h){case"auto":case"none":case"required":return{tools:_,toolChoice:h,toolWarnings:d};case"tool":{let E=($=l==null?void 0:l.toProviderToolName(t.toolName))!=null?$:t.toolName;return{tools:_,toolChoice:E==="code_interpreter"||E==="file_search"||E==="image_generation"||E==="web_search_preview"||E==="web_search"||E==="mcp"||E==="apply_patch"?{type:E}:g.has(E)?{type:"custom",name:E}:{type:"function",name:E},toolWarnings:d}}default:throw new M0({functionality:`tool choice type: ${h}`})}}function Vg0(i){if(i.type==="containerReference")return{type:"container_reference",container_id:i.containerId};if(i.type==="containerAuto"){let u=i;return{type:"container_auto",file_ids:u.fileIds,memory_limit:u.memoryLimit,network_policy:u.networkPolicy==null?void 0:u.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:u.networkPolicy.allowedDomains,domain_secrets:u.networkPolicy.domainSecrets},skills:ag0(u.skills)}}return{type:"local",skills:i.skills}}function ag0(i){return i==null?void 0:i.map((t)=>t.type==="skillReference"?{type:"skill_reference",skill_id:t.skillId,version:t.version}:{type:"inline",name:t.name,description:t.description,source:{type:"base64",media_type:t.source.mediaType,data:t.source.data}})}function iEu(i){var t,u;let l={};for(let n of i){if(n.role!=="assistant")continue;for(let f of n.content){if(f.type!=="tool-call")continue;let c=(u=(t=f.providerOptions)==null?void 0:t.openai)==null?void 0:u.approvalRequestId;if(c!=null)l[c]=f.toolCallId}}return l}function og0(i){return i.type==="response.output_text.delta"}function sg0(i){return i.type==="response.output_item.done"}function pg0(i){return i.type==="response.completed"||i.type==="response.incomplete"}function i60(i){return i.type==="response.failed"}function t60(i){return i.type==="response.created"}function u60(i){return i.type==="response.function_call_arguments.delta"}function l60(i){return i.type==="response.custom_tool_call_input.delta"}function n60(i){return i.type==="response.image_generation_call.partial_image"}function f60(i){return i.type==="response.code_interpreter_call_code.delta"}function c60(i){return i.type==="response.code_interpreter_call_code.done"}function $60(i){return i.type==="response.apply_patch_call_operation_diff.delta"}function d60(i){return i.type==="response.apply_patch_call_operation_diff.done"}function tEu(i){return i.type==="response.output_item.added"}function _60(i){return i.type==="response.output_text.annotation.added"}function g60(i){return i.type==="error"}function uEu(i){var t;if(i==null)return{};switch(i.type){case"search":return{action:{type:"search",query:(t=i.query)!=null?t:void 0},...i.sources!=null&&{sources:i.sources}};case"open_page":return{action:{type:"openPage",url:i.url}};case"find_in_page":return{action:{type:"findInPage",url:i.url,pattern:i.pattern}}}}function ey(i){return JSON.stringify(i).slice(1,-1)}function Cq(i={}){var t,u;let l=(t=N5(Iv({settingValue:i.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?t:"https://api.openai.com/v1",n=(u=i.name)!=null?u:"openai",f=()=>Dn({Authorization:`Bearer ${yS({apiKey:i.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":i.organization,"OpenAI-Project":i.project,...i.headers},`ai-sdk/openai/${x60}`),c=(x)=>new b_0(x,{provider:`${n}.chat`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),$=(x)=>new L_0(x,{provider:`${n}.completion`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),d=(x)=>new M_0(x,{provider:`${n}.embedding`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),_=(x)=>new s_0(x,{provider:`${n}.image`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),g=(x)=>new w60(x,{provider:`${n}.transcription`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),h=(x)=>new E60(x,{provider:`${n}.speech`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),E=(x)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return v(x)},v=(x)=>{return new mg0(x,{provider:`${n}.responses`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch,fileIdPrefixes:["file-"]})},r=function(x){return E(x)};return r.specificationVersion="v3",r.languageModel=E,r.chat=c,r.completion=$,r.responses=v,r.embedding=d,r.embeddingModel=d,r.textEmbedding=d,r.textEmbeddingModel=d,r.image=_,r.imageModel=_,r.transcription=g,r.transcriptionModel=g,r.speech=h,r.speechModel=h,r.tools=Kg0,r}var xmi,qh,k_0,j_0,S_0,b_0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=i,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:t,temperature:u,topP:l,topK:n,frequencyPenalty:f,presencePenalty:c,stopSequences:$,responseFormat:d,seed:_,tools:g,toolChoice:h,providerOptions:E}){var v,r,x,O,y;let X=[],N=(v=await h0({provider:"openai",providerOptions:E,schema:S_0}))!=null?v:{},U=nEu(this.modelId),J=(r=N.forceReasoning)!=null?r:U.isReasoningModel;if(n!=null)X.push({type:"unsupported",feature:"topK"});let{messages:T,warnings:Q}=W_0({prompt:i,systemMessageMode:(x=N.systemMessageMode)!=null?x:J?"developer":U.systemMessageMode});X.push(...Q);let B=(O=N.strictJsonSchema)!=null?O:!0,P={model:this.modelId,logit_bias:N.logitBias,logprobs:N.logprobs===!0||typeof N.logprobs==="number"?!0:void 0,top_logprobs:typeof N.logprobs==="number"?N.logprobs:typeof N.logprobs==="boolean"?N.logprobs?0:void 0:void 0,user:N.user,parallel_tool_calls:N.parallelToolCalls,max_tokens:t,temperature:u,top_p:l,frequency_penalty:f,presence_penalty:c,response_format:(d==null?void 0:d.type)==="json"?d.schema!=null?{type:"json_schema",json_schema:{schema:d.schema,strict:B,name:(y=d.name)!=null?y:"response",description:d.description}}:{type:"json_object"}:void 0,stop:$,seed:_,verbosity:N.textVerbosity,max_completion_tokens:N.maxCompletionTokens,store:N.store,metadata:N.metadata,prediction:N.prediction,reasoning_effort:N.reasoningEffort,service_tier:N.serviceTier,prompt_cache_key:N.promptCacheKey,prompt_cache_retention:N.promptCacheRetention,safety_identifier:N.safetyIdentifier,messages:T};if(J){if(N.reasoningEffort!=="none"||!U.supportsNonReasoningParameters){if(P.temperature!=null)P.temperature=void 0,X.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(P.top_p!=null)P.top_p=void 0,X.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(P.logprobs!=null)P.logprobs=void 0,X.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(P.frequency_penalty!=null)P.frequency_penalty=void 0,X.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(P.presence_penalty!=null)P.presence_penalty=void 0,X.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(P.logit_bias!=null)P.logit_bias=void 0,X.push({type:"other",message:"logitBias is not supported for reasoning models"});if(P.top_logprobs!=null)P.top_logprobs=void 0,X.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(P.max_tokens!=null){if(P.max_completion_tokens==null)P.max_completion_tokens=P.max_tokens;P.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(P.temperature!=null)P.temperature=void 0,X.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(N.serviceTier==="flex"&&!U.supportsFlexProcessing)X.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),P.service_tier=void 0;if(N.serviceTier==="priority"&&!U.supportsPriorityProcessing)X.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"}),P.service_tier=void 0;let{tools:H,toolChoice:j,toolWarnings:k}=z_0({tools:g,toolChoice:h});return{args:{...P,tools:H,tool_choice:j},warnings:[...X,...k]}}async doGenerate(i){var t,u,l,n,f,c,$;let{args:d,warnings:_}=await this.getArgs(i),{responseHeaders:g,value:h,rawValue:E}=await Pl({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:d,failedResponseHandler:qh,successfulResponseHandler:Fl(k_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),v=h.choices[0],r=[],x=v.message.content;if(x!=null&&x.length>0)r.push({type:"text",text:x});for(let N of(t=v.message.tool_calls)!=null?t:[])r.push({type:"tool-call",toolCallId:(u=N.id)!=null?u:al(),toolName:N.function.name,input:N.function.arguments});for(let N of(l=v.message.annotations)!=null?l:[])r.push({type:"source",sourceType:"url",id:al(),url:N.url_citation.url,title:N.url_citation.title});let O=(n=h.usage)==null?void 0:n.completion_tokens_details,y=(f=h.usage)==null?void 0:f.prompt_tokens_details,X={openai:{}};if((O==null?void 0:O.accepted_prediction_tokens)!=null)X.openai.acceptedPredictionTokens=O==null?void 0:O.accepted_prediction_tokens;if((O==null?void 0:O.rejected_prediction_tokens)!=null)X.openai.rejectedPredictionTokens=O==null?void 0:O.rejected_prediction_tokens;if(((c=v.logprobs)==null?void 0:c.content)!=null)X.openai.logprobs=v.logprobs.content;return{content:r,finishReason:{unified:Chu(v.finish_reason),raw:($=v.finish_reason)!=null?$:void 0},usage:Lhu(h.usage),request:{body:d},response:{...$mi(h),headers:g,body:E},warnings:_,providerMetadata:X}}async doStream(i){let{args:t,warnings:u}=await this.getArgs(i),l={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:f}=await Pl({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:l,failedResponseHandler:qh,successfulResponseHandler:E$(j_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),c=[],$={unified:"other",raw:void 0},d=void 0,_=!1,g=!1,h={openai:{}};return{stream:f.pipeThrough(new TransformStream({start(E){E.enqueue({type:"stream-start",warnings:u})},transform(E,v){var r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k,m,S;if(i.includeRawChunks)v.enqueue({type:"raw",rawValue:E.rawValue});if(!E.success){$={unified:"error",raw:void 0},v.enqueue({type:"error",error:E.error});return}let M=E.value;if("error"in M){$={unified:"error",raw:void 0},v.enqueue({type:"error",error:M.error});return}if(!_){let $i=$mi(M);if(Object.values($i).some(Boolean))_=!0,v.enqueue({type:"response-metadata",...$mi(M)})}if(M.usage!=null){if(d=M.usage,((r=M.usage.completion_tokens_details)==null?void 0:r.accepted_prediction_tokens)!=null)h.openai.acceptedPredictionTokens=(x=M.usage.completion_tokens_details)==null?void 0:x.accepted_prediction_tokens;if(((O=M.usage.completion_tokens_details)==null?void 0:O.rejected_prediction_tokens)!=null)h.openai.rejectedPredictionTokens=(y=M.usage.completion_tokens_details)==null?void 0:y.rejected_prediction_tokens}let p=M.choices[0];if((p==null?void 0:p.finish_reason)!=null)$={unified:Chu(p.finish_reason),raw:p.finish_reason};if(((X=p==null?void 0:p.logprobs)==null?void 0:X.content)!=null)h.openai.logprobs=p.logprobs.content;if((p==null?void 0:p.delta)==null)return;let s=p.delta;if(s.content!=null){if(!g)v.enqueue({type:"text-start",id:"0"}),g=!0;v.enqueue({type:"text-delta",id:"0",delta:s.content})}if(s.tool_calls!=null)for(let $i of s.tool_calls){let e=$i.index;if(c[e]==null){if($i.type!=null&&$i.type!=="function")throw new xS({data:$i,message:"Expected 'function' type."});if($i.id==null)throw new xS({data:$i,message:"Expected 'id' to be a string."});if(((N=$i.function)==null?void 0:N.name)==null)throw new xS({data:$i,message:"Expected 'function.name' to be a string."});v.enqueue({type:"tool-input-start",id:$i.id,toolName:$i.function.name}),c[e]={id:$i.id,type:"function",function:{name:$i.function.name,arguments:(U=$i.function.arguments)!=null?U:""},hasFinished:!1};let a=c[e];if(((J=a.function)==null?void 0:J.name)!=null&&((T=a.function)==null?void 0:T.arguments)!=null){if(a.function.arguments.length>0)v.enqueue({type:"tool-input-delta",id:a.id,delta:a.function.arguments});if(vVi(a.function.arguments))v.enqueue({type:"tool-input-end",id:a.id}),v.enqueue({type:"tool-call",toolCallId:(Q=a.id)!=null?Q:al(),toolName:a.function.name,input:a.function.arguments}),a.hasFinished=!0}continue}let fi=c[e];if(fi.hasFinished)continue;if(((B=$i.function)==null?void 0:B.arguments)!=null)fi.function.arguments+=(H=(P=$i.function)==null?void 0:P.arguments)!=null?H:"";if(v.enqueue({type:"tool-input-delta",id:fi.id,delta:(j=$i.function.arguments)!=null?j:""}),((k=fi.function)==null?void 0:k.name)!=null&&((m=fi.function)==null?void 0:m.arguments)!=null&&vVi(fi.function.arguments))v.enqueue({type:"tool-input-end",id:fi.id}),v.enqueue({type:"tool-call",toolCallId:(S=fi.id)!=null?S:al(),toolName:fi.function.name,input:fi.function.arguments}),fi.hasFinished=!0}if(s.annotations!=null)for(let $i of s.annotations)v.enqueue({type:"source",sourceType:"url",id:al(),url:$i.url_citation.url,title:$i.url_citation.title})},flush(E){if(g)E.enqueue({type:"text-end",id:"0"});E.enqueue({type:"finish",finishReason:$,usage:Lhu(d),...h!=null?{providerMetadata:h}:{}})}})),request:{body:l},response:{headers:n}}}},H_0,R_0,Vhu,L_0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={},this.modelId=i,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:t,temperature:u,topP:l,topK:n,frequencyPenalty:f,presencePenalty:c,stopSequences:$,responseFormat:d,tools:_,toolChoice:g,seed:h,providerOptions:E}){let v=[],r={...await h0({provider:"openai",providerOptions:E,schema:Vhu}),...await h0({provider:this.providerOptionsName,providerOptions:E,schema:Vhu})};if(n!=null)v.push({type:"unsupported",feature:"topK"});if(_==null?void 0:_.length)v.push({type:"unsupported",feature:"tools"});if(g!=null)v.push({type:"unsupported",feature:"toolChoice"});if(d!=null&&d.type!=="text")v.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:x,stopSequences:O}=K_0({prompt:i}),y=[...O!=null?O:[],...$!=null?$:[]];return{args:{model:this.modelId,echo:r.echo,logit_bias:r.logitBias,logprobs:(r==null?void 0:r.logprobs)===!0?0:(r==null?void 0:r.logprobs)===!1?void 0:r==null?void 0:r.logprobs,suffix:r.suffix,user:r.user,max_tokens:t,temperature:u,top_p:l,frequency_penalty:f,presence_penalty:c,seed:h,prompt:x,stop:y.length>0?y:void 0},warnings:v}}async doGenerate(i){var t;let{args:u,warnings:l}=await this.getArgs(i),{responseHeaders:n,value:f,rawValue:c}=await Pl({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:u,failedResponseHandler:qh,successfulResponseHandler:Fl(H_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),$=f.choices[0],d={openai:{}};if($.logprobs!=null)d.openai.logprobs=$.logprobs;return{content:[{type:"text",text:$.text}],usage:ehu(f.usage),finishReason:{unified:qhu($.finish_reason),raw:(t=$.finish_reason)!=null?t:void 0},request:{body:u},response:{...Mhu(f),headers:n,body:c},providerMetadata:d,warnings:l}}async doStream(i){let{args:t,warnings:u}=await this.getArgs(i),l={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:f}=await Pl({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:l,failedResponseHandler:qh,successfulResponseHandler:E$(R_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),c={unified:"other",raw:void 0},$={openai:{}},d=void 0,_=!0;return{stream:f.pipeThrough(new TransformStream({start(g){g.enqueue({type:"stream-start",warnings:u})},transform(g,h){if(i.includeRawChunks)h.enqueue({type:"raw",rawValue:g.rawValue});if(!g.success){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:g.error});return}let E=g.value;if("error"in E){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:E.error});return}if(_)_=!1,h.enqueue({type:"response-metadata",...Mhu(E)}),h.enqueue({type:"text-start",id:"0"});if(E.usage!=null)d=E.usage;let v=E.choices[0];if((v==null?void 0:v.finish_reason)!=null)c={unified:qhu(v.finish_reason),raw:v.finish_reason};if((v==null?void 0:v.logprobs)!=null)$.openai.logprobs=v.logprobs;if((v==null?void 0:v.text)!=null&&v.text.length>0)h.enqueue({type:"text-delta",id:"0",delta:v.text})},flush(g){if(!_)g.enqueue({type:"text-end",id:"0"});g.enqueue({type:"finish",finishReason:c,providerMetadata:$,usage:ehu(d)})}})),request:{body:l},response:{headers:n}}}},C_0,e_0,M_0=class{constructor(i,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=i,this.config=t}get provider(){return this.config.provider}async doEmbed({values:i,headers:t,abortSignal:u,providerOptions:l}){var n;if(i.length>this.maxEmbeddingsPerCall)throw new DS({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:i});let f=(n=await h0({provider:"openai",providerOptions:l,schema:C_0}))!=null?n:{},{responseHeaders:c,value:$,rawValue:d}=await Pl({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:Ol(this.config.headers(),t),body:{model:this.modelId,input:i,encoding_format:"float",dimensions:f.dimensions,user:f.user},failedResponseHandler:qh,successfulResponseHandler:Fl(e_0),abortSignal:u,fetch:this.config.fetch});return{warnings:[],embeddings:$.data.map((_)=>_.embedding),usage:$.usage?{tokens:$.usage.prompt_tokens}:void 0,response:{headers:c,body:d}}}},ahu,q_0,V_0,Dmi,Ht1,m_0,o_0,s_0=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get maxImagesPerCall(){var i;return(i=q_0[this.modelId])!=null?i:1}get provider(){return this.config.provider}async doGenerate({prompt:i,files:t,mask:u,n:l,size:n,aspectRatio:f,seed:c,providerOptions:$,headers:d,abortSignal:_}){var g,h,E,v,r,x,O,y,X,N,U;let J=[];if(f!=null)J.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(c!=null)J.push({type:"unsupported",feature:"seed"});let T=(E=(h=(g=this.config._internal)==null?void 0:g.currentDate)==null?void 0:h.call(g))!=null?E:new Date;if(t!=null){let H=(v=await h0({provider:"openai",providerOptions:$,schema:o_0}))!=null?v:{},{value:j,responseHeaders:k}=await B$i({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:Ol(this.config.headers(),d),formData:P_u({model:this.modelId,prompt:i,image:await Promise.all(t.map((m)=>m.type==="file"?new Blob([m.data instanceof Uint8Array?new Blob([m.data],{type:m.mediaType}):new Blob([Fc(m.data)],{type:m.mediaType})],{type:m.mediaType}):_Vi(m.url))),mask:u!=null?await p_0(u):void 0,n:l,size:n,quality:H.quality,background:H.background,output_format:H.outputFormat,output_compression:H.outputCompression,input_fidelity:H.inputFidelity,user:H.user}),failedResponseHandler:qh,successfulResponseHandler:Fl(ahu),abortSignal:_,fetch:this.config.fetch});return{images:j.data.map((m)=>m.b64_json),warnings:J,usage:j.usage!=null?{inputTokens:(r=j.usage.input_tokens)!=null?r:void 0,outputTokens:(x=j.usage.output_tokens)!=null?x:void 0,totalTokens:(O=j.usage.total_tokens)!=null?O:void 0}:void 0,response:{timestamp:T,modelId:this.modelId,headers:k},providerMetadata:{openai:{images:j.data.map((m,S)=>{var M,p,s,$i,e,fi;return{...m.revised_prompt?{revisedPrompt:m.revised_prompt}:{},created:(M=j.created)!=null?M:void 0,size:(p=j.size)!=null?p:void 0,quality:(s=j.quality)!=null?s:void 0,background:($i=j.background)!=null?$i:void 0,outputFormat:(e=j.output_format)!=null?e:void 0,...mhu((fi=j.usage)==null?void 0:fi.input_tokens_details,S,j.data.length)}})}}}}let Q=(y=await h0({provider:"openai",providerOptions:$,schema:m_0}))!=null?y:{},{value:B,responseHeaders:P}=await Pl({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:Ol(this.config.headers(),d),body:{model:this.modelId,prompt:i,n:l,size:n,quality:Q.quality,style:Q.style,background:Q.background,moderation:Q.moderation,output_format:Q.outputFormat,output_compression:Q.outputCompression,user:Q.user,...!a_0(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:qh,successfulResponseHandler:Fl(ahu),abortSignal:_,fetch:this.config.fetch});return{images:B.data.map((H)=>H.b64_json),warnings:J,usage:B.usage!=null?{inputTokens:(X=B.usage.input_tokens)!=null?X:void 0,outputTokens:(N=B.usage.output_tokens)!=null?N:void 0,totalTokens:(U=B.usage.total_tokens)!=null?U:void 0}:void 0,response:{timestamp:T,modelId:this.modelId,headers:P},providerMetadata:{openai:{images:B.data.map((H,j)=>{var k,m,S,M,p,s;return{...H.revised_prompt?{revisedPrompt:H.revised_prompt}:{},created:(k=B.created)!=null?k:void 0,size:(m=B.size)!=null?m:void 0,quality:(S=B.quality)!=null?S:void 0,background:(M=B.background)!=null?M:void 0,outputFormat:(p=B.output_format)!=null?p:void 0,...mhu((s=B.usage)==null?void 0:s.input_tokens_details,j,B.data.length)}})}}}}},fEu,cEu,Ct1,ig0,tg0,ug0,lg0,ng0,fg0,cg0=(i={})=>{return fg0(i)},$g0,dg0,_g0,gg0=(i)=>_g0(i),$Eu,dEu,hg0,Eg0,vg0,rg0,wg0,xg0,Dg0,Og0=(i={})=>{return Dg0(i)},_Eu,gEu,yg0,hEu,Emi,Xg0,Ng0,Jg0,Ug0,vmi,rmi,Tg0,Fg0=(i={})=>Tg0(i),Zg0,Ig0,Bg0,Qg0,Yg0=(i={})=>Qg0(i),Pg0,Ag0,Gg0,Wg0,wmi,kg0,jg0,Sg0,zg0,bg0=(i)=>zg0(i),Kg0,Lg0,Lq,Cg0,eg0,EEu=20,Mg0,Xu1,phu,mg0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=i,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:i,temperature:t,stopSequences:u,topP:l,topK:n,presencePenalty:f,frequencyPenalty:c,seed:$,prompt:d,providerOptions:_,tools:g,toolChoice:h,responseFormat:E}){var v,r,x,O,y,X,N,U,J,T,Q;let B=[],P=nEu(this.modelId);if(n!=null)B.push({type:"unsupported",feature:"topK"});if($!=null)B.push({type:"unsupported",feature:"seed"});if(f!=null)B.push({type:"unsupported",feature:"presencePenalty"});if(c!=null)B.push({type:"unsupported",feature:"frequencyPenalty"});if(u!=null)B.push({type:"unsupported",feature:"stopSequences"});let H=this.config.provider.includes("azure")?"azure":"openai",j=await h0({provider:H,providerOptions:_,schema:phu});if(j==null&&H!=="openai")j=await h0({provider:"openai",providerOptions:_,schema:phu});let k=(v=j==null?void 0:j.forceReasoning)!=null?v:P.isReasoningModel;if((j==null?void 0:j.conversation)&&(j==null?void 0:j.previousResponseId))B.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let m=F$i({tools:g,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:(ui)=>ui.id==="openai.custom"?ui.args.name:void 0}),S=new Set,{tools:M,toolChoice:p,toolWarnings:s}=await qg0({tools:g,toolChoice:h,allowedTools:(r=j==null?void 0:j.allowedTools)!=null?r:void 0,toolNameMapping:m,customProviderToolNames:S}),{input:$i,warnings:e}=await Rg0({prompt:d,toolNameMapping:m,systemMessageMode:(x=j==null?void 0:j.systemMessageMode)!=null?x:k?"developer":P.systemMessageMode,providerOptionsName:H,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(O=j==null?void 0:j.passThroughUnsupportedFiles)!=null?O:!1,store:(y=j==null?void 0:j.store)!=null?y:!0,hasConversation:(j==null?void 0:j.conversation)!=null,hasPreviousResponseId:(j==null?void 0:j.previousResponseId)!=null,hasLocalShellTool:Oi("openai.local_shell"),hasShellTool:Oi("openai.shell"),hasApplyPatchTool:Oi("openai.apply_patch"),customProviderToolNames:S.size>0?S:void 0});B.push(...e);let fi=(X=j==null?void 0:j.strictJsonSchema)!=null?X:!0,a=j==null?void 0:j.include;function _i(ui){if(a==null)a=[ui];else if(!a.includes(ui))a=[...a,ui]}function Oi(ui){return(g==null?void 0:g.find((ci)=>ci.type==="provider"&&ci.id===ui))!=null}let Di=typeof(j==null?void 0:j.logprobs)==="number"?j==null?void 0:j.logprobs:(j==null?void 0:j.logprobs)===!0?EEu:void 0;if(Di)_i("message.output_text.logprobs");let Mi=(N=g==null?void 0:g.find((ui)=>ui.type==="provider"&&(ui.id==="openai.web_search"||ui.id==="openai.web_search_preview")))==null?void 0:N.name;if(Mi)_i("web_search_call.action.sources");if(Oi("openai.code_interpreter"))_i("code_interpreter_call.outputs");let Yi=j==null?void 0:j.store;if(Yi===!1&&k)_i("reasoning.encrypted_content");let Fi={model:this.modelId,input:$i,temperature:t,top_p:l,max_output_tokens:i,...((E==null?void 0:E.type)==="json"||(j==null?void 0:j.textVerbosity))&&{text:{...(E==null?void 0:E.type)==="json"&&{format:E.schema!=null?{type:"json_schema",strict:fi,name:(U=E.name)!=null?U:"response",description:E.description,schema:E.schema}:{type:"json_object"}},...(j==null?void 0:j.textVerbosity)&&{verbosity:j.textVerbosity}}},conversation:j==null?void 0:j.conversation,max_tool_calls:j==null?void 0:j.maxToolCalls,metadata:j==null?void 0:j.metadata,parallel_tool_calls:j==null?void 0:j.parallelToolCalls,previous_response_id:j==null?void 0:j.previousResponseId,store:Yi,user:j==null?void 0:j.user,instructions:j==null?void 0:j.instructions,service_tier:j==null?void 0:j.serviceTier,include:a,prompt_cache_key:j==null?void 0:j.promptCacheKey,prompt_cache_retention:j==null?void 0:j.promptCacheRetention,safety_identifier:j==null?void 0:j.safetyIdentifier,top_logprobs:Di,truncation:j==null?void 0:j.truncation,...k&&((j==null?void 0:j.reasoningEffort)!=null||(j==null?void 0:j.reasoningSummary)!=null)&&{reasoning:{...(j==null?void 0:j.reasoningEffort)!=null&&{effort:j.reasoningEffort},...(j==null?void 0:j.reasoningSummary)!=null&&{summary:j.reasoningSummary}}}};if(k){if(!((j==null?void 0:j.reasoningEffort)==="none"&&P.supportsNonReasoningParameters)){if(Fi.temperature!=null)Fi.temperature=void 0,B.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(Fi.top_p!=null)Fi.top_p=void 0,B.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((j==null?void 0:j.reasoningEffort)!=null)B.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((j==null?void 0:j.reasoningSummary)!=null)B.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((j==null?void 0:j.serviceTier)==="flex"&&!P.supportsFlexProcessing)B.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete Fi.service_tier;if((j==null?void 0:j.serviceTier)==="priority"&&!P.supportsPriorityProcessing)B.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 Fi.service_tier;let Qi=(Q=(T=(J=g==null?void 0:g.find((ui)=>ui.type==="provider"&&ui.id==="openai.shell"))==null?void 0:J.args)==null?void 0:T.environment)==null?void 0:Q.type,qi=Qi==="containerAuto"||Qi==="containerReference";return{webSearchToolName:Mi,args:{...Fi,tools:M,tool_choice:p},warnings:[...B,...s],store:Yi,toolNameMapping:m,providerOptionsName:H,isShellProviderExecuted:qi}}async doGenerate(i){var t,u,l,n,f,c,$,d,_,g,h,E,v,r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k;let{args:m,warnings:S,webSearchToolName:M,toolNameMapping:p,providerOptionsName:s,isShellProviderExecuted:$i}=await this.getArgs(i),e=this.config.url({path:"/responses",modelId:this.modelId}),fi=iEu(i.prompt),{responseHeaders:a,value:_i,rawValue:Oi}=await Pl({url:e,headers:Ol(this.config.headers(),i.headers),body:m,failedResponseHandler:qh,successfulResponseHandler:Fl(eg0),abortSignal:i.abortSignal,fetch:this.config.fetch});if(_i.error)throw new X0({message:_i.error.message,url:e,requestBodyValues:m,statusCode:400,responseHeaders:a,responseBody:Oi,isRetryable:!1});let Di=[],Mi=[],Yi=!1,Fi=[];for(let ui of _i.output)switch(ui.type){case"reasoning":{if(ui.summary.length===0)ui.summary.push({type:"summary_text",text:""});for(let ci of ui.summary)Di.push({type:"reasoning",text:ci.text,providerMetadata:{[s]:{itemId:ui.id,reasoningEncryptedContent:(t=ui.encrypted_content)!=null?t:null}}});break}case"image_generation_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("image_generation"),result:{result:ui.result}});break}case"tool_search_call":{let ci=(u=ui.call_id)!=null?u:ui.id,ii=ui.execution==="server";if(ii)Fi.push(ci);Di.push({type:"tool-call",toolCallId:ci,toolName:p.toCustomToolName("tool_search"),input:JSON.stringify({arguments:ui.arguments,call_id:ui.call_id}),...ii?{providerExecuted:!0}:{},providerMetadata:{[s]:{itemId:ui.id}}});break}case"tool_search_output":{let ci=(n=(l=ui.call_id)!=null?l:Fi.shift())!=null?n:ui.id;Di.push({type:"tool-result",toolCallId:ci,toolName:p.toCustomToolName("tool_search"),result:{tools:ui.tools},providerMetadata:{[s]:{itemId:ui.id}}});break}case"local_shell_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("local_shell"),input:JSON.stringify({action:ui.action}),providerMetadata:{[s]:{itemId:ui.id}}});break}case"shell_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ui.action.commands}}),...$i&&{providerExecuted:!0},providerMetadata:{[s]:{itemId:ui.id}}});break}case"shell_call_output":{Di.push({type:"tool-result",toolCallId:ui.call_id,toolName:p.toCustomToolName("shell"),result:{output:ui.output.map((ci)=>({stdout:ci.stdout,stderr:ci.stderr,outcome:ci.outcome.type==="exit"?{type:"exit",exitCode:ci.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let ci of ui.content){if(((c=(f=i.providerOptions)==null?void 0:f[s])==null?void 0:c.logprobs)&&ci.logprobs)Mi.push(ci.logprobs);let ii={itemId:ui.id,...ui.phase!=null&&{phase:ui.phase},...ci.annotations.length>0&&{annotations:ci.annotations}};Di.push({type:"text",text:ci.text,providerMetadata:{[s]:ii}});for(let o of ci.annotations)if(o.type==="url_citation")Di.push({type:"source",sourceType:"url",id:(_=(d=($=this.config).generateId)==null?void 0:d.call($))!=null?_:al(),url:o.url,title:o.title});else if(o.type==="file_citation")Di.push({type:"source",sourceType:"document",id:(E=(h=(g=this.config).generateId)==null?void 0:h.call(g))!=null?E:al(),mediaType:"text/plain",title:o.filename,filename:o.filename,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,index:o.index}}});else if(o.type==="container_file_citation")Di.push({type:"source",sourceType:"document",id:(x=(r=(v=this.config).generateId)==null?void 0:r.call(v))!=null?x:al(),mediaType:"text/plain",title:o.filename,filename:o.filename,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,containerId:o.container_id}}});else if(o.type==="file_path")Di.push({type:"source",sourceType:"document",id:(X=(y=(O=this.config).generateId)==null?void 0:y.call(O))!=null?X:al(),mediaType:"application/octet-stream",title:o.file_id,filename:o.file_id,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,index:o.index}}})}break}case"function_call":{Yi=!0,Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:ui.name,input:ui.arguments,providerMetadata:{[s]:{itemId:ui.id,...ui.namespace!=null&&{namespace:ui.namespace}}}});break}case"custom_tool_call":{Yi=!0;let ci=p.toCustomToolName(ui.name);Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:ci,input:JSON.stringify(ui.input),providerMetadata:{[s]:{itemId:ui.id}}});break}case"web_search_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName(M!=null?M:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName(M!=null?M:"web_search"),result:uEu(ui.action)});break}case"mcp_call":{let ci=ui.approval_request_id!=null?(N=fi[ui.approval_request_id])!=null?N:ui.id:ui.id,ii=`mcp.${ui.name}`;Di.push({type:"tool-call",toolCallId:ci,toolName:ii,input:ui.arguments,providerExecuted:!0,dynamic:!0}),Di.push({type:"tool-result",toolCallId:ci,toolName:ii,result:{type:"call",serverLabel:ui.server_label,name:ui.name,arguments:ui.arguments,...ui.output!=null?{output:ui.output}:{},...ui.error!=null?{error:ui.error}:{}},providerMetadata:{[s]:{itemId:ui.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let ci=(U=ui.approval_request_id)!=null?U:ui.id,ii=(Q=(T=(J=this.config).generateId)==null?void 0:T.call(J))!=null?Q:al(),o=`mcp.${ui.name}`;Di.push({type:"tool-call",toolCallId:ii,toolName:o,input:ui.arguments,providerExecuted:!0,dynamic:!0}),Di.push({type:"tool-approval-request",approvalId:ci,toolCallId:ii});break}case"computer_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ui.status||"completed"}});break}case"file_search_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("file_search"),result:{queries:ui.queries,results:(P=(B=ui.results)==null?void 0:B.map((ci)=>({attributes:ci.attributes,fileId:ci.file_id,filename:ci.filename,score:ci.score,text:ci.text})))!=null?P:null}});break}case"code_interpreter_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ui.code,containerId:ui.container_id}),providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("code_interpreter"),result:{outputs:ui.outputs}});break}case"apply_patch_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ui.call_id,operation:ui.operation}),providerMetadata:{[s]:{itemId:ui.id}}});break}}let Qi={[s]:{responseId:_i.id,...Mi.length>0?{logprobs:Mi}:{},...typeof _i.service_tier==="string"?{serviceTier:_i.service_tier}:{}}},qi=_i.usage;return{content:Di,finishReason:{unified:gmi({finishReason:(H=_i.incomplete_details)==null?void 0:H.reason,hasFunctionCall:Yi}),raw:(k=(j=_i.incomplete_details)==null?void 0:j.reason)!=null?k:void 0},usage:ohu(qi),request:{body:m},response:{id:_i.id,timestamp:new Date(_i.created_at*1000),modelId:_i.model,headers:a,body:Oi},providerMetadata:Qi,warnings:S}}async doStream(i){let{args:t,warnings:u,webSearchToolName:l,toolNameMapping:n,store:f,providerOptionsName:c,isShellProviderExecuted:$}=await this.getArgs(i),{responseHeaders:d,value:_}=await Pl({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:{...t,stream:!0},failedResponseHandler:qh,successfulResponseHandler:E$(Cg0),abortSignal:i.abortSignal,fetch:this.config.fetch}),g=this,h=iEu(i.prompt),E=new Map,v={unified:"other",raw:void 0},r=void 0,x=[],O=null,y={},X=[],N,U=!1,J={},T,Q=[];return{stream:_.pipeThrough(new TransformStream({start(B){B.enqueue({type:"stream-start",warnings:u})},transform(B,P){var H,j,k,m,S,M,p,s,$i,e,fi,a,_i,Oi,Di,Mi,Yi,Fi,Qi,qi,ui,ci,ii,o,zi,xi,_t,lt,Bi,ut,uu,nl,di,Et,Yt,Nt,Mu,Xl;if(i.includeRawChunks)P.enqueue({type:"raw",rawValue:B.rawValue});if(!B.success){v={unified:"error",raw:void 0},P.enqueue({type:"error",error:B.error});return}let ti=B.value;if(tEu(ti)){if(ti.item.type==="function_call")y[ti.output_index]={toolName:ti.item.name,toolCallId:ti.item.call_id},P.enqueue({type:"tool-input-start",id:ti.item.call_id,toolName:ti.item.name});else if(ti.item.type==="custom_tool_call"){let pi=n.toCustomToolName(ti.item.name);y[ti.output_index]={toolName:pi,toolCallId:ti.item.call_id},P.enqueue({type:"tool-input-start",id:ti.item.call_id,toolName:pi})}else if(ti.item.type==="web_search_call")y[ti.output_index]={toolName:n.toCustomToolName(l!=null?l:"web_search"),toolCallId:ti.item.id},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),providerExecuted:!0}),P.enqueue({type:"tool-input-end",id:ti.item.id}),P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(ti.item.type==="computer_call")y[ti.output_index]={toolName:n.toCustomToolName("computer_use"),toolCallId:ti.item.id},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName("computer_use"),providerExecuted:!0});else if(ti.item.type==="code_interpreter_call")y[ti.output_index]={toolName:n.toCustomToolName("code_interpreter"),toolCallId:ti.item.id,codeInterpreter:{containerId:ti.item.container_id}},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName("code_interpreter"),providerExecuted:!0}),P.enqueue({type:"tool-input-delta",id:ti.item.id,delta:`{"containerId":"${ti.item.container_id}","code":"`});else if(ti.item.type==="file_search_call")P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(ti.item.type==="image_generation_call")P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(ti.item.type==="tool_search_call"){let pi=ti.item.id,Lu=n.toCustomToolName("tool_search"),R0=ti.item.execution==="server";if(y[ti.output_index]={toolName:Lu,toolCallId:pi,toolSearchExecution:(H=ti.item.execution)!=null?H:"server"},R0)P.enqueue({type:"tool-input-start",id:pi,toolName:Lu,providerExecuted:!0})}else if(ti.item.type==="tool_search_output");else if(ti.item.type==="mcp_call"||ti.item.type==="mcp_list_tools"||ti.item.type==="mcp_approval_request");else if(ti.item.type==="apply_patch_call"){let{call_id:pi,operation:Lu}=ti.item;if(y[ti.output_index]={toolName:n.toCustomToolName("apply_patch"),toolCallId:pi,applyPatch:{hasDiff:Lu.type==="delete_file",endEmitted:Lu.type==="delete_file"}},P.enqueue({type:"tool-input-start",id:pi,toolName:n.toCustomToolName("apply_patch")}),Lu.type==="delete_file"){let R0=JSON.stringify({callId:pi,operation:Lu});P.enqueue({type:"tool-input-delta",id:pi,delta:R0}),P.enqueue({type:"tool-input-end",id:pi})}else P.enqueue({type:"tool-input-delta",id:pi,delta:`{"callId":"${ey(pi)}","operation":{"type":"${ey(Lu.type)}","path":"${ey(Lu.path)}","diff":"`})}else if(ti.item.type==="shell_call")y[ti.output_index]={toolName:n.toCustomToolName("shell"),toolCallId:ti.item.call_id};else if(ti.item.type==="shell_call_output");else if(ti.item.type==="message")X.splice(0,X.length),N=(j=ti.item.phase)!=null?j:void 0,P.enqueue({type:"text-start",id:ti.item.id,providerMetadata:{[c]:{itemId:ti.item.id,...ti.item.phase!=null&&{phase:ti.item.phase}}}});else if(tEu(ti)&&ti.item.type==="reasoning")J[ti.item.id]={encryptedContent:ti.item.encrypted_content,summaryParts:{0:"active"}},P.enqueue({type:"reasoning-start",id:`${ti.item.id}:0`,providerMetadata:{[c]:{itemId:ti.item.id,reasoningEncryptedContent:(k=ti.item.encrypted_content)!=null?k:null}}})}else if(sg0(ti)){if(ti.item.type==="message"){let pi=(m=ti.item.phase)!=null?m:N;N=void 0,P.enqueue({type:"text-end",id:ti.item.id,providerMetadata:{[c]:{itemId:ti.item.id,...pi!=null&&{phase:pi},...X.length>0&&{annotations:X}}}})}else if(ti.item.type==="function_call")y[ti.output_index]=void 0,U=!0,P.enqueue({type:"tool-input-end",id:ti.item.call_id,...ti.item.namespace!=null&&{providerMetadata:{[c]:{namespace:ti.item.namespace}}}}),P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:ti.item.name,input:ti.item.arguments,providerMetadata:{[c]:{itemId:ti.item.id,...ti.item.namespace!=null&&{namespace:ti.item.namespace}}}});else if(ti.item.type==="custom_tool_call"){y[ti.output_index]=void 0,U=!0;let pi=n.toCustomToolName(ti.item.name);P.enqueue({type:"tool-input-end",id:ti.item.call_id}),P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:pi,input:JSON.stringify(ti.item.input),providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="web_search_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),result:uEu(ti.item.action)});else if(ti.item.type==="computer_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-input-end",id:ti.item.id}),P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ti.item.status||"completed"}});else if(ti.item.type==="file_search_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("file_search"),result:{queries:ti.item.queries,results:(M=(S=ti.item.results)==null?void 0:S.map((pi)=>({attributes:pi.attributes,fileId:pi.file_id,filename:pi.filename,score:pi.score,text:pi.text})))!=null?M:null}});else if(ti.item.type==="code_interpreter_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("code_interpreter"),result:{outputs:ti.item.outputs}});else if(ti.item.type==="image_generation_call")P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("image_generation"),result:{result:ti.item.result}});else if(ti.item.type==="tool_search_call"){let pi=y[ti.output_index],Lu=ti.item.execution==="server";if(pi!=null){let R0=Lu?pi.toolCallId:(p=ti.item.call_id)!=null?p:ti.item.id;if(Lu)Q.push(R0);else P.enqueue({type:"tool-input-start",id:R0,toolName:pi.toolName});P.enqueue({type:"tool-input-end",id:R0}),P.enqueue({type:"tool-call",toolCallId:R0,toolName:pi.toolName,input:JSON.stringify({arguments:ti.item.arguments,call_id:Lu?null:R0}),...Lu?{providerExecuted:!0}:{},providerMetadata:{[c]:{itemId:ti.item.id}}})}y[ti.output_index]=void 0}else if(ti.item.type==="tool_search_output"){let pi=($i=(s=ti.item.call_id)!=null?s:Q.shift())!=null?$i:ti.item.id;P.enqueue({type:"tool-result",toolCallId:pi,toolName:n.toCustomToolName("tool_search"),result:{tools:ti.item.tools},providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="mcp_call"){y[ti.output_index]=void 0;let pi=(e=ti.item.approval_request_id)!=null?e:void 0,Lu=pi!=null?(a=(fi=E.get(pi))!=null?fi:h[pi])!=null?a:ti.item.id:ti.item.id,R0=`mcp.${ti.item.name}`;P.enqueue({type:"tool-call",toolCallId:Lu,toolName:R0,input:ti.item.arguments,providerExecuted:!0,dynamic:!0}),P.enqueue({type:"tool-result",toolCallId:Lu,toolName:R0,result:{type:"call",serverLabel:ti.item.server_label,name:ti.item.name,arguments:ti.item.arguments,...ti.item.output!=null?{output:ti.item.output}:{},...ti.item.error!=null?{error:ti.item.error}:{}},providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="mcp_list_tools")y[ti.output_index]=void 0;else if(ti.item.type==="apply_patch_call"){let pi=y[ti.output_index];if((pi==null?void 0:pi.applyPatch)&&!pi.applyPatch.endEmitted&&ti.item.operation.type!=="delete_file"){if(!pi.applyPatch.hasDiff)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.item.operation.diff)});P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),pi.applyPatch.endEmitted=!0}if(pi&&ti.item.status==="completed")P.enqueue({type:"tool-call",toolCallId:pi.toolCallId,toolName:n.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ti.item.call_id,operation:ti.item.operation}),providerMetadata:{[c]:{itemId:ti.item.id}}});y[ti.output_index]=void 0}else if(ti.item.type==="mcp_approval_request"){y[ti.output_index]=void 0;let pi=(Di=(Oi=(_i=g.config).generateId)==null?void 0:Oi.call(_i))!=null?Di:al(),Lu=(Mi=ti.item.approval_request_id)!=null?Mi:ti.item.id;E.set(Lu,pi);let R0=`mcp.${ti.item.name}`;P.enqueue({type:"tool-call",toolCallId:pi,toolName:R0,input:ti.item.arguments,providerExecuted:!0,dynamic:!0}),P.enqueue({type:"tool-approval-request",approvalId:Lu,toolCallId:pi})}else if(ti.item.type==="local_shell_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:ti.item.action.command,timeoutMs:ti.item.action.timeout_ms,user:ti.item.action.user,workingDirectory:ti.item.action.working_directory,env:ti.item.action.env}}),providerMetadata:{[c]:{itemId:ti.item.id}}});else if(ti.item.type==="shell_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ti.item.action.commands}}),...$&&{providerExecuted:!0},providerMetadata:{[c]:{itemId:ti.item.id}}});else if(ti.item.type==="shell_call_output")P.enqueue({type:"tool-result",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("shell"),result:{output:ti.item.output.map((pi)=>({stdout:pi.stdout,stderr:pi.stderr,outcome:pi.outcome.type==="exit"?{type:"exit",exitCode:pi.outcome.exit_code}:{type:"timeout"}}))}});else if(ti.item.type==="reasoning"){let pi=J[ti.item.id],Lu=Object.entries(pi.summaryParts).filter(([R0,G0])=>G0==="active"||G0==="can-conclude").map(([R0])=>R0);for(let R0 of Lu)P.enqueue({type:"reasoning-end",id:`${ti.item.id}:${R0}`,providerMetadata:{[c]:{itemId:ti.item.id,reasoningEncryptedContent:(Yi=ti.item.encrypted_content)!=null?Yi:null}}});delete J[ti.item.id]}}else if(u60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ti.delta})}else if(l60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ti.delta})}else if($60(ti)){let pi=y[ti.output_index];if(pi==null?void 0:pi.applyPatch)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.delta)}),pi.applyPatch.hasDiff=!0}else if(d60(ti)){let pi=y[ti.output_index];if((pi==null?void 0:pi.applyPatch)&&!pi.applyPatch.endEmitted){if(!pi.applyPatch.hasDiff)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.diff)}),pi.applyPatch.hasDiff=!0;P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),pi.applyPatch.endEmitted=!0}}else if(n60(ti))P.enqueue({type:"tool-result",toolCallId:ti.item_id,toolName:n.toCustomToolName("image_generation"),result:{result:ti.partial_image_b64},preliminary:!0});else if(f60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.delta)})}else if(c60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),P.enqueue({type:"tool-call",toolCallId:pi.toolCallId,toolName:n.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ti.code,containerId:pi.codeInterpreter.containerId}),providerExecuted:!0})}else if(t60(ti))O=ti.response.id,P.enqueue({type:"response-metadata",id:ti.response.id,timestamp:new Date(ti.response.created_at*1000),modelId:ti.response.model});else if(og0(ti)){if(P.enqueue({type:"text-delta",id:ti.item_id,delta:ti.delta}),((Qi=(Fi=i.providerOptions)==null?void 0:Fi[c])==null?void 0:Qi.logprobs)&&ti.logprobs)x.push(ti.logprobs)}else if(ti.type==="response.reasoning_summary_part.added"){if(ti.summary_index>0){let pi=J[ti.item_id];pi.summaryParts[ti.summary_index]="active";for(let Lu of Object.keys(pi.summaryParts))if(pi.summaryParts[Lu]==="can-conclude")P.enqueue({type:"reasoning-end",id:`${ti.item_id}:${Lu}`,providerMetadata:{[c]:{itemId:ti.item_id}}}),pi.summaryParts[Lu]="concluded";P.enqueue({type:"reasoning-start",id:`${ti.item_id}:${ti.summary_index}`,providerMetadata:{[c]:{itemId:ti.item_id,reasoningEncryptedContent:(ui=(qi=J[ti.item_id])==null?void 0:qi.encryptedContent)!=null?ui:null}}})}}else if(ti.type==="response.reasoning_summary_text.delta")P.enqueue({type:"reasoning-delta",id:`${ti.item_id}:${ti.summary_index}`,delta:ti.delta,providerMetadata:{[c]:{itemId:ti.item_id}}});else if(ti.type==="response.reasoning_summary_part.done")if(f)P.enqueue({type:"reasoning-end",id:`${ti.item_id}:${ti.summary_index}`,providerMetadata:{[c]:{itemId:ti.item_id}}}),J[ti.item_id].summaryParts[ti.summary_index]="concluded";else J[ti.item_id].summaryParts[ti.summary_index]="can-conclude";else if(pg0(ti)){if(v={unified:gmi({finishReason:(ci=ti.response.incomplete_details)==null?void 0:ci.reason,hasFunctionCall:U}),raw:(o=(ii=ti.response.incomplete_details)==null?void 0:ii.reason)!=null?o:void 0},r=ti.response.usage,typeof ti.response.service_tier==="string")T=ti.response.service_tier}else if(i60(ti)){let pi=(zi=ti.response.incomplete_details)==null?void 0:zi.reason;v={unified:pi?gmi({finishReason:pi,hasFunctionCall:U}):"error",raw:pi!=null?pi:"error"},r=(xi=ti.response.usage)!=null?xi:void 0}else if(_60(ti)){if(X.push(ti.annotation),ti.annotation.type==="url_citation")P.enqueue({type:"source",sourceType:"url",id:(Bi=(lt=(_t=g.config).generateId)==null?void 0:lt.call(_t))!=null?Bi:al(),url:ti.annotation.url,title:ti.annotation.title});else if(ti.annotation.type==="file_citation")P.enqueue({type:"source",sourceType:"document",id:(nl=(uu=(ut=g.config).generateId)==null?void 0:uu.call(ut))!=null?nl:al(),mediaType:"text/plain",title:ti.annotation.filename,filename:ti.annotation.filename,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,index:ti.annotation.index}}});else if(ti.annotation.type==="container_file_citation")P.enqueue({type:"source",sourceType:"document",id:(Yt=(Et=(di=g.config).generateId)==null?void 0:Et.call(di))!=null?Yt:al(),mediaType:"text/plain",title:ti.annotation.filename,filename:ti.annotation.filename,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,containerId:ti.annotation.container_id}}});else if(ti.annotation.type==="file_path")P.enqueue({type:"source",sourceType:"document",id:(Xl=(Mu=(Nt=g.config).generateId)==null?void 0:Mu.call(Nt))!=null?Xl:al(),mediaType:"application/octet-stream",title:ti.annotation.file_id,filename:ti.annotation.file_id,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,index:ti.annotation.index}}})}else if(g60(ti))P.enqueue({type:"error",error:ti})},flush(B){let P={[c]:{responseId:O,...x.length>0?{logprobs:x}:{},...T!==void 0?{serviceTier:T}:{}}};B.enqueue({type:"finish",finishReason:v,usage:ohu(r),providerMetadata:P})}})),request:{body:t},response:{headers:d}}}},h60,E60=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:i,voice:t="alloy",outputFormat:u="mp3",speed:l,instructions:n,language:f,providerOptions:c}){let $=[],d=await h0({provider:"openai",providerOptions:c,schema:h60}),_={model:this.modelId,input:i,voice:t,response_format:"mp3",speed:l,instructions:n};if(u)if(["mp3","opus","aac","flac","wav","pcm"].includes(u))_.response_format=u;else $.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${u}. Using mp3 instead.`});if(d){let g={};for(let h in g){let E=g[h];if(E!==void 0)_[h]=E}}if(f)$.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${f}" was ignored.`});return{requestBody:_,warnings:$}}async doGenerate(i){var t,u,l;let n=(l=(u=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:u.call(t))!=null?l:new Date,{requestBody:f,warnings:c}=await this.getArgs(i),{value:$,responseHeaders:d,rawValue:_}=await Pl({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:f,failedResponseHandler:qh,successfulResponseHandler:e_u(),abortSignal:i.abortSignal,fetch:this.config.fetch});return{audio:$,warnings:c,request:{body:JSON.stringify(f)},response:{timestamp:n,modelId:this.modelId,headers:d,body:_}}}},v60,r60,lEu,w60=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:i,mediaType:t,providerOptions:u}){let l=[],n=await h0({provider:"openai",providerOptions:u,schema:r60}),f=new FormData,c=i instanceof Uint8Array?new Blob([i]):new Blob([Fc(i)]);f.append("model",this.modelId);let $=z_u(t);if(f.append("file",new File([c],"audio",{type:t}),`audio.${$}`),n){let d={include:n.include,language:n.language,prompt:n.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:n.temperature,timestamp_granularities:n.timestampGranularities};for(let[_,g]of Object.entries(d))if(g!=null)if(Array.isArray(g))for(let h of g)f.append(`${_}[]`,String(h));else f.append(_,String(g))}return{formData:f,warnings:l}}async doGenerate(i){var t,u,l,n,f,c,$,d;let _=(l=(u=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:u.call(t))!=null?l:new Date,{formData:g,warnings:h}=await this.getArgs(i),{value:E,responseHeaders:v,rawValue:r}=await B$i({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),formData:g,failedResponseHandler:qh,successfulResponseHandler:Fl(v60),abortSignal:i.abortSignal,fetch:this.config.fetch}),x=E.language!=null&&E.language in lEu?lEu[E.language]:void 0;return{text:E.text,segments:($=(c=(n=E.segments)==null?void 0:n.map((O)=>({text:O.text,startSecond:O.start,endSecond:O.end})))!=null?c:(f=E.words)==null?void 0:f.map((O)=>({text:O.word,startSecond:O.start,endSecond:O.end})))!=null?$:[],language:x,durationInSeconds:(d=E.duration)!=null?d:void 0,warnings:h,response:{timestamp:_,modelId:this.modelId,headers:v,body:r}}}},x60="3.0.65",Pu1;var Omi=w(()=>{Ri();Eu();Ri();Ri();Eu();Ri();Ri();Ri();Eu();Ri();Eu();Ri();Ri();Eu();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Eu();Ri();Eu();Ri();Ri();Ri();Eu();Ri();Ri();Ri();Ri();Ri();Ri();xmi=Y5.object({error:Y5.object({message:Y5.string(),type:Y5.string().nullish(),param:Y5.any().nullish(),code:Y5.union([Y5.string(),Y5.number()]).nullish()})}),qh=s1({errorSchema:xmi,errorToMessage:(i)=>i.error.message});k_0=Ti(()=>hi(Jt.object({id:Jt.string().nullish(),created:Jt.number().nullish(),model:Jt.string().nullish(),choices:Jt.array(Jt.object({message:Jt.object({role:Jt.literal("assistant").nullish(),content:Jt.string().nullish(),tool_calls:Jt.array(Jt.object({id:Jt.string().nullish(),type:Jt.literal("function"),function:Jt.object({name:Jt.string(),arguments:Jt.string()})})).nullish(),annotations:Jt.array(Jt.object({type:Jt.literal("url_citation"),url_citation:Jt.object({start_index:Jt.number(),end_index:Jt.number(),url:Jt.string(),title:Jt.string()})})).nullish()}),index:Jt.number(),logprobs:Jt.object({content:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number(),top_logprobs:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number()}))})).nullish()}).nullish(),finish_reason:Jt.string().nullish()})),usage:Jt.object({prompt_tokens:Jt.number().nullish(),completion_tokens:Jt.number().nullish(),total_tokens:Jt.number().nullish(),prompt_tokens_details:Jt.object({cached_tokens:Jt.number().nullish()}).nullish(),completion_tokens_details:Jt.object({reasoning_tokens:Jt.number().nullish(),accepted_prediction_tokens:Jt.number().nullish(),rejected_prediction_tokens:Jt.number().nullish()}).nullish()}).nullish()}))),j_0=Ti(()=>hi(Jt.union([Jt.object({id:Jt.string().nullish(),created:Jt.number().nullish(),model:Jt.string().nullish(),choices:Jt.array(Jt.object({delta:Jt.object({role:Jt.enum(["assistant"]).nullish(),content:Jt.string().nullish(),tool_calls:Jt.array(Jt.object({index:Jt.number(),id:Jt.string().nullish(),type:Jt.literal("function").nullish(),function:Jt.object({name:Jt.string().nullish(),arguments:Jt.string().nullish()})})).nullish(),annotations:Jt.array(Jt.object({type:Jt.literal("url_citation"),url_citation:Jt.object({start_index:Jt.number(),end_index:Jt.number(),url:Jt.string(),title:Jt.string()})})).nullish()}).nullish(),logprobs:Jt.object({content:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number(),top_logprobs:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number()}))})).nullish()}).nullish(),finish_reason:Jt.string().nullish(),index:Jt.number()})),usage:Jt.object({prompt_tokens:Jt.number().nullish(),completion_tokens:Jt.number().nullish(),total_tokens:Jt.number().nullish(),prompt_tokens_details:Jt.object({cached_tokens:Jt.number().nullish()}).nullish(),completion_tokens_details:Jt.object({reasoning_tokens:Jt.number().nullish(),accepted_prediction_tokens:Jt.number().nullish(),rejected_prediction_tokens:Jt.number().nullish()}).nullish()}).nullish()}),xmi]))),S_0=Ti(()=>hi(I1.object({logitBias:I1.record(I1.coerce.number(),I1.number()).optional(),logprobs:I1.union([I1.boolean(),I1.number()]).optional(),parallelToolCalls:I1.boolean().optional(),user:I1.string().optional(),reasoningEffort:I1.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:I1.number().optional(),store:I1.boolean().optional(),metadata:I1.record(I1.string().max(64),I1.string().max(512)).optional(),prediction:I1.record(I1.string(),I1.any()).optional(),serviceTier:I1.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:I1.boolean().optional(),textVerbosity:I1.enum(["low","medium","high"]).optional(),promptCacheKey:I1.string().optional(),promptCacheRetention:I1.enum(["in_memory","24h"]).optional(),safetyIdentifier:I1.string().optional(),systemMessageMode:I1.enum(["system","developer","remove"]).optional(),forceReasoning:I1.boolean().optional()})));H_0=Ti(()=>hi(Ql.object({id:Ql.string().nullish(),created:Ql.number().nullish(),model:Ql.string().nullish(),choices:Ql.array(Ql.object({text:Ql.string(),finish_reason:Ql.string(),logprobs:Ql.object({tokens:Ql.array(Ql.string()),token_logprobs:Ql.array(Ql.number()),top_logprobs:Ql.array(Ql.record(Ql.string(),Ql.number())).nullish()}).nullish()})),usage:Ql.object({prompt_tokens:Ql.number(),completion_tokens:Ql.number(),total_tokens:Ql.number()}).nullish()}))),R_0=Ti(()=>hi(Ql.union([Ql.object({id:Ql.string().nullish(),created:Ql.number().nullish(),model:Ql.string().nullish(),choices:Ql.array(Ql.object({text:Ql.string(),finish_reason:Ql.string().nullish(),index:Ql.number(),logprobs:Ql.object({tokens:Ql.array(Ql.string()),token_logprobs:Ql.array(Ql.number()),top_logprobs:Ql.array(Ql.record(Ql.string(),Ql.number())).nullish()}).nullish()})),usage:Ql.object({prompt_tokens:Ql.number(),completion_tokens:Ql.number(),total_tokens:Ql.number()}).nullish()}),xmi]))),Vhu=Ti(()=>hi(Wv.object({echo:Wv.boolean().optional(),logitBias:Wv.record(Wv.string(),Wv.number()).optional(),suffix:Wv.string().optional(),user:Wv.string().optional(),logprobs:Wv.union([Wv.boolean(),Wv.number()]).optional()}))),C_0=Ti(()=>hi(dmi.object({dimensions:dmi.number().optional(),user:dmi.string().optional()}))),e_0=Ti(()=>hi(Cy.object({data:Cy.array(Cy.object({embedding:Cy.array(Cy.number())})),usage:Cy.object({prompt_tokens:Cy.number()}).nullish()}))),ahu=Ti(()=>hi(A4.object({created:A4.number().nullish(),data:A4.array(A4.object({b64_json:A4.string(),revised_prompt:A4.string().nullish()})),background:A4.string().nullish(),output_format:A4.string().nullish(),size:A4.string().nullish(),quality:A4.string().nullish(),usage:A4.object({input_tokens:A4.number().nullish(),output_tokens:A4.number().nullish(),total_tokens:A4.number().nullish(),input_tokens_details:A4.object({image_tokens:A4.number().nullish(),text_tokens:A4.number().nullish()}).nullish()}).nullish()}))),q_0={"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},V_0=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];Dmi=f2.object({quality:f2.enum(["standard","hd","low","medium","high","auto"]).optional(),background:f2.enum(["transparent","opaque","auto"]).optional(),outputFormat:f2.enum(["png","jpeg","webp"]).optional(),outputCompression:f2.number().int().min(0).max(100).optional(),user:f2.string().optional()}),Ht1=Ti(()=>hi(Dmi)),m_0=Ti(()=>hi(Dmi.extend({style:f2.enum(["vivid","natural"]).optional(),moderation:f2.enum(["auto","low"]).optional()}))),o_0=Ti(()=>hi(Dmi.extend({inputFidelity:f2.enum(["high","low"]).optional()})));fEu=Ti(()=>hi(pc.object({callId:pc.string(),operation:pc.discriminatedUnion("type",[pc.object({type:pc.literal("create_file"),path:pc.string(),diff:pc.string()}),pc.object({type:pc.literal("delete_file"),path:pc.string()}),pc.object({type:pc.literal("update_file"),path:pc.string(),diff:pc.string()})])}))),cEu=Ti(()=>hi(pc.object({status:pc.enum(["completed","failed"]),output:pc.string().optional()}))),Ct1=Ti(()=>hi(pc.object({}))),ig0=yl({id:"openai.apply_patch",inputSchema:fEu,outputSchema:cEu}),tg0=ig0,ug0=Ti(()=>hi(i4.object({code:i4.string().nullish(),containerId:i4.string()}))),lg0=Ti(()=>hi(i4.object({outputs:i4.array(i4.discriminatedUnion("type",[i4.object({type:i4.literal("logs"),logs:i4.string()}),i4.object({type:i4.literal("image"),url:i4.string()})])).nullish()}))),ng0=Ti(()=>hi(i4.object({container:i4.union([i4.string(),i4.object({fileIds:i4.array(i4.string()).optional()})]).optional()}))),fg0=yl({id:"openai.code_interpreter",inputSchema:ug0,outputSchema:lg0}),$g0=Ti(()=>hi(Mh.object({name:Mh.string(),description:Mh.string().optional(),format:Mh.union([Mh.object({type:Mh.literal("grammar"),syntax:Mh.enum(["regex","lark"]),definition:Mh.string()}),Mh.object({type:Mh.literal("text")})]).optional()}))),dg0=Ti(()=>hi(Mh.string())),_g0=q0({id:"openai.custom",inputSchema:dg0}),$Eu=H0.object({key:H0.string(),type:H0.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:H0.union([H0.string(),H0.number(),H0.boolean(),H0.array(H0.string())])}),dEu=H0.object({type:H0.enum(["and","or"]),filters:H0.array(H0.union([$Eu,H0.lazy(()=>dEu)]))}),hg0=Ti(()=>hi(H0.object({vectorStoreIds:H0.array(H0.string()),maxNumResults:H0.number().optional(),ranking:H0.object({ranker:H0.string().optional(),scoreThreshold:H0.number().optional()}).optional(),filters:H0.union([$Eu,dEu]).optional()}))),Eg0=Ti(()=>hi(H0.object({queries:H0.array(H0.string()),results:H0.array(H0.object({attributes:H0.record(H0.string(),H0.unknown()),fileId:H0.string(),filename:H0.string(),score:H0.number(),text:H0.string()})).nullable()}))),vg0=yl({id:"openai.file_search",inputSchema:H0.object({}),outputSchema:Eg0}),rg0=Ti(()=>hi(D$.object({background:D$.enum(["auto","opaque","transparent"]).optional(),inputFidelity:D$.enum(["low","high"]).optional(),inputImageMask:D$.object({fileId:D$.string().optional(),imageUrl:D$.string().optional()}).optional(),model:D$.string().optional(),moderation:D$.enum(["auto"]).optional(),outputCompression:D$.number().int().min(0).max(100).optional(),outputFormat:D$.enum(["png","jpeg","webp"]).optional(),partialImages:D$.number().int().min(0).max(3).optional(),quality:D$.enum(["auto","low","medium","high"]).optional(),size:D$.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),wg0=Ti(()=>hi(D$.object({}))),xg0=Ti(()=>hi(D$.object({result:D$.string()}))),Dg0=yl({id:"openai.image_generation",inputSchema:wg0,outputSchema:xg0}),_Eu=Ti(()=>hi(lg.object({action:lg.object({type:lg.literal("exec"),command:lg.array(lg.string()),timeoutMs:lg.number().optional(),user:lg.string().optional(),workingDirectory:lg.string().optional(),env:lg.record(lg.string(),lg.string()).optional()})}))),gEu=Ti(()=>hi(lg.object({output:lg.string()}))),yg0=yl({id:"openai.local_shell",inputSchema:_Eu,outputSchema:gEu}),hEu=Ti(()=>hi(Bu.object({action:Bu.object({commands:Bu.array(Bu.string()),timeoutMs:Bu.number().optional(),maxOutputLength:Bu.number().optional()})}))),Emi=Ti(()=>hi(Bu.object({output:Bu.array(Bu.object({stdout:Bu.string(),stderr:Bu.string(),outcome:Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("timeout")}),Bu.object({type:Bu.literal("exit"),exitCode:Bu.number()})])}))}))),Xg0=Bu.array(Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("skillReference"),skillId:Bu.string(),version:Bu.string().optional()}),Bu.object({type:Bu.literal("inline"),name:Bu.string(),description:Bu.string(),source:Bu.object({type:Bu.literal("base64"),mediaType:Bu.literal("application/zip"),data:Bu.string()})})])).optional(),Ng0=Ti(()=>hi(Bu.object({environment:Bu.union([Bu.object({type:Bu.literal("containerAuto"),fileIds:Bu.array(Bu.string()).optional(),memoryLimit:Bu.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("disabled")}),Bu.object({type:Bu.literal("allowlist"),allowedDomains:Bu.array(Bu.string()),domainSecrets:Bu.array(Bu.object({domain:Bu.string(),name:Bu.string(),value:Bu.string()})).optional()})]).optional(),skills:Xg0}),Bu.object({type:Bu.literal("containerReference"),containerId:Bu.string()}),Bu.object({type:Bu.literal("local").optional(),skills:Bu.array(Bu.object({name:Bu.string(),description:Bu.string(),path:Bu.string()})).optional()})]).optional()}))),Jg0=yl({id:"openai.shell",inputSchema:hEu,outputSchema:Emi}),Ug0=Ti(()=>hi(ad.object({execution:ad.enum(["server","client"]).optional(),description:ad.string().optional(),parameters:ad.record(ad.string(),ad.unknown()).optional()}))),vmi=Ti(()=>hi(ad.object({arguments:ad.unknown().optional(),call_id:ad.string().nullish()}))),rmi=Ti(()=>hi(ad.object({tools:ad.array(ad.record(ad.string(),ad.unknown()))}))),Tg0=yl({id:"openai.tool_search",inputSchema:vmi,outputSchema:rmi}),Zg0=Ti(()=>hi(cn.object({externalWebAccess:cn.boolean().optional(),filters:cn.object({allowedDomains:cn.array(cn.string()).optional()}).optional(),searchContextSize:cn.enum(["low","medium","high"]).optional(),userLocation:cn.object({type:cn.literal("approximate"),country:cn.string().optional(),city:cn.string().optional(),region:cn.string().optional(),timezone:cn.string().optional()}).optional()}))),Ig0=Ti(()=>hi(cn.object({}))),Bg0=Ti(()=>hi(cn.object({action:cn.discriminatedUnion("type",[cn.object({type:cn.literal("search"),query:cn.string().optional()}),cn.object({type:cn.literal("openPage"),url:cn.string().nullish()}),cn.object({type:cn.literal("findInPage"),url:cn.string().nullish(),pattern:cn.string().nullish()})]).optional(),sources:cn.array(cn.discriminatedUnion("type",[cn.object({type:cn.literal("url"),url:cn.string()}),cn.object({type:cn.literal("api"),name:cn.string()})])).optional()}))),Qg0=yl({id:"openai.web_search",inputSchema:Ig0,outputSchema:Bg0}),Pg0=Ti(()=>hi(Cf.object({searchContextSize:Cf.enum(["low","medium","high"]).optional(),userLocation:Cf.object({type:Cf.literal("approximate"),country:Cf.string().optional(),city:Cf.string().optional(),region:Cf.string().optional(),timezone:Cf.string().optional()}).optional()}))),Ag0=Ti(()=>hi(Cf.object({}))),Gg0=Ti(()=>hi(Cf.object({action:Cf.discriminatedUnion("type",[Cf.object({type:Cf.literal("search"),query:Cf.string().optional()}),Cf.object({type:Cf.literal("openPage"),url:Cf.string().nullish()}),Cf.object({type:Cf.literal("findInPage"),url:Cf.string().nullish(),pattern:Cf.string().nullish()})]).optional()}))),Wg0=yl({id:"openai.web_search_preview",inputSchema:Ag0,outputSchema:Gg0}),wmi=ml.lazy(()=>ml.union([ml.string(),ml.number(),ml.boolean(),ml.null(),ml.array(wmi),ml.record(ml.string(),wmi)])),kg0=Ti(()=>hi(ml.object({serverLabel:ml.string(),allowedTools:ml.union([ml.array(ml.string()),ml.object({readOnly:ml.boolean().optional(),toolNames:ml.array(ml.string()).optional()})]).optional(),authorization:ml.string().optional(),connectorId:ml.string().optional(),headers:ml.record(ml.string(),ml.string()).optional(),requireApproval:ml.union([ml.enum(["always","never"]),ml.object({never:ml.object({toolNames:ml.array(ml.string()).optional()}).optional()})]).optional(),serverDescription:ml.string().optional(),serverUrl:ml.string().optional()}).refine((i)=>i.serverUrl!=null||i.connectorId!=null,"One of serverUrl or connectorId must be provided."))),jg0=Ti(()=>hi(ml.object({}))),Sg0=Ti(()=>hi(ml.object({type:ml.literal("call"),serverLabel:ml.string(),name:ml.string(),arguments:ml.string(),output:ml.string().nullish(),error:ml.union([ml.string(),wmi]).optional()}))),zg0=yl({id:"openai.mcp",inputSchema:jg0,outputSchema:Sg0}),Kg0={applyPatch:tg0,customTool:gg0,codeInterpreter:cg0,fileSearch:vg0,imageGeneration:Og0,localShell:yg0,shell:Jg0,webSearchPreview:Wg0,webSearch:Yg0,mcp:bg0,toolSearch:Fg0};Lg0=_mi.object({itemId:_mi.string().nullish(),reasoningEncryptedContent:_mi.string().nullish()});Lq=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(Lq),F.record(F.string(),Lq.optional())])),Cg0=Ti(()=>hi(F.union([F.object({type:F.literal("response.output_text.delta"),item_id:F.string(),delta:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish()}),F.object({type:F.enum(["response.completed","response.incomplete"]),response:F.object({incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.failed"),response:F.object({error:F.object({code:F.string().nullish(),message:F.string()}).nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).nullish(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.created"),response:F.object({id:F.string(),created_at:F.number(),model:F.string(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.output_item.added"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),namespace:F.string().nullish()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("file_search_call"),id:F.string()}),F.object({type:F.literal("image_generation_call"),id:F.string()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),container_id:F.string(),code:F.string().nullable(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable(),status:F.string()}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string()}),F.object({type:F.literal("mcp_approval_request"),id:F.string()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string()}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])}),F.object({type:F.literal("response.output_item.done"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),status:F.literal("completed"),namespace:F.string().nullish()}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string(),status:F.literal("completed")}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.literal("completed")}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])}),F.object({type:F.literal("response.function_call_arguments.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.custom_tool_call_input.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.image_generation_call.partial_image"),item_id:F.string(),output_index:F.number(),partial_image_b64:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.done"),item_id:F.string(),output_index:F.number(),code:F.string()}),F.object({type:F.literal("response.output_text.annotation.added"),annotation:F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})])}),F.object({type:F.literal("response.reasoning_summary_part.added"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.reasoning_summary_text.delta"),item_id:F.string(),summary_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.reasoning_summary_part.done"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.delta"),item_id:F.string(),output_index:F.number(),delta:F.string(),obfuscation:F.string().nullish()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.done"),item_id:F.string(),output_index:F.number(),diff:F.string()}),F.object({type:F.literal("error"),sequence_number:F.number(),error:F.object({type:F.string(),code:F.string(),message:F.string(),param:F.string().nullish()})}),F.object({type:F.string()}).loose().transform((i)=>({type:"unknown_chunk",message:i.type}))]))),eg0=Ti(()=>hi(F.object({id:F.string().optional(),created_at:F.number().optional(),error:F.object({message:F.string(),type:F.string(),param:F.string().nullish(),code:F.string()}).nullish(),model:F.string().optional(),output:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("message"),role:F.literal("assistant"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish(),content:F.array(F.object({type:F.literal("output_text"),text:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish(),annotations:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})]))}))}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("function_call"),call_id:F.string(),name:F.string(),arguments:F.string(),id:F.string(),namespace:F.string().nullish()}),F.object({type:F.literal("custom_tool_call"),call_id:F.string(),name:F.string(),input:F.string(),id:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string().optional()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish(),summary:F.array(F.object({type:F.literal("summary_text"),text:F.string()}))}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])).optional(),service_tier:F.string().nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).optional()}))),Mg0=["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"],Xu1=["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",...Mg0],phu=Ti(()=>hi(Gn.object({conversation:Gn.string().nullish(),include:Gn.array(Gn.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:Gn.string().nullish(),logprobs:Gn.union([Gn.boolean(),Gn.number().min(1).max(EEu)]).optional(),maxToolCalls:Gn.number().nullish(),metadata:Gn.any().nullish(),parallelToolCalls:Gn.boolean().nullish(),previousResponseId:Gn.string().nullish(),promptCacheKey:Gn.string().nullish(),promptCacheRetention:Gn.enum(["in_memory","24h"]).nullish(),reasoningEffort:Gn.string().nullish(),reasoningSummary:Gn.string().nullish(),safetyIdentifier:Gn.string().nullish(),serviceTier:Gn.enum(["auto","flex","priority","default"]).nullish(),store:Gn.boolean().nullish(),passThroughUnsupportedFiles:Gn.boolean().optional(),strictJsonSchema:Gn.boolean().nullish(),textVerbosity:Gn.enum(["low","medium","high"]).nullish(),truncation:Gn.enum(["auto","disabled"]).nullish(),user:Gn.string().nullish(),systemMessageMode:Gn.enum(["system","developer","remove"]).optional(),forceReasoning:Gn.boolean().optional(),allowedTools:Gn.object({toolNames:Gn.array(Gn.string()).min(1),mode:Gn.enum(["auto","required"]).optional()}).optional()})));h60=Ti(()=>hi(hmi.object({instructions:hmi.string().nullish(),speed:hmi.number().min(0.25).max(4).default(1).nullish()}))),v60=Ti(()=>hi(Bf.object({text:Bf.string(),language:Bf.string().nullish(),duration:Bf.number().nullish(),words:Bf.array(Bf.object({word:Bf.string(),start:Bf.number(),end:Bf.number()})).nullish(),segments:Bf.array(Bf.object({id:Bf.number(),seek:Bf.number(),start:Bf.number(),end:Bf.number(),text:Bf.string(),tokens:Bf.array(Bf.number()),temperature:Bf.number(),avg_logprob:Bf.number(),compression_ratio:Bf.number(),no_speech_prob:Bf.number()})).nullish()}))),r60=Ti(()=>hi(P5.object({include:P5.array(P5.string()).optional(),language:P5.string().optional(),prompt:P5.string().optional(),temperature:P5.number().min(0).max(1).default(0).optional(),timestampGranularities:P5.array(P5.enum(["word","segment"])).default(["segment"]).optional()}))),lEu={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"};Pu1=Cq()});function D60(i){let t=JSON.parse(i);if(!t.baseUrl||typeof t.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let u=t.baseUrl.replace(/\/+$/,"");if(!u.endsWith("/v1"))u+="/v1";return{baseUrl:u,apiKey:t.apiKey??""}}var O60="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",vEu;var rEu=w(()=>{Omi();vEu={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:O60},supportedMethods:["api-key"],create(i){let{baseUrl:t,apiKey:u}=D60(i),l=Cq({baseURL:t,apiKey:u||"not-needed",name:"openai-compatible"}),n=Object.assign((...f)=>l.chat(...f),l,{languageModel:l.chat});return{info:this.info,aiSdk:n,async listModels(){let f={};if(u)f.Authorization=`Bearer ${u}`;let c=await fetch(`${t}/models`,{headers:f,signal:AbortSignal.timeout(15000)});if(!c.ok)throw Error(`OpenAI-compatible listModels failed: ${c.status}`);return(await c.json()).data.map((d)=>({providerId:"openai-compatible",modelId:d.id,title:d.id,description:d.owned_by?`Owned by ${d.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function G4(){return{...Qt().aiGatewayEnabled&&{deco:KC},anthropic:thu,google:Hhu,openrouter:Bci,"openai-compatible":vEu}}var c2=w(()=>{uhu();Rhu();rEu();iei();uei();U0()});function y60(i){return i.includes("/")?i.split("/").slice(1).join("/"):i}function X60(i){let t=i.supported_parameters.includes("tools"),u=i.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:y60(i.id),title:i.name,description:i.description||null,logo:null,capabilities:[...new Set([...i.architecture.input_modalities.map((l)=>l==="image"?"vision":l),...i.architecture.output_modalities,...t?["tools"]:[],...u?["reasoning"]:[]])],limits:{contextWindow:i.context_length,maxOutputTokens:i.top_provider.max_completion_tokens||null},costs:{input:i.pricing.prompt,output:i.pricing.completion}}}function xEu(i){let t=new Map;for(let u of i){let l={description:u.description,capabilities:u.capabilities,limits:u.limits,costs:u.costs};t.set(u.modelId,l);let n=u.modelId.replace(/\./g,"-");if(n!==u.modelId)t.set(n,l)}return t}async function N60(i){if(i){let t=await i.get(wEu,"openrouter");if(t)return xEu(t)}try{let t=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!t.ok)return new Map;let{data:u}=await t.json(),l=u.map(X60);if(i)await i.set(wEu,"openrouter",l);return xEu(l)}catch{return new Map}}function J60(i){let t=i.replace(/\./g,"-"),u=i.replace(/-\d{8}$/,""),l=u.replace(/\./g,"-");return[...new Set([i,t,u,l])]}function U60(i){return i.providerId==="anthropic"||i.modelId.startsWith("anthropic/")}function OEu(i,t){if(U60(t)&&i.includes("vision")&&!i.includes("file"))return[...i,"file"];return i}function T60(i,t){return i.map((u)=>{let n=J60(u.modelId).map(($)=>t.get($)).find(Boolean),f=u.capabilities.length?u.capabilities:n?.capabilities??[],c=OEu(f,u);if(!n)return c===f?u:{...u,capabilities:c};return{...u,description:u.description??n.description??null,capabilities:c,limits:u.limits??n.limits??null,costs:u.costs??n.costs??null}})}class ymi{storage;cache;constructor(i,t){this.storage=i;this.cache=t}async activate(i,t){let{keyInfo:u,apiKey:l}=await this.storage.resolve(i,t),n=G4()[u.providerId];if(!n)throw Error(`Unknown provider: ${u.providerId}`);return n.create(l)}async listModels(i,t){let{keyInfo:u,apiKey:l}=await this.storage.resolve(i,t),n=u.providerId,f=G4()[n];if(!f)throw Error(`Unknown provider: ${n}`);if(this.cache){let h=await this.cache.get(t,n);if(h)return DEu(h,f,l)}let $=await f.create(l).listModels(),d=new Set,_=$.filter((h)=>{if(h.deprecated)return!1;if(d.has(h.modelId))return!1;return d.add(h.modelId),!0});if(n!=="openrouter"){let h=await N60(this.cache);_=T60(_,h)}else _=_.map((h)=>({...h,capabilities:OEu(h.capabilities,h)}));let g=_.map((h)=>({...h,providerId:n}));if(this.cache)await this.cache.set(t,n,g);return DEu(g,f,l)}}function DEu(i,t,u){let n=t.create(u).asyncResearch;if(!n)return i;return i.map((f)=>n.canHandle(f.modelId)?{...f,asyncResearch:!0}:f)}var wEu="_global";var yEu=w(()=>{c2()});import{SpanStatusCode as XEu}from"@opentelemetry/api";function F60(i){if(!i)return;try{let t=JSON.parse(i);if(typeof t!=="object"||t===null||Array.isArray(t))return;let u={};for(let[l,n]of Object.entries(t))if(typeof n==="string")u[l]=n;return Object.keys(u).length>0?u:void 0}catch{return}}function Z60(i,t){for(let[u,l]of Object.entries(t)){let n=i[u];if(!n||n.length===0){let f=i["*"];if(!f||f.length===0)return!1;if(f.includes("*"))continue;for(let c of l)if(!f.includes(c))return!1;continue}if(n.includes("*"))continue;for(let f of l)if(!n.includes(f))return!1}return!0}function Xmi(i){let{auth:t,headers:u,role:l,permissions:n,userId:f}=i,c=t.api.hasPermission;return{hasPermission:async($,d)=>{if(l&&Zv.includes(l))return!0;if(n)return Z60(n,$);let _=Edu(d?.role,$,vdu());if(_!=="fallback")return _==="grant";if(!c)return console.error("[Auth] hasPermission API not available"),!1;let g=d?.organizationId?{organizationId:d.organizationId}:{};try{if((await c({headers:u,body:{permission:$,...g}}))?.success===!0)return!0;let E=cdu($);return(await c({headers:u,body:{permission:E,...g}}))?.success===!0}catch(h){let E=h?.statusCode;if(E!==401&&E!==403)console.error("[Auth] Permission check failed:",h instanceof Error?h.message:String(h));return!1}},organization:{create:async($)=>{return t.api.createOrganization({headers:u,body:$})},update:async($)=>{return t.api.updateOrganization({headers:u,body:$})},delete:async($)=>{await t.api.deleteOrganization({headers:u,body:{organizationId:$}})},get:async($)=>{return t.api.getFullOrganization({headers:u,query:$?{organizationId:$}:void 0})},list:async($)=>{return(await t.api.listOrganizations({headers:u,query:$?{userId:$}:void 0})).filter((_)=>!M3(_))},addMember:async($)=>{return t.api.addMember({headers:u,body:$})},removeMember:async($)=>{await t.api.removeMember({headers:u,body:$})},listMembers:async($)=>{return t.api.listMembers({headers:u,query:$?{organizationId:$.organizationId,limit:$.limit,offset:$.offset}:void 0})},updateMemberRole:async($)=>{return t.api.updateMemberRole({headers:u,body:$})}},apiKey:{create:async($)=>{return t.api.createApiKey({body:{...$,userId:f}})},list:async()=>{return t.api.listApiKeys({headers:u})},update:async($)=>{return t.api.updateApiKey({body:{...$,userId:f}})},delete:async($)=>{await t.api.deleteApiKey({headers:u,body:{keyId:$}})}}}}async function Nmi(i,t,u){if(E$i.includes(u))return;let l=await i.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",t).where("role","=",u).executeTakeFirst();if(!l?.permission)return;try{return JSON.parse(l.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${u}`);return}}async function JEu(i,t,u,l){let n=NEu.get(u);if(n&&Date.now()-n.at<I60)return n.archived;let f=await t.measure(l,()=>i.selectFrom("organization").select(["metadata"]).where("id","=",u).executeTakeFirst()),c=M3(f);return NEu.set(u,{archived:c,at:Date.now()}),c}async function B60(i,t,u,l=TEu,n){let f=i.headers.get("Authorization");try{let c=new Headers(i.headers);c.set("X-MCP-Session-Auth","true");let $=await l.measure("auth_get_mcp_session",()=>t.api.getMcpSession({headers:c}));if($){let d=$.userId,_=i.headers.get("x-org-id"),g=i.headers.get("x-org-slug"),h=await l.measure("auth_query_membership",()=>{let x=u.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","=",d);if(_)return x.where("organization.id","=",_).executeTakeFirst();if(g)return x.where("organization.slug","=",g).executeTakeFirst();return x.executeTakeFirst()});if(M3({metadata:h?.orgMetadata}))throw Error("Organization is archived");let E=h?.role,v=h?{id:h.orgId,slug:h.orgSlug,name:h.orgName}:void 0;if(h&&E)n?.set(d,h.organizationId,E);let r;if(h&&E)r=await l.measure("auth_fetch_role_permissions",()=>Nmi(u,h.organizationId,E));return{user:{id:d,role:E},role:E,permissions:r,organization:v}}}catch(c){console.error("[Auth] OAuth session check failed:",c)}if(f?.startsWith("Bearer ")){let c=f.replace("Bearer ","").trim();try{let $=await l.measure("auth_verify_mesh_jwt",()=>inu(c));if($){let d,_=$.metadata?.organizationId;if($.sub&&_){let E=n?.get($.sub,_);if(E)d=E;else if(d=(await l.measure("auth_query_membership",()=>u.selectFrom("member").select(["member.role"]).where("member.userId","=",$.sub).where("member.organizationId","=",_).executeTakeFirst()))?.role,d)n?.set($.sub,_,d)}let g,h=$.metadata?.organizationId;if(h){let E=$.metadata?.organizationName,v=$.metadata?.organizationSlug;if(E||v){if(await JEu(u,l,h,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};g={id:h,name:E,slug:v}}else{let r=await l.measure("auth_query_org_for_mesh_jwt",()=>u.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",h).executeTakeFirst());if(M3(r))return{user:void 0};g=r?{id:r.id,slug:r.slug,name:r.name}:{id:h}}}return{user:{id:$.sub,connectionId:$.metadata?.connectionId,role:d},role:d,permissions:$.permissions,organization:g}}}catch{}try{let $=await l.measure("auth_verify_api_key",()=>t.api.verifyApiKey({body:{key:c}}));if($?.valid&&$.key){let d=$.key.metadata?.organization;if(d?.id&&await JEu(u,l,d.id,"auth_query_org_for_api_key"))return{user:void 0};let _=$.key.permissions,g,h=$.key.userId;if(h&&d?.id){let E=n?.get(h,d.id);if(E)g=E;else if(g=(await l.measure("auth_query_membership",()=>u.selectFrom("member").select(["member.role"]).where("member.userId","=",h).where("member.organizationId","=",d.id).executeTakeFirst()))?.role,h&&g)n?.set(h,d.id,g)}return{apiKeyId:$.key.id,user:{id:$.key.userId,role:g},role:g,permissions:_,organization:d?{id:d.id,slug:d.slug,name:d.name}:void 0}}}catch($){let d=$;if(d.body?.code==="INVALID_API_KEY"||d.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL(i.url).pathname,method:i.method,ua:i.headers.get("user-agent")??void 0,ip:i.headers.get("x-forwarded-for")??i.headers.get("x-real-ip")??void 0,tokenPrefix:c.slice(0,8)});else console.error("[Auth] API key check failed:",d)}}try{let c=new Headers(i.headers);c.delete("Authorization");let $=await l.measure("auth_get_session",()=>t.api.getSession({headers:c}));if($){let d,_,g=i.headers.get("x-org-id"),h=i.headers.get("x-org-slug");if(!g&&!h&&i.method.toUpperCase()==="GET")try{let E=new URL(i.url).searchParams;g=E.get("x-org-id"),h=E.get("x-org-slug")}catch{}if(g||h){let E=await l.measure("auth_query_membership_from_header",()=>{let v=u.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","=",$.user.id);if(g)v=v.where("organization.id","=",g);else if(h)v=v.where("organization.slug","=",h);return v.executeTakeFirst()});if(M3({metadata:E?.orgMetadata}))throw Error("Organization is archived");if(E)d={id:E.orgId,slug:E.orgSlug,name:E.orgName},_=E.role}else if($.session.activeOrganizationId){let E=await l.measure("auth_get_full_organization",()=>t.api.getFullOrganization({headers:c}).catch(()=>null));if(E){if(M3(E))throw Error("Organization is archived");d={id:E.id,slug:E.slug,name:E.name},_=E.members?.find((r)=>r.userId===$.user.id)?.role}else d={id:$.session.activeOrganizationId,slug:"",name:""}}return{user:{id:$.user.id,email:$.user.email,emailVerified:!!$.user.emailVerified,name:$.user.name,image:$.user.image??void 0,role:_},role:_,organization:d}}}catch(c){let $=c;console.error("[Auth] Session check failed:",JSON.stringify({message:$.message,body:$.body,stack:$.stack},null,2))}return{user:void 0}}async function FEu(i){let t=new CO(i.encryption.key),u=Qt(),l=u.clickhouseUrl,n=!!l,f=!n&&!!u.monitoringS3Bucket,c=n?"clickhouse":"duckdb",{resolve:$}=await import("path"),d=$(p6()),_=$(ar()),g=(J)=>`read_ndjson('${d}/${J}/**/*.ndjson', auto_detect=true)`,h=(J)=>`read_ndjson('${_}/${J}/**/*.ndjson', auto_detect=true)`,E,v,r,x,O=!1;if(i.monitoringEngines)E=i.monitoringEngines.monitoringEngine,v=i.monitoringEngines.metricEngine,r=g,x=h;else if(n)E=new UM(l),v=new UM(l),r=(J)=>"studio_monitoring_logs",x=(J)=>"studio_monitoring_logs";else if(f){let J=u.monitoringS3AccessKeyId??u.s3AccessKeyId,T=u.monitoringS3SecretAccessKey??u.s3SecretAccessKey,Q=u.duckdbExtensionDirectory;if(!J||!T||!Q)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 B={endpoint:u.monitoringS3Endpoint??u.s3Endpoint??"storage.googleapis.com",region:u.monitoringS3Region??u.s3Region,accessKeyId:J,secretAccessKey:T,extensionDirectory:Q},P=new JM(B);E=P,v=P;let H=k$u({bucket:u.monitoringS3Bucket,prefix:u.monitoringS3Prefix??""});r=(j)=>H,x=(j)=>H,O=!0}else{let{engine:J}=await Oqi({basePath:p6()}),{engine:T}=await Oqi({basePath:ar()});E=J,v=T,r=g,x=h}let y=new vS(i.db),X=new GM(i.db),N=new IM(i.db),U={connections:new LC(i.db,t),organizationSettings:new yqi(i.db),monitoring:new Hei(E,r,v,x,c,O),virtualMcps:new nj(i.db),users:new Aqi(i.db),tags:new Pqi(i.db),virtualMcpPluginConfigs:new Xqi(i.db),aiProviderKeys:new RC(i.db,t,i.providerKeyCache),secrets:new sqi(i.db,t),orgFileConfigs:new iVi(i.db,t),orgFsEntries:new vC(i.db),oauthPkceStates:new tVi(i.db),automations:M4i(i.db),triggerCallbackTokens:new FM(i.db),orgSsoConfig:new Fqi(i.db,t),orgSsoSessions:new Zqi(i.db),registry:{items:new nS(i.db),publishRequests:new fS(i.db),publishApiKeys:new cS(i.db),monitorRuns:new i$i(i.db),monitorResults:new t$i(i.db),monitorConnections:new u$i(i.db)},brandContext:new ZM(i.db),organizationDomains:new r5(i.db),kv:N,interests:new Tqi(N)};return async(J,T)=>{let Q=T?.timings??TEu,B=rS(),P=J?await i.observability.tracer.startActiveSpan("studio.auth",async(_i)=>{try{let Oi=await B60(J,i.auth,i.db,Q,i.memberRoleCache);return _i.setStatus({code:XEu.OK}),Oi}catch(Oi){throw _i.setStatus({code:XEu.ERROR,message:Oi.message}),_i.recordException(Oi),Oi}finally{_i.end()}}):{user:void 0},H=J?.headers.get("x-caller-id")??P.user?.connectionId??void 0,j=Xmi({auth:i.auth,headers:J?.headers??new Headers,role:P.role,permissions:P.permissions,userId:P.user?.id}),k={user:P.user};if(P.apiKeyId)k.apiKey={id:P.apiKeyId,name:"",userId:""};let m=P.organization,S=J?Qt().baseUrl??`${new URL(J.url).origin}`:Rc(),M=new Xy(i.auth,k.user?.id,void 0,j,P.role,"self",void 0,m?.id),p={...U,virtualMcps:A0u(U.virtualMcps),threads:new Cqi(y,m?.id),asyncResearchJobs:new mqi(X,m?.id)},s=new ymi(p.aiProviderKeys,i.modelListCache),$i=b$(),e=!m?null:$i?F_($i,m.id):new vv(m.id,S),fi=m&&e?new Qx(e,p.orgFsEntries,m.id):null;cGi(p,{objectStorage:e,baseUrl:S,orgSlug:m?.slug});let a={timings:Q,auth:k,connectionId:H,organization:m,storage:p,vault:t,authInstance:i.auth,boundAuth:j,access:M,db:i.db,tracer:i.observability.tracer,meter:i.observability.meter,baseUrl:S,objectStorage:e,orgFs:fi,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(Q60.map((_i)=>[_i,J?.headers.get(_i)??null]).filter(([_i,Oi])=>Oi!==null)),userAgent:J?.headers.get("x-mesh-client")||J?.headers.get("User-Agent")||void 0,ipAddress:(J?.headers.get("CF-Connecting-IP")||J?.headers.get("X-Forwarded-For"))??void 0,properties:F60(J?.headers.get("x-mesh-properties"))},eventBus:i.eventBus,linkClaimRegistry:i.linkClaimRegistry,publishLinkControlFrame:i.publishLinkControlFrame,aiProviders:s,createMCPProxy:async(_i)=>{return await gdu(_i,a)},invalidateMemberRole:i.memberRoleCache?(_i,Oi)=>i.memberRoleCache.invalidate(_i,Oi):void 0,getOrCreateClient:B,pendingRevalidations:[],firecrawlApiKey:Qt().firecrawlApiKey};return a}}function ydi(i,t){i.storage.threads.setOrganizationId(t.id),i.storage.asyncResearchJobs.setOrganizationId(t.id);let u=b$();i.objectStorage=u?F_(u,t.id):new vv(t.id,i.baseUrl),i.orgFs=new Qx(i.objectStorage,i.storage.orgFsEntries,t.id),cGi(i.storage,{objectStorage:i.objectStorage,baseUrl:i.baseUrl,orgSlug:t.slug??void 0})}var I60=60000,NEu,UEu,Vh,TEu,Q60;var bS=w(()=>{qO();Qci();U0();Ud();fei();yei();l1u();j$u();U_();S$u();Nqi();Uqi();p$u();idu();dS();h$i();Jy();Rqi();eqi();oqi();O$i();nei();pqi();Ndu();ILi();EC();yEu();Sw();dC();Cui();NEu=new Map;Vh={set:(i)=>{UEu=i},create:async(i,t)=>{return await UEu(i,t)}},TEu={measure:async(i,t)=>{return await t()}},Q60=["x-hub-signature-256"]});function Umi(i){return i?`/api/${i}`:""}function ZEu(i){let u=new URL(i).pathname;if(u.endsWith("/"))u=u.slice(0,-1);let l=(n)=>{let f=new URL(i);return f.pathname=n,f.toString()};return[l(`${u}/.well-known/oauth-protected-resource`),l(`/.well-known/oauth-protected-resource${u}`),l("/.well-known/oauth-protected-resource")]}function IEu(i){let u=new URL(i).pathname;if(u.endsWith("/"))u=u.slice(0,-1);let l=u!==""&&u!=="/",n=(f)=>{let c=new URL(i);return c.pathname=f,c.toString()};if(l)return[n(`/.well-known/oauth-authorization-server${u}`),n(`/.well-known/openid-configuration${u}`),n(`${u}/.well-known/openid-configuration`)];return[n("/.well-known/oauth-authorization-server"),n("/.well-known/openid-configuration")]}function BEu(i){return"issuer"in i&&!("resource"in i)&&(("authorization_endpoint"in i)||("token_endpoint"in i))}function QEu(i){let t=i.toLowerCase();return t.includes("resource_metadata=")||t.includes("invalid_token")||t.includes("oauth")}function YEu(i){let t=i.message?.toLowerCase()??"";return i.status===401||i.code===401||(i.message?.includes("401")??!1)||t.includes("unauthorized")||t.includes("invalid_token")||t.includes("api key required")||t.includes("api-key required")}function PEu(i,{proxyResourceUrl:t,proxyAuthServer:u}){return{...i,resource:t,authorization_servers:[u]}}function Tmi({proxyResourceUrl:i,proxyAuthServer:t,scopesSupported:u=["*"]}){return{resource:i,authorization_servers:[t],bearer_methods_supported:["header"],scopes_supported:u}}function AEu(i){return"scopes_supported"in i&&Array.isArray(i.scopes_supported)&&i.scopes_supported.length>0?i.scopes_supported:["*"]}function GEu(i,t){return{...i,authorization_endpoint:i.authorization_endpoint?`${t}/authorize`:void 0,token_endpoint:i.token_endpoint?`${t}/token`:void 0,registration_endpoint:i.registration_endpoint?`${t}/register`:void 0}}function WEu({origin:i,prefix:t,connectionId:u}){return`Bearer realm="mcp",resource_metadata="${i}${t}/mcp/${u}/.well-known/oauth-protected-resource"`}var Jmi;var kEu=w(()=>{Jmi=[404,401,406]});async function Y60(i,t,u){return(await t.storage.connections.findById(i,u))?.connection_url??null}async function jEu(i,t={}){try{let u=await Imi(i,{method:"POST",headers:{...t,"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(u.status===401){let l=u.headers.get("WWW-Authenticate");if(l){if(QEu(l))return l}if(await P60(i))return'Bearer realm="mcp"'}return null}catch{return null}}async function P60(i){try{let t=new URL(i),u=new URL("/.well-known/oauth-authorization-server",t.origin),l=await Imi(u.toString(),{method:"GET",headers:{Accept:"application/json"}});if(l.ok){let n=await l.json();if(n.authorization_endpoint||n.token_endpoint||n.issuer)return!0}return!1}catch{return!1}}async function KS(i){let t=ZEu(i),u;for(let l=0;l<t.length;l++){if(u=await REu(t[l],{method:"GET",headers:{Accept:"application/json"}}),u.ok)return u;if(l<t.length-1&&!Jmi.includes(u.status))return u}return u}async function A60(i){let t;try{t=new URL(i).origin}catch{return null}try{let u=await KS(i);if(u.ok){let l=await u.json();if(l.authorization_servers?.[0])return l.authorization_servers[0]}}catch{}return t}async function SEu(i){let t=i.get("meshContext");if(!t)t=await Vh.create(i.req.raw),i.set("meshContext",t);return t}async function Zmi({error:i,reqUrl:t,connectionId:u,connectionUrl:l,headers:n,orgSlug:f}){if(!YEu(i))return null;if(Boolean(await jEu(l,n)))return new Response(null,{status:401,headers:{"WWW-Authenticate":WEu({origin:t.origin,prefix:Umi(f),connectionId:u})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function Imi(i,t,u=HEu){return fetch(i,{...t,signal:AbortSignal.timeout(u)})}class Fmi{response;constructor(i){this.response=i}}async function REu(i,t,{attempts:u=3,timeoutMs:l=HEu}={}){try{return await Tr(async()=>{let n=await Imi(i,t,l);if(n.status>=500)throw new Fmi(n);return n},{maxAttempts:u,minTimeout:150,multiplier:2,jitter:0})}catch(n){if(n instanceof H6){if(n.cause instanceof Fmi)return n.cause.response;throw n.cause}throw n}}async function Mq(i){let t=IEu(i),u=null;for(let l of t){if(u=await REu(l,{method:"GET",headers:{Accept:"application/json"}}),u.ok)return u;if(u.status!==404&&u.status!==401)return u}return u}var zEu=(i)=>{if(!(i.hostname==="localhost"||i.hostname.endsWith(".localhost")||i.hostname==="127.0.0.1"))i.protocol="https:";return i},eq=async(i)=>{let t=i.req.param("connectionId"),u=await SEu(i),l=zEu(new URL(i.req.url)),n=i.req.param("org")??u.organization?.slug,f;if(n)if(u.organization?.id&&u.organization.slug===n)f=u.organization.id;else{let g=await u.db.selectFrom("organization").select("id").where("slug","=",n).executeTakeFirst();if(!g)return i.json({error:"Connection not found"},404);f=g.id}let c=await Y60(t,u,f);if(!c)return i.json({error:"Connection not found"},404);let $=Umi(n),d=`${l.origin}${$}/mcp/${t}`,_=`${l.origin}/oauth-proxy/${t}`;try{let g=await KS(c);if(!g.ok&&Jmi.includes(g.status)){if(await jEu(c)){let r=Tmi({proxyResourceUrl:d,proxyAuthServer:_});return new Response(JSON.stringify(r),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(g.body,{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}})}if(!g.ok)return new Response(g.body,{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}});let h=await g.json();if(BEu(h)){let v=Tmi({proxyResourceUrl:d,proxyAuthServer:_,scopesSupported:AEu(h)});return new Response(JSON.stringify(v),{status:200,headers:{"Content-Type":"application/json"}})}let E=PEu(h,{proxyResourceUrl:d,proxyAuthServer:_});return new Response(JSON.stringify(E),{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}})}catch(g){let h=g;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",h),i.json({error:"Failed to proxy OAuth metadata",message:h.message},502)}},bEu=()=>{let i=new St;return i.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(t)=>eq(t)),i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(t)=>eq(t)),i},KEu=()=>{let i=new St;return i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(t)=>eq(t)),i},HEu=4000,G60=async(i)=>{let t=i.req.param("connectionId"),u=await SEu(i),l=await u.storage.connections.findById(t);if(!l?.connection_url)return i.json({error:"Connection not found or no auth server"},404);let n=await A60(l.connection_url);if(!n)return i.json({error:"Connection not found or no auth server"},404);let f=await u.db.selectFrom("organization").select("slug").where("id","=",l.organization_id).executeTakeFirst();try{let c=await Mq(n);if(!c.ok)return new Response(c.body,{status:c.status,statusText:c.statusText,headers:{"Content-Type":"application/json"}});let $=await c.json(),d=zEu(new URL(i.req.url)),_=f?.slug?`${d.origin}/api/${f.slug}/oauth-proxy/${t}`:`${d.origin}/oauth-proxy/${t}`,g=GEu($,_);return new Response(JSON.stringify(g),{status:200,headers:{"Content-Type":"application/json"}})}catch(c){let $=c;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",$),i.json({error:"Failed to proxy auth server metadata",message:$.message},502)}},LEu=()=>{let i=new St;return i.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",G60),i};var qq=w(()=>{nn();bS();H1();kEu()});async function HS(i){try{let t;try{let l=await KS(i);if(l.ok)t=(await l.json()).authorization_servers?.[0]}catch{}if(!t)t=new URL(i).origin;let u=await Mq(t);if(u.ok)return(await u.json()).token_endpoint??null;return null}catch{return null}}var Xdi=w(()=>{qq()});function Jdi(i){return!!i.refreshToken&&!!i.tokenEndpoint&&!!i.clientId}async function j60(i,t){let u=await mnu(i);if(!u.success||!u.accessToken){if(u.permanent===!0)await t.delete(i.connectionId);return null}return await t.upsert({connectionId:i.connectionId,accessToken:u.accessToken,refreshToken:u.refreshToken??i.refreshToken,scope:u.scope??i.scope,expiresAt:u.expiresIn?new Date(Date.now()+u.expiresIn*1000):null,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}),u.accessToken}function Udi(i,t){let u=Bmi.get(i.connectionId);if(u)return u;let l=Ndi.get(i.connectionId);if(l&&Date.now()<l.nextAttemptAt)return Promise.resolve(null);let n=j60(i,t).then((f)=>{if(f)Ndi.delete(i.connectionId);else{let c=Ndi.get(i.connectionId)?.attempt??0,$=Nn(k60,W60,c,2,0.5);Ndi.set(i.connectionId,{attempt:c+1,nextAttemptAt:Date.now()+$})}return f}).finally(()=>{Bmi.delete(i.connectionId)});return Bmi.set(i.connectionId,n),n}async function RS(i){let{connectionId:t,connectionUrl:u,tokenStorage:l}=i,n=await l.get(t);if(!n)return{state:"missing",accessToken:null};let f=Jdi(n),c=f?i.bufferMs??Vq:0;if(!l.isExpired(n,c))return{state:"valid",accessToken:n.accessToken};if(!f)return await l.delete(t),{state:"expired_without_refresh",accessToken:null};let $=n.tokenEndpoint;if(u&&$?.includes("/oauth-proxy/")){let _=await HS(u);if(_)$=_}let d=await Udi({...n,tokenEndpoint:$},l);if(!d)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:d}}var Vq=300000,O$="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",Bmi,W60=30000,k60=300000,Ndi;var My=w(()=>{H1();onu();Xdi();Bmi=new Map,Ndi=new Map});class ef{db;vault;constructor(i,t){this.db=i;this.vault=t}async get(i){let t=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",i).executeTakeFirst();if(!t)return null;return this.decryptToken(t)}async upsert(i){let t=new Date().toISOString(),u=await this.vault.encrypt(i.accessToken),l=i.refreshToken?await this.vault.encrypt(i.refreshToken):null,n=i.clientSecret?await this.vault.encrypt(i.clientSecret):null;return await this.db.transaction().execute(async(f)=>{let c=await f.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",i.connectionId).executeTakeFirst();if(c)return await f.updateTable("downstream_tokens").set({accessToken:u,refreshToken:l,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:n,tokenEndpoint:i.tokenEndpoint,updatedAt:t}).where("id","=",c.id).execute(),{id:c.id,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:c.createdAt,updatedAt:t,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint};let $=Rn("dtok");return await f.insertInto("downstream_tokens").values({id:$,connectionId:i.connectionId,accessToken:u,refreshToken:l,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:n,tokenEndpoint:i.tokenEndpoint,createdAt:t,updatedAt:t}).execute(),{id:$,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:t,updatedAt:t,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}})}async delete(i){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",i).execute()}isExpired(i,t=0){if(!i.expiresAt)return!1;let l=(i.expiresAt instanceof Date?i.expiresAt:new Date(i.expiresAt)).getTime();if(Number.isNaN(l))return!0;return l-t<Date.now()}async decryptToken(i){let t=await this.vault.decrypt(i.accessToken),u=i.refreshToken?await this.vault.decrypt(i.refreshToken):null,l=i.clientSecret?await this.vault.decrypt(i.clientSecret):null;return{id:i.id,connectionId:i.connectionId,accessToken:t,refreshToken:u,scope:i.scope,expiresAt:i.expiresAt,createdAt:i.createdAt,updatedAt:i.updatedAt,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint}}}var kv=w(()=>{M_()});function S60(i){if(!i||typeof i!=="object"||Array.isArray(i))return CEu;let t=i;if(Object.values(t).some((u)=>typeof u!=="string"))return CEu;return t}function z60(i){if(typeof i!=="number"||!Number.isFinite(i)||!Number.isInteger(i)||i<=0)return;return i}function jv(i){let t=i.metadata?.repoScope;if(!t||typeof t.installationId!=="number"||!Number.isFinite(t.installationId)||!Number.isInteger(t.installationId)||t.installationId<=0||typeof t.owner!=="string"||typeof t.repo!=="string"||t.owner.length===0||t.repo.length===0)return null;let u=z60(t.repositoryId);return{sourceConnectionId:typeof t.sourceConnectionId==="string"?t.sourceConnectionId:void 0,installationId:t.installationId,repositoryId:u,owner:t.owner,repo:t.repo,permissions:S60(t.permissions),grantProvider:t.grantProvider==="github-mcp"?"github-mcp":void 0}}var CEu;var LS=w(()=>{CEu={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function b60(i,t){let u=i.organization?.id;if(!u)throw Error(O$);if(!t.sourceConnectionId)throw Error(O$);let l=await i.storage.connections.findById(t.sourceConnectionId,u);if(!l)throw Error(O$);let{clientFromConnection:n}=await Promise.resolve().then(() => (g$i(),eEu)),f=await n(l,i,!0);try{let c=await f.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:t.installationId,owner:t.owner,repo:t.repo,permissions:t.permissions}}),$=c.structuredContent?.token;if(c.isError||!$)throw Error(O$);let d=c.structuredContent?.expiresAt;return{accessToken:$,expiresAt:d?new Date(d):null}}finally{await f.close().catch(()=>{})}}async function K60(i,t,u,l){let n=await b60(i,u);return await l.upsert({connectionId:t,accessToken:n.accessToken,refreshToken:null,scope:null,expiresAt:n.expiresAt,clientId:null,clientSecret:null,tokenEndpoint:null}),n.accessToken}async function Tdi(i,t){let u=jv(t);if(!u)throw Error("Connection is not repo-scoped");if(!u.sourceConnectionId)throw Error(O$);let l=new ef(i.db,i.vault),n=await l.get(t.id);if(n&&!l.isExpired(n,Vq))return n.accessToken;let f=Qmi.get(t.id);if(f)return f;let c=K60(i,t.id,u,l).finally(()=>{Qmi.delete(t.id)});return Qmi.set(t.id,c),c}var Qmi;var Ymi=w(()=>{My();LS();kv();Qmi=new Map});import{SpanStatusCode as MEu}from"@opentelemetry/api";function H60(i){if(!i)return;let t={};for(let[u,l]of Object.entries(i))if(l&&typeof l==="object"&&!Array.isArray(l)&&"__binding"in l){let{__binding:n,...f}=l;t[u]=f}else t[u]=l;return t}async function Pmi(i,t,u){return t.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":i.id}},async(l)=>{try{let n=await R60(i,t,u);return l.setStatus({code:MEu.OK}),n}catch(n){throw l.setStatus({code:MEu.ERROR,message:n.message}),l.recordException(n),n}finally{l.end()}})}async function R60(i,t,u){let l=i.id,n=Wei(i.configuration_state,i.configuration_scopes),f=t.auth.user,c=f?.id??t.auth.apiKey?.userId??(u?i.created_by:void 0),[$,d]=c?await p0u({sub:c,user:{id:c,email:f?.email,name:f?.name,role:f?.role},metadata:{state:H60(i.configuration_state),meshUrl:t.baseUrl,connectionId:l,organizationId:t.organization?.id,organizationName:t.organization?.name,organizationSlug:t.organization?.slug},permissions:n}).then((r)=>[r,null]).catch((r)=>[null,r]):[null,Error("User ID required to issue configuration token")];if(d)console.error("Failed to issue configuration token:",$);let _=t.auth.user?.connectionId,g={..._?{"x-caller-id":_}:{},...t.metadata.wellKnownForwardableHeaders??{},"x-request-id":t.metadata.requestId},h=null;if(!!jv(i)?.sourceConnectionId)try{h=await Tdi(t,i)}catch(r){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:l,error:r.message})}else{let r=new ef(t.db,t.vault),x=await RS({connectionId:l,connectionUrl:i.connection_url,tokenStorage:r});if(x.accessToken)h=x.accessToken;else if(x.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${l} with no refresh capability`)}if(!h&&i.connection_token)h=i.connection_token;if(h)g.Authorization=`Bearer ${h}`;if($)g["x-mesh-token"]=$;return g}var qEu=w(()=>{kei();qO();My();kv();Ymi();LS()});function VEu(i){let t=new CC({command:i.command,args:i.args,env:i.env,cwd:i.cwd,stderr:"pipe"}),u=i.name||i.id,l="\x1B[2m",n="\x1B[0m";return t.stderr?.on("data",(f)=>{let c=f.toString().trimEnd();if(c)console.error(`${c} \x1B[2m[${u}]\x1B[0m`)}),t}var aEu=w(()=>{Dei()});var L60="mcp.mesh",CS;var mEu=w(()=>{q_();dS();k_();CS=class CS extends dk{options;constructor(i,t){super(i);this.options=t}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((i)=>{let t=`auth-tools-${Date.now()}`,u=this.innerTransport.onmessage;this.innerTransport.onmessage=(l)=>{if("id"in l&&l.id===t)if(this.innerTransport.onmessage=u,this.toolsListPromise=null,"result"in l){let n=l.result?.tools??null;i(n)}else i(null);else u?.(l)},this.innerTransport.send({jsonrpc:"2.0",id:t,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=u,this.toolsListPromise=null,i(null)})});return this.toolsListPromise}async ensureToolsMap(){let i=this.options.cache??bf(),t=await Hx("tools",this.options.connection.id,async()=>{let u=await this.fetchToolsFromServer();if(u===null)throw Error("Failed to fetch tools list");return u},i,(u)=>this.options.ctx.pendingRevalidations.push(u),cj);if(!t)return new Map;return new Map(t.map((u)=>[u.name,u]))}async handleOutgoingMessage(i){if(!this.isRequest(i))return this.innerTransport.send(i);let t=i;if(t.method==="tools/call")await this.authorizeToolCall(t),this.stripMetaFromArguments(t);return this.innerTransport.send(i)}async authorizeToolCall(i){if(this.options.superUser)return;let u=i.params.name,{ctx:l,connection:n}=this.options;if(await this.isPublicTool(u))return;if(!l.auth.user?.id&&!l.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let f=async()=>{return(await this.ensureToolsMap()).get(u)?._meta};await new Xy(l.authInstance,l.auth.user?.id??l.auth.apiKey?.userId,u,l.boundAuth,l.organization?.role??l.auth.user?.role,n.id,f,l.organization?.id).check(u)}async isPublicTool(i){if(i.startsWith("MESH_PUBLIC_"))return!0;let u=(await this.ensureToolsMap()).get(i);if(!u?._meta)return!1;return u._meta[L60]?.public_tool===!0}stripMetaFromArguments(i){let t=i.params;if(t.arguments&&"_meta"in t.arguments){let{_meta:u,...l}=t.arguments;t.arguments=l}}}});class Ami{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(i){if(i===null||i===void 0)return i;if(typeof i==="string")return this.redactString(i);if(Array.isArray(i))return i.map((t)=>this.redact(t));if(typeof i==="object"){let t={};for(let[u,l]of Object.entries(i)){let n=this.redactString(u);t[n]=this.redact(l)}return t}return i}redactString(i){let t=i;for(let u of this.patterns)t=t.replace(u.regex,`[REDACTED:${u.type}]`);return t}}import{SeverityNumber as oEu}from"@opentelemetry/api-logs";function aq(i,t){try{if(!i.organizationId)return;let u=Gmi.redactString(iW(JSON.stringify(i.toolArguments??{}))),l=Gmi.redactString(iW(JSON.stringify(i.result??{}))),n=i.errorMessage?Gmi.redactString(iW(i.errorMessage)):"";WYt().emit({severityNumber:i.isError?oEu.ERROR:oEu.INFO,severityText:i.isError?"ERROR":"INFO",body:i.toolName,attributes:{[k0.TYPE]:i.type??ZH,[k0.ORGANIZATION_ID]:i.organizationId,[k0.CONNECTION_ID]:i.connectionId,[k0.CONNECTION_TITLE]:"",[k0.TOOL_NAME]:i.toolName,[k0.INPUT]:u,[k0.OUTPUT]:l,[k0.IS_ERROR]:i.isError,[k0.ERROR_MESSAGE]:n,[k0.DURATION_MS]:i.duration,[k0.USER_ID]:i.userId||"",[k0.REQUEST_ID]:i.requestId,[k0.USER_AGENT]:i.userAgent||"",[k0.VIRTUAL_MCP_ID]:i.virtualMcpId||"",[k0.PROPERTIES]:i.properties?JSON.stringify(i.properties):""},context:t})}catch{}}var Gmi;var Fdi=w(()=>{RAi();U_();HAi();Gmi=new Ami});function Wmi(i){let{ctx:t,organizationId:u,connectionId:l,toolName:n,durationMs:f,isError:c}=i;if(!u||!l||!n)return;let $={"tool.name":n,"organization.id":u,"connection.id":l,status:c?"error":"success","error.type":c?i.errorType||"Error":""};t.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(f,$),t.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,$)}import{trace as Y01,context as P01}from"@opentelemetry/api";function sEu(i){if(!i.isError)return;let t=i.content;if(!Array.isArray(t))return;for(let u of t)if(u&&typeof u==="object"&&"type"in u&&u.type==="text"&&"text"in u&&typeof u.text==="string")return u.text;return}function pEu(i){if(!i)return;let t=i._meta;if(!t||typeof t!=="object"||Array.isArray(t))return;let u=t.properties;if(!u||typeof u!=="object"||Array.isArray(u))return;let l={};for(let[n,f]of Object.entries(u))if(typeof f==="string")l[n]=f;return Object.keys(l).length>0?l:void 0}function ivu(i,t){if(!i&&!t)return;if(!i)return t;if(!t)return i;return{...t,...i}}var tvu=w(()=>{zl();Fdi();U_()});import{trace as C60,context as uvu}from"@opentelemetry/api";var eS;var lvu=w(()=>{k_();Fdi();tvu();eS=class eS extends dk{options;inflightRequests=new Map;requestContext;constructor(i,t){super(i);this.options=t;this.requestContext=uvu.active()}async handleOutgoingMessage(i){if(this.isRequest(i)){let t=i;this.onRequestStart(t)}return this.innerTransport.send(i)}handleIncomingMessage(i){if(this.isResponse(i)){let t=i;this.onResponseEnd(t)}this.onmessage?.(i)}onRequestStart(i){let{ctx:t,connectionId:u}=this.options,l,n;if(i.method==="tools/call"&&i.params){let c=i.params;l=c.name,n=c.arguments}let f;if(i.method==="tools/call"&&l)f=t.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":u,"tool.name":l,"request.id":t.metadata.requestId,"jsonrpc.id":i.id,"jsonrpc.method":i.method}},this.requestContext);if(i.id!==null&&i.id!==void 0)this.inflightRequests.set(i.id,{startTime:Date.now(),method:i.method,toolName:l,toolArguments:n,span:f})}onResponseEnd(i){if(i.id===null||i.id===void 0)return;let t=this.inflightRequests.get(i.id);if(!t)return;let{ctx:u,connectionId:l}=this.options,{startTime:n,method:f,toolName:c,toolArguments:$,span:d}=t,_=Date.now()-n;if(this.inflightRequests.delete(i.id),f!=="tools/call"||!c)return;let g=u.organization?.id??"",h="error"in i,E=h?i.error:i.result,v=h?{content:[{type:"text",text:i.error?.message||"Unknown error"}],isError:!0}:E;if(u.meter.createHistogram("connection.proxy.duration").record(_,{"connection.id":l,"organization.id":g,"tool.name":c,status:h?"error":"success"}),h)u.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":l,"organization.id":g,"tool.name":c,error:i.error?.message});else u.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":l,"organization.id":g,"tool.name":c,status:"success"});if(g)Wmi({ctx:u,organizationId:g,connectionId:l,toolName:c,durationMs:_,isError:h,errorType:h?"RemoteError":""});if(d){if(h&&i.error)d.recordException(Error(i.error.message));let r=pEu($),x=ivu(u.metadata.properties,r),O=C60.setSpan(uvu.active(),d);aq({organizationId:u.organization?.id??"",connectionId:l,toolName:c,toolArguments:$,result:v,duration:_,isError:Boolean(h),errorMessage:sEu(v)||null,userId:u.auth.user?.id||u.auth.apiKey?.userId||null,requestId:u.metadata.requestId,userAgent:u.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:x||null},O),d.end()}}async close(){for(let i of this.inflightRequests.values())if(i.span)i.span.setAttributes({"transport.closed":!0}),i.span.end();return this.inflightRequests.clear(),super.close()}}});var nvu=w(()=>{k_();mEu();lvu()});async function fvu(i,t,u=!1){let l=i.id,n=t.connectionId&&t.connectionId!==l?t.connectionId:void 0;switch(i.connection_type){case"STDIO":{if(!Qt().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let f=i.connection_headers;if(!uv(f))throw Error("STDIO connection missing parameters");let c=VEu({id:l,name:i.title,command:f.command,args:f.args,env:f.envVars,cwd:f.cwd});return c=_k(c,($)=>new CS($,{ctx:t,connection:i,superUser:u}),($)=>new eS($,{ctx:t,connectionId:l,virtualMcpId:n})),e60(c,l)}case"HTTP":case"Websocket":{if(!i.connection_url)throw Error(`${i.connection_type} connection missing URL`);let f=await Pmi(i,t,u),c=i.connection_headers;if(c&&"headers"in c)Object.assign(f,c.headers);let $=new i6(new URL(i.connection_url),{requestInit:{headers:f}});return $=_k($,(d)=>new CS(d,{ctx:t,connection:i,superUser:u}),(d)=>new eS(d,{ctx:t,connectionId:l,virtualMcpId:n})),t.getOrCreateClient($,l)}case"SSE":{if(!i.connection_url)throw Error("SSE connection missing URL");let f=await Pmi(i,t,u),c=i.connection_headers;if(c&&"headers"in c)Object.assign(f,c.headers);let $=new y3(new URL(i.connection_url),{requestInit:{headers:f}});return $=_k($,(d)=>new CS(d,{ctx:t,connection:i,superUser:u}),(d)=>new eS(d,{ctx:t,connectionId:l,virtualMcpId:n})),t.getOrCreateClient($,l)}default:throw Error(`Unknown connection type: ${i.connection_type}`)}}var e60;var cvu=w(()=>{U0();H3();NL();cO();qEu();O$i();aEu();nvu();e60=rS()});function MS(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function mq(i){if(i&&typeof i==="object"&&"gatewayClientId"in i&&typeof i.gatewayClientId==="string")return i.gatewayClientId;return}function oq(i,t){if(!t)return i;let u=`${MS(t)}_`;return i.startsWith(u)?i.slice(u.length):i}function M60(i){return i.split(/[-_]/).map((t)=>t?t.charAt(0).toUpperCase()+t.slice(1):t).join(" ")}var Zdi;var $vu=w(()=>{Xh();Zdi=class Zdi extends Nf{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(i,t){super(t?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:t?.capabilities});this.clients=i;for(let u of Object.keys(i)){let l=MS(u);if(this.slugToKey.has(l))throw Error(`GatewayClient: duplicate slug "${l}" from keys "${this.slugToKey.get(l)}" and "${u}"`);this.slugToKey.set(l,u)}}namespace(i,t){return`${MS(i)}_${t}`}async resolveToolTarget(i){let t=i.indexOf("_");if(t!==-1){let l=i.slice(0,t),n=this.slugToKey.get(l);if(n)return[n,i.slice(t+1)]}let{tools:u}=await this.listTools();for(let l of u){let n=mq(l._meta);if(!n)continue;if(oq(l.name,n)===i)return[n,i]}if(t===-1)throw Error(`GatewayClient: could not resolve tool "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,t)}" in "${i}" and not found by original name in any client`)}async resolvePromptTarget(i){let t=i.indexOf("_");if(t!==-1){let l=i.slice(0,t),n=this.slugToKey.get(l);if(n)return[n,i.slice(t+1)]}let{prompts:u}=await this.listPrompts();for(let l of u){let n=mq(l._meta);if(!n)continue;if(oq(l.name,n)===i)return[n,i]}if(t===-1)throw Error(`GatewayClient: could not resolve prompt "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,t)}" in "${i}" and not found by original name in any client`)}resolveClient(i){let t=this.resolvedClients.get(i);if(t)return t;let u=this.clients[i];if(!u)return Promise.reject(Error(`GatewayClient: unknown client key "${i}"`));let l=u.client,f=(typeof l==="function"?Promise.resolve(l()):Promise.resolve(l)).catch((c)=>{throw this.resolvedClients.delete(i),c});return this.resolvedClients.set(i,f),f}getResolvedClient(i){return this.resolveClient(i)}async fetchAllTools(i){let t=[],u;do{let l=await i.listTools(u?{cursor:u}:void 0);t.push(...l.tools),u=l.nextCursor}while(u);return t}async fetchAllResources(i){let t=[],u;do{let l=await i.listResources(u?{cursor:u}:void 0);t.push(...l.resources),u=l.nextCursor}while(u);return t}async fetchAllResourceTemplates(i){let t=[],u;do{let l=await i.listResourceTemplates(u?{cursor:u}:void 0);t.push(...l.resourceTemplates),u=l.nextCursor}while(u);return t}async fetchAllPrompts(i){let t=[],u;do{let l=await i.listPrompts(u?{cursor:u}:void 0);t.push(...l.prompts),u=l.nextCursor}while(u);return t}listTools(i,t){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let i=[];for(let[t,u]of Object.entries(this.clients)){let l=await this.resolveClient(t),n=await this.fetchAllTools(l),f=u.tools,c=f?new Set(f):null;for(let $ of n){if(c&&!c.has($.name))continue;i.push({...$,name:this.namespace(t,$.name),_meta:{...$._meta??{},gatewayClientId:t}})}}return{tools:i}}listResources(i,t){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let i=new Set,t=[],u=new Map;for(let[l,n]of Object.entries(this.clients)){let f=await this.resolveClient(l),c=await this.fetchAllResources(f),$=n.resources,d=$?new Set($):null;for(let _ of c){if(d&&!d.has(_.uri)&&!(_.name&&d.has(_.name)))continue;if(i.has(_.uri)){console.warn(`GatewayClient: duplicate resource "${_.uri}" from client "${l}" \u2014 skipping`);continue}i.add(_.uri),u.set(_.uri,l),t.push({..._,_meta:{..._._meta??{},gatewayClientId:l}})}}return this.resourceRouteMap=u,{resources:t}}listResourceTemplates(i,t){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let i=new Set,t=[];for(let[u,l]of Object.entries(this.clients)){let n=await this.resolveClient(u),f=await this.fetchAllResourceTemplates(n);for(let c of f){if(i.has(c.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${c.uriTemplate}" from client "${u}" \u2014 skipping`);continue}i.add(c.uriTemplate),t.push({...c,_meta:{...c._meta??{},gatewayClientId:u}})}}return{resourceTemplates:t}}listPrompts(i,t){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let i=[];for(let[t,u]of Object.entries(this.clients)){let l=await this.resolveClient(t),n=await this.fetchAllPrompts(l),f=u.prompts,c=f?new Set(f):null;for(let $ of n){if(c&&!c.has($.name))continue;i.push({...$,name:this.namespace(t,$.name),title:$.title??M60($.name),_meta:{...$._meta??{},gatewayClientId:t}})}}return{prompts:i}}async callTool(i,t,u){let[l,n]=await this.resolveToolTarget(i.name);return(await this.resolveClient(l)).callTool({...i,name:n},t,u)}async readResource(i,t){let u=await this.resolveResourceRoute(i.uri);return(await this.resolveClient(u)).readResource(i)}async getPrompt(i,t){let[u,l]=await this.resolvePromptTarget(i.name);return(await this.resolveClient(u)).getPrompt({...i,name:l})}async resolveResourceRoute(i){let t=this.resourceRouteMap.get(i);if(t)return t;if(this.resourcesCache=null,await this.listResources(),t=this.resourceRouteMap.get(i),t)return t;throw Error(`GatewayClient: resource "${i}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let i=[...this.resolvedClients.values()].map((t)=>t.then((u)=>u.close()).catch(()=>{}));await Promise.allSettled(i),await super.close()}}});var kmi=w(()=>{$vu()});var jmi;var dvu=w(()=>{kmi();MC();BM();jmi=class jmi extends Zdi{options;ctx;constructor(i,t){let u=new Map(i.virtualMcp.connections.map((n)=>[n.connection_id,n])),l={};for(let n of i.connections){let f=u.get(n.id);l[n.id]={client:()=>w5(n,t,i.superUser??!1,i.mcpListCache),...f?.selected_tools!=null?{tools:f.selected_tools}:{},...f?.selected_resources!=null?{resources:f.selected_resources}:{},...f?.selected_prompts!=null?{prompts:f.selected_prompts}:{}}}super(l,{clientInfo:{name:"virtual-mcp-passthrough",version:"1.0.0"},capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});this.options=i;this.ctx=t}async[Symbol.asyncDispose](){await this.close()}async listPrompts(i,t){let u=await super.listPrompts(i,t),l=Gci(this.options.virtualMcp.id??""),n=this.ctx.organization?.id;if(!l||!n)return u;let f=await Wci(l,{orgId:n,ctx:this.ctx}),c=new Set(f.filter(($)=>$.completed&&!$.alwaysSuggest&&$.action.kind==="open-agent-thread").map(($)=>$.action.promptName));if(c.size===0)return u;return{...u,prompts:u.prompts.filter(($)=>!c.has(oq($.name,mq($._meta))))}}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}getConnectionTitleMap(){return new Map(this.options.connections.map((i)=>[i.id,i.title]))}}});import{SpanStatusCode as _vu}from"@opentelemetry/api";function q60(i,t){if(i.connection_type!=="VIRTUAL")return!1;if(!t||tv(t))return!1;return i.id===t}async function gvu(i,t,u=!1){let l=i.id,n=await t.storage.virtualMcps.findById(l);if(!n)throw Error(`Virtual MCP not found: ${l}`);return $2(n,t,"passthrough",u)}async function $2(i,t,u,l=!1,n){let f=i.connections.map((_)=>_.connection_id),d={connections:(await t.tracer.startActiveSpan("studio.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":i.id??"decopilot","virtual_mcp.connection_count":f.length}},async(_)=>{try{let g=await Promise.all(f.map((h)=>t.storage.connections.findById(h)));return _.setStatus({code:_vu.OK}),g}catch(g){throw _.setStatus({code:_vu.ERROR,message:g.message}),_.recordException(g),g}finally{_.end()}})).filter((_)=>_!==null&&_.status==="active"&&!q60(_,i.id)),virtualMcp:i,superUser:l,mcpListCache:bf()??void 0,listTimeoutMs:n?.listTimeoutMs};return new jmi(d,t)}var qS=w(()=>{zl();q_();dvu()});var eEu={};Gi(eEu,{clientFromConnection:()=>ld});async function ld(i,t,u=!1){if(i.connection_type==="VIRTUAL")return gvu(i,t,u);return fvu(i,t,u)}var g$i=w(()=>{cvu();qS()});function Idi(i){return(t)=>{if(t instanceof At&&t.code===Kt.MethodNotFound)return i;throw t}}var hvu=w(()=>{Xf()});function Smi(i,t,u){let l=w5(i,t,u,bf()??void 0),n=D3(l,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:V60,toolCallTimeoutMs:$S});n.server.setRequestHandler(ux,async()=>{return await l.listResources().catch(Idi({resources:[]}))}),n.server.setRequestHandler(lx,async()=>{return await l.listResourceTemplates().catch(Idi({resourceTemplates:[]}))}),n.server.setRequestHandler(nx,async()=>{return await l.listPrompts().catch(Idi({prompts:[]}))});let f=n.close.bind(n);return n.close=async()=>{await f(),await l.close().catch(()=>{})},n}var V60;var Evu=w(()=>{zl();Xf();BM();q_();hvu();V60={tools:{},resources:{},prompts:{}}});var VS=w(()=>{g$i();Evu()});function a60(i,t){if(t.length===0)return;let[u,...l]=t,n=u==="slug"?eO(i):i[u];for(let f of l){if(n===null||typeof n!=="object")return;n=n[f]}return n}function m60(i){let u=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${u}$`,"i")}function o60(i,t,u){if(i===void 0)return!0;switch(t){case"eq":return u===null?i===null:i===u;case"gt":return i>u;case"gte":return i>=u;case"lt":return i<u;case"lte":return i<=u;case"in":return Array.isArray(u)&&u.includes(i);case"like":return typeof i==="string"&&m60(String(u)).test(i);case"contains":return String(i).toLowerCase().includes(String(u).toLowerCase());default:return!0}}function sq(i,t){if(!t)return!0;if("conditions"in t){let{operator:l,conditions:n}=t;if(n.length===0)return!0;switch(l){case"and":return n.every((f)=>sq(i,f));case"or":return n.some((f)=>sq(i,f));case"not":return!n.every((f)=>sq(i,f));default:return!0}}let u=a60(i,t.field);return o60(u,t.operator,t.value)}var vvu=w(()=>{Pci()});import{z as A5}from"zod";var s60,p60,ih0,th0,zmi;var rvu=w(()=>{_e();znu();jd();Lnu();enu();wC();vO();qnu();zl();Vi();Ud();q_();VS();Ck();H3();Pci();vvu();s60=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:A5.object({})}],p60={LLM:Vci,LLMS:Vci,ASSISTANTS:Snu,MCP:Cnu,OBJECT_STORAGE:BO,WORKFLOW:EHi,WORKFLOW_EXECUTION:yqt,AI_GATEWAY_BILLING:Mnu,EVENT_BUS:Rci,TRIGGER:Lci,REGISTRY:s60,BRAND:qci},ih0=Jh.extend({binding:A5.union([A5.array(A5.object({}).passthrough()),A5.object({}).passthrough(),A5.string()]).optional(),include_virtual:A5.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:A5.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),th0=N3(V$),zmi=li({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:ih0,outputSchema:th0,handler:async(i,t)=>{await t.access.check();let u=Ei(t),l=i.binding?typeof i.binding==="string"?(()=>{let h=p60[i.binding.toUpperCase()];if(!h)throw Error(`Unknown binding: ${i.binding}`);return h})():i.binding:void 0,n=l?U1i(l):void 0,f=!!n,c=i.limit??100,$=i.offset??0,{items:d,totalCount:_}=await t.storage.connections.list(u.id,{includeVirtual:i.include_virtual??!1,slug:i.slug,where:i.where,orderBy:i.orderBy,limit:f?void 0:c,offset:f?void 0:$});if(n){let h=bf(),E=w0.SELF(u.id);await Promise.all(d.map(async(v)=>{if(v.tools!==null)return;let r=v.id===E?async()=>{let{listManagementTools:O}=await Promise.resolve().then(() => (aS(),Bdi));return O(t)}:async()=>{let O=await ld(v,t,!0);try{return(await O.listTools()).tools}finally{await O.close().catch(()=>{})}},x=await Hx("tools",v.id,r,h);if(x!==null)v.tools=x}))}if(Ih()){let h=Rc(),E=w0.DEV_ASSETS(u.id);if(!d.some((v)=>v.id===E)){let v=Lk(u.id,h),r=!i.slug||eO(v)===i.slug,x=sq(v,i.where);if(r&&x)d.unshift(v)}}if(f){let h=(await Promise.all(d.map(async(x)=>{if(!x.tools||x.tools.length===0)return null;return n.isImplementedBy(x.tools.map((y)=>({name:y.name,inputSchema:y.inputSchema,outputSchema:y.outputSchema})))?x:null}))).filter((x)=>x!==null),E=h.length,v=h.slice($,$+c),r=$+c<E;return{items:v,totalCount:E,hasMore:r}}let g=$+c<_;return{items:d,totalCount:_,hasMore:g}}})});var uh0,bmi;var wvu=w(()=>{jd();zl();Vi();Ud();q_();VS();Ck();H3();uh0=UL(V$),bmi=li({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:JL,outputSchema:uh0,handler:async(i,t)=>{let u=Ei(t);if(await t.access.check(),Ih()&&Pfi(i.id,u.id))return{item:Lk(u.id,Rc())};let l=await t.storage.connections.findById(i.id);if(!l||l.organization_id!==u.id)return{item:null};if(l.tools===null){let n=w0.SELF(u.id),f=l.id===n?async()=>{let{listManagementTools:$}=await Promise.resolve().then(() => (aS(),Bdi));return $(t)}:async()=>{let $=await ld(l,t,!0);try{return(await $.listTools()).tools}finally{await $.close().catch(()=>{})}},c=await Hx("tools",l.id,f,bf(),($)=>t.pendingRevalidations.push($),cj);if(c!==null)l.tools=c}return{item:l}}})});function Ovu(i){_$i().invalidate(i)}function Qdi(i){Ovu(i);let t=Kmi?.();if(!t)return;try{t.publish(xvu,lh0.encode(JSON.stringify({connectionId:i,originId:Dvu})))}catch(u){console.warn("[McpCacheInvalidation] publish failed (non-critical):",u)}}function yvu(i){if(Kmi=i,pq)return;let t=i();if(!t)return;pq=t.subscribe(xvu),(async()=>{for await(let u of pq)try{let l=JSON.parse(nh0.decode(u.data));if(l.originId===Dvu)continue;Ovu(l.connectionId)}catch{}})().catch(console.error)}function Xvu(){pq?.unsubscribe(),pq=null,Kmi=void 0}var xvu="studio.mcp-cache.invalidate",Dvu,lh0,nh0,Kmi,pq=null;var Ydi=w(()=>{Sqi();Dvu=crypto.randomUUID(),lh0=new TextEncoder,nh0=new TextDecoder});import{z as Hmi}from"zod";function Nvu(i,t,u){if(t.some((l)=>l!=="*"&&l.startsWith("SELF::"))&&i.SELF===void 0)i.SELF={value:`${u}_self`}}async function $h0(i,t,u,l){for(let f of t){if(f==="*")continue;let[c]=Vnu(f),$=aci(c,i);if($===void 0||$===null)throw Error(`Scope references key "${c}" but it's not present in state`)}let n=anu(i,t);for(let f of n){if(f.endsWith("_self"))continue;let c=await l.storage.connections.findById(f);if(!c||c.organization_id!==u)throw Error(`Referenced connection not found: ${f}`);try{await l.access.check(f)}catch($){throw Error(`Access denied to referenced connection: ${f}. ${$.message}`)}}}var fh0,ch0,Rmi;var Jvu=w(()=>{kei();VS();kv();Vi();q_();Ydi();eC();H3();fh0=Hmi.object({id:Hmi.string().describe("ID of the connection to update"),data:fL.describe("Partial connection data to update")}),ch0=Hmi.object({item:V$.describe("The updated connection entity")});Rmi=li({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:fh0,outputSchema:ch0,handler:async(i,t)=>{Ui(t);let u=Ei(t);await t.access.check();let l=yu(t);if(!l)throw Error("User ID required to update connection");let{id:n,data:f}=i,c=await t.storage.connections.findById(n);if(!c||c.organization_id!==u.id)throw Error("Connection not found in organization");let $=f.connection_type??c.connection_type,d=f.connection_url??c.connection_url;if($==="VIRTUAL"){let O=$O(d);if(!O)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let y=await t.storage.virtualMcps.findById(O);if(!y)throw Error(`Virtual MCP not found: ${O}`);if(y.organization_id!==u.id)throw Error("Virtual MCP does not belong to the current organization");d=dO(O)}let _=f.configuration_state??c.configuration_state??{},g=f.configuration_scopes??c.configuration_scopes??[];if(f.configuration_state!==void 0||f.configuration_scopes!==void 0){if(f.configuration_state!==void 0)_=f.configuration_state??{};else if(_===null||_===void 0)_={};if(f.configuration_scopes!==void 0)g=f.configuration_scopes??[];if(g.length>0){let O=_;Nvu(O,g,u.id),await $h0(O,g,u.id,t)}}let h=f.connection_token??c.connection_token;if(!h)try{let y=await new ef(t.db,t.vault).get(n);if(y?.accessToken)h=y.accessToken}catch{}let E=await bx({id:c.id,title:f.title??c.title,connection_type:$,connection_url:d,connection_token:h,connection_headers:f.connection_headers??c.connection_headers}).catch(()=>null),v=E?.tools?.length?E.tools:null;if(f.configuration_scopes===void 0&&E?.scopes?.length)g=E.scopes;Nvu(_,g,u.id);let r={...f,connection_url:d,tools:null,configuration_state:_,configuration_scopes:g,updated_by:l},x=await t.storage.connections.update(n,r);if(v)bf()?.set("tools",n,v).catch(()=>{});if(Qdi(n),(f.configuration_state!==void 0||f.configuration_scopes!==void 0)&&_&&g)try{await(await ld(x,t,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:_,scopes:g}})}catch(O){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",O)}return{item:x}}})});import{z as dh0}from"zod";var _h0,Lmi;var Uvu=w(()=>{jd();T1();Vi();q_();Ydi();H3();_h0=TL.extend({force:dh0.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Lmi=li({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:_h0,outputSchema:FL(V$),handler:async(i,t)=>{Ui(t);let u=Ei(t);await t.access.check();let l=await t.storage.connections.findById(i.id);if(!l)throw Error(`Connection not found: ${i.id}`);if(l.organization_id!==u.id)throw Error("Connection not found in organization");if(l.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let f=await t.storage.virtualMcps.listByConnectionId(u.id,i.id);if(f.length>0)if(i.force)await t.storage.virtualMcps.removeConnectionReferences(i.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:f.map((d)=>d.title)}));await t.storage.connections.delete(i.id);let c=await t.storage.organizationSettings.get(u.id);if(c?.registry_config){let{registries:d,blockedMcps:_}=c.registry_config;if(i.id in d){let{[i.id]:g,...h}=d;await t.storage.organizationSettings.upsert(u.id,{registry_config:{registries:h,blockedMcps:_}})}}bf()?.invalidate(i.id).catch(()=>{}),Qdi(i.id);let $=yu(t);if($)Ju.capture({distinctId:$,event:"connection_deleted",groups:{organization:u.id},properties:{connection_id:l.id,connection_type:l.connection_type,app_name:l.app_name??null,organization_id:u.id,forced:i.force??!1}});return{item:l}}})});import{z as mS}from"zod";var Cmi;var Tvu=w(()=>{Vi();Cmi=li({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:mS.object({id:mS.string()}),outputSchema:mS.object({id:mS.string(),healthy:mS.boolean(),latencyMs:mS.number()}),handler:async(i,t)=>{let u=Ei(t);await t.access.check();let l=await t.storage.connections.findById(i.id);if(!l||l.organization_id!==u.id)throw Error("Connection not found");let n=await t.storage.connections.testConnection(i.id);return{id:i.id,...n}}})});var Fvu=w(()=>{Onu();rvu();wvu();Jvu();Uvu();Tvu()});import{sql as V0}from"kysely";import{z as Sv}from"zod";function Zvu(i){if(i===null||i===void 0)return"NULL";if(typeof i==="number")return String(i);if(typeof i==="boolean")return i?"TRUE":"FALSE";if(typeof i==="string")return`'${i.replace(/'/g,"''")}'`;if(i instanceof Date)return`'${i.toISOString()}'`;return`'${JSON.stringify(i).replace(/'/g,"''")}'`}function Eh0(i,t){let u=i;for(let n=t.length;n>=1;n--){let f=`$${n}`;if(u.includes(f))u=u.replaceAll(f,Zvu(t[n-1]))}let l=[];for(let n=0;n<u.length;n++)if(u[n]==="?")l.push(n);for(let n=Math.min(l.length,t.length)-1;n>=0;n--){let f=l[n],c=Zvu(t[n]);u=u.slice(0,f)+c+u.slice(f+1)}return u}function Ivu(i){return i.replace(/-/g,"_")}function rh0(i){return`app_${Ivu(i)}`}function wh0(i){return`app_role_${Ivu(i)}`}function xh0(i){if(i instanceof Error){let t=i.message.toLowerCase(),u=i.code;return u==="3F000"||u==="42704"||u==="22023"||t.includes("schema")&&t.includes("does not exist")||t.includes("role")&&t.includes("does not exist")}return!1}async function Dh0(i,t,u){if(await V0`CREATE SCHEMA IF NOT EXISTS ${V0.id(t)}`.execute(i),!(await V0`
|
|
106843
|
+
${t}:`]}}function Mhu({id:i,model:t,created:u}){return{id:i!=null?i:void 0,modelId:t!=null?t:void 0,timestamp:u!=null?new Date(u*1000):void 0}}function qhu(i){switch(i){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function a_0(i){return V_0.some((t)=>i.startsWith(t))}function mhu(i,t,u){if(i==null)return{};let l={};if(i.image_tokens!=null){let n=Math.floor(i.image_tokens/u),f=i.image_tokens-n*(u-1);l.imageTokens=t===u-1?f:n}if(i.text_tokens!=null){let n=Math.floor(i.text_tokens/u),f=i.text_tokens-n*(u-1);l.textTokens=t===u-1?f:n}return l}async function p_0(i){if(!i)return;if(i.type==="url")return _Vi(i.url);let t=i.data instanceof Uint8Array?i.data:Fc(i.data);return new Blob([t],{type:i.mediaType})}function ohu(i){var t,u,l,n;if(i==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let{input_tokens:f,output_tokens:c}=i,$=(u=(t=i.input_tokens_details)==null?void 0:t.cached_tokens)!=null?u:0,d=(n=(l=i.output_tokens_details)==null?void 0:l.reasoning_tokens)!=null?n:0;return{inputTokens:{total:f,noCache:f-$,cacheRead:$,cacheWrite:void 0},outputTokens:{total:c,text:c-d,reasoning:d},raw:i}}function Hg0(i){return JSON.stringify(i===void 0?{}:i)}function shu(i,t){if(!t)return!1;return t.some((u)=>i.startsWith(u))}async function Rg0({prompt:i,toolNameMapping:t,systemMessageMode:u,providerOptionsName:l,fileIdPrefixes:n,passThroughUnsupportedFiles:f=!1,store:c,hasConversation:$=!1,hasPreviousResponseId:d=!1,hasLocalShellTool:_=!1,hasShellTool:g=!1,hasApplyPatchTool:h=!1,customProviderToolNames:E}){var v,r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k,m;let S=[],M=[],p=new Set;for(let{role:s,content:$i}of i)switch(s){case"system":{switch(u){case"system":{S.push({role:"system",content:$i});break}case"developer":{S.push({role:"developer",content:$i});break}case"remove":{M.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${u}`)}break}case"user":{S.push({role:"user",content:$i.map((e,fi)=>{var a,_i,Oi;switch(e.type){case"text":return{type:"input_text",text:e.text};case"file":{let Di=e.mediaType==="image/*"?"image/jpeg":e.mediaType;if(Di.startsWith("image/"))return{type:"input_image",...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==="string"&&shu(e.data,n)?{file_id:e.data}:{image_url:`data:${Di};base64,${Zc(e.data)}`},detail:(_i=(a=e.providerOptions)==null?void 0:a[l])==null?void 0:_i.imageDetail};if(e.data instanceof URL)return{type:"input_file",file_url:e.data.toString()};if(Di!=="application/pdf"&&!f)throw new M0({functionality:`file part media type ${Di}`});return{type:"input_file",...typeof e.data==="string"&&shu(e.data,n)?{file_id:e.data}:{filename:(Oi=e.filename)!=null?Oi:Di==="application/pdf"?`part-${fi}.pdf`:`part-${fi}`,file_data:`data:${Di};base64,${Zc(e.data)}`}}}}})});break}case"assistant":{let e={};for(let fi of $i)switch(fi.type){case"text":{let a=(v=fi.providerOptions)==null?void 0:v[l],_i=a==null?void 0:a.itemId,Oi=a==null?void 0:a.phase;if($&&_i!=null)break;if(c&&_i!=null){S.push({type:"item_reference",id:_i});break}S.push({role:"assistant",content:[{type:"output_text",text:fi.text}],id:_i,...Oi!=null&&{phase:Oi}});break}case"tool-call":{let a=(X=(x=(r=fi.providerOptions)==null?void 0:r[l])==null?void 0:x.itemId)!=null?X:(y=(O=fi.providerMetadata)==null?void 0:O[l])==null?void 0:y.itemId;if($&&a!=null)break;let _i=t.toProviderToolName(fi.toolName);if(_i==="tool_search"){if(c&&a!=null){S.push({type:"item_reference",id:a});break}let Oi=typeof fi.input==="string"?await EVi({text:fi.input,schema:vmi}):await gl({value:fi.input,schema:vmi}),Di=Oi.call_id!=null?"client":"server";S.push({type:"tool_search_call",id:a!=null?a:fi.toolCallId,execution:Di,call_id:(N=Oi.call_id)!=null?N:null,status:"completed",arguments:Oi.arguments});break}if(fi.providerExecuted){if(c&&a!=null)S.push({type:"item_reference",id:a});break}if(c&&a!=null){if(d)break;S.push({type:"item_reference",id:a});break}if(_&&_i==="local_shell"){let Oi=await gl({value:fi.input,schema:_Eu});S.push({type:"local_shell_call",call_id:fi.toolCallId,id:a,action:{type:"exec",command:Oi.action.command,timeout_ms:Oi.action.timeoutMs,user:Oi.action.user,working_directory:Oi.action.workingDirectory,env:Oi.action.env}});break}if(g&&_i==="shell"){let Oi=await gl({value:fi.input,schema:hEu});S.push({type:"shell_call",call_id:fi.toolCallId,id:a,status:"completed",action:{commands:Oi.action.commands,timeout_ms:Oi.action.timeoutMs,max_output_length:Oi.action.maxOutputLength}});break}if(h&&_i==="apply_patch"){let Oi=await gl({value:fi.input,schema:fEu});S.push({type:"apply_patch_call",call_id:Oi.callId,id:a,status:"completed",operation:Oi.operation});break}if(E==null?void 0:E.has(_i)){S.push({type:"custom_tool_call",call_id:fi.toolCallId,name:_i,input:typeof fi.input==="string"?fi.input:JSON.stringify(fi.input),id:a});break}S.push({type:"function_call",call_id:fi.toolCallId,name:_i,arguments:Hg0(fi.input),id:a});break}case"tool-result":{if(fi.output.type==="execution-denied"||fi.output.type==="json"&&typeof fi.output.value==="object"&&fi.output.value!=null&&"type"in fi.output.value&&fi.output.value.type==="execution-denied")break;if($)break;let a=t.toProviderToolName(fi.toolName);if(a==="tool_search"){let _i=(T=(J=(U=fi.providerOptions)==null?void 0:U[l])==null?void 0:J.itemId)!=null?T:fi.toolCallId;if(c)S.push({type:"item_reference",id:_i});else if(fi.output.type==="json"){let Oi=await gl({value:fi.output.value,schema:rmi});S.push({type:"tool_search_output",id:_i,execution:"server",call_id:null,status:"completed",tools:Oi.tools})}break}if(g&&a==="shell"){if(fi.output.type==="json"){let _i=await gl({value:fi.output.value,schema:Emi});S.push({type:"shell_call_output",call_id:fi.toolCallId,output:_i.output.map((Oi)=>({stdout:Oi.stdout,stderr:Oi.stderr,outcome:Oi.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Oi.outcome.exitCode}}))})}break}if(c){let _i=(P=(B=(Q=fi.providerOptions)==null?void 0:Q[l])==null?void 0:B.itemId)!=null?P:fi.toolCallId;S.push({type:"item_reference",id:_i})}else M.push({type:"other",message:`Results for OpenAI tool ${fi.toolName} are not sent to the API when store is false`});break}case"reasoning":{let a=await h0({provider:l,providerOptions:fi.providerOptions,schema:Lg0}),_i=a==null?void 0:a.itemId;if(($||d)&&_i!=null)break;if(_i!=null){let Oi=e[_i];if(c){if(Oi===void 0)S.push({type:"item_reference",id:_i}),e[_i]={type:"reasoning",id:_i,summary:[]}}else{let Di=[];if(fi.text.length>0)Di.push({type:"summary_text",text:fi.text});else if(Oi!==void 0)M.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(fi)}.`});if(Oi===void 0)e[_i]={type:"reasoning",id:_i,encrypted_content:a==null?void 0:a.reasoningEncryptedContent,summary:Di},S.push(e[_i]);else if(Oi.summary.push(...Di),(a==null?void 0:a.reasoningEncryptedContent)!=null)Oi.encrypted_content=a.reasoningEncryptedContent}}else{let Oi=a==null?void 0:a.reasoningEncryptedContent;if(Oi!=null){let Di=[];if(fi.text.length>0)Di.push({type:"summary_text",text:fi.text});S.push({type:"reasoning",encrypted_content:Oi,summary:Di})}else M.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(fi)}.`})}break}}break}case"tool":{for(let e of $i){if(e.type==="tool-approval-response"){let Oi=e;if(p.has(Oi.approvalId))continue;if(p.add(Oi.approvalId),c)S.push({type:"item_reference",id:Oi.approvalId});S.push({type:"mcp_approval_response",approval_request_id:Oi.approvalId,approve:Oi.approved});continue}let fi=e.output;if(fi.type==="execution-denied"){if((j=(H=fi.providerOptions)==null?void 0:H.openai)==null?void 0:j.approvalId)continue}let a=t.toProviderToolName(e.toolName);if(a==="tool_search"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:rmi});S.push({type:"tool_search_output",execution:"client",call_id:e.toolCallId,status:"completed",tools:Oi.tools});continue}if(_&&a==="local_shell"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:gEu});S.push({type:"local_shell_call_output",call_id:e.toolCallId,output:Oi.output});continue}if(g&&a==="shell"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:Emi});S.push({type:"shell_call_output",call_id:e.toolCallId,output:Oi.output.map((Di)=>({stdout:Di.stdout,stderr:Di.stderr,outcome:Di.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Di.outcome.exitCode}}))});continue}if(h&&e.toolName==="apply_patch"&&fi.type==="json"){let Oi=await gl({value:fi.value,schema:cEu});S.push({type:"apply_patch_call_output",call_id:e.toolCallId,status:Oi.status,output:Oi.output});continue}if(E==null?void 0:E.has(a)){let Oi;switch(fi.type){case"text":case"error-text":Oi=fi.value;break;case"execution-denied":Oi=(k=fi.reason)!=null?k:"Tool execution denied.";break;case"json":case"error-json":Oi=JSON.stringify(fi.value);break;case"content":Oi=fi.value.map((Di)=>{var Mi,Yi,Fi,Qi,qi;switch(Di.type){case"text":return{type:"input_text",text:Di.text};case"image-data":return{type:"input_image",image_url:`data:${Di.mediaType};base64,${Di.data}`,detail:(Yi=(Mi=Di.providerOptions)==null?void 0:Mi[l])==null?void 0:Yi.imageDetail};case"image-url":return{type:"input_image",image_url:Di.url,detail:(Qi=(Fi=Di.providerOptions)==null?void 0:Fi[l])==null?void 0:Qi.imageDetail};case"file-data":return{type:"input_file",filename:(qi=Di.filename)!=null?qi:"data",file_data:`data:${Di.mediaType};base64,${Di.data}`};case"file-url":return{type:"input_file",file_url:Di.url};default:M.push({type:"other",message:`unsupported custom tool content part type: ${Di.type}`});return}}).filter(By);break;default:Oi=""}S.push({type:"custom_tool_call_output",call_id:e.toolCallId,output:Oi});continue}let _i;switch(fi.type){case"text":case"error-text":_i=fi.value;break;case"execution-denied":_i=(m=fi.reason)!=null?m:"Tool execution denied.";break;case"json":case"error-json":_i=JSON.stringify(fi.value);break;case"content":_i=fi.value.map((Oi)=>{var Di,Mi,Yi,Fi,Qi;switch(Oi.type){case"text":return{type:"input_text",text:Oi.text};case"image-data":return{type:"input_image",image_url:`data:${Oi.mediaType};base64,${Oi.data}`,detail:(Mi=(Di=Oi.providerOptions)==null?void 0:Di[l])==null?void 0:Mi.imageDetail};case"image-url":return{type:"input_image",image_url:Oi.url,detail:(Fi=(Yi=Oi.providerOptions)==null?void 0:Yi[l])==null?void 0:Fi.imageDetail};case"file-data":return{type:"input_file",filename:(Qi=Oi.filename)!=null?Qi:"data",file_data:`data:${Oi.mediaType};base64,${Oi.data}`};case"file-url":return{type:"input_file",file_url:Oi.url};default:{M.push({type:"other",message:`unsupported tool content part type: ${Oi.type}`});return}}}).filter(By);break}S.push({type:"function_call_output",call_id:e.toolCallId,output:_i})}break}default:throw Error(`Unsupported role: ${s}`)}if(!c&&S.some((s)=>("type"in s)&&s.type==="reasoning"&&s.encrypted_content==null))M.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),S=S.filter((s)=>!("type"in s)||s.type!=="reasoning"||s.encrypted_content!=null);return{input:S,warnings:M}}function gmi({finishReason:i,hasFunctionCall:t}){switch(i){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}async function qg0({tools:i,toolChoice:t,allowedTools:u,toolNameMapping:l,customProviderToolNames:n}){var f,c,$;i=(i==null?void 0:i.length)?i:void 0;let d=[];if(i==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let _=[],g=n!=null?n:new Set;for(let E of i)switch(E.type){case"function":{let v=(f=E.providerOptions)==null?void 0:f.openai,r=v==null?void 0:v.deferLoading;_.push({type:"function",name:E.name,description:E.description,parameters:E.inputSchema,...E.strict!=null?{strict:E.strict}:{},...r!=null?{defer_loading:r}:{}});break}case"provider":{switch(E.id){case"openai.file_search":{let v=await gl({value:E.args,schema:hg0});_.push({type:"file_search",vector_store_ids:v.vectorStoreIds,max_num_results:v.maxNumResults,ranking_options:v.ranking?{ranker:v.ranking.ranker,score_threshold:v.ranking.scoreThreshold}:void 0,filters:v.filters});break}case"openai.local_shell":{_.push({type:"local_shell"});break}case"openai.shell":{let v=await gl({value:E.args,schema:Ng0});_.push({type:"shell",...v.environment&&{environment:Vg0(v.environment)}});break}case"openai.apply_patch":{_.push({type:"apply_patch"});break}case"openai.web_search_preview":{let v=await gl({value:E.args,schema:Pg0});_.push({type:"web_search_preview",search_context_size:v.searchContextSize,user_location:v.userLocation});break}case"openai.web_search":{let v=await gl({value:E.args,schema:Zg0});_.push({type:"web_search",filters:v.filters!=null?{allowed_domains:v.filters.allowedDomains}:void 0,external_web_access:v.externalWebAccess,search_context_size:v.searchContextSize,user_location:v.userLocation});break}case"openai.code_interpreter":{let v=await gl({value:E.args,schema:ng0});_.push({type:"code_interpreter",container:v.container==null?{type:"auto",file_ids:void 0}:typeof v.container==="string"?v.container:{type:"auto",file_ids:v.container.fileIds}});break}case"openai.image_generation":{let v=await gl({value:E.args,schema:rg0});_.push({type:"image_generation",background:v.background,input_fidelity:v.inputFidelity,input_image_mask:v.inputImageMask?{file_id:v.inputImageMask.fileId,image_url:v.inputImageMask.imageUrl}:void 0,model:v.model,moderation:v.moderation,partial_images:v.partialImages,quality:v.quality,output_compression:v.outputCompression,output_format:v.outputFormat,size:v.size});break}case"openai.mcp":{let v=await gl({value:E.args,schema:kg0}),r=(y)=>({tool_names:y.toolNames}),x=v.requireApproval,O=x==null?void 0:typeof x==="string"?x:x.never!=null?{never:r(x.never)}:void 0;_.push({type:"mcp",server_label:v.serverLabel,allowed_tools:Array.isArray(v.allowedTools)?v.allowedTools:v.allowedTools?{read_only:v.allowedTools.readOnly,tool_names:v.allowedTools.toolNames}:void 0,authorization:v.authorization,connector_id:v.connectorId,headers:v.headers,require_approval:O!=null?O:"never",server_description:v.serverDescription,server_url:v.serverUrl});break}case"openai.custom":{let v=await gl({value:E.args,schema:$g0});_.push({type:"custom",name:v.name,description:v.description,format:v.format}),g.add(v.name);break}case"openai.tool_search":{let v=await gl({value:E.args,schema:Ug0});_.push({type:"tool_search",...v.execution!=null?{execution:v.execution}:{},...v.description!=null?{description:v.description}:{},...v.parameters!=null?{parameters:v.parameters}:{}});break}}break}default:d.push({type:"unsupported",feature:`function tool ${E}`});break}if(u!=null)return{tools:_,toolChoice:{type:"allowed_tools",mode:(c=u.mode)!=null?c:"auto",tools:u.toolNames.map((E)=>{var v;return{type:"function",name:(v=l==null?void 0:l.toProviderToolName(E))!=null?v:E}})},toolWarnings:d};if(t==null)return{tools:_,toolChoice:void 0,toolWarnings:d};let h=t.type;switch(h){case"auto":case"none":case"required":return{tools:_,toolChoice:h,toolWarnings:d};case"tool":{let E=($=l==null?void 0:l.toProviderToolName(t.toolName))!=null?$:t.toolName;return{tools:_,toolChoice:E==="code_interpreter"||E==="file_search"||E==="image_generation"||E==="web_search_preview"||E==="web_search"||E==="mcp"||E==="apply_patch"?{type:E}:g.has(E)?{type:"custom",name:E}:{type:"function",name:E},toolWarnings:d}}default:throw new M0({functionality:`tool choice type: ${h}`})}}function Vg0(i){if(i.type==="containerReference")return{type:"container_reference",container_id:i.containerId};if(i.type==="containerAuto"){let u=i;return{type:"container_auto",file_ids:u.fileIds,memory_limit:u.memoryLimit,network_policy:u.networkPolicy==null?void 0:u.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:u.networkPolicy.allowedDomains,domain_secrets:u.networkPolicy.domainSecrets},skills:ag0(u.skills)}}return{type:"local",skills:i.skills}}function ag0(i){return i==null?void 0:i.map((t)=>t.type==="skillReference"?{type:"skill_reference",skill_id:t.skillId,version:t.version}:{type:"inline",name:t.name,description:t.description,source:{type:"base64",media_type:t.source.mediaType,data:t.source.data}})}function iEu(i){var t,u;let l={};for(let n of i){if(n.role!=="assistant")continue;for(let f of n.content){if(f.type!=="tool-call")continue;let c=(u=(t=f.providerOptions)==null?void 0:t.openai)==null?void 0:u.approvalRequestId;if(c!=null)l[c]=f.toolCallId}}return l}function og0(i){return i.type==="response.output_text.delta"}function sg0(i){return i.type==="response.output_item.done"}function pg0(i){return i.type==="response.completed"||i.type==="response.incomplete"}function i60(i){return i.type==="response.failed"}function t60(i){return i.type==="response.created"}function u60(i){return i.type==="response.function_call_arguments.delta"}function l60(i){return i.type==="response.custom_tool_call_input.delta"}function n60(i){return i.type==="response.image_generation_call.partial_image"}function f60(i){return i.type==="response.code_interpreter_call_code.delta"}function c60(i){return i.type==="response.code_interpreter_call_code.done"}function $60(i){return i.type==="response.apply_patch_call_operation_diff.delta"}function d60(i){return i.type==="response.apply_patch_call_operation_diff.done"}function tEu(i){return i.type==="response.output_item.added"}function _60(i){return i.type==="response.output_text.annotation.added"}function g60(i){return i.type==="error"}function uEu(i){var t;if(i==null)return{};switch(i.type){case"search":return{action:{type:"search",query:(t=i.query)!=null?t:void 0},...i.sources!=null&&{sources:i.sources}};case"open_page":return{action:{type:"openPage",url:i.url}};case"find_in_page":return{action:{type:"findInPage",url:i.url,pattern:i.pattern}}}}function ey(i){return JSON.stringify(i).slice(1,-1)}function Cq(i={}){var t,u;let l=(t=N5(Iv({settingValue:i.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?t:"https://api.openai.com/v1",n=(u=i.name)!=null?u:"openai",f=()=>Dn({Authorization:`Bearer ${yS({apiKey:i.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":i.organization,"OpenAI-Project":i.project,...i.headers},`ai-sdk/openai/${x60}`),c=(x)=>new b_0(x,{provider:`${n}.chat`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),$=(x)=>new L_0(x,{provider:`${n}.completion`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),d=(x)=>new M_0(x,{provider:`${n}.embedding`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),_=(x)=>new s_0(x,{provider:`${n}.image`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),g=(x)=>new w60(x,{provider:`${n}.transcription`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),h=(x)=>new E60(x,{provider:`${n}.speech`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch}),E=(x)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return v(x)},v=(x)=>{return new mg0(x,{provider:`${n}.responses`,url:({path:O})=>`${l}${O}`,headers:f,fetch:i.fetch,fileIdPrefixes:["file-"]})},r=function(x){return E(x)};return r.specificationVersion="v3",r.languageModel=E,r.chat=c,r.completion=$,r.responses=v,r.embedding=d,r.embeddingModel=d,r.textEmbedding=d,r.textEmbeddingModel=d,r.image=_,r.imageModel=_,r.transcription=g,r.transcriptionModel=g,r.speech=h,r.speechModel=h,r.tools=Kg0,r}var xmi,qh,k_0,j_0,S_0,b_0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=i,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:t,temperature:u,topP:l,topK:n,frequencyPenalty:f,presencePenalty:c,stopSequences:$,responseFormat:d,seed:_,tools:g,toolChoice:h,providerOptions:E}){var v,r,x,O,y;let X=[],N=(v=await h0({provider:"openai",providerOptions:E,schema:S_0}))!=null?v:{},U=nEu(this.modelId),J=(r=N.forceReasoning)!=null?r:U.isReasoningModel;if(n!=null)X.push({type:"unsupported",feature:"topK"});let{messages:T,warnings:Q}=W_0({prompt:i,systemMessageMode:(x=N.systemMessageMode)!=null?x:J?"developer":U.systemMessageMode});X.push(...Q);let B=(O=N.strictJsonSchema)!=null?O:!0,P={model:this.modelId,logit_bias:N.logitBias,logprobs:N.logprobs===!0||typeof N.logprobs==="number"?!0:void 0,top_logprobs:typeof N.logprobs==="number"?N.logprobs:typeof N.logprobs==="boolean"?N.logprobs?0:void 0:void 0,user:N.user,parallel_tool_calls:N.parallelToolCalls,max_tokens:t,temperature:u,top_p:l,frequency_penalty:f,presence_penalty:c,response_format:(d==null?void 0:d.type)==="json"?d.schema!=null?{type:"json_schema",json_schema:{schema:d.schema,strict:B,name:(y=d.name)!=null?y:"response",description:d.description}}:{type:"json_object"}:void 0,stop:$,seed:_,verbosity:N.textVerbosity,max_completion_tokens:N.maxCompletionTokens,store:N.store,metadata:N.metadata,prediction:N.prediction,reasoning_effort:N.reasoningEffort,service_tier:N.serviceTier,prompt_cache_key:N.promptCacheKey,prompt_cache_retention:N.promptCacheRetention,safety_identifier:N.safetyIdentifier,messages:T};if(J){if(N.reasoningEffort!=="none"||!U.supportsNonReasoningParameters){if(P.temperature!=null)P.temperature=void 0,X.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(P.top_p!=null)P.top_p=void 0,X.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(P.logprobs!=null)P.logprobs=void 0,X.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(P.frequency_penalty!=null)P.frequency_penalty=void 0,X.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(P.presence_penalty!=null)P.presence_penalty=void 0,X.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(P.logit_bias!=null)P.logit_bias=void 0,X.push({type:"other",message:"logitBias is not supported for reasoning models"});if(P.top_logprobs!=null)P.top_logprobs=void 0,X.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(P.max_tokens!=null){if(P.max_completion_tokens==null)P.max_completion_tokens=P.max_tokens;P.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(P.temperature!=null)P.temperature=void 0,X.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(N.serviceTier==="flex"&&!U.supportsFlexProcessing)X.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),P.service_tier=void 0;if(N.serviceTier==="priority"&&!U.supportsPriorityProcessing)X.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"}),P.service_tier=void 0;let{tools:H,toolChoice:j,toolWarnings:k}=z_0({tools:g,toolChoice:h});return{args:{...P,tools:H,tool_choice:j},warnings:[...X,...k]}}async doGenerate(i){var t,u,l,n,f,c,$;let{args:d,warnings:_}=await this.getArgs(i),{responseHeaders:g,value:h,rawValue:E}=await Pl({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:d,failedResponseHandler:qh,successfulResponseHandler:Fl(k_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),v=h.choices[0],r=[],x=v.message.content;if(x!=null&&x.length>0)r.push({type:"text",text:x});for(let N of(t=v.message.tool_calls)!=null?t:[])r.push({type:"tool-call",toolCallId:(u=N.id)!=null?u:al(),toolName:N.function.name,input:N.function.arguments});for(let N of(l=v.message.annotations)!=null?l:[])r.push({type:"source",sourceType:"url",id:al(),url:N.url_citation.url,title:N.url_citation.title});let O=(n=h.usage)==null?void 0:n.completion_tokens_details,y=(f=h.usage)==null?void 0:f.prompt_tokens_details,X={openai:{}};if((O==null?void 0:O.accepted_prediction_tokens)!=null)X.openai.acceptedPredictionTokens=O==null?void 0:O.accepted_prediction_tokens;if((O==null?void 0:O.rejected_prediction_tokens)!=null)X.openai.rejectedPredictionTokens=O==null?void 0:O.rejected_prediction_tokens;if(((c=v.logprobs)==null?void 0:c.content)!=null)X.openai.logprobs=v.logprobs.content;return{content:r,finishReason:{unified:Chu(v.finish_reason),raw:($=v.finish_reason)!=null?$:void 0},usage:Lhu(h.usage),request:{body:d},response:{...$mi(h),headers:g,body:E},warnings:_,providerMetadata:X}}async doStream(i){let{args:t,warnings:u}=await this.getArgs(i),l={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:f}=await Pl({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:l,failedResponseHandler:qh,successfulResponseHandler:E$(j_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),c=[],$={unified:"other",raw:void 0},d=void 0,_=!1,g=!1,h={openai:{}};return{stream:f.pipeThrough(new TransformStream({start(E){E.enqueue({type:"stream-start",warnings:u})},transform(E,v){var r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k,m,S;if(i.includeRawChunks)v.enqueue({type:"raw",rawValue:E.rawValue});if(!E.success){$={unified:"error",raw:void 0},v.enqueue({type:"error",error:E.error});return}let M=E.value;if("error"in M){$={unified:"error",raw:void 0},v.enqueue({type:"error",error:M.error});return}if(!_){let $i=$mi(M);if(Object.values($i).some(Boolean))_=!0,v.enqueue({type:"response-metadata",...$mi(M)})}if(M.usage!=null){if(d=M.usage,((r=M.usage.completion_tokens_details)==null?void 0:r.accepted_prediction_tokens)!=null)h.openai.acceptedPredictionTokens=(x=M.usage.completion_tokens_details)==null?void 0:x.accepted_prediction_tokens;if(((O=M.usage.completion_tokens_details)==null?void 0:O.rejected_prediction_tokens)!=null)h.openai.rejectedPredictionTokens=(y=M.usage.completion_tokens_details)==null?void 0:y.rejected_prediction_tokens}let p=M.choices[0];if((p==null?void 0:p.finish_reason)!=null)$={unified:Chu(p.finish_reason),raw:p.finish_reason};if(((X=p==null?void 0:p.logprobs)==null?void 0:X.content)!=null)h.openai.logprobs=p.logprobs.content;if((p==null?void 0:p.delta)==null)return;let s=p.delta;if(s.content!=null){if(!g)v.enqueue({type:"text-start",id:"0"}),g=!0;v.enqueue({type:"text-delta",id:"0",delta:s.content})}if(s.tool_calls!=null)for(let $i of s.tool_calls){let e=$i.index;if(c[e]==null){if($i.type!=null&&$i.type!=="function")throw new xS({data:$i,message:"Expected 'function' type."});if($i.id==null)throw new xS({data:$i,message:"Expected 'id' to be a string."});if(((N=$i.function)==null?void 0:N.name)==null)throw new xS({data:$i,message:"Expected 'function.name' to be a string."});v.enqueue({type:"tool-input-start",id:$i.id,toolName:$i.function.name}),c[e]={id:$i.id,type:"function",function:{name:$i.function.name,arguments:(U=$i.function.arguments)!=null?U:""},hasFinished:!1};let a=c[e];if(((J=a.function)==null?void 0:J.name)!=null&&((T=a.function)==null?void 0:T.arguments)!=null){if(a.function.arguments.length>0)v.enqueue({type:"tool-input-delta",id:a.id,delta:a.function.arguments});if(vVi(a.function.arguments))v.enqueue({type:"tool-input-end",id:a.id}),v.enqueue({type:"tool-call",toolCallId:(Q=a.id)!=null?Q:al(),toolName:a.function.name,input:a.function.arguments}),a.hasFinished=!0}continue}let fi=c[e];if(fi.hasFinished)continue;if(((B=$i.function)==null?void 0:B.arguments)!=null)fi.function.arguments+=(H=(P=$i.function)==null?void 0:P.arguments)!=null?H:"";if(v.enqueue({type:"tool-input-delta",id:fi.id,delta:(j=$i.function.arguments)!=null?j:""}),((k=fi.function)==null?void 0:k.name)!=null&&((m=fi.function)==null?void 0:m.arguments)!=null&&vVi(fi.function.arguments))v.enqueue({type:"tool-input-end",id:fi.id}),v.enqueue({type:"tool-call",toolCallId:(S=fi.id)!=null?S:al(),toolName:fi.function.name,input:fi.function.arguments}),fi.hasFinished=!0}if(s.annotations!=null)for(let $i of s.annotations)v.enqueue({type:"source",sourceType:"url",id:al(),url:$i.url_citation.url,title:$i.url_citation.title})},flush(E){if(g)E.enqueue({type:"text-end",id:"0"});E.enqueue({type:"finish",finishReason:$,usage:Lhu(d),...h!=null?{providerMetadata:h}:{}})}})),request:{body:l},response:{headers:n}}}},H_0,R_0,Vhu,L_0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={},this.modelId=i,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:t,temperature:u,topP:l,topK:n,frequencyPenalty:f,presencePenalty:c,stopSequences:$,responseFormat:d,tools:_,toolChoice:g,seed:h,providerOptions:E}){let v=[],r={...await h0({provider:"openai",providerOptions:E,schema:Vhu}),...await h0({provider:this.providerOptionsName,providerOptions:E,schema:Vhu})};if(n!=null)v.push({type:"unsupported",feature:"topK"});if(_==null?void 0:_.length)v.push({type:"unsupported",feature:"tools"});if(g!=null)v.push({type:"unsupported",feature:"toolChoice"});if(d!=null&&d.type!=="text")v.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:x,stopSequences:O}=K_0({prompt:i}),y=[...O!=null?O:[],...$!=null?$:[]];return{args:{model:this.modelId,echo:r.echo,logit_bias:r.logitBias,logprobs:(r==null?void 0:r.logprobs)===!0?0:(r==null?void 0:r.logprobs)===!1?void 0:r==null?void 0:r.logprobs,suffix:r.suffix,user:r.user,max_tokens:t,temperature:u,top_p:l,frequency_penalty:f,presence_penalty:c,seed:h,prompt:x,stop:y.length>0?y:void 0},warnings:v}}async doGenerate(i){var t;let{args:u,warnings:l}=await this.getArgs(i),{responseHeaders:n,value:f,rawValue:c}=await Pl({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:u,failedResponseHandler:qh,successfulResponseHandler:Fl(H_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),$=f.choices[0],d={openai:{}};if($.logprobs!=null)d.openai.logprobs=$.logprobs;return{content:[{type:"text",text:$.text}],usage:ehu(f.usage),finishReason:{unified:qhu($.finish_reason),raw:(t=$.finish_reason)!=null?t:void 0},request:{body:u},response:{...Mhu(f),headers:n,body:c},providerMetadata:d,warnings:l}}async doStream(i){let{args:t,warnings:u}=await this.getArgs(i),l={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:f}=await Pl({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:l,failedResponseHandler:qh,successfulResponseHandler:E$(R_0),abortSignal:i.abortSignal,fetch:this.config.fetch}),c={unified:"other",raw:void 0},$={openai:{}},d=void 0,_=!0;return{stream:f.pipeThrough(new TransformStream({start(g){g.enqueue({type:"stream-start",warnings:u})},transform(g,h){if(i.includeRawChunks)h.enqueue({type:"raw",rawValue:g.rawValue});if(!g.success){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:g.error});return}let E=g.value;if("error"in E){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:E.error});return}if(_)_=!1,h.enqueue({type:"response-metadata",...Mhu(E)}),h.enqueue({type:"text-start",id:"0"});if(E.usage!=null)d=E.usage;let v=E.choices[0];if((v==null?void 0:v.finish_reason)!=null)c={unified:qhu(v.finish_reason),raw:v.finish_reason};if((v==null?void 0:v.logprobs)!=null)$.openai.logprobs=v.logprobs;if((v==null?void 0:v.text)!=null&&v.text.length>0)h.enqueue({type:"text-delta",id:"0",delta:v.text})},flush(g){if(!_)g.enqueue({type:"text-end",id:"0"});g.enqueue({type:"finish",finishReason:c,providerMetadata:$,usage:ehu(d)})}})),request:{body:l},response:{headers:n}}}},C_0,e_0,M_0=class{constructor(i,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=i,this.config=t}get provider(){return this.config.provider}async doEmbed({values:i,headers:t,abortSignal:u,providerOptions:l}){var n;if(i.length>this.maxEmbeddingsPerCall)throw new DS({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:i});let f=(n=await h0({provider:"openai",providerOptions:l,schema:C_0}))!=null?n:{},{responseHeaders:c,value:$,rawValue:d}=await Pl({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:Ol(this.config.headers(),t),body:{model:this.modelId,input:i,encoding_format:"float",dimensions:f.dimensions,user:f.user},failedResponseHandler:qh,successfulResponseHandler:Fl(e_0),abortSignal:u,fetch:this.config.fetch});return{warnings:[],embeddings:$.data.map((_)=>_.embedding),usage:$.usage?{tokens:$.usage.prompt_tokens}:void 0,response:{headers:c,body:d}}}},ahu,q_0,V_0,Dmi,Ht1,m_0,o_0,s_0=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get maxImagesPerCall(){var i;return(i=q_0[this.modelId])!=null?i:1}get provider(){return this.config.provider}async doGenerate({prompt:i,files:t,mask:u,n:l,size:n,aspectRatio:f,seed:c,providerOptions:$,headers:d,abortSignal:_}){var g,h,E,v,r,x,O,y,X,N,U;let J=[];if(f!=null)J.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(c!=null)J.push({type:"unsupported",feature:"seed"});let T=(E=(h=(g=this.config._internal)==null?void 0:g.currentDate)==null?void 0:h.call(g))!=null?E:new Date;if(t!=null){let H=(v=await h0({provider:"openai",providerOptions:$,schema:o_0}))!=null?v:{},{value:j,responseHeaders:k}=await B$i({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:Ol(this.config.headers(),d),formData:P_u({model:this.modelId,prompt:i,image:await Promise.all(t.map((m)=>m.type==="file"?new Blob([m.data instanceof Uint8Array?new Blob([m.data],{type:m.mediaType}):new Blob([Fc(m.data)],{type:m.mediaType})],{type:m.mediaType}):_Vi(m.url))),mask:u!=null?await p_0(u):void 0,n:l,size:n,quality:H.quality,background:H.background,output_format:H.outputFormat,output_compression:H.outputCompression,input_fidelity:H.inputFidelity,user:H.user}),failedResponseHandler:qh,successfulResponseHandler:Fl(ahu),abortSignal:_,fetch:this.config.fetch});return{images:j.data.map((m)=>m.b64_json),warnings:J,usage:j.usage!=null?{inputTokens:(r=j.usage.input_tokens)!=null?r:void 0,outputTokens:(x=j.usage.output_tokens)!=null?x:void 0,totalTokens:(O=j.usage.total_tokens)!=null?O:void 0}:void 0,response:{timestamp:T,modelId:this.modelId,headers:k},providerMetadata:{openai:{images:j.data.map((m,S)=>{var M,p,s,$i,e,fi;return{...m.revised_prompt?{revisedPrompt:m.revised_prompt}:{},created:(M=j.created)!=null?M:void 0,size:(p=j.size)!=null?p:void 0,quality:(s=j.quality)!=null?s:void 0,background:($i=j.background)!=null?$i:void 0,outputFormat:(e=j.output_format)!=null?e:void 0,...mhu((fi=j.usage)==null?void 0:fi.input_tokens_details,S,j.data.length)}})}}}}let Q=(y=await h0({provider:"openai",providerOptions:$,schema:m_0}))!=null?y:{},{value:B,responseHeaders:P}=await Pl({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:Ol(this.config.headers(),d),body:{model:this.modelId,prompt:i,n:l,size:n,quality:Q.quality,style:Q.style,background:Q.background,moderation:Q.moderation,output_format:Q.outputFormat,output_compression:Q.outputCompression,user:Q.user,...!a_0(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:qh,successfulResponseHandler:Fl(ahu),abortSignal:_,fetch:this.config.fetch});return{images:B.data.map((H)=>H.b64_json),warnings:J,usage:B.usage!=null?{inputTokens:(X=B.usage.input_tokens)!=null?X:void 0,outputTokens:(N=B.usage.output_tokens)!=null?N:void 0,totalTokens:(U=B.usage.total_tokens)!=null?U:void 0}:void 0,response:{timestamp:T,modelId:this.modelId,headers:P},providerMetadata:{openai:{images:B.data.map((H,j)=>{var k,m,S,M,p,s;return{...H.revised_prompt?{revisedPrompt:H.revised_prompt}:{},created:(k=B.created)!=null?k:void 0,size:(m=B.size)!=null?m:void 0,quality:(S=B.quality)!=null?S:void 0,background:(M=B.background)!=null?M:void 0,outputFormat:(p=B.output_format)!=null?p:void 0,...mhu((s=B.usage)==null?void 0:s.input_tokens_details,j,B.data.length)}})}}}}},fEu,cEu,Ct1,ig0,tg0,ug0,lg0,ng0,fg0,cg0=(i={})=>{return fg0(i)},$g0,dg0,_g0,gg0=(i)=>_g0(i),$Eu,dEu,hg0,Eg0,vg0,rg0,wg0,xg0,Dg0,Og0=(i={})=>{return Dg0(i)},_Eu,gEu,yg0,hEu,Emi,Xg0,Ng0,Jg0,Ug0,vmi,rmi,Tg0,Fg0=(i={})=>Tg0(i),Zg0,Ig0,Bg0,Qg0,Yg0=(i={})=>Qg0(i),Pg0,Ag0,Gg0,Wg0,wmi,kg0,jg0,Sg0,zg0,bg0=(i)=>zg0(i),Kg0,Lg0,Lq,Cg0,eg0,EEu=20,Mg0,Xu1,phu,mg0=class{constructor(i,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=i,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:i,temperature:t,stopSequences:u,topP:l,topK:n,presencePenalty:f,frequencyPenalty:c,seed:$,prompt:d,providerOptions:_,tools:g,toolChoice:h,responseFormat:E}){var v,r,x,O,y,X,N,U,J,T,Q;let B=[],P=nEu(this.modelId);if(n!=null)B.push({type:"unsupported",feature:"topK"});if($!=null)B.push({type:"unsupported",feature:"seed"});if(f!=null)B.push({type:"unsupported",feature:"presencePenalty"});if(c!=null)B.push({type:"unsupported",feature:"frequencyPenalty"});if(u!=null)B.push({type:"unsupported",feature:"stopSequences"});let H=this.config.provider.includes("azure")?"azure":"openai",j=await h0({provider:H,providerOptions:_,schema:phu});if(j==null&&H!=="openai")j=await h0({provider:"openai",providerOptions:_,schema:phu});let k=(v=j==null?void 0:j.forceReasoning)!=null?v:P.isReasoningModel;if((j==null?void 0:j.conversation)&&(j==null?void 0:j.previousResponseId))B.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let m=F$i({tools:g,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:(ui)=>ui.id==="openai.custom"?ui.args.name:void 0}),S=new Set,{tools:M,toolChoice:p,toolWarnings:s}=await qg0({tools:g,toolChoice:h,allowedTools:(r=j==null?void 0:j.allowedTools)!=null?r:void 0,toolNameMapping:m,customProviderToolNames:S}),{input:$i,warnings:e}=await Rg0({prompt:d,toolNameMapping:m,systemMessageMode:(x=j==null?void 0:j.systemMessageMode)!=null?x:k?"developer":P.systemMessageMode,providerOptionsName:H,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(O=j==null?void 0:j.passThroughUnsupportedFiles)!=null?O:!1,store:(y=j==null?void 0:j.store)!=null?y:!0,hasConversation:(j==null?void 0:j.conversation)!=null,hasPreviousResponseId:(j==null?void 0:j.previousResponseId)!=null,hasLocalShellTool:Oi("openai.local_shell"),hasShellTool:Oi("openai.shell"),hasApplyPatchTool:Oi("openai.apply_patch"),customProviderToolNames:S.size>0?S:void 0});B.push(...e);let fi=(X=j==null?void 0:j.strictJsonSchema)!=null?X:!0,a=j==null?void 0:j.include;function _i(ui){if(a==null)a=[ui];else if(!a.includes(ui))a=[...a,ui]}function Oi(ui){return(g==null?void 0:g.find((ci)=>ci.type==="provider"&&ci.id===ui))!=null}let Di=typeof(j==null?void 0:j.logprobs)==="number"?j==null?void 0:j.logprobs:(j==null?void 0:j.logprobs)===!0?EEu:void 0;if(Di)_i("message.output_text.logprobs");let Mi=(N=g==null?void 0:g.find((ui)=>ui.type==="provider"&&(ui.id==="openai.web_search"||ui.id==="openai.web_search_preview")))==null?void 0:N.name;if(Mi)_i("web_search_call.action.sources");if(Oi("openai.code_interpreter"))_i("code_interpreter_call.outputs");let Yi=j==null?void 0:j.store;if(Yi===!1&&k)_i("reasoning.encrypted_content");let Fi={model:this.modelId,input:$i,temperature:t,top_p:l,max_output_tokens:i,...((E==null?void 0:E.type)==="json"||(j==null?void 0:j.textVerbosity))&&{text:{...(E==null?void 0:E.type)==="json"&&{format:E.schema!=null?{type:"json_schema",strict:fi,name:(U=E.name)!=null?U:"response",description:E.description,schema:E.schema}:{type:"json_object"}},...(j==null?void 0:j.textVerbosity)&&{verbosity:j.textVerbosity}}},conversation:j==null?void 0:j.conversation,max_tool_calls:j==null?void 0:j.maxToolCalls,metadata:j==null?void 0:j.metadata,parallel_tool_calls:j==null?void 0:j.parallelToolCalls,previous_response_id:j==null?void 0:j.previousResponseId,store:Yi,user:j==null?void 0:j.user,instructions:j==null?void 0:j.instructions,service_tier:j==null?void 0:j.serviceTier,include:a,prompt_cache_key:j==null?void 0:j.promptCacheKey,prompt_cache_retention:j==null?void 0:j.promptCacheRetention,safety_identifier:j==null?void 0:j.safetyIdentifier,top_logprobs:Di,truncation:j==null?void 0:j.truncation,...k&&((j==null?void 0:j.reasoningEffort)!=null||(j==null?void 0:j.reasoningSummary)!=null)&&{reasoning:{...(j==null?void 0:j.reasoningEffort)!=null&&{effort:j.reasoningEffort},...(j==null?void 0:j.reasoningSummary)!=null&&{summary:j.reasoningSummary}}}};if(k){if(!((j==null?void 0:j.reasoningEffort)==="none"&&P.supportsNonReasoningParameters)){if(Fi.temperature!=null)Fi.temperature=void 0,B.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(Fi.top_p!=null)Fi.top_p=void 0,B.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((j==null?void 0:j.reasoningEffort)!=null)B.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((j==null?void 0:j.reasoningSummary)!=null)B.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((j==null?void 0:j.serviceTier)==="flex"&&!P.supportsFlexProcessing)B.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete Fi.service_tier;if((j==null?void 0:j.serviceTier)==="priority"&&!P.supportsPriorityProcessing)B.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 Fi.service_tier;let Qi=(Q=(T=(J=g==null?void 0:g.find((ui)=>ui.type==="provider"&&ui.id==="openai.shell"))==null?void 0:J.args)==null?void 0:T.environment)==null?void 0:Q.type,qi=Qi==="containerAuto"||Qi==="containerReference";return{webSearchToolName:Mi,args:{...Fi,tools:M,tool_choice:p},warnings:[...B,...s],store:Yi,toolNameMapping:m,providerOptionsName:H,isShellProviderExecuted:qi}}async doGenerate(i){var t,u,l,n,f,c,$,d,_,g,h,E,v,r,x,O,y,X,N,U,J,T,Q,B,P,H,j,k;let{args:m,warnings:S,webSearchToolName:M,toolNameMapping:p,providerOptionsName:s,isShellProviderExecuted:$i}=await this.getArgs(i),e=this.config.url({path:"/responses",modelId:this.modelId}),fi=iEu(i.prompt),{responseHeaders:a,value:_i,rawValue:Oi}=await Pl({url:e,headers:Ol(this.config.headers(),i.headers),body:m,failedResponseHandler:qh,successfulResponseHandler:Fl(eg0),abortSignal:i.abortSignal,fetch:this.config.fetch});if(_i.error)throw new X0({message:_i.error.message,url:e,requestBodyValues:m,statusCode:400,responseHeaders:a,responseBody:Oi,isRetryable:!1});let Di=[],Mi=[],Yi=!1,Fi=[];for(let ui of _i.output)switch(ui.type){case"reasoning":{if(ui.summary.length===0)ui.summary.push({type:"summary_text",text:""});for(let ci of ui.summary)Di.push({type:"reasoning",text:ci.text,providerMetadata:{[s]:{itemId:ui.id,reasoningEncryptedContent:(t=ui.encrypted_content)!=null?t:null}}});break}case"image_generation_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("image_generation"),result:{result:ui.result}});break}case"tool_search_call":{let ci=(u=ui.call_id)!=null?u:ui.id,ii=ui.execution==="server";if(ii)Fi.push(ci);Di.push({type:"tool-call",toolCallId:ci,toolName:p.toCustomToolName("tool_search"),input:JSON.stringify({arguments:ui.arguments,call_id:ui.call_id}),...ii?{providerExecuted:!0}:{},providerMetadata:{[s]:{itemId:ui.id}}});break}case"tool_search_output":{let ci=(n=(l=ui.call_id)!=null?l:Fi.shift())!=null?n:ui.id;Di.push({type:"tool-result",toolCallId:ci,toolName:p.toCustomToolName("tool_search"),result:{tools:ui.tools},providerMetadata:{[s]:{itemId:ui.id}}});break}case"local_shell_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("local_shell"),input:JSON.stringify({action:ui.action}),providerMetadata:{[s]:{itemId:ui.id}}});break}case"shell_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ui.action.commands}}),...$i&&{providerExecuted:!0},providerMetadata:{[s]:{itemId:ui.id}}});break}case"shell_call_output":{Di.push({type:"tool-result",toolCallId:ui.call_id,toolName:p.toCustomToolName("shell"),result:{output:ui.output.map((ci)=>({stdout:ci.stdout,stderr:ci.stderr,outcome:ci.outcome.type==="exit"?{type:"exit",exitCode:ci.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let ci of ui.content){if(((c=(f=i.providerOptions)==null?void 0:f[s])==null?void 0:c.logprobs)&&ci.logprobs)Mi.push(ci.logprobs);let ii={itemId:ui.id,...ui.phase!=null&&{phase:ui.phase},...ci.annotations.length>0&&{annotations:ci.annotations}};Di.push({type:"text",text:ci.text,providerMetadata:{[s]:ii}});for(let o of ci.annotations)if(o.type==="url_citation")Di.push({type:"source",sourceType:"url",id:(_=(d=($=this.config).generateId)==null?void 0:d.call($))!=null?_:al(),url:o.url,title:o.title});else if(o.type==="file_citation")Di.push({type:"source",sourceType:"document",id:(E=(h=(g=this.config).generateId)==null?void 0:h.call(g))!=null?E:al(),mediaType:"text/plain",title:o.filename,filename:o.filename,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,index:o.index}}});else if(o.type==="container_file_citation")Di.push({type:"source",sourceType:"document",id:(x=(r=(v=this.config).generateId)==null?void 0:r.call(v))!=null?x:al(),mediaType:"text/plain",title:o.filename,filename:o.filename,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,containerId:o.container_id}}});else if(o.type==="file_path")Di.push({type:"source",sourceType:"document",id:(X=(y=(O=this.config).generateId)==null?void 0:y.call(O))!=null?X:al(),mediaType:"application/octet-stream",title:o.file_id,filename:o.file_id,providerMetadata:{[s]:{type:o.type,fileId:o.file_id,index:o.index}}})}break}case"function_call":{Yi=!0,Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:ui.name,input:ui.arguments,providerMetadata:{[s]:{itemId:ui.id,...ui.namespace!=null&&{namespace:ui.namespace}}}});break}case"custom_tool_call":{Yi=!0;let ci=p.toCustomToolName(ui.name);Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:ci,input:JSON.stringify(ui.input),providerMetadata:{[s]:{itemId:ui.id}}});break}case"web_search_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName(M!=null?M:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName(M!=null?M:"web_search"),result:uEu(ui.action)});break}case"mcp_call":{let ci=ui.approval_request_id!=null?(N=fi[ui.approval_request_id])!=null?N:ui.id:ui.id,ii=`mcp.${ui.name}`;Di.push({type:"tool-call",toolCallId:ci,toolName:ii,input:ui.arguments,providerExecuted:!0,dynamic:!0}),Di.push({type:"tool-result",toolCallId:ci,toolName:ii,result:{type:"call",serverLabel:ui.server_label,name:ui.name,arguments:ui.arguments,...ui.output!=null?{output:ui.output}:{},...ui.error!=null?{error:ui.error}:{}},providerMetadata:{[s]:{itemId:ui.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let ci=(U=ui.approval_request_id)!=null?U:ui.id,ii=(Q=(T=(J=this.config).generateId)==null?void 0:T.call(J))!=null?Q:al(),o=`mcp.${ui.name}`;Di.push({type:"tool-call",toolCallId:ii,toolName:o,input:ui.arguments,providerExecuted:!0,dynamic:!0}),Di.push({type:"tool-approval-request",approvalId:ci,toolCallId:ii});break}case"computer_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ui.status||"completed"}});break}case"file_search_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("file_search"),result:{queries:ui.queries,results:(P=(B=ui.results)==null?void 0:B.map((ci)=>({attributes:ci.attributes,fileId:ci.file_id,filename:ci.filename,score:ci.score,text:ci.text})))!=null?P:null}});break}case"code_interpreter_call":{Di.push({type:"tool-call",toolCallId:ui.id,toolName:p.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ui.code,containerId:ui.container_id}),providerExecuted:!0}),Di.push({type:"tool-result",toolCallId:ui.id,toolName:p.toCustomToolName("code_interpreter"),result:{outputs:ui.outputs}});break}case"apply_patch_call":{Di.push({type:"tool-call",toolCallId:ui.call_id,toolName:p.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ui.call_id,operation:ui.operation}),providerMetadata:{[s]:{itemId:ui.id}}});break}}let Qi={[s]:{responseId:_i.id,...Mi.length>0?{logprobs:Mi}:{},...typeof _i.service_tier==="string"?{serviceTier:_i.service_tier}:{}}},qi=_i.usage;return{content:Di,finishReason:{unified:gmi({finishReason:(H=_i.incomplete_details)==null?void 0:H.reason,hasFunctionCall:Yi}),raw:(k=(j=_i.incomplete_details)==null?void 0:j.reason)!=null?k:void 0},usage:ohu(qi),request:{body:m},response:{id:_i.id,timestamp:new Date(_i.created_at*1000),modelId:_i.model,headers:a,body:Oi},providerMetadata:Qi,warnings:S}}async doStream(i){let{args:t,warnings:u,webSearchToolName:l,toolNameMapping:n,store:f,providerOptionsName:c,isShellProviderExecuted:$}=await this.getArgs(i),{responseHeaders:d,value:_}=await Pl({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:{...t,stream:!0},failedResponseHandler:qh,successfulResponseHandler:E$(Cg0),abortSignal:i.abortSignal,fetch:this.config.fetch}),g=this,h=iEu(i.prompt),E=new Map,v={unified:"other",raw:void 0},r=void 0,x=[],O=null,y={},X=[],N,U=!1,J={},T,Q=[];return{stream:_.pipeThrough(new TransformStream({start(B){B.enqueue({type:"stream-start",warnings:u})},transform(B,P){var H,j,k,m,S,M,p,s,$i,e,fi,a,_i,Oi,Di,Mi,Yi,Fi,Qi,qi,ui,ci,ii,o,zi,xi,_t,lt,Bi,ut,uu,nl,di,Et,Yt,Nt,Mu,Xl;if(i.includeRawChunks)P.enqueue({type:"raw",rawValue:B.rawValue});if(!B.success){v={unified:"error",raw:void 0},P.enqueue({type:"error",error:B.error});return}let ti=B.value;if(tEu(ti)){if(ti.item.type==="function_call")y[ti.output_index]={toolName:ti.item.name,toolCallId:ti.item.call_id},P.enqueue({type:"tool-input-start",id:ti.item.call_id,toolName:ti.item.name});else if(ti.item.type==="custom_tool_call"){let pi=n.toCustomToolName(ti.item.name);y[ti.output_index]={toolName:pi,toolCallId:ti.item.call_id},P.enqueue({type:"tool-input-start",id:ti.item.call_id,toolName:pi})}else if(ti.item.type==="web_search_call")y[ti.output_index]={toolName:n.toCustomToolName(l!=null?l:"web_search"),toolCallId:ti.item.id},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),providerExecuted:!0}),P.enqueue({type:"tool-input-end",id:ti.item.id}),P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(ti.item.type==="computer_call")y[ti.output_index]={toolName:n.toCustomToolName("computer_use"),toolCallId:ti.item.id},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName("computer_use"),providerExecuted:!0});else if(ti.item.type==="code_interpreter_call")y[ti.output_index]={toolName:n.toCustomToolName("code_interpreter"),toolCallId:ti.item.id,codeInterpreter:{containerId:ti.item.container_id}},P.enqueue({type:"tool-input-start",id:ti.item.id,toolName:n.toCustomToolName("code_interpreter"),providerExecuted:!0}),P.enqueue({type:"tool-input-delta",id:ti.item.id,delta:`{"containerId":"${ti.item.container_id}","code":"`});else if(ti.item.type==="file_search_call")P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(ti.item.type==="image_generation_call")P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(ti.item.type==="tool_search_call"){let pi=ti.item.id,Lu=n.toCustomToolName("tool_search"),R0=ti.item.execution==="server";if(y[ti.output_index]={toolName:Lu,toolCallId:pi,toolSearchExecution:(H=ti.item.execution)!=null?H:"server"},R0)P.enqueue({type:"tool-input-start",id:pi,toolName:Lu,providerExecuted:!0})}else if(ti.item.type==="tool_search_output");else if(ti.item.type==="mcp_call"||ti.item.type==="mcp_list_tools"||ti.item.type==="mcp_approval_request");else if(ti.item.type==="apply_patch_call"){let{call_id:pi,operation:Lu}=ti.item;if(y[ti.output_index]={toolName:n.toCustomToolName("apply_patch"),toolCallId:pi,applyPatch:{hasDiff:Lu.type==="delete_file",endEmitted:Lu.type==="delete_file"}},P.enqueue({type:"tool-input-start",id:pi,toolName:n.toCustomToolName("apply_patch")}),Lu.type==="delete_file"){let R0=JSON.stringify({callId:pi,operation:Lu});P.enqueue({type:"tool-input-delta",id:pi,delta:R0}),P.enqueue({type:"tool-input-end",id:pi})}else P.enqueue({type:"tool-input-delta",id:pi,delta:`{"callId":"${ey(pi)}","operation":{"type":"${ey(Lu.type)}","path":"${ey(Lu.path)}","diff":"`})}else if(ti.item.type==="shell_call")y[ti.output_index]={toolName:n.toCustomToolName("shell"),toolCallId:ti.item.call_id};else if(ti.item.type==="shell_call_output");else if(ti.item.type==="message")X.splice(0,X.length),N=(j=ti.item.phase)!=null?j:void 0,P.enqueue({type:"text-start",id:ti.item.id,providerMetadata:{[c]:{itemId:ti.item.id,...ti.item.phase!=null&&{phase:ti.item.phase}}}});else if(tEu(ti)&&ti.item.type==="reasoning")J[ti.item.id]={encryptedContent:ti.item.encrypted_content,summaryParts:{0:"active"}},P.enqueue({type:"reasoning-start",id:`${ti.item.id}:0`,providerMetadata:{[c]:{itemId:ti.item.id,reasoningEncryptedContent:(k=ti.item.encrypted_content)!=null?k:null}}})}else if(sg0(ti)){if(ti.item.type==="message"){let pi=(m=ti.item.phase)!=null?m:N;N=void 0,P.enqueue({type:"text-end",id:ti.item.id,providerMetadata:{[c]:{itemId:ti.item.id,...pi!=null&&{phase:pi},...X.length>0&&{annotations:X}}}})}else if(ti.item.type==="function_call")y[ti.output_index]=void 0,U=!0,P.enqueue({type:"tool-input-end",id:ti.item.call_id,...ti.item.namespace!=null&&{providerMetadata:{[c]:{namespace:ti.item.namespace}}}}),P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:ti.item.name,input:ti.item.arguments,providerMetadata:{[c]:{itemId:ti.item.id,...ti.item.namespace!=null&&{namespace:ti.item.namespace}}}});else if(ti.item.type==="custom_tool_call"){y[ti.output_index]=void 0,U=!0;let pi=n.toCustomToolName(ti.item.name);P.enqueue({type:"tool-input-end",id:ti.item.call_id}),P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:pi,input:JSON.stringify(ti.item.input),providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="web_search_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName(l!=null?l:"web_search"),result:uEu(ti.item.action)});else if(ti.item.type==="computer_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-input-end",id:ti.item.id}),P.enqueue({type:"tool-call",toolCallId:ti.item.id,toolName:n.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ti.item.status||"completed"}});else if(ti.item.type==="file_search_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("file_search"),result:{queries:ti.item.queries,results:(M=(S=ti.item.results)==null?void 0:S.map((pi)=>({attributes:pi.attributes,fileId:pi.file_id,filename:pi.filename,score:pi.score,text:pi.text})))!=null?M:null}});else if(ti.item.type==="code_interpreter_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("code_interpreter"),result:{outputs:ti.item.outputs}});else if(ti.item.type==="image_generation_call")P.enqueue({type:"tool-result",toolCallId:ti.item.id,toolName:n.toCustomToolName("image_generation"),result:{result:ti.item.result}});else if(ti.item.type==="tool_search_call"){let pi=y[ti.output_index],Lu=ti.item.execution==="server";if(pi!=null){let R0=Lu?pi.toolCallId:(p=ti.item.call_id)!=null?p:ti.item.id;if(Lu)Q.push(R0);else P.enqueue({type:"tool-input-start",id:R0,toolName:pi.toolName});P.enqueue({type:"tool-input-end",id:R0}),P.enqueue({type:"tool-call",toolCallId:R0,toolName:pi.toolName,input:JSON.stringify({arguments:ti.item.arguments,call_id:Lu?null:R0}),...Lu?{providerExecuted:!0}:{},providerMetadata:{[c]:{itemId:ti.item.id}}})}y[ti.output_index]=void 0}else if(ti.item.type==="tool_search_output"){let pi=($i=(s=ti.item.call_id)!=null?s:Q.shift())!=null?$i:ti.item.id;P.enqueue({type:"tool-result",toolCallId:pi,toolName:n.toCustomToolName("tool_search"),result:{tools:ti.item.tools},providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="mcp_call"){y[ti.output_index]=void 0;let pi=(e=ti.item.approval_request_id)!=null?e:void 0,Lu=pi!=null?(a=(fi=E.get(pi))!=null?fi:h[pi])!=null?a:ti.item.id:ti.item.id,R0=`mcp.${ti.item.name}`;P.enqueue({type:"tool-call",toolCallId:Lu,toolName:R0,input:ti.item.arguments,providerExecuted:!0,dynamic:!0}),P.enqueue({type:"tool-result",toolCallId:Lu,toolName:R0,result:{type:"call",serverLabel:ti.item.server_label,name:ti.item.name,arguments:ti.item.arguments,...ti.item.output!=null?{output:ti.item.output}:{},...ti.item.error!=null?{error:ti.item.error}:{}},providerMetadata:{[c]:{itemId:ti.item.id}}})}else if(ti.item.type==="mcp_list_tools")y[ti.output_index]=void 0;else if(ti.item.type==="apply_patch_call"){let pi=y[ti.output_index];if((pi==null?void 0:pi.applyPatch)&&!pi.applyPatch.endEmitted&&ti.item.operation.type!=="delete_file"){if(!pi.applyPatch.hasDiff)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.item.operation.diff)});P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),pi.applyPatch.endEmitted=!0}if(pi&&ti.item.status==="completed")P.enqueue({type:"tool-call",toolCallId:pi.toolCallId,toolName:n.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ti.item.call_id,operation:ti.item.operation}),providerMetadata:{[c]:{itemId:ti.item.id}}});y[ti.output_index]=void 0}else if(ti.item.type==="mcp_approval_request"){y[ti.output_index]=void 0;let pi=(Di=(Oi=(_i=g.config).generateId)==null?void 0:Oi.call(_i))!=null?Di:al(),Lu=(Mi=ti.item.approval_request_id)!=null?Mi:ti.item.id;E.set(Lu,pi);let R0=`mcp.${ti.item.name}`;P.enqueue({type:"tool-call",toolCallId:pi,toolName:R0,input:ti.item.arguments,providerExecuted:!0,dynamic:!0}),P.enqueue({type:"tool-approval-request",approvalId:Lu,toolCallId:pi})}else if(ti.item.type==="local_shell_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:ti.item.action.command,timeoutMs:ti.item.action.timeout_ms,user:ti.item.action.user,workingDirectory:ti.item.action.working_directory,env:ti.item.action.env}}),providerMetadata:{[c]:{itemId:ti.item.id}}});else if(ti.item.type==="shell_call")y[ti.output_index]=void 0,P.enqueue({type:"tool-call",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ti.item.action.commands}}),...$&&{providerExecuted:!0},providerMetadata:{[c]:{itemId:ti.item.id}}});else if(ti.item.type==="shell_call_output")P.enqueue({type:"tool-result",toolCallId:ti.item.call_id,toolName:n.toCustomToolName("shell"),result:{output:ti.item.output.map((pi)=>({stdout:pi.stdout,stderr:pi.stderr,outcome:pi.outcome.type==="exit"?{type:"exit",exitCode:pi.outcome.exit_code}:{type:"timeout"}}))}});else if(ti.item.type==="reasoning"){let pi=J[ti.item.id],Lu=Object.entries(pi.summaryParts).filter(([R0,G0])=>G0==="active"||G0==="can-conclude").map(([R0])=>R0);for(let R0 of Lu)P.enqueue({type:"reasoning-end",id:`${ti.item.id}:${R0}`,providerMetadata:{[c]:{itemId:ti.item.id,reasoningEncryptedContent:(Yi=ti.item.encrypted_content)!=null?Yi:null}}});delete J[ti.item.id]}}else if(u60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ti.delta})}else if(l60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ti.delta})}else if($60(ti)){let pi=y[ti.output_index];if(pi==null?void 0:pi.applyPatch)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.delta)}),pi.applyPatch.hasDiff=!0}else if(d60(ti)){let pi=y[ti.output_index];if((pi==null?void 0:pi.applyPatch)&&!pi.applyPatch.endEmitted){if(!pi.applyPatch.hasDiff)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.diff)}),pi.applyPatch.hasDiff=!0;P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),pi.applyPatch.endEmitted=!0}}else if(n60(ti))P.enqueue({type:"tool-result",toolCallId:ti.item_id,toolName:n.toCustomToolName("image_generation"),result:{result:ti.partial_image_b64},preliminary:!0});else if(f60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:ey(ti.delta)})}else if(c60(ti)){let pi=y[ti.output_index];if(pi!=null)P.enqueue({type:"tool-input-delta",id:pi.toolCallId,delta:'"}'}),P.enqueue({type:"tool-input-end",id:pi.toolCallId}),P.enqueue({type:"tool-call",toolCallId:pi.toolCallId,toolName:n.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ti.code,containerId:pi.codeInterpreter.containerId}),providerExecuted:!0})}else if(t60(ti))O=ti.response.id,P.enqueue({type:"response-metadata",id:ti.response.id,timestamp:new Date(ti.response.created_at*1000),modelId:ti.response.model});else if(og0(ti)){if(P.enqueue({type:"text-delta",id:ti.item_id,delta:ti.delta}),((Qi=(Fi=i.providerOptions)==null?void 0:Fi[c])==null?void 0:Qi.logprobs)&&ti.logprobs)x.push(ti.logprobs)}else if(ti.type==="response.reasoning_summary_part.added"){if(ti.summary_index>0){let pi=J[ti.item_id];pi.summaryParts[ti.summary_index]="active";for(let Lu of Object.keys(pi.summaryParts))if(pi.summaryParts[Lu]==="can-conclude")P.enqueue({type:"reasoning-end",id:`${ti.item_id}:${Lu}`,providerMetadata:{[c]:{itemId:ti.item_id}}}),pi.summaryParts[Lu]="concluded";P.enqueue({type:"reasoning-start",id:`${ti.item_id}:${ti.summary_index}`,providerMetadata:{[c]:{itemId:ti.item_id,reasoningEncryptedContent:(ui=(qi=J[ti.item_id])==null?void 0:qi.encryptedContent)!=null?ui:null}}})}}else if(ti.type==="response.reasoning_summary_text.delta")P.enqueue({type:"reasoning-delta",id:`${ti.item_id}:${ti.summary_index}`,delta:ti.delta,providerMetadata:{[c]:{itemId:ti.item_id}}});else if(ti.type==="response.reasoning_summary_part.done")if(f)P.enqueue({type:"reasoning-end",id:`${ti.item_id}:${ti.summary_index}`,providerMetadata:{[c]:{itemId:ti.item_id}}}),J[ti.item_id].summaryParts[ti.summary_index]="concluded";else J[ti.item_id].summaryParts[ti.summary_index]="can-conclude";else if(pg0(ti)){if(v={unified:gmi({finishReason:(ci=ti.response.incomplete_details)==null?void 0:ci.reason,hasFunctionCall:U}),raw:(o=(ii=ti.response.incomplete_details)==null?void 0:ii.reason)!=null?o:void 0},r=ti.response.usage,typeof ti.response.service_tier==="string")T=ti.response.service_tier}else if(i60(ti)){let pi=(zi=ti.response.incomplete_details)==null?void 0:zi.reason;v={unified:pi?gmi({finishReason:pi,hasFunctionCall:U}):"error",raw:pi!=null?pi:"error"},r=(xi=ti.response.usage)!=null?xi:void 0}else if(_60(ti)){if(X.push(ti.annotation),ti.annotation.type==="url_citation")P.enqueue({type:"source",sourceType:"url",id:(Bi=(lt=(_t=g.config).generateId)==null?void 0:lt.call(_t))!=null?Bi:al(),url:ti.annotation.url,title:ti.annotation.title});else if(ti.annotation.type==="file_citation")P.enqueue({type:"source",sourceType:"document",id:(nl=(uu=(ut=g.config).generateId)==null?void 0:uu.call(ut))!=null?nl:al(),mediaType:"text/plain",title:ti.annotation.filename,filename:ti.annotation.filename,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,index:ti.annotation.index}}});else if(ti.annotation.type==="container_file_citation")P.enqueue({type:"source",sourceType:"document",id:(Yt=(Et=(di=g.config).generateId)==null?void 0:Et.call(di))!=null?Yt:al(),mediaType:"text/plain",title:ti.annotation.filename,filename:ti.annotation.filename,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,containerId:ti.annotation.container_id}}});else if(ti.annotation.type==="file_path")P.enqueue({type:"source",sourceType:"document",id:(Xl=(Mu=(Nt=g.config).generateId)==null?void 0:Mu.call(Nt))!=null?Xl:al(),mediaType:"application/octet-stream",title:ti.annotation.file_id,filename:ti.annotation.file_id,providerMetadata:{[c]:{type:ti.annotation.type,fileId:ti.annotation.file_id,index:ti.annotation.index}}})}else if(g60(ti))P.enqueue({type:"error",error:ti})},flush(B){let P={[c]:{responseId:O,...x.length>0?{logprobs:x}:{},...T!==void 0?{serviceTier:T}:{}}};B.enqueue({type:"finish",finishReason:v,usage:ohu(r),providerMetadata:P})}})),request:{body:t},response:{headers:d}}}},h60,E60=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:i,voice:t="alloy",outputFormat:u="mp3",speed:l,instructions:n,language:f,providerOptions:c}){let $=[],d=await h0({provider:"openai",providerOptions:c,schema:h60}),_={model:this.modelId,input:i,voice:t,response_format:"mp3",speed:l,instructions:n};if(u)if(["mp3","opus","aac","flac","wav","pcm"].includes(u))_.response_format=u;else $.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${u}. Using mp3 instead.`});if(d){let g={};for(let h in g){let E=g[h];if(E!==void 0)_[h]=E}}if(f)$.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${f}" was ignored.`});return{requestBody:_,warnings:$}}async doGenerate(i){var t,u,l;let n=(l=(u=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:u.call(t))!=null?l:new Date,{requestBody:f,warnings:c}=await this.getArgs(i),{value:$,responseHeaders:d,rawValue:_}=await Pl({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),body:f,failedResponseHandler:qh,successfulResponseHandler:e_u(),abortSignal:i.abortSignal,fetch:this.config.fetch});return{audio:$,warnings:c,request:{body:JSON.stringify(f)},response:{timestamp:n,modelId:this.modelId,headers:d,body:_}}}},v60,r60,lEu,w60=class{constructor(i,t){this.modelId=i,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:i,mediaType:t,providerOptions:u}){let l=[],n=await h0({provider:"openai",providerOptions:u,schema:r60}),f=new FormData,c=i instanceof Uint8Array?new Blob([i]):new Blob([Fc(i)]);f.append("model",this.modelId);let $=z_u(t);if(f.append("file",new File([c],"audio",{type:t}),`audio.${$}`),n){let d={include:n.include,language:n.language,prompt:n.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:n.temperature,timestamp_granularities:n.timestampGranularities};for(let[_,g]of Object.entries(d))if(g!=null)if(Array.isArray(g))for(let h of g)f.append(`${_}[]`,String(h));else f.append(_,String(g))}return{formData:f,warnings:l}}async doGenerate(i){var t,u,l,n,f,c,$,d;let _=(l=(u=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:u.call(t))!=null?l:new Date,{formData:g,warnings:h}=await this.getArgs(i),{value:E,responseHeaders:v,rawValue:r}=await B$i({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:Ol(this.config.headers(),i.headers),formData:g,failedResponseHandler:qh,successfulResponseHandler:Fl(v60),abortSignal:i.abortSignal,fetch:this.config.fetch}),x=E.language!=null&&E.language in lEu?lEu[E.language]:void 0;return{text:E.text,segments:($=(c=(n=E.segments)==null?void 0:n.map((O)=>({text:O.text,startSecond:O.start,endSecond:O.end})))!=null?c:(f=E.words)==null?void 0:f.map((O)=>({text:O.word,startSecond:O.start,endSecond:O.end})))!=null?$:[],language:x,durationInSeconds:(d=E.duration)!=null?d:void 0,warnings:h,response:{timestamp:_,modelId:this.modelId,headers:v,body:r}}}},x60="3.0.65",Pu1;var Omi=w(()=>{Ri();Eu();Ri();Ri();Eu();Ri();Ri();Ri();Eu();Ri();Eu();Ri();Ri();Eu();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Ri();Eu();Ri();Eu();Ri();Ri();Ri();Eu();Ri();Ri();Ri();Ri();Ri();Ri();xmi=Y5.object({error:Y5.object({message:Y5.string(),type:Y5.string().nullish(),param:Y5.any().nullish(),code:Y5.union([Y5.string(),Y5.number()]).nullish()})}),qh=s1({errorSchema:xmi,errorToMessage:(i)=>i.error.message});k_0=Ti(()=>hi(Jt.object({id:Jt.string().nullish(),created:Jt.number().nullish(),model:Jt.string().nullish(),choices:Jt.array(Jt.object({message:Jt.object({role:Jt.literal("assistant").nullish(),content:Jt.string().nullish(),tool_calls:Jt.array(Jt.object({id:Jt.string().nullish(),type:Jt.literal("function"),function:Jt.object({name:Jt.string(),arguments:Jt.string()})})).nullish(),annotations:Jt.array(Jt.object({type:Jt.literal("url_citation"),url_citation:Jt.object({start_index:Jt.number(),end_index:Jt.number(),url:Jt.string(),title:Jt.string()})})).nullish()}),index:Jt.number(),logprobs:Jt.object({content:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number(),top_logprobs:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number()}))})).nullish()}).nullish(),finish_reason:Jt.string().nullish()})),usage:Jt.object({prompt_tokens:Jt.number().nullish(),completion_tokens:Jt.number().nullish(),total_tokens:Jt.number().nullish(),prompt_tokens_details:Jt.object({cached_tokens:Jt.number().nullish()}).nullish(),completion_tokens_details:Jt.object({reasoning_tokens:Jt.number().nullish(),accepted_prediction_tokens:Jt.number().nullish(),rejected_prediction_tokens:Jt.number().nullish()}).nullish()}).nullish()}))),j_0=Ti(()=>hi(Jt.union([Jt.object({id:Jt.string().nullish(),created:Jt.number().nullish(),model:Jt.string().nullish(),choices:Jt.array(Jt.object({delta:Jt.object({role:Jt.enum(["assistant"]).nullish(),content:Jt.string().nullish(),tool_calls:Jt.array(Jt.object({index:Jt.number(),id:Jt.string().nullish(),type:Jt.literal("function").nullish(),function:Jt.object({name:Jt.string().nullish(),arguments:Jt.string().nullish()})})).nullish(),annotations:Jt.array(Jt.object({type:Jt.literal("url_citation"),url_citation:Jt.object({start_index:Jt.number(),end_index:Jt.number(),url:Jt.string(),title:Jt.string()})})).nullish()}).nullish(),logprobs:Jt.object({content:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number(),top_logprobs:Jt.array(Jt.object({token:Jt.string(),logprob:Jt.number()}))})).nullish()}).nullish(),finish_reason:Jt.string().nullish(),index:Jt.number()})),usage:Jt.object({prompt_tokens:Jt.number().nullish(),completion_tokens:Jt.number().nullish(),total_tokens:Jt.number().nullish(),prompt_tokens_details:Jt.object({cached_tokens:Jt.number().nullish()}).nullish(),completion_tokens_details:Jt.object({reasoning_tokens:Jt.number().nullish(),accepted_prediction_tokens:Jt.number().nullish(),rejected_prediction_tokens:Jt.number().nullish()}).nullish()}).nullish()}),xmi]))),S_0=Ti(()=>hi(I1.object({logitBias:I1.record(I1.coerce.number(),I1.number()).optional(),logprobs:I1.union([I1.boolean(),I1.number()]).optional(),parallelToolCalls:I1.boolean().optional(),user:I1.string().optional(),reasoningEffort:I1.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:I1.number().optional(),store:I1.boolean().optional(),metadata:I1.record(I1.string().max(64),I1.string().max(512)).optional(),prediction:I1.record(I1.string(),I1.any()).optional(),serviceTier:I1.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:I1.boolean().optional(),textVerbosity:I1.enum(["low","medium","high"]).optional(),promptCacheKey:I1.string().optional(),promptCacheRetention:I1.enum(["in_memory","24h"]).optional(),safetyIdentifier:I1.string().optional(),systemMessageMode:I1.enum(["system","developer","remove"]).optional(),forceReasoning:I1.boolean().optional()})));H_0=Ti(()=>hi(Ql.object({id:Ql.string().nullish(),created:Ql.number().nullish(),model:Ql.string().nullish(),choices:Ql.array(Ql.object({text:Ql.string(),finish_reason:Ql.string(),logprobs:Ql.object({tokens:Ql.array(Ql.string()),token_logprobs:Ql.array(Ql.number()),top_logprobs:Ql.array(Ql.record(Ql.string(),Ql.number())).nullish()}).nullish()})),usage:Ql.object({prompt_tokens:Ql.number(),completion_tokens:Ql.number(),total_tokens:Ql.number()}).nullish()}))),R_0=Ti(()=>hi(Ql.union([Ql.object({id:Ql.string().nullish(),created:Ql.number().nullish(),model:Ql.string().nullish(),choices:Ql.array(Ql.object({text:Ql.string(),finish_reason:Ql.string().nullish(),index:Ql.number(),logprobs:Ql.object({tokens:Ql.array(Ql.string()),token_logprobs:Ql.array(Ql.number()),top_logprobs:Ql.array(Ql.record(Ql.string(),Ql.number())).nullish()}).nullish()})),usage:Ql.object({prompt_tokens:Ql.number(),completion_tokens:Ql.number(),total_tokens:Ql.number()}).nullish()}),xmi]))),Vhu=Ti(()=>hi(Wv.object({echo:Wv.boolean().optional(),logitBias:Wv.record(Wv.string(),Wv.number()).optional(),suffix:Wv.string().optional(),user:Wv.string().optional(),logprobs:Wv.union([Wv.boolean(),Wv.number()]).optional()}))),C_0=Ti(()=>hi(dmi.object({dimensions:dmi.number().optional(),user:dmi.string().optional()}))),e_0=Ti(()=>hi(Cy.object({data:Cy.array(Cy.object({embedding:Cy.array(Cy.number())})),usage:Cy.object({prompt_tokens:Cy.number()}).nullish()}))),ahu=Ti(()=>hi(A4.object({created:A4.number().nullish(),data:A4.array(A4.object({b64_json:A4.string(),revised_prompt:A4.string().nullish()})),background:A4.string().nullish(),output_format:A4.string().nullish(),size:A4.string().nullish(),quality:A4.string().nullish(),usage:A4.object({input_tokens:A4.number().nullish(),output_tokens:A4.number().nullish(),total_tokens:A4.number().nullish(),input_tokens_details:A4.object({image_tokens:A4.number().nullish(),text_tokens:A4.number().nullish()}).nullish()}).nullish()}))),q_0={"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},V_0=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];Dmi=f2.object({quality:f2.enum(["standard","hd","low","medium","high","auto"]).optional(),background:f2.enum(["transparent","opaque","auto"]).optional(),outputFormat:f2.enum(["png","jpeg","webp"]).optional(),outputCompression:f2.number().int().min(0).max(100).optional(),user:f2.string().optional()}),Ht1=Ti(()=>hi(Dmi)),m_0=Ti(()=>hi(Dmi.extend({style:f2.enum(["vivid","natural"]).optional(),moderation:f2.enum(["auto","low"]).optional()}))),o_0=Ti(()=>hi(Dmi.extend({inputFidelity:f2.enum(["high","low"]).optional()})));fEu=Ti(()=>hi(pc.object({callId:pc.string(),operation:pc.discriminatedUnion("type",[pc.object({type:pc.literal("create_file"),path:pc.string(),diff:pc.string()}),pc.object({type:pc.literal("delete_file"),path:pc.string()}),pc.object({type:pc.literal("update_file"),path:pc.string(),diff:pc.string()})])}))),cEu=Ti(()=>hi(pc.object({status:pc.enum(["completed","failed"]),output:pc.string().optional()}))),Ct1=Ti(()=>hi(pc.object({}))),ig0=yl({id:"openai.apply_patch",inputSchema:fEu,outputSchema:cEu}),tg0=ig0,ug0=Ti(()=>hi(i4.object({code:i4.string().nullish(),containerId:i4.string()}))),lg0=Ti(()=>hi(i4.object({outputs:i4.array(i4.discriminatedUnion("type",[i4.object({type:i4.literal("logs"),logs:i4.string()}),i4.object({type:i4.literal("image"),url:i4.string()})])).nullish()}))),ng0=Ti(()=>hi(i4.object({container:i4.union([i4.string(),i4.object({fileIds:i4.array(i4.string()).optional()})]).optional()}))),fg0=yl({id:"openai.code_interpreter",inputSchema:ug0,outputSchema:lg0}),$g0=Ti(()=>hi(Mh.object({name:Mh.string(),description:Mh.string().optional(),format:Mh.union([Mh.object({type:Mh.literal("grammar"),syntax:Mh.enum(["regex","lark"]),definition:Mh.string()}),Mh.object({type:Mh.literal("text")})]).optional()}))),dg0=Ti(()=>hi(Mh.string())),_g0=q0({id:"openai.custom",inputSchema:dg0}),$Eu=H0.object({key:H0.string(),type:H0.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:H0.union([H0.string(),H0.number(),H0.boolean(),H0.array(H0.string())])}),dEu=H0.object({type:H0.enum(["and","or"]),filters:H0.array(H0.union([$Eu,H0.lazy(()=>dEu)]))}),hg0=Ti(()=>hi(H0.object({vectorStoreIds:H0.array(H0.string()),maxNumResults:H0.number().optional(),ranking:H0.object({ranker:H0.string().optional(),scoreThreshold:H0.number().optional()}).optional(),filters:H0.union([$Eu,dEu]).optional()}))),Eg0=Ti(()=>hi(H0.object({queries:H0.array(H0.string()),results:H0.array(H0.object({attributes:H0.record(H0.string(),H0.unknown()),fileId:H0.string(),filename:H0.string(),score:H0.number(),text:H0.string()})).nullable()}))),vg0=yl({id:"openai.file_search",inputSchema:H0.object({}),outputSchema:Eg0}),rg0=Ti(()=>hi(D$.object({background:D$.enum(["auto","opaque","transparent"]).optional(),inputFidelity:D$.enum(["low","high"]).optional(),inputImageMask:D$.object({fileId:D$.string().optional(),imageUrl:D$.string().optional()}).optional(),model:D$.string().optional(),moderation:D$.enum(["auto"]).optional(),outputCompression:D$.number().int().min(0).max(100).optional(),outputFormat:D$.enum(["png","jpeg","webp"]).optional(),partialImages:D$.number().int().min(0).max(3).optional(),quality:D$.enum(["auto","low","medium","high"]).optional(),size:D$.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),wg0=Ti(()=>hi(D$.object({}))),xg0=Ti(()=>hi(D$.object({result:D$.string()}))),Dg0=yl({id:"openai.image_generation",inputSchema:wg0,outputSchema:xg0}),_Eu=Ti(()=>hi(lg.object({action:lg.object({type:lg.literal("exec"),command:lg.array(lg.string()),timeoutMs:lg.number().optional(),user:lg.string().optional(),workingDirectory:lg.string().optional(),env:lg.record(lg.string(),lg.string()).optional()})}))),gEu=Ti(()=>hi(lg.object({output:lg.string()}))),yg0=yl({id:"openai.local_shell",inputSchema:_Eu,outputSchema:gEu}),hEu=Ti(()=>hi(Bu.object({action:Bu.object({commands:Bu.array(Bu.string()),timeoutMs:Bu.number().optional(),maxOutputLength:Bu.number().optional()})}))),Emi=Ti(()=>hi(Bu.object({output:Bu.array(Bu.object({stdout:Bu.string(),stderr:Bu.string(),outcome:Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("timeout")}),Bu.object({type:Bu.literal("exit"),exitCode:Bu.number()})])}))}))),Xg0=Bu.array(Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("skillReference"),skillId:Bu.string(),version:Bu.string().optional()}),Bu.object({type:Bu.literal("inline"),name:Bu.string(),description:Bu.string(),source:Bu.object({type:Bu.literal("base64"),mediaType:Bu.literal("application/zip"),data:Bu.string()})})])).optional(),Ng0=Ti(()=>hi(Bu.object({environment:Bu.union([Bu.object({type:Bu.literal("containerAuto"),fileIds:Bu.array(Bu.string()).optional(),memoryLimit:Bu.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:Bu.discriminatedUnion("type",[Bu.object({type:Bu.literal("disabled")}),Bu.object({type:Bu.literal("allowlist"),allowedDomains:Bu.array(Bu.string()),domainSecrets:Bu.array(Bu.object({domain:Bu.string(),name:Bu.string(),value:Bu.string()})).optional()})]).optional(),skills:Xg0}),Bu.object({type:Bu.literal("containerReference"),containerId:Bu.string()}),Bu.object({type:Bu.literal("local").optional(),skills:Bu.array(Bu.object({name:Bu.string(),description:Bu.string(),path:Bu.string()})).optional()})]).optional()}))),Jg0=yl({id:"openai.shell",inputSchema:hEu,outputSchema:Emi}),Ug0=Ti(()=>hi(ad.object({execution:ad.enum(["server","client"]).optional(),description:ad.string().optional(),parameters:ad.record(ad.string(),ad.unknown()).optional()}))),vmi=Ti(()=>hi(ad.object({arguments:ad.unknown().optional(),call_id:ad.string().nullish()}))),rmi=Ti(()=>hi(ad.object({tools:ad.array(ad.record(ad.string(),ad.unknown()))}))),Tg0=yl({id:"openai.tool_search",inputSchema:vmi,outputSchema:rmi}),Zg0=Ti(()=>hi(cn.object({externalWebAccess:cn.boolean().optional(),filters:cn.object({allowedDomains:cn.array(cn.string()).optional()}).optional(),searchContextSize:cn.enum(["low","medium","high"]).optional(),userLocation:cn.object({type:cn.literal("approximate"),country:cn.string().optional(),city:cn.string().optional(),region:cn.string().optional(),timezone:cn.string().optional()}).optional()}))),Ig0=Ti(()=>hi(cn.object({}))),Bg0=Ti(()=>hi(cn.object({action:cn.discriminatedUnion("type",[cn.object({type:cn.literal("search"),query:cn.string().optional()}),cn.object({type:cn.literal("openPage"),url:cn.string().nullish()}),cn.object({type:cn.literal("findInPage"),url:cn.string().nullish(),pattern:cn.string().nullish()})]).optional(),sources:cn.array(cn.discriminatedUnion("type",[cn.object({type:cn.literal("url"),url:cn.string()}),cn.object({type:cn.literal("api"),name:cn.string()})])).optional()}))),Qg0=yl({id:"openai.web_search",inputSchema:Ig0,outputSchema:Bg0}),Pg0=Ti(()=>hi(Cf.object({searchContextSize:Cf.enum(["low","medium","high"]).optional(),userLocation:Cf.object({type:Cf.literal("approximate"),country:Cf.string().optional(),city:Cf.string().optional(),region:Cf.string().optional(),timezone:Cf.string().optional()}).optional()}))),Ag0=Ti(()=>hi(Cf.object({}))),Gg0=Ti(()=>hi(Cf.object({action:Cf.discriminatedUnion("type",[Cf.object({type:Cf.literal("search"),query:Cf.string().optional()}),Cf.object({type:Cf.literal("openPage"),url:Cf.string().nullish()}),Cf.object({type:Cf.literal("findInPage"),url:Cf.string().nullish(),pattern:Cf.string().nullish()})]).optional()}))),Wg0=yl({id:"openai.web_search_preview",inputSchema:Ag0,outputSchema:Gg0}),wmi=ml.lazy(()=>ml.union([ml.string(),ml.number(),ml.boolean(),ml.null(),ml.array(wmi),ml.record(ml.string(),wmi)])),kg0=Ti(()=>hi(ml.object({serverLabel:ml.string(),allowedTools:ml.union([ml.array(ml.string()),ml.object({readOnly:ml.boolean().optional(),toolNames:ml.array(ml.string()).optional()})]).optional(),authorization:ml.string().optional(),connectorId:ml.string().optional(),headers:ml.record(ml.string(),ml.string()).optional(),requireApproval:ml.union([ml.enum(["always","never"]),ml.object({never:ml.object({toolNames:ml.array(ml.string()).optional()}).optional()})]).optional(),serverDescription:ml.string().optional(),serverUrl:ml.string().optional()}).refine((i)=>i.serverUrl!=null||i.connectorId!=null,"One of serverUrl or connectorId must be provided."))),jg0=Ti(()=>hi(ml.object({}))),Sg0=Ti(()=>hi(ml.object({type:ml.literal("call"),serverLabel:ml.string(),name:ml.string(),arguments:ml.string(),output:ml.string().nullish(),error:ml.union([ml.string(),wmi]).optional()}))),zg0=yl({id:"openai.mcp",inputSchema:jg0,outputSchema:Sg0}),Kg0={applyPatch:tg0,customTool:gg0,codeInterpreter:cg0,fileSearch:vg0,imageGeneration:Og0,localShell:yg0,shell:Jg0,webSearchPreview:Wg0,webSearch:Yg0,mcp:bg0,toolSearch:Fg0};Lg0=_mi.object({itemId:_mi.string().nullish(),reasoningEncryptedContent:_mi.string().nullish()});Lq=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(Lq),F.record(F.string(),Lq.optional())])),Cg0=Ti(()=>hi(F.union([F.object({type:F.literal("response.output_text.delta"),item_id:F.string(),delta:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish()}),F.object({type:F.enum(["response.completed","response.incomplete"]),response:F.object({incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.failed"),response:F.object({error:F.object({code:F.string().nullish(),message:F.string()}).nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).nullish(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.created"),response:F.object({id:F.string(),created_at:F.number(),model:F.string(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.output_item.added"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),namespace:F.string().nullish()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("file_search_call"),id:F.string()}),F.object({type:F.literal("image_generation_call"),id:F.string()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),container_id:F.string(),code:F.string().nullable(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable(),status:F.string()}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string()}),F.object({type:F.literal("mcp_approval_request"),id:F.string()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string()}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])}),F.object({type:F.literal("response.output_item.done"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),status:F.literal("completed"),namespace:F.string().nullish()}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string(),status:F.literal("completed")}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.literal("completed")}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])}),F.object({type:F.literal("response.function_call_arguments.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.custom_tool_call_input.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.image_generation_call.partial_image"),item_id:F.string(),output_index:F.number(),partial_image_b64:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.done"),item_id:F.string(),output_index:F.number(),code:F.string()}),F.object({type:F.literal("response.output_text.annotation.added"),annotation:F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})])}),F.object({type:F.literal("response.reasoning_summary_part.added"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.reasoning_summary_text.delta"),item_id:F.string(),summary_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.reasoning_summary_part.done"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.delta"),item_id:F.string(),output_index:F.number(),delta:F.string(),obfuscation:F.string().nullish()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.done"),item_id:F.string(),output_index:F.number(),diff:F.string()}),F.object({type:F.literal("error"),sequence_number:F.number(),error:F.object({type:F.string(),code:F.string(),message:F.string(),param:F.string().nullish()})}),F.object({type:F.string()}).loose().transform((i)=>({type:"unknown_chunk",message:i.type}))]))),eg0=Ti(()=>hi(F.object({id:F.string().optional(),created_at:F.number().optional(),error:F.object({message:F.string(),type:F.string(),param:F.string().nullish(),code:F.string()}).nullish(),model:F.string().optional(),output:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("message"),role:F.literal("assistant"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish(),content:F.array(F.object({type:F.literal("output_text"),text:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish(),annotations:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})]))}))}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("function_call"),call_id:F.string(),name:F.string(),arguments:F.string(),id:F.string(),namespace:F.string().nullish()}),F.object({type:F.literal("custom_tool_call"),call_id:F.string(),name:F.string(),input:F.string(),id:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string().optional()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish(),summary:F.array(F.object({type:F.literal("summary_text"),text:F.string()}))}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),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"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),Lq.optional()))})])).optional(),service_tier:F.string().nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).optional()}))),Mg0=["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"],Xu1=["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",...Mg0],phu=Ti(()=>hi(Gn.object({conversation:Gn.string().nullish(),include:Gn.array(Gn.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:Gn.string().nullish(),logprobs:Gn.union([Gn.boolean(),Gn.number().min(1).max(EEu)]).optional(),maxToolCalls:Gn.number().nullish(),metadata:Gn.any().nullish(),parallelToolCalls:Gn.boolean().nullish(),previousResponseId:Gn.string().nullish(),promptCacheKey:Gn.string().nullish(),promptCacheRetention:Gn.enum(["in_memory","24h"]).nullish(),reasoningEffort:Gn.string().nullish(),reasoningSummary:Gn.string().nullish(),safetyIdentifier:Gn.string().nullish(),serviceTier:Gn.enum(["auto","flex","priority","default"]).nullish(),store:Gn.boolean().nullish(),passThroughUnsupportedFiles:Gn.boolean().optional(),strictJsonSchema:Gn.boolean().nullish(),textVerbosity:Gn.enum(["low","medium","high"]).nullish(),truncation:Gn.enum(["auto","disabled"]).nullish(),user:Gn.string().nullish(),systemMessageMode:Gn.enum(["system","developer","remove"]).optional(),forceReasoning:Gn.boolean().optional(),allowedTools:Gn.object({toolNames:Gn.array(Gn.string()).min(1),mode:Gn.enum(["auto","required"]).optional()}).optional()})));h60=Ti(()=>hi(hmi.object({instructions:hmi.string().nullish(),speed:hmi.number().min(0.25).max(4).default(1).nullish()}))),v60=Ti(()=>hi(Bf.object({text:Bf.string(),language:Bf.string().nullish(),duration:Bf.number().nullish(),words:Bf.array(Bf.object({word:Bf.string(),start:Bf.number(),end:Bf.number()})).nullish(),segments:Bf.array(Bf.object({id:Bf.number(),seek:Bf.number(),start:Bf.number(),end:Bf.number(),text:Bf.string(),tokens:Bf.array(Bf.number()),temperature:Bf.number(),avg_logprob:Bf.number(),compression_ratio:Bf.number(),no_speech_prob:Bf.number()})).nullish()}))),r60=Ti(()=>hi(P5.object({include:P5.array(P5.string()).optional(),language:P5.string().optional(),prompt:P5.string().optional(),temperature:P5.number().min(0).max(1).default(0).optional(),timestampGranularities:P5.array(P5.enum(["word","segment"])).default(["segment"]).optional()}))),lEu={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"};Pu1=Cq()});function D60(i){let t=JSON.parse(i);if(!t.baseUrl||typeof t.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let u=t.baseUrl.replace(/\/+$/,"");if(!u.endsWith("/v1"))u+="/v1";return{baseUrl:u,apiKey:t.apiKey??""}}var O60="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",vEu;var rEu=w(()=>{Omi();vEu={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:O60},supportedMethods:["api-key"],create(i){let{baseUrl:t,apiKey:u}=D60(i),l=Cq({baseURL:t,apiKey:u||"not-needed",name:"openai-compatible"}),n=Object.assign((...f)=>l.chat(...f),l,{languageModel:l.chat});return{info:this.info,aiSdk:n,async listModels(){let f={};if(u)f.Authorization=`Bearer ${u}`;let c=await fetch(`${t}/models`,{headers:f,signal:AbortSignal.timeout(15000)});if(!c.ok)throw Error(`OpenAI-compatible listModels failed: ${c.status}`);return(await c.json()).data.map((d)=>({providerId:"openai-compatible",modelId:d.id,title:d.id,description:d.owned_by?`Owned by ${d.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function G4(){return{...Qt().aiGatewayEnabled&&{deco:KC},anthropic:thu,google:Hhu,openrouter:Bci,"openai-compatible":vEu}}var c2=w(()=>{uhu();Rhu();rEu();iei();uei();U0()});function y60(i){return i.includes("/")?i.split("/").slice(1).join("/"):i}function X60(i){let t=i.supported_parameters.includes("tools"),u=i.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:y60(i.id),title:i.name,description:i.description||null,logo:null,capabilities:[...new Set([...i.architecture.input_modalities.map((l)=>l==="image"?"vision":l),...i.architecture.output_modalities,...t?["tools"]:[],...u?["reasoning"]:[]])],limits:{contextWindow:i.context_length,maxOutputTokens:i.top_provider.max_completion_tokens||null},costs:{input:i.pricing.prompt,output:i.pricing.completion}}}function xEu(i){let t=new Map;for(let u of i){let l={description:u.description,capabilities:u.capabilities,limits:u.limits,costs:u.costs};t.set(u.modelId,l);let n=u.modelId.replace(/\./g,"-");if(n!==u.modelId)t.set(n,l)}return t}async function N60(i){if(i){let t=await i.get(wEu,"openrouter");if(t)return xEu(t)}try{let t=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!t.ok)return new Map;let{data:u}=await t.json(),l=u.map(X60);if(i)await i.set(wEu,"openrouter",l);return xEu(l)}catch{return new Map}}function J60(i){let t=i.replace(/\./g,"-"),u=i.replace(/-\d{8}$/,""),l=u.replace(/\./g,"-");return[...new Set([i,t,u,l])]}function U60(i){return i.providerId==="anthropic"||i.modelId.startsWith("anthropic/")}function OEu(i,t){if(U60(t)&&i.includes("vision")&&!i.includes("file"))return[...i,"file"];return i}function T60(i,t){return i.map((u)=>{let n=J60(u.modelId).map(($)=>t.get($)).find(Boolean),f=u.capabilities.length?u.capabilities:n?.capabilities??[],c=OEu(f,u);if(!n)return c===f?u:{...u,capabilities:c};return{...u,description:u.description??n.description??null,capabilities:c,limits:u.limits??n.limits??null,costs:u.costs??n.costs??null}})}class ymi{storage;cache;constructor(i,t){this.storage=i;this.cache=t}async activate(i,t){let{keyInfo:u,apiKey:l}=await this.storage.resolve(i,t),n=G4()[u.providerId];if(!n)throw Error(`Unknown provider: ${u.providerId}`);return n.create(l)}async listModels(i,t){let{keyInfo:u,apiKey:l}=await this.storage.resolve(i,t),n=u.providerId,f=G4()[n];if(!f)throw Error(`Unknown provider: ${n}`);if(this.cache){let h=await this.cache.get(t,n);if(h)return DEu(h,f,l)}let $=await f.create(l).listModels(),d=new Set,_=$.filter((h)=>{if(h.deprecated)return!1;if(d.has(h.modelId))return!1;return d.add(h.modelId),!0});if(n!=="openrouter"){let h=await N60(this.cache);_=T60(_,h)}else _=_.map((h)=>({...h,capabilities:OEu(h.capabilities,h)}));let g=_.map((h)=>({...h,providerId:n}));if(this.cache)await this.cache.set(t,n,g);return DEu(g,f,l)}}function DEu(i,t,u){let n=t.create(u).asyncResearch;if(!n)return i;return i.map((f)=>n.canHandle(f.modelId)?{...f,asyncResearch:!0}:f)}var wEu="_global";var yEu=w(()=>{c2()});import{SpanStatusCode as XEu}from"@opentelemetry/api";function F60(i){if(!i)return;try{let t=JSON.parse(i);if(typeof t!=="object"||t===null||Array.isArray(t))return;let u={};for(let[l,n]of Object.entries(t))if(typeof n==="string")u[l]=n;return Object.keys(u).length>0?u:void 0}catch{return}}function Z60(i,t){for(let[u,l]of Object.entries(t)){let n=i[u];if(!n||n.length===0){let f=i["*"];if(!f||f.length===0)return!1;if(f.includes("*"))continue;for(let c of l)if(!f.includes(c))return!1;continue}if(n.includes("*"))continue;for(let f of l)if(!n.includes(f))return!1}return!0}function Xmi(i){let{auth:t,headers:u,role:l,permissions:n,userId:f}=i,c=t.api.hasPermission;return{hasPermission:async($,d)=>{if(l&&Zv.includes(l))return!0;if(n)return Z60(n,$);let _=Edu(d?.role,$,vdu());if(_!=="fallback")return _==="grant";if(!c)return console.error("[Auth] hasPermission API not available"),!1;let g=d?.organizationId?{organizationId:d.organizationId}:{};try{if((await c({headers:u,body:{permission:$,...g}}))?.success===!0)return!0;let E=cdu($);return(await c({headers:u,body:{permission:E,...g}}))?.success===!0}catch(h){let E=h?.statusCode;if(E!==401&&E!==403)console.error("[Auth] Permission check failed:",h instanceof Error?h.message:String(h));return!1}},organization:{create:async($)=>{return t.api.createOrganization({headers:u,body:$})},update:async($)=>{return t.api.updateOrganization({headers:u,body:$})},delete:async($)=>{await t.api.deleteOrganization({headers:u,body:{organizationId:$}})},get:async($)=>{return t.api.getFullOrganization({headers:u,query:$?{organizationId:$}:void 0})},list:async($)=>{return(await t.api.listOrganizations({headers:u,query:$?{userId:$}:void 0})).filter((_)=>!M3(_))},addMember:async($)=>{return t.api.addMember({headers:u,body:$})},removeMember:async($)=>{await t.api.removeMember({headers:u,body:$})},listMembers:async($)=>{return t.api.listMembers({headers:u,query:$?{organizationId:$.organizationId,limit:$.limit,offset:$.offset}:void 0})},updateMemberRole:async($)=>{return t.api.updateMemberRole({headers:u,body:$})}},apiKey:{create:async($)=>{return t.api.createApiKey({body:{...$,userId:f}})},list:async()=>{return t.api.listApiKeys({headers:u})},update:async($)=>{return t.api.updateApiKey({body:{...$,userId:f}})},delete:async($)=>{await t.api.deleteApiKey({headers:u,body:{keyId:$}})}}}}async function Nmi(i,t,u){if(E$i.includes(u))return;let l=await i.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",t).where("role","=",u).executeTakeFirst();if(!l?.permission)return;try{return JSON.parse(l.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${u}`);return}}async function JEu(i,t,u,l){let n=NEu.get(u);if(n&&Date.now()-n.at<I60)return n.archived;let f=await t.measure(l,()=>i.selectFrom("organization").select(["metadata"]).where("id","=",u).executeTakeFirst()),c=M3(f);return NEu.set(u,{archived:c,at:Date.now()}),c}async function B60(i,t,u,l=TEu,n){let f=i.headers.get("Authorization");try{let c=new Headers(i.headers);c.set("X-MCP-Session-Auth","true");let $=await l.measure("auth_get_mcp_session",()=>t.api.getMcpSession({headers:c}));if($){let d=$.userId,_=i.headers.get("x-org-id"),g=i.headers.get("x-org-slug"),h=await l.measure("auth_query_membership",()=>{let x=u.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","=",d);if(_)return x.where("organization.id","=",_).executeTakeFirst();if(g)return x.where("organization.slug","=",g).executeTakeFirst();return x.executeTakeFirst()});if(M3({metadata:h?.orgMetadata}))throw Error("Organization is archived");let E=h?.role,v=h?{id:h.orgId,slug:h.orgSlug,name:h.orgName}:void 0;if(h&&E)n?.set(d,h.organizationId,E);let r;if(h&&E)r=await l.measure("auth_fetch_role_permissions",()=>Nmi(u,h.organizationId,E));return{user:{id:d,role:E},role:E,permissions:r,organization:v}}}catch(c){console.error("[Auth] OAuth session check failed:",c)}if(f?.startsWith("Bearer ")){let c=f.replace("Bearer ","").trim();try{let $=await l.measure("auth_verify_mesh_jwt",()=>inu(c));if($){let d,_=$.metadata?.organizationId;if($.sub&&_){let E=n?.get($.sub,_);if(E)d=E;else if(d=(await l.measure("auth_query_membership",()=>u.selectFrom("member").select(["member.role"]).where("member.userId","=",$.sub).where("member.organizationId","=",_).executeTakeFirst()))?.role,d)n?.set($.sub,_,d)}let g,h=$.metadata?.organizationId;if(h){let E=$.metadata?.organizationName,v=$.metadata?.organizationSlug;if(E||v){if(await JEu(u,l,h,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};g={id:h,name:E,slug:v}}else{let r=await l.measure("auth_query_org_for_mesh_jwt",()=>u.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",h).executeTakeFirst());if(M3(r))return{user:void 0};g=r?{id:r.id,slug:r.slug,name:r.name}:{id:h}}}return{user:{id:$.sub,connectionId:$.metadata?.connectionId,role:d},role:d,permissions:$.permissions,organization:g}}}catch{}try{let $=await l.measure("auth_verify_api_key",()=>t.api.verifyApiKey({body:{key:c}}));if($?.valid&&$.key){let d=$.key.metadata?.organization;if(d?.id&&await JEu(u,l,d.id,"auth_query_org_for_api_key"))return{user:void 0};let _=$.key.permissions,g,h=$.key.userId;if(h&&d?.id){let E=n?.get(h,d.id);if(E)g=E;else if(g=(await l.measure("auth_query_membership",()=>u.selectFrom("member").select(["member.role"]).where("member.userId","=",h).where("member.organizationId","=",d.id).executeTakeFirst()))?.role,h&&g)n?.set(h,d.id,g)}return{apiKeyId:$.key.id,user:{id:$.key.userId,role:g},role:g,permissions:_,organization:d?{id:d.id,slug:d.slug,name:d.name}:void 0}}}catch($){let d=$;if(d.body?.code==="INVALID_API_KEY"||d.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL(i.url).pathname,method:i.method,ua:i.headers.get("user-agent")??void 0,ip:i.headers.get("x-forwarded-for")??i.headers.get("x-real-ip")??void 0,tokenPrefix:c.slice(0,8)});else console.error("[Auth] API key check failed:",d)}}try{let c=new Headers(i.headers);c.delete("Authorization");let $=await l.measure("auth_get_session",()=>t.api.getSession({headers:c}));if($){let d,_,g=i.headers.get("x-org-id"),h=i.headers.get("x-org-slug");if(!g&&!h&&i.method.toUpperCase()==="GET")try{let E=new URL(i.url).searchParams;g=E.get("x-org-id"),h=E.get("x-org-slug")}catch{}if(g||h){let E=await l.measure("auth_query_membership_from_header",()=>{let v=u.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","=",$.user.id);if(g)v=v.where("organization.id","=",g);else if(h)v=v.where("organization.slug","=",h);return v.executeTakeFirst()});if(M3({metadata:E?.orgMetadata}))throw Error("Organization is archived");if(E)d={id:E.orgId,slug:E.orgSlug,name:E.orgName},_=E.role}else if($.session.activeOrganizationId){let E=await l.measure("auth_get_full_organization",()=>t.api.getFullOrganization({headers:c}).catch(()=>null));if(E){if(M3(E))throw Error("Organization is archived");d={id:E.id,slug:E.slug,name:E.name},_=E.members?.find((r)=>r.userId===$.user.id)?.role}else d={id:$.session.activeOrganizationId,slug:"",name:""}}return{user:{id:$.user.id,email:$.user.email,emailVerified:!!$.user.emailVerified,name:$.user.name,image:$.user.image??void 0,role:_},role:_,organization:d}}}catch(c){let $=c;console.error("[Auth] Session check failed:",JSON.stringify({message:$.message,body:$.body,stack:$.stack},null,2))}return{user:void 0}}async function FEu(i){let t=new CO(i.encryption.key),u=Qt(),l=u.clickhouseUrl,n=!!l,f=!n&&!!u.monitoringS3Bucket,c=n?"clickhouse":"duckdb",{resolve:$}=await import("path"),d=$(p6()),_=$(ar()),g=(J)=>`read_ndjson('${d}/${J}/**/*.ndjson', auto_detect=true)`,h=(J)=>`read_ndjson('${_}/${J}/**/*.ndjson', auto_detect=true)`,E,v,r,x,O=!1;if(i.monitoringEngines)E=i.monitoringEngines.monitoringEngine,v=i.monitoringEngines.metricEngine,r=g,x=h;else if(n){let J=u.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(u.clickhouseMaxMemoryUsage)}:void 0;E=new UM(l,J),v=new UM(l,J),r=(T)=>"studio_monitoring_logs",x=(T)=>"studio_monitoring_logs"}else if(f){let J=u.monitoringS3AccessKeyId??u.s3AccessKeyId,T=u.monitoringS3SecretAccessKey??u.s3SecretAccessKey,Q=u.duckdbExtensionDirectory;if(!J||!T||!Q)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 B={endpoint:u.monitoringS3Endpoint??u.s3Endpoint??"storage.googleapis.com",region:u.monitoringS3Region??u.s3Region,accessKeyId:J,secretAccessKey:T,extensionDirectory:Q},P=new JM(B);E=P,v=P;let H=k$u({bucket:u.monitoringS3Bucket,prefix:u.monitoringS3Prefix??""});r=(j)=>H,x=(j)=>H,O=!0}else{let{engine:J}=await Oqi({basePath:p6()}),{engine:T}=await Oqi({basePath:ar()});E=J,v=T,r=g,x=h}let y=new vS(i.db),X=new GM(i.db),N=new IM(i.db),U={connections:new LC(i.db,t),organizationSettings:new yqi(i.db),monitoring:new Hei(E,r,v,x,c,O),virtualMcps:new nj(i.db),users:new Aqi(i.db),tags:new Pqi(i.db),virtualMcpPluginConfigs:new Xqi(i.db),aiProviderKeys:new RC(i.db,t,i.providerKeyCache),secrets:new sqi(i.db,t),orgFileConfigs:new iVi(i.db,t),orgFsEntries:new vC(i.db),oauthPkceStates:new tVi(i.db),automations:M4i(i.db),triggerCallbackTokens:new FM(i.db),orgSsoConfig:new Fqi(i.db,t),orgSsoSessions:new Zqi(i.db),registry:{items:new nS(i.db),publishRequests:new fS(i.db),publishApiKeys:new cS(i.db),monitorRuns:new i$i(i.db),monitorResults:new t$i(i.db),monitorConnections:new u$i(i.db)},brandContext:new ZM(i.db),organizationDomains:new r5(i.db),kv:N,interests:new Tqi(N)};return async(J,T)=>{let Q=T?.timings??TEu,B=rS(),P=J?await i.observability.tracer.startActiveSpan("studio.auth",async(_i)=>{try{let Oi=await B60(J,i.auth,i.db,Q,i.memberRoleCache);return _i.setStatus({code:XEu.OK}),Oi}catch(Oi){throw _i.setStatus({code:XEu.ERROR,message:Oi.message}),_i.recordException(Oi),Oi}finally{_i.end()}}):{user:void 0},H=J?.headers.get("x-caller-id")??P.user?.connectionId??void 0,j=Xmi({auth:i.auth,headers:J?.headers??new Headers,role:P.role,permissions:P.permissions,userId:P.user?.id}),k={user:P.user};if(P.apiKeyId)k.apiKey={id:P.apiKeyId,name:"",userId:""};let m=P.organization,S=J?Qt().baseUrl??`${new URL(J.url).origin}`:Rc(),M=new Xy(i.auth,k.user?.id,void 0,j,P.role,"self",void 0,m?.id),p={...U,virtualMcps:A0u(U.virtualMcps),threads:new Cqi(y,m?.id),asyncResearchJobs:new mqi(X,m?.id)},s=new ymi(p.aiProviderKeys,i.modelListCache),$i=b$(),e=!m?null:$i?F_($i,m.id):new vv(m.id,S),fi=m&&e?new Qx(e,p.orgFsEntries,m.id):null;cGi(p,{objectStorage:e,baseUrl:S,orgSlug:m?.slug});let a={timings:Q,auth:k,connectionId:H,organization:m,storage:p,vault:t,authInstance:i.auth,boundAuth:j,access:M,db:i.db,tracer:i.observability.tracer,meter:i.observability.meter,baseUrl:S,objectStorage:e,orgFs:fi,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(Q60.map((_i)=>[_i,J?.headers.get(_i)??null]).filter(([_i,Oi])=>Oi!==null)),userAgent:J?.headers.get("x-mesh-client")||J?.headers.get("User-Agent")||void 0,ipAddress:(J?.headers.get("CF-Connecting-IP")||J?.headers.get("X-Forwarded-For"))??void 0,properties:F60(J?.headers.get("x-mesh-properties"))},eventBus:i.eventBus,linkClaimRegistry:i.linkClaimRegistry,publishLinkControlFrame:i.publishLinkControlFrame,aiProviders:s,createMCPProxy:async(_i)=>{return await gdu(_i,a)},invalidateMemberRole:i.memberRoleCache?(_i,Oi)=>i.memberRoleCache.invalidate(_i,Oi):void 0,getOrCreateClient:B,pendingRevalidations:[],firecrawlApiKey:Qt().firecrawlApiKey};return a}}function ydi(i,t){i.storage.threads.setOrganizationId(t.id),i.storage.asyncResearchJobs.setOrganizationId(t.id);let u=b$();i.objectStorage=u?F_(u,t.id):new vv(t.id,i.baseUrl),i.orgFs=new Qx(i.objectStorage,i.storage.orgFsEntries,t.id),cGi(i.storage,{objectStorage:i.objectStorage,baseUrl:i.baseUrl,orgSlug:t.slug??void 0})}var I60=60000,NEu,UEu,Vh,TEu,Q60;var bS=w(()=>{qO();Qci();U0();Ud();fei();yei();l1u();j$u();U_();S$u();Nqi();Uqi();p$u();idu();dS();h$i();Jy();Rqi();eqi();oqi();O$i();nei();pqi();Ndu();ILi();EC();yEu();Sw();dC();Cui();NEu=new Map;Vh={set:(i)=>{UEu=i},create:async(i,t)=>{return await UEu(i,t)}},TEu={measure:async(i,t)=>{return await t()}},Q60=["x-hub-signature-256"]});function Umi(i){return i?`/api/${i}`:""}function ZEu(i){let u=new URL(i).pathname;if(u.endsWith("/"))u=u.slice(0,-1);let l=(n)=>{let f=new URL(i);return f.pathname=n,f.toString()};return[l(`${u}/.well-known/oauth-protected-resource`),l(`/.well-known/oauth-protected-resource${u}`),l("/.well-known/oauth-protected-resource")]}function IEu(i){let u=new URL(i).pathname;if(u.endsWith("/"))u=u.slice(0,-1);let l=u!==""&&u!=="/",n=(f)=>{let c=new URL(i);return c.pathname=f,c.toString()};if(l)return[n(`/.well-known/oauth-authorization-server${u}`),n(`/.well-known/openid-configuration${u}`),n(`${u}/.well-known/openid-configuration`)];return[n("/.well-known/oauth-authorization-server"),n("/.well-known/openid-configuration")]}function BEu(i){return"issuer"in i&&!("resource"in i)&&(("authorization_endpoint"in i)||("token_endpoint"in i))}function QEu(i){let t=i.toLowerCase();return t.includes("resource_metadata=")||t.includes("invalid_token")||t.includes("oauth")}function YEu(i){let t=i.message?.toLowerCase()??"";return i.status===401||i.code===401||(i.message?.includes("401")??!1)||t.includes("unauthorized")||t.includes("invalid_token")||t.includes("api key required")||t.includes("api-key required")}function PEu(i,{proxyResourceUrl:t,proxyAuthServer:u}){return{...i,resource:t,authorization_servers:[u]}}function Tmi({proxyResourceUrl:i,proxyAuthServer:t,scopesSupported:u=["*"]}){return{resource:i,authorization_servers:[t],bearer_methods_supported:["header"],scopes_supported:u}}function AEu(i){return"scopes_supported"in i&&Array.isArray(i.scopes_supported)&&i.scopes_supported.length>0?i.scopes_supported:["*"]}function GEu(i,t){return{...i,authorization_endpoint:i.authorization_endpoint?`${t}/authorize`:void 0,token_endpoint:i.token_endpoint?`${t}/token`:void 0,registration_endpoint:i.registration_endpoint?`${t}/register`:void 0}}function WEu({origin:i,prefix:t,connectionId:u}){return`Bearer realm="mcp",resource_metadata="${i}${t}/mcp/${u}/.well-known/oauth-protected-resource"`}var Jmi;var kEu=w(()=>{Jmi=[404,401,406]});async function Y60(i,t,u){return(await t.storage.connections.findById(i,u))?.connection_url??null}async function jEu(i,t={}){try{let u=await Imi(i,{method:"POST",headers:{...t,"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(u.status===401){let l=u.headers.get("WWW-Authenticate");if(l){if(QEu(l))return l}if(await P60(i))return'Bearer realm="mcp"'}return null}catch{return null}}async function P60(i){try{let t=new URL(i),u=new URL("/.well-known/oauth-authorization-server",t.origin),l=await Imi(u.toString(),{method:"GET",headers:{Accept:"application/json"}});if(l.ok){let n=await l.json();if(n.authorization_endpoint||n.token_endpoint||n.issuer)return!0}return!1}catch{return!1}}async function KS(i){let t=ZEu(i),u;for(let l=0;l<t.length;l++){if(u=await REu(t[l],{method:"GET",headers:{Accept:"application/json"}}),u.ok)return u;if(l<t.length-1&&!Jmi.includes(u.status))return u}return u}async function A60(i){let t;try{t=new URL(i).origin}catch{return null}try{let u=await KS(i);if(u.ok){let l=await u.json();if(l.authorization_servers?.[0])return l.authorization_servers[0]}}catch{}return t}async function SEu(i){let t=i.get("meshContext");if(!t)t=await Vh.create(i.req.raw),i.set("meshContext",t);return t}async function Zmi({error:i,reqUrl:t,connectionId:u,connectionUrl:l,headers:n,orgSlug:f}){if(!YEu(i))return null;if(Boolean(await jEu(l,n)))return new Response(null,{status:401,headers:{"WWW-Authenticate":WEu({origin:t.origin,prefix:Umi(f),connectionId:u})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function Imi(i,t,u=HEu){return fetch(i,{...t,signal:AbortSignal.timeout(u)})}class Fmi{response;constructor(i){this.response=i}}async function REu(i,t,{attempts:u=3,timeoutMs:l=HEu}={}){try{return await Tr(async()=>{let n=await Imi(i,t,l);if(n.status>=500)throw new Fmi(n);return n},{maxAttempts:u,minTimeout:150,multiplier:2,jitter:0})}catch(n){if(n instanceof H6){if(n.cause instanceof Fmi)return n.cause.response;throw n.cause}throw n}}async function Mq(i){let t=IEu(i),u=null;for(let l of t){if(u=await REu(l,{method:"GET",headers:{Accept:"application/json"}}),u.ok)return u;if(u.status!==404&&u.status!==401)return u}return u}var zEu=(i)=>{if(!(i.hostname==="localhost"||i.hostname.endsWith(".localhost")||i.hostname==="127.0.0.1"))i.protocol="https:";return i},eq=async(i)=>{let t=i.req.param("connectionId"),u=await SEu(i),l=zEu(new URL(i.req.url)),n=i.req.param("org")??u.organization?.slug,f;if(n)if(u.organization?.id&&u.organization.slug===n)f=u.organization.id;else{let g=await u.db.selectFrom("organization").select("id").where("slug","=",n).executeTakeFirst();if(!g)return i.json({error:"Connection not found"},404);f=g.id}let c=await Y60(t,u,f);if(!c)return i.json({error:"Connection not found"},404);let $=Umi(n),d=`${l.origin}${$}/mcp/${t}`,_=`${l.origin}/oauth-proxy/${t}`;try{let g=await KS(c);if(!g.ok&&Jmi.includes(g.status)){if(await jEu(c)){let r=Tmi({proxyResourceUrl:d,proxyAuthServer:_});return new Response(JSON.stringify(r),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(g.body,{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}})}if(!g.ok)return new Response(g.body,{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}});let h=await g.json();if(BEu(h)){let v=Tmi({proxyResourceUrl:d,proxyAuthServer:_,scopesSupported:AEu(h)});return new Response(JSON.stringify(v),{status:200,headers:{"Content-Type":"application/json"}})}let E=PEu(h,{proxyResourceUrl:d,proxyAuthServer:_});return new Response(JSON.stringify(E),{status:g.status,statusText:g.statusText,headers:{"Content-Type":"application/json"}})}catch(g){let h=g;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",h),i.json({error:"Failed to proxy OAuth metadata",message:h.message},502)}},bEu=()=>{let i=new St;return i.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(t)=>eq(t)),i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(t)=>eq(t)),i},KEu=()=>{let i=new St;return i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(t)=>eq(t)),i},HEu=4000,G60=async(i)=>{let t=i.req.param("connectionId"),u=await SEu(i),l=await u.storage.connections.findById(t);if(!l?.connection_url)return i.json({error:"Connection not found or no auth server"},404);let n=await A60(l.connection_url);if(!n)return i.json({error:"Connection not found or no auth server"},404);let f=await u.db.selectFrom("organization").select("slug").where("id","=",l.organization_id).executeTakeFirst();try{let c=await Mq(n);if(!c.ok)return new Response(c.body,{status:c.status,statusText:c.statusText,headers:{"Content-Type":"application/json"}});let $=await c.json(),d=zEu(new URL(i.req.url)),_=f?.slug?`${d.origin}/api/${f.slug}/oauth-proxy/${t}`:`${d.origin}/oauth-proxy/${t}`,g=GEu($,_);return new Response(JSON.stringify(g),{status:200,headers:{"Content-Type":"application/json"}})}catch(c){let $=c;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",$),i.json({error:"Failed to proxy auth server metadata",message:$.message},502)}},LEu=()=>{let i=new St;return i.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",G60),i};var qq=w(()=>{nn();bS();H1();kEu()});async function HS(i){try{let t;try{let l=await KS(i);if(l.ok)t=(await l.json()).authorization_servers?.[0]}catch{}if(!t)t=new URL(i).origin;let u=await Mq(t);if(u.ok)return(await u.json()).token_endpoint??null;return null}catch{return null}}var Xdi=w(()=>{qq()});function Jdi(i){return!!i.refreshToken&&!!i.tokenEndpoint&&!!i.clientId}async function j60(i,t){let u=await mnu(i);if(!u.success||!u.accessToken){if(u.permanent===!0)await t.delete(i.connectionId);return null}return await t.upsert({connectionId:i.connectionId,accessToken:u.accessToken,refreshToken:u.refreshToken??i.refreshToken,scope:u.scope??i.scope,expiresAt:u.expiresIn?new Date(Date.now()+u.expiresIn*1000):null,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}),u.accessToken}function Udi(i,t){let u=Bmi.get(i.connectionId);if(u)return u;let l=Ndi.get(i.connectionId);if(l&&Date.now()<l.nextAttemptAt)return Promise.resolve(null);let n=j60(i,t).then((f)=>{if(f)Ndi.delete(i.connectionId);else{let c=Ndi.get(i.connectionId)?.attempt??0,$=Nn(k60,W60,c,2,0.5);Ndi.set(i.connectionId,{attempt:c+1,nextAttemptAt:Date.now()+$})}return f}).finally(()=>{Bmi.delete(i.connectionId)});return Bmi.set(i.connectionId,n),n}async function RS(i){let{connectionId:t,connectionUrl:u,tokenStorage:l}=i,n=await l.get(t);if(!n)return{state:"missing",accessToken:null};let f=Jdi(n),c=f?i.bufferMs??Vq:0;if(!l.isExpired(n,c))return{state:"valid",accessToken:n.accessToken};if(!f)return await l.delete(t),{state:"expired_without_refresh",accessToken:null};let $=n.tokenEndpoint;if(u&&$?.includes("/oauth-proxy/")){let _=await HS(u);if(_)$=_}let d=await Udi({...n,tokenEndpoint:$},l);if(!d)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:d}}var Vq=300000,O$="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",Bmi,W60=30000,k60=300000,Ndi;var My=w(()=>{H1();onu();Xdi();Bmi=new Map,Ndi=new Map});class ef{db;vault;constructor(i,t){this.db=i;this.vault=t}async get(i){let t=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",i).executeTakeFirst();if(!t)return null;return this.decryptToken(t)}async upsert(i){let t=new Date().toISOString(),u=await this.vault.encrypt(i.accessToken),l=i.refreshToken?await this.vault.encrypt(i.refreshToken):null,n=i.clientSecret?await this.vault.encrypt(i.clientSecret):null;return await this.db.transaction().execute(async(f)=>{let c=await f.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",i.connectionId).executeTakeFirst();if(c)return await f.updateTable("downstream_tokens").set({accessToken:u,refreshToken:l,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:n,tokenEndpoint:i.tokenEndpoint,updatedAt:t}).where("id","=",c.id).execute(),{id:c.id,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:c.createdAt,updatedAt:t,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint};let $=Rn("dtok");return await f.insertInto("downstream_tokens").values({id:$,connectionId:i.connectionId,accessToken:u,refreshToken:l,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:n,tokenEndpoint:i.tokenEndpoint,createdAt:t,updatedAt:t}).execute(),{id:$,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:t,updatedAt:t,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}})}async delete(i){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",i).execute()}isExpired(i,t=0){if(!i.expiresAt)return!1;let l=(i.expiresAt instanceof Date?i.expiresAt:new Date(i.expiresAt)).getTime();if(Number.isNaN(l))return!0;return l-t<Date.now()}async decryptToken(i){let t=await this.vault.decrypt(i.accessToken),u=i.refreshToken?await this.vault.decrypt(i.refreshToken):null,l=i.clientSecret?await this.vault.decrypt(i.clientSecret):null;return{id:i.id,connectionId:i.connectionId,accessToken:t,refreshToken:u,scope:i.scope,expiresAt:i.expiresAt,createdAt:i.createdAt,updatedAt:i.updatedAt,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint}}}var kv=w(()=>{M_()});function S60(i){if(!i||typeof i!=="object"||Array.isArray(i))return CEu;let t=i;if(Object.values(t).some((u)=>typeof u!=="string"))return CEu;return t}function z60(i){if(typeof i!=="number"||!Number.isFinite(i)||!Number.isInteger(i)||i<=0)return;return i}function jv(i){let t=i.metadata?.repoScope;if(!t||typeof t.installationId!=="number"||!Number.isFinite(t.installationId)||!Number.isInteger(t.installationId)||t.installationId<=0||typeof t.owner!=="string"||typeof t.repo!=="string"||t.owner.length===0||t.repo.length===0)return null;let u=z60(t.repositoryId);return{sourceConnectionId:typeof t.sourceConnectionId==="string"?t.sourceConnectionId:void 0,installationId:t.installationId,repositoryId:u,owner:t.owner,repo:t.repo,permissions:S60(t.permissions),grantProvider:t.grantProvider==="github-mcp"?"github-mcp":void 0}}var CEu;var LS=w(()=>{CEu={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function b60(i,t){let u=i.organization?.id;if(!u)throw Error(O$);if(!t.sourceConnectionId)throw Error(O$);let l=await i.storage.connections.findById(t.sourceConnectionId,u);if(!l)throw Error(O$);let{clientFromConnection:n}=await Promise.resolve().then(() => (g$i(),eEu)),f=await n(l,i,!0);try{let c=await f.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:t.installationId,owner:t.owner,repo:t.repo,permissions:t.permissions}}),$=c.structuredContent?.token;if(c.isError||!$)throw Error(O$);let d=c.structuredContent?.expiresAt;return{accessToken:$,expiresAt:d?new Date(d):null}}finally{await f.close().catch(()=>{})}}async function K60(i,t,u,l){let n=await b60(i,u);return await l.upsert({connectionId:t,accessToken:n.accessToken,refreshToken:null,scope:null,expiresAt:n.expiresAt,clientId:null,clientSecret:null,tokenEndpoint:null}),n.accessToken}async function Tdi(i,t){let u=jv(t);if(!u)throw Error("Connection is not repo-scoped");if(!u.sourceConnectionId)throw Error(O$);let l=new ef(i.db,i.vault),n=await l.get(t.id);if(n&&!l.isExpired(n,Vq))return n.accessToken;let f=Qmi.get(t.id);if(f)return f;let c=K60(i,t.id,u,l).finally(()=>{Qmi.delete(t.id)});return Qmi.set(t.id,c),c}var Qmi;var Ymi=w(()=>{My();LS();kv();Qmi=new Map});import{SpanStatusCode as MEu}from"@opentelemetry/api";function H60(i){if(!i)return;let t={};for(let[u,l]of Object.entries(i))if(l&&typeof l==="object"&&!Array.isArray(l)&&"__binding"in l){let{__binding:n,...f}=l;t[u]=f}else t[u]=l;return t}async function Pmi(i,t,u){return t.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":i.id}},async(l)=>{try{let n=await R60(i,t,u);return l.setStatus({code:MEu.OK}),n}catch(n){throw l.setStatus({code:MEu.ERROR,message:n.message}),l.recordException(n),n}finally{l.end()}})}async function R60(i,t,u){let l=i.id,n=Wei(i.configuration_state,i.configuration_scopes),f=t.auth.user,c=f?.id??t.auth.apiKey?.userId??(u?i.created_by:void 0),[$,d]=c?await p0u({sub:c,user:{id:c,email:f?.email,name:f?.name,role:f?.role},metadata:{state:H60(i.configuration_state),meshUrl:t.baseUrl,connectionId:l,organizationId:t.organization?.id,organizationName:t.organization?.name,organizationSlug:t.organization?.slug},permissions:n}).then((r)=>[r,null]).catch((r)=>[null,r]):[null,Error("User ID required to issue configuration token")];if(d)console.error("Failed to issue configuration token:",$);let _=t.auth.user?.connectionId,g={..._?{"x-caller-id":_}:{},...t.metadata.wellKnownForwardableHeaders??{},"x-request-id":t.metadata.requestId},h=null;if(!!jv(i)?.sourceConnectionId)try{h=await Tdi(t,i)}catch(r){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:l,error:r.message})}else{let r=new ef(t.db,t.vault),x=await RS({connectionId:l,connectionUrl:i.connection_url,tokenStorage:r});if(x.accessToken)h=x.accessToken;else if(x.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${l} with no refresh capability`)}if(!h&&i.connection_token)h=i.connection_token;if(h)g.Authorization=`Bearer ${h}`;if($)g["x-mesh-token"]=$;return g}var qEu=w(()=>{kei();qO();My();kv();Ymi();LS()});function VEu(i){let t=new CC({command:i.command,args:i.args,env:i.env,cwd:i.cwd,stderr:"pipe"}),u=i.name||i.id,l="\x1B[2m",n="\x1B[0m";return t.stderr?.on("data",(f)=>{let c=f.toString().trimEnd();if(c)console.error(`${c} \x1B[2m[${u}]\x1B[0m`)}),t}var aEu=w(()=>{Dei()});var L60="mcp.mesh",CS;var mEu=w(()=>{q_();dS();k_();CS=class CS extends dk{options;constructor(i,t){super(i);this.options=t}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((i)=>{let t=`auth-tools-${Date.now()}`,u=this.innerTransport.onmessage;this.innerTransport.onmessage=(l)=>{if("id"in l&&l.id===t)if(this.innerTransport.onmessage=u,this.toolsListPromise=null,"result"in l){let n=l.result?.tools??null;i(n)}else i(null);else u?.(l)},this.innerTransport.send({jsonrpc:"2.0",id:t,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=u,this.toolsListPromise=null,i(null)})});return this.toolsListPromise}async ensureToolsMap(){let i=this.options.cache??bf(),t=await Hx("tools",this.options.connection.id,async()=>{let u=await this.fetchToolsFromServer();if(u===null)throw Error("Failed to fetch tools list");return u},i,(u)=>this.options.ctx.pendingRevalidations.push(u),cj);if(!t)return new Map;return new Map(t.map((u)=>[u.name,u]))}async handleOutgoingMessage(i){if(!this.isRequest(i))return this.innerTransport.send(i);let t=i;if(t.method==="tools/call")await this.authorizeToolCall(t),this.stripMetaFromArguments(t);return this.innerTransport.send(i)}async authorizeToolCall(i){if(this.options.superUser)return;let u=i.params.name,{ctx:l,connection:n}=this.options;if(await this.isPublicTool(u))return;if(!l.auth.user?.id&&!l.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let f=async()=>{return(await this.ensureToolsMap()).get(u)?._meta};await new Xy(l.authInstance,l.auth.user?.id??l.auth.apiKey?.userId,u,l.boundAuth,l.organization?.role??l.auth.user?.role,n.id,f,l.organization?.id).check(u)}async isPublicTool(i){if(i.startsWith("MESH_PUBLIC_"))return!0;let u=(await this.ensureToolsMap()).get(i);if(!u?._meta)return!1;return u._meta[L60]?.public_tool===!0}stripMetaFromArguments(i){let t=i.params;if(t.arguments&&"_meta"in t.arguments){let{_meta:u,...l}=t.arguments;t.arguments=l}}}});class Ami{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(i){if(i===null||i===void 0)return i;if(typeof i==="string")return this.redactString(i);if(Array.isArray(i))return i.map((t)=>this.redact(t));if(typeof i==="object"){let t={};for(let[u,l]of Object.entries(i)){let n=this.redactString(u);t[n]=this.redact(l)}return t}return i}redactString(i){let t=i;for(let u of this.patterns)t=t.replace(u.regex,`[REDACTED:${u.type}]`);return t}}import{SeverityNumber as oEu}from"@opentelemetry/api-logs";function aq(i,t){try{if(!i.organizationId)return;let u=Gmi.redactString(iW(JSON.stringify(i.toolArguments??{}))),l=Gmi.redactString(iW(JSON.stringify(i.result??{}))),n=i.errorMessage?Gmi.redactString(iW(i.errorMessage)):"";WYt().emit({severityNumber:i.isError?oEu.ERROR:oEu.INFO,severityText:i.isError?"ERROR":"INFO",body:i.toolName,attributes:{[k0.TYPE]:i.type??ZH,[k0.ORGANIZATION_ID]:i.organizationId,[k0.CONNECTION_ID]:i.connectionId,[k0.CONNECTION_TITLE]:"",[k0.TOOL_NAME]:i.toolName,[k0.INPUT]:u,[k0.OUTPUT]:l,[k0.IS_ERROR]:i.isError,[k0.ERROR_MESSAGE]:n,[k0.DURATION_MS]:i.duration,[k0.USER_ID]:i.userId||"",[k0.REQUEST_ID]:i.requestId,[k0.USER_AGENT]:i.userAgent||"",[k0.VIRTUAL_MCP_ID]:i.virtualMcpId||"",[k0.PROPERTIES]:i.properties?JSON.stringify(i.properties):""},context:t})}catch{}}var Gmi;var Fdi=w(()=>{RAi();U_();HAi();Gmi=new Ami});function Wmi(i){let{ctx:t,organizationId:u,connectionId:l,toolName:n,durationMs:f,isError:c}=i;if(!u||!l||!n)return;let $={"tool.name":n,"organization.id":u,"connection.id":l,status:c?"error":"success","error.type":c?i.errorType||"Error":""};t.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(f,$),t.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,$)}import{trace as Y01,context as P01}from"@opentelemetry/api";function sEu(i){if(!i.isError)return;let t=i.content;if(!Array.isArray(t))return;for(let u of t)if(u&&typeof u==="object"&&"type"in u&&u.type==="text"&&"text"in u&&typeof u.text==="string")return u.text;return}function pEu(i){if(!i)return;let t=i._meta;if(!t||typeof t!=="object"||Array.isArray(t))return;let u=t.properties;if(!u||typeof u!=="object"||Array.isArray(u))return;let l={};for(let[n,f]of Object.entries(u))if(typeof f==="string")l[n]=f;return Object.keys(l).length>0?l:void 0}function ivu(i,t){if(!i&&!t)return;if(!i)return t;if(!t)return i;return{...t,...i}}var tvu=w(()=>{zl();Fdi();U_()});import{trace as C60,context as uvu}from"@opentelemetry/api";var eS;var lvu=w(()=>{k_();Fdi();tvu();eS=class eS extends dk{options;inflightRequests=new Map;requestContext;constructor(i,t){super(i);this.options=t;this.requestContext=uvu.active()}async handleOutgoingMessage(i){if(this.isRequest(i)){let t=i;this.onRequestStart(t)}return this.innerTransport.send(i)}handleIncomingMessage(i){if(this.isResponse(i)){let t=i;this.onResponseEnd(t)}this.onmessage?.(i)}onRequestStart(i){let{ctx:t,connectionId:u}=this.options,l,n;if(i.method==="tools/call"&&i.params){let c=i.params;l=c.name,n=c.arguments}let f;if(i.method==="tools/call"&&l)f=t.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":u,"tool.name":l,"request.id":t.metadata.requestId,"jsonrpc.id":i.id,"jsonrpc.method":i.method}},this.requestContext);if(i.id!==null&&i.id!==void 0)this.inflightRequests.set(i.id,{startTime:Date.now(),method:i.method,toolName:l,toolArguments:n,span:f})}onResponseEnd(i){if(i.id===null||i.id===void 0)return;let t=this.inflightRequests.get(i.id);if(!t)return;let{ctx:u,connectionId:l}=this.options,{startTime:n,method:f,toolName:c,toolArguments:$,span:d}=t,_=Date.now()-n;if(this.inflightRequests.delete(i.id),f!=="tools/call"||!c)return;let g=u.organization?.id??"",h="error"in i,E=h?i.error:i.result,v=h?{content:[{type:"text",text:i.error?.message||"Unknown error"}],isError:!0}:E;if(u.meter.createHistogram("connection.proxy.duration").record(_,{"connection.id":l,"organization.id":g,"tool.name":c,status:h?"error":"success"}),h)u.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":l,"organization.id":g,"tool.name":c,error:i.error?.message});else u.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":l,"organization.id":g,"tool.name":c,status:"success"});if(g)Wmi({ctx:u,organizationId:g,connectionId:l,toolName:c,durationMs:_,isError:h,errorType:h?"RemoteError":""});if(d){if(h&&i.error)d.recordException(Error(i.error.message));let r=pEu($),x=ivu(u.metadata.properties,r),O=C60.setSpan(uvu.active(),d);aq({organizationId:u.organization?.id??"",connectionId:l,toolName:c,toolArguments:$,result:v,duration:_,isError:Boolean(h),errorMessage:sEu(v)||null,userId:u.auth.user?.id||u.auth.apiKey?.userId||null,requestId:u.metadata.requestId,userAgent:u.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:x||null},O),d.end()}}async close(){for(let i of this.inflightRequests.values())if(i.span)i.span.setAttributes({"transport.closed":!0}),i.span.end();return this.inflightRequests.clear(),super.close()}}});var nvu=w(()=>{k_();mEu();lvu()});async function fvu(i,t,u=!1){let l=i.id,n=t.connectionId&&t.connectionId!==l?t.connectionId:void 0;switch(i.connection_type){case"STDIO":{if(!Qt().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let f=i.connection_headers;if(!uv(f))throw Error("STDIO connection missing parameters");let c=VEu({id:l,name:i.title,command:f.command,args:f.args,env:f.envVars,cwd:f.cwd});return c=_k(c,($)=>new CS($,{ctx:t,connection:i,superUser:u}),($)=>new eS($,{ctx:t,connectionId:l,virtualMcpId:n})),e60(c,l)}case"HTTP":case"Websocket":{if(!i.connection_url)throw Error(`${i.connection_type} connection missing URL`);let f=await Pmi(i,t,u),c=i.connection_headers;if(c&&"headers"in c)Object.assign(f,c.headers);let $=new i6(new URL(i.connection_url),{requestInit:{headers:f}});return $=_k($,(d)=>new CS(d,{ctx:t,connection:i,superUser:u}),(d)=>new eS(d,{ctx:t,connectionId:l,virtualMcpId:n})),t.getOrCreateClient($,l)}case"SSE":{if(!i.connection_url)throw Error("SSE connection missing URL");let f=await Pmi(i,t,u),c=i.connection_headers;if(c&&"headers"in c)Object.assign(f,c.headers);let $=new y3(new URL(i.connection_url),{requestInit:{headers:f}});return $=_k($,(d)=>new CS(d,{ctx:t,connection:i,superUser:u}),(d)=>new eS(d,{ctx:t,connectionId:l,virtualMcpId:n})),t.getOrCreateClient($,l)}default:throw Error(`Unknown connection type: ${i.connection_type}`)}}var e60;var cvu=w(()=>{U0();H3();NL();cO();qEu();O$i();aEu();nvu();e60=rS()});function MS(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function mq(i){if(i&&typeof i==="object"&&"gatewayClientId"in i&&typeof i.gatewayClientId==="string")return i.gatewayClientId;return}function oq(i,t){if(!t)return i;let u=`${MS(t)}_`;return i.startsWith(u)?i.slice(u.length):i}function M60(i){return i.split(/[-_]/).map((t)=>t?t.charAt(0).toUpperCase()+t.slice(1):t).join(" ")}var Zdi;var $vu=w(()=>{Xh();Zdi=class Zdi extends Nf{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(i,t){super(t?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:t?.capabilities});this.clients=i;for(let u of Object.keys(i)){let l=MS(u);if(this.slugToKey.has(l))throw Error(`GatewayClient: duplicate slug "${l}" from keys "${this.slugToKey.get(l)}" and "${u}"`);this.slugToKey.set(l,u)}}namespace(i,t){return`${MS(i)}_${t}`}async resolveToolTarget(i){let t=i.indexOf("_");if(t!==-1){let l=i.slice(0,t),n=this.slugToKey.get(l);if(n)return[n,i.slice(t+1)]}let{tools:u}=await this.listTools();for(let l of u){let n=mq(l._meta);if(!n)continue;if(oq(l.name,n)===i)return[n,i]}if(t===-1)throw Error(`GatewayClient: could not resolve tool "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,t)}" in "${i}" and not found by original name in any client`)}async resolvePromptTarget(i){let t=i.indexOf("_");if(t!==-1){let l=i.slice(0,t),n=this.slugToKey.get(l);if(n)return[n,i.slice(t+1)]}let{prompts:u}=await this.listPrompts();for(let l of u){let n=mq(l._meta);if(!n)continue;if(oq(l.name,n)===i)return[n,i]}if(t===-1)throw Error(`GatewayClient: could not resolve prompt "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,t)}" in "${i}" and not found by original name in any client`)}resolveClient(i){let t=this.resolvedClients.get(i);if(t)return t;let u=this.clients[i];if(!u)return Promise.reject(Error(`GatewayClient: unknown client key "${i}"`));let l=u.client,f=(typeof l==="function"?Promise.resolve(l()):Promise.resolve(l)).catch((c)=>{throw this.resolvedClients.delete(i),c});return this.resolvedClients.set(i,f),f}getResolvedClient(i){return this.resolveClient(i)}async fetchAllTools(i){let t=[],u;do{let l=await i.listTools(u?{cursor:u}:void 0);t.push(...l.tools),u=l.nextCursor}while(u);return t}async fetchAllResources(i){let t=[],u;do{let l=await i.listResources(u?{cursor:u}:void 0);t.push(...l.resources),u=l.nextCursor}while(u);return t}async fetchAllResourceTemplates(i){let t=[],u;do{let l=await i.listResourceTemplates(u?{cursor:u}:void 0);t.push(...l.resourceTemplates),u=l.nextCursor}while(u);return t}async fetchAllPrompts(i){let t=[],u;do{let l=await i.listPrompts(u?{cursor:u}:void 0);t.push(...l.prompts),u=l.nextCursor}while(u);return t}listTools(i,t){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let i=[];for(let[t,u]of Object.entries(this.clients)){let l=await this.resolveClient(t),n=await this.fetchAllTools(l),f=u.tools,c=f?new Set(f):null;for(let $ of n){if(c&&!c.has($.name))continue;i.push({...$,name:this.namespace(t,$.name),_meta:{...$._meta??{},gatewayClientId:t}})}}return{tools:i}}listResources(i,t){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let i=new Set,t=[],u=new Map;for(let[l,n]of Object.entries(this.clients)){let f=await this.resolveClient(l),c=await this.fetchAllResources(f),$=n.resources,d=$?new Set($):null;for(let _ of c){if(d&&!d.has(_.uri)&&!(_.name&&d.has(_.name)))continue;if(i.has(_.uri)){console.warn(`GatewayClient: duplicate resource "${_.uri}" from client "${l}" \u2014 skipping`);continue}i.add(_.uri),u.set(_.uri,l),t.push({..._,_meta:{..._._meta??{},gatewayClientId:l}})}}return this.resourceRouteMap=u,{resources:t}}listResourceTemplates(i,t){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let i=new Set,t=[];for(let[u,l]of Object.entries(this.clients)){let n=await this.resolveClient(u),f=await this.fetchAllResourceTemplates(n);for(let c of f){if(i.has(c.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${c.uriTemplate}" from client "${u}" \u2014 skipping`);continue}i.add(c.uriTemplate),t.push({...c,_meta:{...c._meta??{},gatewayClientId:u}})}}return{resourceTemplates:t}}listPrompts(i,t){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let i=[];for(let[t,u]of Object.entries(this.clients)){let l=await this.resolveClient(t),n=await this.fetchAllPrompts(l),f=u.prompts,c=f?new Set(f):null;for(let $ of n){if(c&&!c.has($.name))continue;i.push({...$,name:this.namespace(t,$.name),title:$.title??M60($.name),_meta:{...$._meta??{},gatewayClientId:t}})}}return{prompts:i}}async callTool(i,t,u){let[l,n]=await this.resolveToolTarget(i.name);return(await this.resolveClient(l)).callTool({...i,name:n},t,u)}async readResource(i,t){let u=await this.resolveResourceRoute(i.uri);return(await this.resolveClient(u)).readResource(i)}async getPrompt(i,t){let[u,l]=await this.resolvePromptTarget(i.name);return(await this.resolveClient(u)).getPrompt({...i,name:l})}async resolveResourceRoute(i){let t=this.resourceRouteMap.get(i);if(t)return t;if(this.resourcesCache=null,await this.listResources(),t=this.resourceRouteMap.get(i),t)return t;throw Error(`GatewayClient: resource "${i}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let i=[...this.resolvedClients.values()].map((t)=>t.then((u)=>u.close()).catch(()=>{}));await Promise.allSettled(i),await super.close()}}});var kmi=w(()=>{$vu()});var jmi;var dvu=w(()=>{kmi();MC();BM();jmi=class jmi extends Zdi{options;ctx;constructor(i,t){let u=new Map(i.virtualMcp.connections.map((n)=>[n.connection_id,n])),l={};for(let n of i.connections){let f=u.get(n.id);l[n.id]={client:()=>w5(n,t,i.superUser??!1,i.mcpListCache),...f?.selected_tools!=null?{tools:f.selected_tools}:{},...f?.selected_resources!=null?{resources:f.selected_resources}:{},...f?.selected_prompts!=null?{prompts:f.selected_prompts}:{}}}super(l,{clientInfo:{name:"virtual-mcp-passthrough",version:"1.0.0"},capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});this.options=i;this.ctx=t}async[Symbol.asyncDispose](){await this.close()}async listPrompts(i,t){let u=await super.listPrompts(i,t),l=Gci(this.options.virtualMcp.id??""),n=this.ctx.organization?.id;if(!l||!n)return u;let f=await Wci(l,{orgId:n,ctx:this.ctx}),c=new Set(f.filter(($)=>$.completed&&!$.alwaysSuggest&&$.action.kind==="open-agent-thread").map(($)=>$.action.promptName));if(c.size===0)return u;return{...u,prompts:u.prompts.filter(($)=>!c.has(oq($.name,mq($._meta))))}}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}getConnectionTitleMap(){return new Map(this.options.connections.map((i)=>[i.id,i.title]))}}});import{SpanStatusCode as _vu}from"@opentelemetry/api";function q60(i,t){if(i.connection_type!=="VIRTUAL")return!1;if(!t||tv(t))return!1;return i.id===t}async function gvu(i,t,u=!1){let l=i.id,n=await t.storage.virtualMcps.findById(l);if(!n)throw Error(`Virtual MCP not found: ${l}`);return $2(n,t,"passthrough",u)}async function $2(i,t,u,l=!1,n){let f=i.connections.map((_)=>_.connection_id),d={connections:(await t.tracer.startActiveSpan("studio.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":i.id??"decopilot","virtual_mcp.connection_count":f.length}},async(_)=>{try{let g=await Promise.all(f.map((h)=>t.storage.connections.findById(h)));return _.setStatus({code:_vu.OK}),g}catch(g){throw _.setStatus({code:_vu.ERROR,message:g.message}),_.recordException(g),g}finally{_.end()}})).filter((_)=>_!==null&&_.status==="active"&&!q60(_,i.id)),virtualMcp:i,superUser:l,mcpListCache:bf()??void 0,listTimeoutMs:n?.listTimeoutMs};return new jmi(d,t)}var qS=w(()=>{zl();q_();dvu()});var eEu={};Gi(eEu,{clientFromConnection:()=>ld});async function ld(i,t,u=!1){if(i.connection_type==="VIRTUAL")return gvu(i,t,u);return fvu(i,t,u)}var g$i=w(()=>{cvu();qS()});function Idi(i){return(t)=>{if(t instanceof At&&t.code===Kt.MethodNotFound)return i;throw t}}var hvu=w(()=>{Xf()});function Smi(i,t,u){let l=w5(i,t,u,bf()??void 0),n=D3(l,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:V60,toolCallTimeoutMs:$S});n.server.setRequestHandler(ux,async()=>{return await l.listResources().catch(Idi({resources:[]}))}),n.server.setRequestHandler(lx,async()=>{return await l.listResourceTemplates().catch(Idi({resourceTemplates:[]}))}),n.server.setRequestHandler(nx,async()=>{return await l.listPrompts().catch(Idi({prompts:[]}))});let f=n.close.bind(n);return n.close=async()=>{await f(),await l.close().catch(()=>{})},n}var V60;var Evu=w(()=>{zl();Xf();BM();q_();hvu();V60={tools:{},resources:{},prompts:{}}});var VS=w(()=>{g$i();Evu()});function a60(i,t){if(t.length===0)return;let[u,...l]=t,n=u==="slug"?eO(i):i[u];for(let f of l){if(n===null||typeof n!=="object")return;n=n[f]}return n}function m60(i){let u=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${u}$`,"i")}function o60(i,t,u){if(i===void 0)return!0;switch(t){case"eq":return u===null?i===null:i===u;case"gt":return i>u;case"gte":return i>=u;case"lt":return i<u;case"lte":return i<=u;case"in":return Array.isArray(u)&&u.includes(i);case"like":return typeof i==="string"&&m60(String(u)).test(i);case"contains":return String(i).toLowerCase().includes(String(u).toLowerCase());default:return!0}}function sq(i,t){if(!t)return!0;if("conditions"in t){let{operator:l,conditions:n}=t;if(n.length===0)return!0;switch(l){case"and":return n.every((f)=>sq(i,f));case"or":return n.some((f)=>sq(i,f));case"not":return!n.every((f)=>sq(i,f));default:return!0}}let u=a60(i,t.field);return o60(u,t.operator,t.value)}var vvu=w(()=>{Pci()});import{z as A5}from"zod";var s60,p60,ih0,th0,zmi;var rvu=w(()=>{_e();znu();jd();Lnu();enu();wC();vO();qnu();zl();Vi();Ud();q_();VS();Ck();H3();Pci();vvu();s60=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:A5.object({})}],p60={LLM:Vci,LLMS:Vci,ASSISTANTS:Snu,MCP:Cnu,OBJECT_STORAGE:BO,WORKFLOW:EHi,WORKFLOW_EXECUTION:yqt,AI_GATEWAY_BILLING:Mnu,EVENT_BUS:Rci,TRIGGER:Lci,REGISTRY:s60,BRAND:qci},ih0=Jh.extend({binding:A5.union([A5.array(A5.object({}).passthrough()),A5.object({}).passthrough(),A5.string()]).optional(),include_virtual:A5.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:A5.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),th0=N3(V$),zmi=li({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:ih0,outputSchema:th0,handler:async(i,t)=>{await t.access.check();let u=Ei(t),l=i.binding?typeof i.binding==="string"?(()=>{let h=p60[i.binding.toUpperCase()];if(!h)throw Error(`Unknown binding: ${i.binding}`);return h})():i.binding:void 0,n=l?U1i(l):void 0,f=!!n,c=i.limit??100,$=i.offset??0,{items:d,totalCount:_}=await t.storage.connections.list(u.id,{includeVirtual:i.include_virtual??!1,slug:i.slug,where:i.where,orderBy:i.orderBy,limit:f?void 0:c,offset:f?void 0:$});if(n){let h=bf(),E=w0.SELF(u.id);await Promise.all(d.map(async(v)=>{if(v.tools!==null)return;let r=v.id===E?async()=>{let{listManagementTools:O}=await Promise.resolve().then(() => (aS(),Bdi));return O(t)}:async()=>{let O=await ld(v,t,!0);try{return(await O.listTools()).tools}finally{await O.close().catch(()=>{})}},x=await Hx("tools",v.id,r,h);if(x!==null)v.tools=x}))}if(Ih()){let h=Rc(),E=w0.DEV_ASSETS(u.id);if(!d.some((v)=>v.id===E)){let v=Lk(u.id,h),r=!i.slug||eO(v)===i.slug,x=sq(v,i.where);if(r&&x)d.unshift(v)}}if(f){let h=(await Promise.all(d.map(async(x)=>{if(!x.tools||x.tools.length===0)return null;return n.isImplementedBy(x.tools.map((y)=>({name:y.name,inputSchema:y.inputSchema,outputSchema:y.outputSchema})))?x:null}))).filter((x)=>x!==null),E=h.length,v=h.slice($,$+c),r=$+c<E;return{items:v,totalCount:E,hasMore:r}}let g=$+c<_;return{items:d,totalCount:_,hasMore:g}}})});var uh0,bmi;var wvu=w(()=>{jd();zl();Vi();Ud();q_();VS();Ck();H3();uh0=UL(V$),bmi=li({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:JL,outputSchema:uh0,handler:async(i,t)=>{let u=Ei(t);if(await t.access.check(),Ih()&&Pfi(i.id,u.id))return{item:Lk(u.id,Rc())};let l=await t.storage.connections.findById(i.id);if(!l||l.organization_id!==u.id)return{item:null};if(l.tools===null){let n=w0.SELF(u.id),f=l.id===n?async()=>{let{listManagementTools:$}=await Promise.resolve().then(() => (aS(),Bdi));return $(t)}:async()=>{let $=await ld(l,t,!0);try{return(await $.listTools()).tools}finally{await $.close().catch(()=>{})}},c=await Hx("tools",l.id,f,bf(),($)=>t.pendingRevalidations.push($),cj);if(c!==null)l.tools=c}return{item:l}}})});function Ovu(i){_$i().invalidate(i)}function Qdi(i){Ovu(i);let t=Kmi?.();if(!t)return;try{t.publish(xvu,lh0.encode(JSON.stringify({connectionId:i,originId:Dvu})))}catch(u){console.warn("[McpCacheInvalidation] publish failed (non-critical):",u)}}function yvu(i){if(Kmi=i,pq)return;let t=i();if(!t)return;pq=t.subscribe(xvu),(async()=>{for await(let u of pq)try{let l=JSON.parse(nh0.decode(u.data));if(l.originId===Dvu)continue;Ovu(l.connectionId)}catch{}})().catch(console.error)}function Xvu(){pq?.unsubscribe(),pq=null,Kmi=void 0}var xvu="studio.mcp-cache.invalidate",Dvu,lh0,nh0,Kmi,pq=null;var Ydi=w(()=>{Sqi();Dvu=crypto.randomUUID(),lh0=new TextEncoder,nh0=new TextDecoder});import{z as Hmi}from"zod";function Nvu(i,t,u){if(t.some((l)=>l!=="*"&&l.startsWith("SELF::"))&&i.SELF===void 0)i.SELF={value:`${u}_self`}}async function $h0(i,t,u,l){for(let f of t){if(f==="*")continue;let[c]=Vnu(f),$=aci(c,i);if($===void 0||$===null)throw Error(`Scope references key "${c}" but it's not present in state`)}let n=anu(i,t);for(let f of n){if(f.endsWith("_self"))continue;let c=await l.storage.connections.findById(f);if(!c||c.organization_id!==u)throw Error(`Referenced connection not found: ${f}`);try{await l.access.check(f)}catch($){throw Error(`Access denied to referenced connection: ${f}. ${$.message}`)}}}var fh0,ch0,Rmi;var Jvu=w(()=>{kei();VS();kv();Vi();q_();Ydi();eC();H3();fh0=Hmi.object({id:Hmi.string().describe("ID of the connection to update"),data:fL.describe("Partial connection data to update")}),ch0=Hmi.object({item:V$.describe("The updated connection entity")});Rmi=li({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:fh0,outputSchema:ch0,handler:async(i,t)=>{Ui(t);let u=Ei(t);await t.access.check();let l=yu(t);if(!l)throw Error("User ID required to update connection");let{id:n,data:f}=i,c=await t.storage.connections.findById(n);if(!c||c.organization_id!==u.id)throw Error("Connection not found in organization");let $=f.connection_type??c.connection_type,d=f.connection_url??c.connection_url;if($==="VIRTUAL"){let O=$O(d);if(!O)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let y=await t.storage.virtualMcps.findById(O);if(!y)throw Error(`Virtual MCP not found: ${O}`);if(y.organization_id!==u.id)throw Error("Virtual MCP does not belong to the current organization");d=dO(O)}let _=f.configuration_state??c.configuration_state??{},g=f.configuration_scopes??c.configuration_scopes??[];if(f.configuration_state!==void 0||f.configuration_scopes!==void 0){if(f.configuration_state!==void 0)_=f.configuration_state??{};else if(_===null||_===void 0)_={};if(f.configuration_scopes!==void 0)g=f.configuration_scopes??[];if(g.length>0){let O=_;Nvu(O,g,u.id),await $h0(O,g,u.id,t)}}let h=f.connection_token??c.connection_token;if(!h)try{let y=await new ef(t.db,t.vault).get(n);if(y?.accessToken)h=y.accessToken}catch{}let E=await bx({id:c.id,title:f.title??c.title,connection_type:$,connection_url:d,connection_token:h,connection_headers:f.connection_headers??c.connection_headers}).catch(()=>null),v=E?.tools?.length?E.tools:null;if(f.configuration_scopes===void 0&&E?.scopes?.length)g=E.scopes;Nvu(_,g,u.id);let r={...f,connection_url:d,tools:null,configuration_state:_,configuration_scopes:g,updated_by:l},x=await t.storage.connections.update(n,r);if(v)bf()?.set("tools",n,v).catch(()=>{});if(Qdi(n),(f.configuration_state!==void 0||f.configuration_scopes!==void 0)&&_&&g)try{await(await ld(x,t,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:_,scopes:g}})}catch(O){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",O)}return{item:x}}})});import{z as dh0}from"zod";var _h0,Lmi;var Uvu=w(()=>{jd();T1();Vi();q_();Ydi();H3();_h0=TL.extend({force:dh0.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Lmi=li({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:_h0,outputSchema:FL(V$),handler:async(i,t)=>{Ui(t);let u=Ei(t);await t.access.check();let l=await t.storage.connections.findById(i.id);if(!l)throw Error(`Connection not found: ${i.id}`);if(l.organization_id!==u.id)throw Error("Connection not found in organization");if(l.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let f=await t.storage.virtualMcps.listByConnectionId(u.id,i.id);if(f.length>0)if(i.force)await t.storage.virtualMcps.removeConnectionReferences(i.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:f.map((d)=>d.title)}));await t.storage.connections.delete(i.id);let c=await t.storage.organizationSettings.get(u.id);if(c?.registry_config){let{registries:d,blockedMcps:_}=c.registry_config;if(i.id in d){let{[i.id]:g,...h}=d;await t.storage.organizationSettings.upsert(u.id,{registry_config:{registries:h,blockedMcps:_}})}}bf()?.invalidate(i.id).catch(()=>{}),Qdi(i.id);let $=yu(t);if($)Ju.capture({distinctId:$,event:"connection_deleted",groups:{organization:u.id},properties:{connection_id:l.id,connection_type:l.connection_type,app_name:l.app_name??null,organization_id:u.id,forced:i.force??!1}});return{item:l}}})});import{z as mS}from"zod";var Cmi;var Tvu=w(()=>{Vi();Cmi=li({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:mS.object({id:mS.string()}),outputSchema:mS.object({id:mS.string(),healthy:mS.boolean(),latencyMs:mS.number()}),handler:async(i,t)=>{let u=Ei(t);await t.access.check();let l=await t.storage.connections.findById(i.id);if(!l||l.organization_id!==u.id)throw Error("Connection not found");let n=await t.storage.connections.testConnection(i.id);return{id:i.id,...n}}})});var Fvu=w(()=>{Onu();rvu();wvu();Jvu();Uvu();Tvu()});import{sql as V0}from"kysely";import{z as Sv}from"zod";function Zvu(i){if(i===null||i===void 0)return"NULL";if(typeof i==="number")return String(i);if(typeof i==="boolean")return i?"TRUE":"FALSE";if(typeof i==="string")return`'${i.replace(/'/g,"''")}'`;if(i instanceof Date)return`'${i.toISOString()}'`;return`'${JSON.stringify(i).replace(/'/g,"''")}'`}function Eh0(i,t){let u=i;for(let n=t.length;n>=1;n--){let f=`$${n}`;if(u.includes(f))u=u.replaceAll(f,Zvu(t[n-1]))}let l=[];for(let n=0;n<u.length;n++)if(u[n]==="?")l.push(n);for(let n=Math.min(l.length,t.length)-1;n>=0;n--){let f=l[n],c=Zvu(t[n]);u=u.slice(0,f)+c+u.slice(f+1)}return u}function Ivu(i){return i.replace(/-/g,"_")}function rh0(i){return`app_${Ivu(i)}`}function wh0(i){return`app_role_${Ivu(i)}`}function xh0(i){if(i instanceof Error){let t=i.message.toLowerCase(),u=i.code;return u==="3F000"||u==="42704"||u==="22023"||t.includes("schema")&&t.includes("does not exist")||t.includes("role")&&t.includes("does not exist")}return!1}async function Dh0(i,t,u){if(await V0`CREATE SCHEMA IF NOT EXISTS ${V0.id(t)}`.execute(i),!(await V0`
|
|
106844
106844
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${u}) as exists
|
|
106845
106845
|
`.execute(i)).rows[0]?.exists)await V0`CREATE ROLE ${V0.id(u)} NOLOGIN`.execute(i);await V0`GRANT ${V0.id(u)} TO CURRENT_USER`.execute(i),await V0`GRANT USAGE, CREATE ON SCHEMA ${V0.id(t)} TO ${V0.id(u)}`.execute(i),await V0`GRANT ALL ON ALL TABLES IN SCHEMA ${V0.id(t)} TO ${V0.id(u)}`.execute(i),await V0`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${V0.id(t)} TO ${V0.id(u)}`.execute(i),await V0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${V0.id(t)} GRANT ALL ON TABLES TO ${V0.id(u)}`.execute(i),await V0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${V0.id(t)} GRANT ALL ON SEQUENCES TO ${V0.id(u)}`.execute(i),await V0`REVOKE ALL ON SCHEMA public FROM ${V0.id(u)}`.execute(i)}async function Oh0(i,t,u,l){try{return await i.transaction().execute(async(n)=>{return await V0`SET LOCAL ROLE ${V0.id(u)}`.execute(n),await V0`SET LOCAL search_path TO ${V0.id(t)}`.execute(n),await V0.raw(l).execute(n)})}catch(n){if(xh0(n))return await Dh0(i,t,u),await i.transaction().execute(async(f)=>{return await V0`SET LOCAL ROLE ${V0.id(u)}`.execute(f),await V0`SET LOCAL search_path TO ${V0.id(t)}`.execute(f),await V0.raw(l).execute(f)});throw n}}var hh0,vh0,Bvu;var Qvu=w(()=>{Vi();hh0=Sv.object({results:Sv.array(Sv.unknown()).optional(),success:Sv.boolean().optional()});vh0=Sv.object({sql:Sv.string().describe("The SQL query to run"),params:Sv.array(Sv.any()).describe("The parameters to pass to the SQL query").optional()});Bvu=li({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:vh0,outputSchema:Sv.object({result:Sv.array(hh0)}),handler:async(i,t)=>{Ui(t),await t.access.check();let u=Eh0(i.sql,i.params||[]);if(!t.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":t.connectionId,"organization.id":t.organization?.id??null,"user.id":t.auth.user?.id??null});let l=rh0(t.connectionId),n=wh0(t.connectionId);return{result:[{results:(await Oh0(t.db,l,n,u)).rows,success:!0}]}}})});import{z as ng}from"zod";var Yvu,Xh0,Pvu;var d2=w(()=>{_e();Yvu=ng.object({connectionId:ng.string().optional().describe("Filter subscriptions by connection ID (optional)")}),Xh0=ng.object({id:ng.string().describe("Subscription ID"),connectionId:ng.string().describe("Subscriber connection ID"),eventType:ng.string().describe("Event type pattern"),publisher:ng.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:ng.string().nullable().describe("JSONPath filter expression"),enabled:ng.boolean().describe("Whether subscription is enabled"),createdAt:ng.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:ng.string().datetime().describe("Updated timestamp (ISO 8601)")}),Pvu=ng.object({subscriptions:ng.array(Xh0).describe("List of subscriptions")})});var emi;var Avu=w(()=>{Vi();d2();emi=li({name:"EVENT_PUBLISH",description:`Publish an event. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery.
|
|
106846
106846
|
|