@vellumai/web 0.11.5-staging.1 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Trans-Ayy2zoN6.js → Trans-CM5UUgDt.js} +1 -1
- package/dist/assets/{a2a-invite-BnytH07i.js → a2a-invite-CduLLtki.js} +1 -1
- package/dist/assets/{account-page-fksftFTI.js → account-page-CSJOSKzD.js} +1 -1
- package/dist/assets/{account-shell-Cm4mAmQ1.js → account-shell-WRaiE1O8.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DpY-2IUp.js → acp-run-detail-panel-gR77X6Xm.js} +1 -1
- package/dist/assets/{activity-steps-panel-D9L-wNUS.js → activity-steps-panel-BglLu7wx.js} +1 -1
- package/dist/assets/{add-credential-modal-D2dFz_aq.js → add-credential-modal-DgoBqgwB.js} +1 -1
- package/dist/assets/{add-credits-modal-CmRWmR5E.js → add-credits-modal-BNab_7H9.js} +1 -1
- package/dist/assets/{ai-page-DSvzyRcE.js → ai-page-CLAFnWl5.js} +1 -1
- package/dist/assets/{api-key-screen-8g2vhXCU.js → api-key-screen-CS0KZgP6.js} +1 -1
- package/dist/assets/{app-card-Cz7zkQT3.js → app-card-C7c3c4l4.js} +1 -1
- package/dist/assets/{archive-redirect-page-ClPbJzqu.js → archive-redirect-page-DZkHnLmA.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-DPde0AIx.js → assistant-feature-flag-store-CdXRp9pV.js} +1 -1
- package/dist/assets/{assistant-status-panel-uGuW1yZK.js → assistant-status-panel-BogBdYLj.js} +1 -1
- package/dist/assets/auth-store-iNnDaLgR.js +2 -0
- package/dist/assets/{auth-welcome-screen-Da31gKxW.js → auth-welcome-screen-BoiE47Sg.js} +1 -1
- package/dist/assets/{avatar-random-BL7Gu5qp.js → avatar-random-C7t2cN3Y.js} +1 -1
- package/dist/assets/{background-task-detail-panel-CxmesGo1.js → background-task-detail-panel-BeXbhHLZ.js} +1 -1
- package/dist/assets/{billing-page-EthbxOpl.js → billing-page-PuFxEptl.js} +3 -3
- package/dist/assets/{billing-redirect-page-DbvbLo7I.js → billing-redirect-page-BFDitQeE.js} +1 -1
- package/dist/assets/bookmarks-page-DY_CJ4I3.js +1 -0
- package/dist/assets/{browser-DH4V-FME.js → browser--x9YKXWo.js} +2 -2
- package/dist/assets/{build-state-DjZj1PEB.js → build-state-Dtia1Hnq.js} +1 -1
- package/dist/assets/{button-VkxVX0DM.js → button-C8CGr0T0.js} +1 -1
- package/dist/assets/{channels-page-route-DzS1In-E.js → channels-page-route-WZWPUfRo.js} +1 -1
- package/dist/assets/{chat-markdown-message-FJAu4s2A.js → chat-markdown-message-JeYI9m3i.js} +1 -1
- package/dist/assets/{checkbox-BkYoVUtf.js → checkbox-BWX_Dnge.js} +1 -1
- package/dist/assets/checkout-continuation-B-A9SoHt.js +1 -0
- package/dist/assets/{checkout-page-WkiUwe7y.js → checkout-page-BYHPD7UJ.js} +1 -1
- package/dist/assets/checkout-return-target-DnT91-Y_.js +1 -0
- package/dist/assets/{client-feature-flag-store-o8FXKc-R.js → client-feature-flag-store-DuVzcD-V.js} +1 -1
- package/dist/assets/{client-perf-EM-2B6Ha.js → client-perf-Bg-CBIVj.js} +1 -1
- package/dist/assets/{command-palette-Tz8bW1Zb.js → command-palette-C8JWMyiC.js} +1 -1
- package/dist/assets/{command-palette-window-page-CICaRPRP.js → command-palette-window-page-C8vw0yIO.js} +1 -1
- package/dist/assets/common-gaw6OefS.js +1 -0
- package/dist/assets/{community-page-CuJypGVc.js → community-page-DvR4X6k9.js} +1 -1
- package/dist/assets/companion-surface-page-iknPQRTu.js +1 -0
- package/dist/assets/{composer-settings-xBD4cVBI.js → composer-settings-B84-FOM1.js} +1 -1
- package/dist/assets/{confirm-dialog--7V28331.js → confirm-dialog-DYmL6FRe.js} +1 -1
- package/dist/assets/{connect-page-Dkitufkv.js → connect-page-CKAizrWr.js} +1 -1
- package/dist/assets/consent-DgQeejGe.js +1 -0
- package/dist/assets/{consent-controls-D7wjMU4g.js → consent-controls-V9Wca6TV.js} +1 -1
- package/dist/assets/{contacts-page-route-Dsb5c0ov.js → contacts-page-route-BceswcoE.js} +1 -1
- package/dist/assets/{conversation-cache-DJbtcDiW.js → conversation-cache-CuEQRyqi.js} +1 -1
- package/dist/assets/{conversation-navigation-Cg1rXwwx.js → conversation-navigation-CfOyMc6W.js} +1 -1
- package/dist/assets/{conversation-queries-YVB1UbYl.js → conversation-queries-CtAFZgFP.js} +1 -1
- package/dist/assets/{conversation-selection-CRqFjCDm.js → conversation-selection-ZuF7NVBR.js} +1 -1
- package/dist/assets/{copy-to-clipboard-wnEkIu5M.js → copy-to-clipboard-yufQqRBL.js} +1 -1
- package/dist/assets/{credential-entry-page-DvSQvCah.js → credential-entry-page-B0NYTomQ.js} +1 -1
- package/dist/assets/{credentials-page-qE6ZVx_g.js → credentials-page-DfOet7SI.js} +1 -1
- package/dist/assets/{csv-preview-CmccW-uE.js → csv-preview-QUU-h2MX.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-D9ysYxNl.js → danger-zone-redirect-page-B_ZMX7ns.js} +1 -1
- package/dist/assets/{debug-page-BUP88wEB.js → debug-page-DXvFlnqh.js} +1 -1
- package/dist/assets/{deploy-dialogs-DB5LzYcq.js → deploy-dialogs-ilUtMpvf.js} +1 -1
- package/dist/assets/{deploy-store-wUa1-kTk.js → deploy-store-C_y0BvwK.js} +1 -1
- package/dist/assets/{detail-card-DBxsIpmu.js → detail-card-DwBporBs.js} +1 -1
- package/dist/assets/{detail-drawer-PnkAA_sr.js → detail-drawer-Di5V_iLf.js} +1 -1
- package/dist/assets/{detail-shell-BpJzTGvM.js → detail-shell-CcrQic9y.js} +1 -1
- package/dist/assets/developer-page-B_LQmpH7.js +1 -0
- package/dist/assets/{devices-redirect-page-B1K9-KDL.js → devices-redirect-page-BD0VY17t.js} +1 -1
- package/dist/assets/{diagnostics-D82Xy5aG.js → diagnostics-BcQgahbk.js} +1 -1
- package/dist/assets/dist-BFOJNO7w.js +1 -0
- package/dist/assets/{dist-D94ZMew1.js → dist-BsGO-mS7.js} +1 -1
- package/dist/assets/{dist-CzN28mbE.js → dist-DN2Wju98.js} +1 -1
- package/dist/assets/{dist--4Bbb2u3.js → dist-eCSUXDGk.js} +1 -1
- package/dist/assets/{doctor-handoff-store-DsMgYJHu.js → doctor-handoff-store-B_RlFFKC.js} +1 -1
- package/dist/assets/{document-viewer-container-RskGQW6t.js → document-viewer-container-D3aPjnj8.js} +2 -2
- package/dist/assets/{document-viewer-page-CbpsmQWC.js → document-viewer-page-CvQXX7Mp.js} +1 -1
- package/dist/assets/{emails-page-_5YOJc7e.js → emails-page-DbAVQ_jC.js} +1 -1
- package/dist/assets/esm-4Bnaz5rU.js +2 -0
- package/dist/assets/{esm-BNARxlDM.js → esm-C4VoH46A.js} +1 -1
- package/dist/assets/{esm-D5OjXPP0.js → esm-CrXbhSov.js} +2 -2
- package/dist/assets/{esm-BRNK_0Y3.js → esm-Cz8_Dotd.js} +1 -1
- package/dist/assets/esm-DBGqhIh5.js +1 -0
- package/dist/assets/esm-DXPZZih3.js +2 -0
- package/dist/assets/esm-DcJxSeV0.js +2 -0
- package/dist/assets/{esm-8NN8IH0k.js → esm-Ddv_MyHw.js} +2 -2
- package/dist/assets/esm-Do2zrCWJ.js +2 -0
- package/dist/assets/esm-DrXV9mo-.js +2 -0
- package/dist/assets/{external-anchor-BQjaNMxT.js → external-anchor-owoORewf.js} +1 -1
- package/dist/assets/feature-flag-catalog-C1y2RUth.js +1 -0
- package/dist/assets/feed-item-status-actions-C3JfFvZc.js +1 -0
- package/dist/assets/{file-editor-DQtez5BN.js → file-editor-CeYfWNBz.js} +1 -1
- package/dist/assets/{file-markdown-CFQG2IW9.js → file-markdown-B9G_TXX-.js} +1 -1
- package/dist/assets/{first-run-scope-Cs-NWmVG.js → first-run-scope-MD-rEgje.js} +1 -1
- package/dist/assets/{format-usd-Dv-VJP5v.js → format-usd-BYzA1eMJ.js} +1 -1
- package/dist/assets/{funnel-events-DEzFt9ac.js → funnel-events-ClGpFDNM.js} +1 -1
- package/dist/assets/general-page-CzDlVoNx.js +1 -0
- package/dist/assets/{haptics-BR_zMLz2.js → haptics-F-nvqKYf.js} +2 -2
- package/dist/assets/{hatching-screen-BKmwq_y2.js → hatching-screen-FgNbjXOt.js} +1 -1
- package/dist/assets/{home-page-route-BWF6O6BN.js → home-page-route-C7Aeo-Mg.js} +1 -1
- package/dist/assets/{hosting-screen-BI8jdpYg.js → hosting-screen-CLVRdDiX.js} +1 -1
- package/dist/assets/{i18n-7Z5ghN39.js → i18n-C3bX3mTs.js} +1 -1
- package/dist/assets/{identity-page-route-pCMyDEEU.js → identity-page-route-CHncFua2.js} +1 -1
- package/dist/assets/index-C7hCfQpd.css +2 -0
- package/dist/assets/{index-CffZ8_I1.js → index-DS0PEdhO.js} +5 -5
- package/dist/assets/{ingest-BubkTA7j.js → ingest-C1wiUm1l.js} +1 -1
- package/dist/assets/{input-DkgpMeG9.js → input-DlkBtbxm.js} +1 -1
- package/dist/assets/{inspect-page-2b2xMjZ-.js → inspect-page-CNLiZXRt.js} +3 -3
- package/dist/assets/{installed-plugins-query-CmlpXeFG.js → installed-plugins-query-DQKwv-Iz.js} +1 -1
- package/dist/assets/{integrations-page-C6SEZlRH.js → integrations-page-B9SHiomg.js} +1 -1
- package/dist/assets/{intelligence-layout-BltAdOWl.js → intelligence-layout-BoW8JbDc.js} +1 -1
- package/dist/assets/internal-thread-actions-C0S_b7cx.js +1 -0
- package/dist/assets/{invalidate-memory-queries-C_LpIe-7.js → invalidate-memory-queries-uk2gV1m0.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DpWKL6e1.js → invalidate-plugin-queries-CI1Cseau.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page-BZAeBBT5.js → keyboard-shortcuts-redirect-page-BY3Va4w9.js} +1 -1
- package/dist/assets/{latest-assistant-text-C8nmvw4v.js → latest-assistant-text-fXT5Jkt8.js} +1 -1
- package/dist/assets/{library-detail-page-BTDRSSKy.js → library-detail-page-CX92FKAK.js} +1 -1
- package/dist/assets/{library-page-GoqUkn2E.js → library-page-D2v2j-WU.js} +1 -1
- package/dist/assets/{list-row-D1odQOMJ.js → list-row-6uedKE84.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-BTtW-R95.js → local-runtime-upgrade-BpvLk3HN.js} +1 -1
- package/dist/assets/{login-flow-DIQYXP6A.js → login-flow-BYBqjDap.js} +1 -1
- package/dist/assets/{login-page-hY9FaC1m.js → login-page-fl8rgXFq.js} +1 -1
- package/dist/assets/{logout-page-mVYiyZFE.js → logout-page-DLjLy7Hp.js} +1 -1
- package/dist/assets/{logs-layout-_ycf1xan.js → logs-layout-Du4o-HeH.js} +1 -1
- package/dist/assets/{markdown-preview-CzYn25XC.js → markdown-preview-ukYPAksc.js} +1 -1
- package/dist/assets/{memory-page-route-CA8ygLKs.js → memory-page-route-CvKjQ2FE.js} +1 -1
- package/dist/assets/{memory-router-playground-page-B8rj0dNA.js → memory-router-playground-page-Dh8zVze9.js} +1 -1
- package/dist/assets/{menu-noj9Ohcf.js → menu-Ci8JeI2H.js} +1 -1
- package/dist/assets/{message-files-panel-COyAxMPi.js → message-files-panel-DEAC2iCY.js} +1 -1
- package/dist/assets/{messages-BhT6U312.js → messages-D5oI1yRV.js} +1 -1
- package/dist/assets/{metric-card-BQ-q7_9N.js → metric-card-YqtdN5uX.js} +1 -1
- package/dist/assets/{modal-UYNawsIu.js → modal-DN_Uwwkg.js} +1 -1
- package/dist/assets/native-anchor-C13W_dF5.js +1 -0
- package/dist/assets/{native-biometric-Dk_rOSjU.js → native-biometric-DzQYY-Z2.js} +1 -1
- package/dist/assets/{native-file-Dt4IC5xP.js → native-file-qM32rSz7.js} +2 -2
- package/dist/assets/{navigation-resolver-Cb4Lilq5.js → navigation-resolver-B6QxHAa5.js} +1 -1
- package/dist/assets/{not-found-CV2fs1T6.js → not-found-DXwfp4Yf.js} +1 -1
- package/dist/assets/{notifications-DZCtGip1.js → notifications-DMNpr3pt.js} +1 -1
- package/dist/assets/{notifications-page-BZmovm97.js → notifications-page-DD-175gq.js} +1 -1
- package/dist/assets/{oauth-complete-page-BTWKsjld.js → oauth-complete-page-DBDWL3aD.js} +1 -1
- package/dist/assets/{oauth-connection-utils-9aKLpLet.js → oauth-connection-utils-dPIUOXze.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Dn7v4THp.js → oauth-popup-complete-page-Dv0482xp.js} +1 -1
- package/dist/assets/{onboarding-layout-81jlZ1Nr.js → onboarding-layout-CYgAi-S1.js} +1 -1
- package/dist/assets/{open-workspace-file-CINDRVEK.js → open-workspace-file-Ca9gUjoQ.js} +2 -2
- package/dist/assets/{operational-status-D9ExUyuP.js → operational-status-DVK3_kD_.js} +1 -1
- package/dist/assets/{page-shell-DEN0SqaR.js → page-shell-nVp2ogSk.js} +1 -1
- package/dist/assets/{pairing-page-CUdrYuE6.js → pairing-page-CLNSXQ7A.js} +1 -1
- package/dist/assets/{password-reset-page-BkX1L0-o.js → password-reset-page-BNw-K6vZ.js} +1 -1
- package/dist/assets/{personality-page-C6Fs2NDZ.js → personality-page-axIG9Tu_.js} +1 -1
- package/dist/assets/{plans-page-CtUDk34m.js → plans-page-DQu9C86N.js} +1 -1
- package/dist/assets/{platform-detection-CuBj2s81.js → platform-detection-C-a_Mru0.js} +1 -1
- package/dist/assets/{platform-login-notice-V5xsGsbM.js → platform-login-notice-Dmq_2Akt.js} +1 -1
- package/dist/assets/{platform-loopback-page-07jf3mNj.js → platform-loopback-page-B0UOR3ct.js} +1 -1
- package/dist/assets/{plugin-detail-page-hHTbKbVT.js → plugin-detail-page-2ySPND3h.js} +1 -1
- package/dist/assets/{plugins-page-Cg5tKwHZ.js → plugins-page-D7jLWtXv.js} +1 -1
- package/dist/assets/popover-B_nY8VYI.js +1 -0
- package/dist/assets/{prefs-D-MNCWeN.js → prefs-BFDWWNwd.js} +1 -1
- package/dist/assets/{preview-error-UT2_K5co.js → preview-error-B7qHC1Y4.js} +1 -1
- package/dist/assets/{privacy-page-CN-sgiHL.js → privacy-page-B-FaZv9p.js} +1 -1
- package/dist/assets/{privacy-screen-WnmVno78.js → privacy-screen-Ng4c4whW.js} +1 -1
- package/dist/assets/{provider-callback-page-CZfGxI4n.js → provider-callback-page-CwYFxjk3.js} +1 -1
- package/dist/assets/{provider-signup-page-By9jDuQZ.js → provider-signup-page-BORU3SZe.js} +1 -1
- package/dist/assets/{push-registration-CHsDMNLd.js → push-registration-CyLSsbG5.js} +2 -2
- package/dist/assets/{remove-from-device-dialog-C0oKQcpu.js → remove-from-device-dialog-Bpy0yOG4.js} +1 -1
- package/dist/assets/{research-facts-CVSPPobz.js → research-facts-DzELMLzK.js} +1 -1
- package/dist/assets/{research-mock-page-Du5tkfLD.js → research-mock-page-BkcbRMpS.js} +1 -1
- package/dist/assets/{research-onboarding-route-1Gr9h1zU.js → research-onboarding-route-BlBSSOiI.js} +1 -1
- package/dist/assets/{research-results-view-D300rmPl.js → research-results-view-D1hOhfTP.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-Dj9Jz__k.js → retire-confirm-dialog-Zwo-Sjrc.js} +1 -1
- package/dist/assets/{review-terms-screen-CgaEflP1.js → review-terms-screen-DmNdg_zJ.js} +1 -1
- package/dist/assets/routes-BaPyKuTq.js +24 -0
- package/dist/assets/{runtime-upgrade-banner-DeZvRYKI.js → runtime-upgrade-banner-bHSGkzwB.js} +2 -2
- package/dist/assets/{sandbox-bridge-DJb4AAAd.js → sandbox-bridge-BcJiBmUR.js} +1 -1
- package/dist/assets/{schedules-D1Qj_LW9.js → schedules-CgwiGq3x.js} +1 -1
- package/dist/assets/{schedules-page-yQdICdi-.js → schedules-page-Ca_u2KkZ.js} +1 -1
- package/dist/assets/{section-membership-BLXUZceV.js → section-membership-CJlFrKoM.js} +1 -1
- package/dist/assets/{security-redirect-page-C1UvbW-C.js → security-redirect-page-eZ_C_Wf0.js} +1 -1
- package/dist/assets/{select-D133FK9g.js → select-DJDG9pwU.js} +1 -1
- package/dist/assets/select-assistant-screen-DSLQRer8.js +1 -0
- package/dist/assets/{self-hosted-servers-DbufWkqP.js → self-hosted-servers-DJIKPu90.js} +1 -1
- package/dist/assets/settings-BY8t4asx.js +1 -0
- package/dist/assets/{settings-divider-Cps8oOmA.js → settings-divider-BCyO1zmM.js} +1 -1
- package/dist/assets/{settings-layout-BIJoqFh0.js → settings-layout-Cv8u2dv7.js} +1 -1
- package/dist/assets/{settings-navigation-CBm-xDCe.js → settings-navigation-R6E3Weed.js} +1 -1
- package/dist/assets/{share-feedback-modal-CNyAJFsA.js → share-feedback-modal-COH8zwku.js} +2 -2
- package/dist/assets/{sidebar-tree-D2xvxqPq.js → sidebar-tree-Bfvk_uAR.js} +1 -1
- package/dist/assets/{signup-page-CTjLMOgF.js → signup-page-BsMK6h9P.js} +1 -1
- package/dist/assets/{site-favicon-MMcieZs1.js → site-favicon-Bu9L02gb.js} +1 -1
- package/dist/assets/{skill-detail-page-33xPKTfo.js → skill-detail-page-D9WBRKuf.js} +1 -1
- package/dist/assets/{skill-detail-panel-DicPuAYf.js → skill-detail-panel-kCMadngl.js} +1 -1
- package/dist/assets/{skills-CAW10RD_.js → skills-C3-ibGUo.js} +1 -1
- package/dist/assets/{skills-page-DtcZVUgk.js → skills-page-BMYP4Xi0.js} +1 -1
- package/dist/assets/{sounds-page-B1xgQyur.js → sounds-page-Du1t_S8A.js} +1 -1
- package/dist/assets/{src-Ch3HTlFm.js → src-DMnnfLrU.js} +2 -2
- package/dist/assets/{start-screen-1HZMKOoC.js → start-screen-I5HBKHT6.js} +1 -1
- package/dist/assets/{status-badge-pill-C8kQPvkY.js → status-badge-pill-w-ULYfRy.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-0Y0jfxfK.js → stt-language-picker-modal-Cq76JJex.js} +1 -1
- package/dist/assets/{subagent-detail-panel-cG6QAznG.js → subagent-detail-panel-DP4dB-Dz.js} +1 -1
- package/dist/assets/{subagent-store-Bho3BXWd.js → subagent-store-Bn8k7JMr.js} +1 -1
- package/dist/assets/{superpowers-page-CMB1OtM0.js → superpowers-page-COTkr31c.js} +1 -1
- package/dist/assets/{swipe-action-reveal-Dj3B2k-t.js → swipe-action-reveal-CQY9DSup.js} +1 -1
- package/dist/assets/{system-events-page-XOi-gc2G.js → system-events-page-CvoSQs7q.js} +1 -1
- package/dist/assets/{system-events-redirect-page-BrQ1djZt.js → system-events-redirect-page-BjnwAn9h.js} +1 -1
- package/dist/assets/{tag-Ddzwz3ij.js → tag-D2QYCm1p.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-D0bxOb5-.js → telegram-setup-wizard-6UP2MTrh.js} +1 -1
- package/dist/assets/{text-preview-D78CT11A.js → text-preview-BG__pDe7.js} +1 -1
- package/dist/assets/{theme-stage-page-DPIaeTEy.js → theme-stage-page-YfsM529J.js} +1 -1
- package/dist/assets/{tiptap-document-editor-DjSqTI1f.js → tiptap-document-editor-BM6zL6R7.js} +2 -2
- package/dist/assets/{toast-ZCXyBjoj.js → toast-CHtrY-GO.js} +1 -1
- package/dist/assets/{tool-detail-panel-D8Zr9tQz.js → tool-detail-panel-_LC-zFuo.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-DKncF4vA.js → transcript-message-body-shared-D8cmJP1C.js} +1 -1
- package/dist/assets/{trust-rules-api-JydQ2uwR.js → trust-rules-api-CE_KJOp2.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-gyvvmc_X.js → upgrade-cancel-page-DyLSvLsm.js} +1 -1
- package/dist/assets/{upgrade-success-page-_86uG48f.js → upgrade-success-page-BRPyFCq4.js} +1 -1
- package/dist/assets/{usage-redirect-page-DheTMqmF.js → usage-redirect-page-C4O5a5QM.js} +1 -1
- package/dist/assets/use-app-theme-BMyUWfBR.js +1 -0
- package/dist/assets/{use-assistant-identity-details-DUPitZAF.js → use-assistant-identity-details-C3sH1daz.js} +1 -1
- package/dist/assets/{use-attachment-preview-Y4kLa4bZ.js → use-attachment-preview-BUJ9CHqr.js} +2 -2
- package/dist/assets/{use-attachment-squares-C8jwl-uP.js → use-attachment-squares-CFAezuph.js} +1 -1
- package/dist/assets/{use-bookmarks-D-YUJTtH.js → use-bookmarks--Hn0Ty3s.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-DVs2FMHj.js → use-checkout-dismiss-refresh-CTdb-p9h.js} +1 -1
- package/dist/assets/{use-command-palette-sections-BBglPqI8.js → use-command-palette-sections-_F3pQkoi.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-CBJ6pmkd.js → use-copy-to-clipboard-BPX7B4SE.js} +1 -1
- package/dist/assets/{use-edge-swipe-C-5S-Uf_.js → use-edge-swipe-CJYjm94h.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-BO5FNCGw.js → use-edge-swipe-back-L6kJ84LI.js} +2 -2
- package/dist/assets/{use-edit-app-Mv9eDXyB.js → use-edit-app-C0wNLJT8.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-Dn0_apkq.js → use-invite-link-dialog-B1oz9iwD.js} +1 -1
- package/dist/assets/{use-is-org-ready-CXChKRKk.js → use-is-org-ready-CEB5IRpO.js} +1 -1
- package/dist/assets/{use-onboarding-login-LxAfxxq4.js → use-onboarding-login-DSP8WCFe.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-DGkEazpv.js → use-platform-assistant-id-n0Yl5uUG.js} +1 -1
- package/dist/assets/{use-platform-gate-dRg4Iaxg.js → use-platform-gate-DNfLk9Xd.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-BxcUEcT0.js → use-return-to-short-circuit-CY3AuCF9.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-cvialhOy.js → use-save-twilio-credentials-BWaLXE4J.js} +1 -1
- package/dist/assets/{use-side-list-room-B4aMMgSM.js → use-side-list-room-CO7nxluQ.js} +1 -1
- package/dist/assets/{use-skill-actions-BJnqKPy2.js → use-skill-actions-D7CK9Jhy.js} +1 -1
- package/dist/assets/{use-skill-detail-files-Dr4hogsT.js → use-skill-detail-files-Cop9LnVd.js} +1 -1
- package/dist/assets/{use-sticky-profiles-BzJCyWjh.js → use-sticky-profiles-D3ybBRfX.js} +1 -1
- package/dist/assets/{use-stt-language-selection-CqvYwuRJ.js → use-stt-language-selection-Dkm4Uq69.js} +1 -1
- package/dist/assets/{use-subagent-card-data-Ck-rTbqy.js → use-subagent-card-data-DbKFX1Jc.js} +1 -1
- package/dist/assets/{use-swipe-horizontal-DqSSUt1N.js → use-swipe-horizontal-BwZ0yvoM.js} +1 -1
- package/dist/assets/use-touch-mobile-CaIiM-us.js +1 -0
- package/dist/assets/use-transcript-message-by-id-BbJqGOYZ.js +1 -0
- package/dist/assets/{use-transcript-messages-D2DbIxRi.js → use-transcript-messages-Bp4Jsfks.js} +1 -1
- package/dist/assets/{use-voice-sample-preview-DgOqv2M7.js → use-voice-sample-preview-4vpwPGNW.js} +1 -1
- package/dist/assets/{useTranslation-CJMg4EBF.js → useTranslation-CCDbxnME.js} +1 -1
- package/dist/assets/{voice-page-Cle_chtc.js → voice-page--99ik4mV.js} +1 -1
- package/dist/assets/{voice-providers-note-CtAmFnWb.js → voice-providers-note-7m0LvxmN.js} +1 -1
- package/dist/assets/{web-B3W2e_Vh.js → web-0-rqi4je.js} +1 -1
- package/dist/assets/{web-Dc65176I.js → web-8fcyoNsL.js} +1 -1
- package/dist/assets/{web-CY247JIt.js → web-DCamMnI1.js} +1 -1
- package/dist/assets/{web-67Khnm-P.js → web-DIlEhBsT.js} +1 -1
- package/dist/assets/{web-B1q1ICxT.js → web-Do_X9zWq.js} +1 -1
- package/dist/assets/{web-BTPJ9E5m.js → web-DsVO-tkH.js} +1 -1
- package/dist/assets/{web-BCijmPgJ.js → web-UN0kX9ic.js} +1 -1
- package/dist/assets/{web-DRglVskM.js → web-aW1scjmM.js} +1 -1
- package/dist/assets/{web-BLn6q1jU.js → web-eVpCzMlE.js} +1 -1
- package/dist/assets/{welcome-screen-BLOCzpJp.js → welcome-screen-Drdb1oS6.js} +1 -1
- package/dist/assets/{workflow-detail-panel-C2uCVk6h.js → workflow-detail-panel-DS9_MRNg.js} +1 -1
- package/dist/assets/{workspace-page-DDLacEWd.js → workspace-page-CPDwYVlW.js} +1 -1
- package/dist/assets/{workspace-tree-query-yJYR72mM.js → workspace-tree-query-DzYz0-QE.js} +1 -1
- package/dist/index.html +118 -118
- package/package.json +1 -1
- package/dist/assets/auth-store-DHZaL7sV.js +0 -2
- package/dist/assets/bookmarks-page-d8nnNDbX.js +0 -1
- package/dist/assets/checkout-continuation-Dy6JhKe2.js +0 -1
- package/dist/assets/checkout-return-target-DL3gHGhi.js +0 -1
- package/dist/assets/common-p0vxUnEQ.js +0 -1
- package/dist/assets/companion-surface-page-mFuAra3C.js +0 -1
- package/dist/assets/consent-B28ImHdT.js +0 -1
- package/dist/assets/developer-page-EXPzzlyV.js +0 -1
- package/dist/assets/dist-DMYOKN8y.js +0 -1
- package/dist/assets/esm-0I5Dlpfv.js +0 -2
- package/dist/assets/esm-3UB7kHQk.js +0 -1
- package/dist/assets/esm-ByRflon4.js +0 -2
- package/dist/assets/esm-CQSb4ucv.js +0 -2
- package/dist/assets/esm-Cg0JWVKA.js +0 -2
- package/dist/assets/esm-DRm8O1kL.js +0 -2
- package/dist/assets/feature-flag-catalog-BE_ZpOEG.js +0 -1
- package/dist/assets/feed-item-status-actions-Cz3H5a6L.js +0 -1
- package/dist/assets/general-page-B9DgYoMz.js +0 -1
- package/dist/assets/index-ClaG_N2S.css +0 -2
- package/dist/assets/internal-thread-actions-DNd3HO_g.js +0 -1
- package/dist/assets/native-anchor-BrkS1YE6.js +0 -1
- package/dist/assets/popover-D3A6cIyW.js +0 -1
- package/dist/assets/routes-DyzEBtxt.js +0 -24
- package/dist/assets/select-assistant-screen-Bo3KgcFM.js +0 -1
- package/dist/assets/settings-CNNFT1Oh.js +0 -1
- package/dist/assets/use-app-theme-CMwGeP40.js +0 -1
- package/dist/assets/use-touch-mobile-Dr8DcEJC.js +0 -1
- package/dist/assets/use-transcript-message-by-id-NAxAU6wP.js +0 -1
- /package/dist/assets/{dist-RzxQVwj7.js → dist-D7UWVopK.js} +0 -0
- /package/dist/assets/{native-deep-link-D1B4PPZo.js → native-deep-link-IwasVyFQ.js} +0 -0
- /package/dist/assets/{onboarding-store-CXXioE_U.js → onboarding-store-9CMrOvS2.js} +0 -0
- /package/dist/assets/{react-query.gen-OpeDEMIm.js → react-query.gen-CYP-Tn4K.js} +0 -0
- /package/dist/assets/{routes-Bj1LYNBZ.js → routes-yNhBxUSb.js} +0 -0
- /package/dist/assets/{theme-preferences-DYqPKXf4.js → theme-preferences-CAlH0BJX.js} +0 -0
- /package/dist/assets/{typed-storage-CMa-TZhF.js → typed-storage-BNw603jr.js} +0 -0
- /package/dist/assets/{use-assistant-avatar-By4FjR0h.js → use-assistant-avatar-adekIS8v.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n,o as r}from"./local-settings-Bx7FsNo5.js";import{r as i,t as a}from"./capture-error-VBsIaC5d.js";import{t as o}from"./react-BFJW0bSv.js";import{W as s,n as c,t as l}from"./button-VkxVX0DM.js";import{d as u,h as d}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as f}from"./QueryClientProvider-EuRl-wrW.js";import{t as p}from"./useQuery-CTSuec5b.js";import{t as m}from"./useMutation-D2YPyfEH.js";import{t as h}from"./jsx-runtime-BJ8jcmzB.js";import{t as g}from"./typography-DekrYXvs.js";import{o as _,t as v}from"./list-row-D1odQOMJ.js";import{t as y}from"./check-NGUguBHp.js";import{t as b}from"./circle-alert-B-Zu9T9V.js";import{t as x}from"./circle-check-BQyrCkaB.js";import{t as S}from"./menu-noj9Ohcf.js";import{t as C}from"./clock-CNSYP9nm.js";import{t as w}from"./ellipsis-vertical-D3SJdQ4P.js";import{t as T}from"./external-link-DCA91uI6.js";import{t as E}from"./info-D0qquAkS.js";import{t as D}from"./list-Dn1NSBlc.js";import{t as O}from"./loader-circle-C9QjVTuc.js";import{t as k}from"./mail-BFnJM9hP.js";import{t as A}from"./checkbox-BkYoVUtf.js";import{t as j}from"./plus-BDSluxb4.js";import{t as M}from"./search-FGnzWjRX.js";import{t as N}from"./trash-2-DnajdgJS.js";import{t as P}from"./triangle-alert-B-18Pims.js";import{t as F}from"./notice-C_AsX_o9.js";import{t as I}from"./tag-Ddzwz3ij.js";import{t as L}from"./popover-D3A6cIyW.js";import{t as R}from"./input-DkgpMeG9.js";import{t as z}from"./toggle-0qt1e_3r.js";import{t as B}from"./modal-UYNawsIu.js";import{n as V}from"./toast-ZCXyBjoj.js";import{t as H}from"./confirm-dialog--7V28331.js";import{t as U}from"./select-D133FK9g.js";import{t as W}from"./skeleton-D8_lkywC.js";import{t as ee}from"./assistant-identity-store-DrQJhZh3.js";import{s as G}from"./i18n-7Z5ghN39.js";import{t as te}from"./Trans-Ayy2zoN6.js";import{t as K}from"./useTranslation-CJMg4EBF.js";import{i as ne,r as q}from"./api-errors-DYGVb-Sh.js";import{a as re,r as J,s as Y}from"./llm-model-catalog-BxTXG4Cg.js";import{C as ie,E as ae,M as X,S as oe,_ as Z,a as se,b as ce,c as le,f as ue,g as de,h as fe,i as pe,j as me,l as he,m as ge,n as _e,o as ve,p as ye,r as be,s as xe,t as Se,v as Ce,w as we,x as Te,y as Ee}from"./profile-pickers-BE4eyfmO.js";import{A as De,B as Oe,C as ke,F as Ae,G as je,H as Me,I as Ne,J as Pe,K as Fe,L as Ie,M as Le,N as Re,P as ze,R as Be,S as Ve,U as He,V as Ue,W as We,Y as Ge,_ as Ke,a as qe,b as Je,c as Ye,d as Xe,f as Ze,g as Qe,h as $e,i as et,j as tt,k as nt,l as rt,m as it,n as at,o as ot,p as st,q as ct,r as lt,s as ut,t as dt,u as ft,x as pt,y as mt,z as ht}from"./use-sticky-profiles-BzJCyWjh.js";import{n as gt,o as _t,r as vt}from"./utils-wDLoxcBZ.js";import{Jt as yt,On as bt,dt as xt,fr as St,j as Ct,mt as wt,qt as Tt}from"./sdk.gen-hZs6YBR0.js";import{d as Et}from"./routes-Bj1LYNBZ.js";import{p as Dt}from"./platform-detection-CuBj2s81.js";import{i as Ot}from"./use-platform-gate-dRg4Iaxg.js";import{r as kt}from"./use-is-org-ready-CXChKRKk.js";import{Dt as At,J as jt,Qt as Mt,Tt as Nt,X as Pt,Y as Ft,Z as It,_ as Lt,d as Rt,f as zt,g as Bt,h as Vt,ln as Ht,m as Ut,p as Wt,qt as Gt,u as Kt,wt as qt}from"./react-query.gen-OpeDEMIm.js";import{c as Jt,d as Yt,f as Xt,g as Zt,h as Qt,ht as $t,l as en,m as tn,o as nn,p as rn,s as an,u as on,v as sn,y as cn}from"./react-query.gen-D3r2fwXH.js";import{n as ln}from"./use-is-mobile-BwSS15lq.js";import{n as un,t as dn}from"./use-supports-inference-profiles-C0dU3VLS.js";import{t as fn}from"./platform-login-notice-V5xsGsbM.js";import{t as pn}from"./android-consumption-only-DDbN5hxd.js";import{n as mn}from"./use-voice-sample-preview-DgOqv2M7.js";import{c as hn,l as gn,o as _n,r as vn,t as yn}from"./use-stt-language-selection-CqvYwuRJ.js";import{t as bn}from"./use-active-assistant-id-BFE4r9Rp.js";import{t as xn}from"./detail-shell-BpJzTGvM.js";import{t as Sn}from"./detail-card-DBxsIpmu.js";import{n as Cn,t as wn}from"./detail-drawer-PnkAA_sr.js";import{a as Tn}from"./schedules-DaGS9wMX.js";import{t as En}from"./use-platform-assistant-id-DGkEazpv.js";import{t as Dn}from"./environment-store-rZ0hkMHt.js";import{t as On}from"./stt-language-picker-modal-0Y0jfxfK.js";var Q=e(o(),1),$=h();function kn({mode:e,onChange:t}){let{t:n}=K(`settings`);return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(_,{ariaLabel:n(`sharedUi.modeToggleAriaLabel`),value:e,onChange:t,items:[{value:`managed`,label:n(`sharedUi.managedLabel`)},{value:`your-own`,label:n(`sharedUi.yourOwnLabel`)}]})})}function An({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(Sn,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(kn,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function jn({id:e,title:t,subtitle:n,children:r}){return(0,$.jsxs)(Sn,{id:e,title:t,subtitle:n,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:r})]})}function Mn({children:e}){return(0,$.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[e,(0,$.jsx)(T,{className:`h-3.5 w-3.5`})]})}function Nn(){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:(0,$.jsx)(te,{i18nKey:`sharedUi.managedServicesBanner`,ns:`settings`,components:{link:(0,$.jsx)(Mn,{})}})})]})}function Pn({status:e,message:t,isLoading:n}){let{t:r}=K(`settings`);return n?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(O,{className:`h-3 w-3 animate-spin`}),r(`sharedUi.checkingDomain`)]}):e?e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:r(`sharedUi.verifiedTitle`),children:[(0,$.jsx)(y,{className:`h-3 w-3`}),r(`sharedUi.domainVerified`)]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:r(`sharedUi.verifyingTitle`),children:[(0,$.jsx)(C,{className:`h-3 w-3`}),r(`sharedUi.verifyingDomain`)]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:r(`sharedUi.failedTitle`),children:[(0,$.jsx)(b,{className:`h-3 w-3`}),r(`sharedUi.verificationFailed`)]}):(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:r(`sharedUi.unknownStatusTitle`),children:r(`sharedUi.unknownStatus`)})}function Fn({onClick:e,disabled:t}){return(0,$.jsx)(l,{onClick:e,disabled:t,children:`Save`})}function In({onClick:e,filled:t=!1}){return(0,$.jsx)(l,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function Ln({guide:e}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:e.description}),(0,$.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,$.jsx)(T,{className:`h-3 w-3`})]})]})]})}function Rn({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:r=`my-assistant`,disabled:i,autoFocus:a,prefix:o,error:s,locked:c,lockedMessage:l}){return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${s?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[o,(0,$.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:i||c,readOnly:c,autoFocus:a,placeholder:r,"aria-label":`Subdomain`,"aria-invalid":!!s,className:`h-full min-w-0 flex-1 bg-transparent ${o?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),s&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:s}),c&&l&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:l})]})}var zn=`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`;function Bn({assistantId:e,assistantHandle:t,emailRootDomain:n}){let{t:r}=K(`settings`),i=f(),o=u(),s=Dt(),[c,h]=d(),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(!1),[A,j]=(0,Q.useState)(!1),[M,P]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{v||!t||g||(_(t),y(!0))},[t,v,g]);let I=p({...$t(),enabled:!0}),L=I.data,R=L?.entitlements,z=R?.managed_email===!0,B=!!R&&!z,U=!L&&I.isError&&!I.isFetching,W=p({...Jt({path:{assistant_id:e}}),enabled:!B}),ee=p({...rn({path:{assistant_id:e}}),enabled:!B}),G=W.data?.results?.[0],q=ee.data?.results?.[0],re=G?`${G.subdomain}.${n}`:null,J=p({...Qt({path:{assistant_id:e,id:q?.id??``}}),enabled:!!q?.id,refetchOnWindowFocus:!1}),Y=p({...on({path:{assistant_id:e,id:G?.id??``}}),enabled:!!G?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Q.useEffect)(()=>{c.get(`release`)!==`1`||!G||q||(j(!0),h(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[q,G,c,h]);let ie=m(nn()),ae=m(an()),X=m(Yt()),oe=m(Xt()),Z=(0,Q.useCallback)(()=>{let t={assistant_id:e};i.invalidateQueries({queryKey:en({path:t})}),i.invalidateQueries({queryKey:tn({path:t})}),q?.id&&i.invalidateQueries({queryKey:Zt({path:{...t,id:q.id}})}),i.invalidateQueries({queryKey:cn()})},[q?.id,e,i]),se=(0,Q.useCallback)(async()=>{let t=g.trim().toLowerCase();if(!t){x(r(`emailManagedContent.enterSubdomainError`));return}D(!1);try{await ie.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),_(``),x(null),Z(),V.success(r(`emailManagedContent.domainRegisteredToast`,{domain:`${t}.${n}`}))}catch(e){x(ne(e,void 0,r(`emailManagedContent.registerDomainFailedFallback`)))}},[e,n,Z,ie,g,r]),ce=(0,Q.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){T(r(`emailManagedContent.enterUsernameError`));return}try{await X.mutateAsync({path:{assistant_id:e},body:{username:t}}),C(``),T(null),Z(),V.success(r(`emailManagedContent.emailCreatedToast`))}catch(e){T(ne(e,void 0,r(`emailManagedContent.createEmailFailedFallback`)))}},[e,Z,X,S,r]),le=(0,Q.useCallback)(async()=>{if(q?.id){P(!1);try{await oe.mutateAsync({path:{assistant_id:e,id:q.id}}),Z(),V.success(r(`emailManagedContent.emailRemovedToast`))}catch(e){a(e,{context:`email_address_delete`}),V.error(r(`emailManagedContent.emailRemoveFailedToast`))}}},[q?.id,e,oe,Z,r]),ue=(0,Q.useCallback)(async()=>{if(!G?.id)return;if(q){V.error(r(`emailManagedContent.removeAddressFirstToast`));return}j(!1);let t=G.subdomain;try{await ae.mutateAsync({path:{assistant_id:e,id:G.id}}),_(t),Z(),V.success(r(`emailManagedContent.domainReleasedToast`))}catch(e){a(e,{context:`email_domain_release`}),V.error(r(`emailManagedContent.domainReleaseFailedToast`))}},[q,e,ae,G?.id,G?.subdomain,Z,r]);if(I.isLoading)return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}),r(`emailManagedContent.checkingSubscription`)]});if(B)return(0,$.jsx)(F,{tone:`info`,icon:(0,$.jsx)(k,{className:`h-4 w-4`,"aria-hidden":!0}),title:r(`emailManagedContent.upgradeNoticeTitle`),actions:s?void 0:(0,$.jsx)(l,{size:`compact`,onClick:()=>o(Et.plans),children:r(`emailManagedContent.upgradeButton`)}),children:s?pn:r(`emailManagedContent.upgradeNoticeBody`)});let de=U?(0,$.jsx)(F,{tone:`warning`,title:r(`emailManagedContent.subscriptionWarningTitle`),actions:(0,$.jsx)(l,{size:`compact`,variant:`outlined`,onClick:()=>I.refetch(),children:r(`emailManagedContent.retry`)}),children:r(`emailManagedContent.subscriptionWarningBody`)}):null;return G?q?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.addressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:q.address}),(0,$.jsx)(Pn,{status:Y.data?.status,message:Y.data?.message,isLoading:Y.isLoading}),(0,$.jsx)(l,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(N,{}),onClick:()=>P(!0),disabled:oe.isPending,"aria-label":r(`emailManagedContent.removeEmailAriaLabel`)})]}),(0,$.jsx)(H,{open:M,title:r(`emailManagedContent.removeEmailTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.removeEmailConfirmMessage`,ns:`settings`,values:{address:q.address},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.removeConfirm`),destructive:!0,onConfirm:le,onCancel:()=>P(!1)})]}),J.data?.usage&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.usageSummary`,{sent:J.data.usage.sent_today,limit:J.data.usage.daily_limit,received:J.data.usage.received_today})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.domainLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[G.subdomain,`.`,n]}),(0,$.jsx)(Pn,{status:Y.data?.status,message:Y.data?.message,isLoading:Y.isLoading}),(0,$.jsx)(l,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(N,{}),onClick:()=>j(!0),disabled:ae.isPending,"aria-label":r(`emailManagedContent.releaseDomainAriaLabel`)})]}),(0,$.jsx)(H,{open:A,title:r(`emailManagedContent.releaseDomainTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.releaseDomainConfirmMessage`,ns:`settings`,values:{domain:`${G.subdomain}.${n}`},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.releaseConfirm`),destructive:!0,onConfirm:ue,onCancel:()=>j(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.emailAddressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${w?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:S,onChange:e=>{C(e.target.value.toLowerCase()),w&&T(null)},placeholder:r(`emailManagedContent.emailUsernamePlaceholder`),"aria-label":r(`emailManagedContent.emailUsernameAriaLabel`),"aria-invalid":!!w,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,re]})]}),(0,$.jsx)(l,{onClick:ce,disabled:X.isPending||!S.trim(),children:X.isPending?r(`emailManagedContent.creating`):r(`emailManagedContent.create`)})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:w})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[de,(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.subdomainLabel`)}),(0,$.jsx)(Rn,{subdomain:g,onSubdomainChange:e=>{_(e),b&&x(null)},domainSuffix:n,subdomainPlaceholder:r(`emailManagedContent.subdomainExamplePlaceholder`),error:b}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.subdomainHint`)}),(0,$.jsx)(l,{onClick:()=>D(!0),disabled:ie.isPending||!g.trim(),children:ie.isPending?r(`emailManagedContent.registering`):r(`emailManagedContent.register`)}),(0,$.jsx)(H,{open:E,title:r(`emailManagedContent.setSubdomainTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.setSubdomainConfirmMessage`,ns:`settings`,values:{subdomain:g.trim().toLowerCase()||r(`emailManagedContent.subdomainFallback`)},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.confirm`),onConfirm:se,onCancel:()=>D(!1)})]})}function Vn(){let{t:e}=K(`settings`),r=bn(),o=kt(),{data:s}=p({...sn(),enabled:o}),c=s?.results?.[0]?.handle,l=Dn.use.emailRootDomain(),u=Ot(),[d,f]=(0,Q.useState)(()=>u===`gated`?`your-own`:ge(t(et,`managed`),`managed`)),[m,h]=(0,Q.useState)(()=>{let e=t(lt,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:g,error:_}=En(r,u===`full`&&d===`managed`),v=g??(_?r:null),y=p({queryKey:[`byoEmailCredential`,r,m],queryFn:async()=>{let{data:e}=await xt({path:{assistant_id:r},body:{service:m,field:`api_key`},throwOnError:!0});return e},enabled:d===`your-own`||u===`gated`,staleTime:6e4,retry:i,meta:{errorContext:`byo_email_credential_check`}});(0,Q.useEffect)(()=>{y.error&&a(y.error,{context:`byo_email_credential_check`,bestEffort:!0})},[y.error]);let b=y.data?.hasSecret===!0,S=(0,Q.useCallback)(e=>{f(e),n(et,e)},[]),C=(0,Q.useCallback)(()=>{n(lt,m),V.success(e(`emailServiceCard.saveSuccessToast`))},[m,e]),w=(0,Q.useMemo)(()=>it.find(e=>e.id===m)??it[0],[m]),D=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:(0,$.jsx)(te,{i18nKey:`emailServiceCard.setupInstructions`,ns:`settings`,values:{providerName:w.displayName,setupSkill:w.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,$.jsxs)(`a`,{href:w.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailServiceCard.openProvider`,{providerName:w.displayName}),(0,$.jsx)(T,{className:`h-3 w-3`})]})]})]}),k=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailServiceCard.providerLabel`)}),(0,$.jsx)(U,{value:m,onChange:e=>{(e===`mailgun`||e===`resend`)&&h(e)},options:it.map(e=>({value:e.id,label:e.displayName}))})]}),b?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,$.jsx)(x,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsx)(`span`,{children:(0,$.jsx)(te,{i18nKey:`emailServiceCard.apiKeyConfigured`,ns:`settings`,values:{providerName:w.displayName,setupSkill:w.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,$.jsxs)(`a`,{href:w.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailServiceCard.openProvider`,{providerName:w.displayName}),(0,$.jsx)(T,{className:`h-3 w-3`})]})]}):D,(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(Fn,{onClick:C,disabled:!1})})]});return u===`gated`?(0,$.jsx)(jn,{id:`email`,title:e(`emailServiceCard.title`),subtitle:e(`emailServiceCard.subtitle`),children:k}):(0,$.jsx)(An,{id:`email`,title:e(`emailServiceCard.title`),subtitle:e(`emailServiceCard.subtitle`),mode:d,onModeChange:S,children:d===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:u===`disabled`?(0,$.jsx)(fn,{children:e(`emailServiceCard.platformLoginNotice`)}):v===null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}),e(`emailServiceCard.connecting`)]}):(0,$.jsx)(Bn,{assistantId:v,assistantHandle:c,emailRootDomain:l})}):k})}function Hn(){let e=bn();return(0,Q.useCallback)(async(t,n)=>{try{let{data:r}=await St({path:{assistant_id:e},body:{value:n,type:`api_key`,name:t},throwOnError:!0});le(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?V.error(G(`settings:useDaemonConfig.assistantNotReadyToast`)):V.error(G(`settings:useDaemonConfig.saveApiKeyFailedToast`,{providerName:t})),a(e,{context:`provision_provider_key`}),e}},[e])}function Un(e){let[t,n]=(0,Q.useState)(void 0);return(0,Q.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Q.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}var Wn=`0.11.0`;function Gn(){return gt(Wn)}var Kn=`gemini-3.1-flash-image-preview`;function qn(){let{t:e}=K(`settings`),r=bn(),i=f(),o=kt(),{data:s}=p({...Kt({path:{assistant_id:r}}),enabled:o,staleTime:3e4}),c=Mt({onSuccess:e=>{zt(i,{path:{assistant_id:r}},e)}}),l=Hn(),[u,d]=Un((0,Q.useMemo)(()=>{if(!s)return t(ot,`gemini`);let e=s.services?.[`image-generation`];return e?.mode===`managed`?`vellum`:e?.provider||t(`vellum:ai:imageGenProvider`,`gemini`)},[s])),[m,h]=(0,Q.useState)(()=>t(qe,Kn)),g=pt(u),_=g.includes(m)?m:g[0]??Kn,[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),S=Qe.map(e=>({value:e,label:Ke[e]??e})),C=(0,Q.useMemo)(()=>pt(u).map(e=>({value:e,label:$e[e]??e})),[u]),w=u===`gemini`||u===`openai`,{hasStoredCredential:T}=Oe({assistantId:r,credentialKind:`api_key`,credentialName:u,enabled:w}),E=d,D=(0,Q.useCallback)(async()=>{x(!0);let t=v.trim(),o=w&&t.length>0;try{o&&await l(Ve(_),t),await _t();let n=u===`vellum`&&!Gn()?{mode:`managed`}:{provider:u,mode:u===`vellum`?`managed`:`your-own`};await c.mutateAsync({path:{assistant_id:r},body:{services:{"image-generation":n}}}).catch(t=>{throw V.error(e(`imageGenerationCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t});try{await bt({path:{assistant_id:r},body:{modelId:_},throwOnError:!0})}catch(t){throw V.error(e(`imageGenerationCard.modelUpdateFailedToast`)),a(t,{context:`set_image_gen_model`}),t}finally{i.invalidateQueries({queryKey:Rt({path:{assistant_id:r}})})}}catch{x(!1);return}x(!1);try{if(n(ot,u),n(qe,_),o){let e=ht(r,`api_key`,u);i.setQueryData(e,!0),i.invalidateQueries({queryKey:e}),y(``)}V.success(e(`imageGenerationCard.savedToast`))}catch(t){a(t,{context:`settings-ai-image-gen-persist-local`}),V.error(e(`imageGenerationCard.localPreferencesFailedToast`))}},[v,u,w,_,r,c,l,i,e]),k=(0,Q.useCallback)(()=>{y(``),h(Kn),n(qe,Kn)},[]);return(0,$.jsx)(jn,{title:e(`imageGenerationCard.title`),subtitle:e(`imageGenerationCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.providerLabel`)}),(0,$.jsx)(U,{"aria-label":e(`imageGenerationCard.providerAriaLabel`),value:u,onChange:E,options:S})]}),u===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.vellumNote`)}),w&&(0,$.jsx)(R,{label:e(`imageGenerationCard.apiKeyLabel`),type:`password`,value:v,onChange:e=>y(e.target.value),placeholder:ze(e(u===`openai`?`imageGenerationCard.openaiApiKeyPlaceholder`:`imageGenerationCard.geminiApiKeyPlaceholder`),T),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.activeModelLabel`)}),(0,$.jsx)(U,{"aria-label":e(`imageGenerationCard.modelAriaLabel`),value:_,onChange:h,options:C})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:D,disabled:b}),b&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),w&&(0,$.jsx)(In,{onClick:k})]})]})})}function Jn({title:e,count:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`rounded-xl border border-[var(--border-hover)] bg-[var(--surface-overlay)] px-3 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(g,{variant:`body-large-default`,as:`h3`,className:`text-[var(--content-secondary)]`,children:e}),t==null?null:(0,$.jsxs)(g,{variant:`body-large-default`,as:`span`,"aria-label":`${t} ${e.toLowerCase()}`,className:`text-[var(--content-disabled)]`,children:[`·`,` `,t]})]}),n]}),r==null?null:(0,$.jsx)(`div`,{className:`mt-4 border-t border-[var(--border-base)]`,children:r})]})}function Yn(e){return e.scheduleNames.length>0||e.deferredReminderCount>0||e.scheduleLookupFailed}var Xn=5;function Zn({title:e,items:t,mono:n}){return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--content-tertiary)`,children:e}),(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:t.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,n?(0,$.jsx)(`code`,{children:e}):e]},e))})]})}function Qn(e){let t=e.label||e.name,n=[];e.isActive&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseDefaultProfile`)),e.callSiteIds.length>0&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseActionOverrides`,{count:e.callSiteIds.length}));let r=e.scheduleNames.length,i=e.deferredReminderCount;return r>0&&i>0?n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsBoth`,{schedules:r,reminders:i})):r>0?n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsSchedules`,{count:r})):i>0&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsReminders`,{count:i})),n.length===0?G(`settings:manageProfilesBlockedDeleteModal.summaryNoReferences`,{display:t}):n.length===1?G(`settings:manageProfilesBlockedDeleteModal.summaryOneClause`,{display:t,clause1:n[0]}):n.length===2?G(`settings:manageProfilesBlockedDeleteModal.summaryTwoClauses`,{display:t,clause1:n[0],clause2:n[1]}):G(`settings:manageProfilesBlockedDeleteModal.summaryThreeClauses`,{display:t,clause1:n[0],clause2:n[1],clause3:n[2]})}function $n({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:s}){let{t:c}=K(`settings`),u=e?.scheduleNames??[],d=u.slice(0,Xn),f=u.length-d.length,p=e!=null&&Yn(e);return(0,$.jsx)(B.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(B.Content,{size:`sm`,children:[(0,$.jsx)(B.Header,{children:(0,$.jsx)(B.Title,{children:c(`manageProfilesBlockedDeleteModal.title`)})}),(0,$.jsxs)(B.Body,{className:`space-y-4`,children:[e&&(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:Qn(e)}),e&&e.callSiteIds.length>0&&(0,$.jsx)(Zn,{title:c(`manageProfilesBlockedDeleteModal.actionOverridesTitle`),items:e.callSiteIds,mono:!0}),d.length>0&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(Zn,{title:c(`manageProfilesBlockedDeleteModal.schedulesTitle`),items:d}),f>0&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`pl-1 text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.moreSchedules`,{count:f})})]}),e?.scheduleLookupFailed&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-mid-strong)`,children:c(`manageProfilesBlockedDeleteModal.scheduleLookupFailed`)}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.replacementLabel`)}),(0,$.jsx)(U,{"aria-label":c(`manageProfilesBlockedDeleteModal.replacementLabel`),value:n,onChange:r,placeholder:c(`manageProfilesBlockedDeleteModal.replacementPlaceholder`),options:t.map(e=>{let t=p&&e.status===`disabled`;return{value:e.name,label:be(e),disabled:t,tooltip:t?c(`manageProfilesBlockedDeleteModal.disabledTargetTooltip`):void 0}})})]}),i&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(B.Footer,{children:[(0,$.jsx)(l,{variant:`ghost`,size:`compact`,onClick:o,children:c(`manageProfilesBlockedDeleteModal.cancel`)}),(0,$.jsx)(l,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:c(a?`manageProfilesBlockedDeleteModal.saving`:`manageProfilesBlockedDeleteModal.reassignAndDelete`)})]})]})})}function er({profile:e,isActiveProfile:t,selected:n,connections:r,deletePending:i=!1,onOpen:a,onMakeActive:o,onSetStatus:s,onDelete:u}){let{t:d}=K(`settings`),f=e.source===`managed`,p=e.status===`disabled`,m=e.label??e.name,h=[];e.model&&h.push(De(e.provider??void 0,e.model,r)),f&&h.push(d(`profileRow.managedByVellum`));let g=e.availability,_=g?.status===`incomplete`,y=g?.message??d(`profileRow.providerUnavailableDefault`),x=g!=null&&g.status!==`ok`?_?d(`profileRow.providerUnavailableFixable`,{message:y}):y:null;return(0,$.jsx)(v,{title:(0,$.jsx)(`span`,{className:p?`opacity-55`:void 0,children:m}),subtitle:h.length>0?h.join(` • `):void 0,onClick:a,showChevron:!1,selected:n,disabled:i,contentAriaLabel:d(`profileRow.openProfileAriaLabel`,{displayName:m}),trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[x==null?null:(0,$.jsx)(c,{content:x,children:_?(0,$.jsx)(`button`,{type:`button`,onClick:a,"aria-label":x,className:`inline-flex cursor-pointer rounded-sm p-0.5 keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:(0,$.jsx)(b,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-hidden":`true`})}):(0,$.jsx)(`span`,{className:`inline-flex p-0.5`,tabIndex:0,children:(0,$.jsx)(b,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-label":x,role:`img`})})}),p?(0,$.jsx)(I,{tone:`neutral`,children:d(`profileRow.disabledTag`)}):null,t?(0,$.jsx)(I,{tone:`positive`,children:d(`profileRow.defaultTag`)}):null,(0,$.jsxs)(S.Root,{children:[(0,$.jsx)(S.Trigger,{asChild:!0,children:(0,$.jsx)(l,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(w,{}),"aria-label":d(`profileRow.actionsAriaLabel`,{displayName:m}),disabled:i})}),(0,$.jsxs)(S.Content,{align:`end`,sideOffset:4,children:[(0,$.jsx)(S.Item,{onSelect:a,children:d(f?`profileRow.view`:`profileRow.edit`)}),!t&&!p?(0,$.jsx)(S.Item,{onSelect:o,children:d(`profileRow.makeDefault`)}):null,p?(0,$.jsx)(S.Item,{onSelect:()=>s(!0),children:d(`profileRow.enable`)}):f?null:(0,$.jsx)(S.Item,{onSelect:()=>s(!1),children:d(`profileRow.disable`)}),f?null:(0,$.jsx)(S.Item,{onSelect:u,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:d(`profileRow.delete`)})]})]})]})})}function tr(e,t){let n=dn(),{data:r}=p({...jt({path:{assistant_id:e}}),enabled:n,staleTime:3e4}),{profiles:i,profileOrder:a}=dt(t?.llm,e);return(0,Q.useMemo)(()=>r==null?{entries:he(i,a).map(e=>({name:e.name,label:e.label??null,provider:e.provider??null,model:e.model??null,status:e.status===`disabled`?`disabled`:`active`,source:e.source===`managed`?`managed`:`user`,provider_connection:e.provider_connection,availability:null})),isEffectiveCatalog:!1}:{entries:r.profiles,isEffectiveCatalog:!0},[r,i,a])}function nr(e){let t=f();return Mt({onSuccess:n=>{zt(t,{path:{assistant_id:e}},n),t.invalidateQueries({queryKey:Ft({path:{assistant_id:e}})}),t.invalidateQueries({queryKey:Ut({path:{assistant_id:e}})})}})}var rr=`0.10.8`;function ir(e){return vt(rr,e)}var ar=`settings-ai-profile-make-active`,or=`Failed to set the active profile. Please try again.`;function sr(e){let t=nr(e),n=f(),r=ir(e),i=Ht({onSuccess:()=>{n.invalidateQueries({queryKey:Rt({path:{assistant_id:e}})}),n.invalidateQueries({queryKey:Ft({path:{assistant_id:e}})})}});async function o(n,r,i){try{await t.mutateAsync({path:{assistant_id:e},body:{llm:n}})}catch(e){throw a(e,{context:r}),V.error(i),e}}async function s(t){if(!r){await o({activeProfile:t},ar,or);return}try{await i.mutateAsync({path:{assistant_id:e},body:{name:t}})}catch(e){let t=q(e);throw V.error(t??or),t||a(e,{context:ar}),e}}return{makeActive:s,setStatus:(e,t)=>o({profiles:{[e]:{status:t?`active`:`disabled`}}},`settings-ai-profile-toggle`,`Failed to update the profile. Please try again.`),deleteProfile:(e,t,n)=>o({profiles:{[e]:null},profileOrder:t.filter(t=>t!==e),...n?.isAdvisor?{advisorProfile:null}:{}},`settings-ai-profile-delete`,`Failed to delete the profile. Please try again.`),patchLlm:o,isPending:t.isPending||i.isPending}}var cr=`The profile was not deleted.`,lr=`Failed to move the schedules. ${cr}`;function ur(e){let t=q(e);return t?`${/[.!?]$/.test(t)?t:`${t}.`} ${cr}`:lr}function dr(e,t,n){let r=sr(e),i=f(),o=xe(),s=t?.llm?.activeProfile??null,c=t?.llm?.advisorProfile??null,l=t?.llm?.callSites??{},u=(0,Q.useMemo)(()=>t?.llm?.profiles??{},[t?.llm?.profiles]),d=(0,Q.useMemo)(()=>t?.llm?.profileOrder??[],[t?.llm?.profileOrder]),p=(0,Q.useMemo)(()=>he(u,d),[u,d]),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(null),w=(0,Q.useRef)(!1);function T(e){return p.filter(t=>t.name===e?!1:t.status===`disabled`?!0:Se(t,p,{requireOwnProviderAndModel:o}))}function E(e,t){let n=T(e).filter(e=>!t||e.status!==`disabled`),r=n.find(e=>e.name===s),i=n.find(e=>e.source!==`managed`);return(r??i??n[0])?.name??``}async function D(e){try{await r.deleteProfile(e,d,{isAdvisor:e===c}),n?.onDeleted?.(e)}catch{}}async function O(t){let n=u[t]?.label??t,r=t===s,o=Object.entries(l).filter(([e,n])=>e!==`mainAgent`&&n?.profile===t).map(([e])=>e),c=[],d=0,f=!1;try{let n=(await i.fetchQuery({...qt({path:{assistant_id:e},query:{inference_profile:t,include_all:`true`}}),retry:!1,staleTime:0})).schedules??[];c=n.filter(e=>!e.isDeferred).map(e=>e.name),d=n.filter(e=>e.isDeferred).length}catch(e){a(e,{context:`settings-ai-profile-delete-schedule-scan`}),f=!0}if(!(r||o.length>0||c.length>0||d>0)&&!f){await D(t);return}let p={name:t,label:n,isActive:r,callSiteIds:o,scheduleNames:c,deferredReminderCount:d,scheduleLookupFailed:f};h(p),y(E(t,Yn(p))),_(null)}function k(e){t==null||w.current||(w.current=!0,C(e),O(e).finally(()=>{w.current=!1,C(null)}))}async function A(){if(!m||!v)return;if(x(!0),_(null),Yn(m))try{await Tn(e,m.name,v),await i.invalidateQueries({queryKey:Nt({path:{assistant_id:e}})})}catch(e){a(e,{context:`settings-ai-profile-reassign-schedules`}),_(ur(e)),x(!1);return}let t={};if(m.isActive&&(t.activeProfile=v),m.callSiteIds.length>0){let e={};for(let t of m.callSiteIds)e[t]={profile:v};t.callSites=e}if(Object.keys(t).length>0)try{await r.patchLlm(t,`settings-ai-profile-reassign-delete`,`Failed to reassign references. Please try again.`)}catch{_(`Failed to reassign references. Please try again.`),x(!1);return}let n=m.name;h(null),x(!1),D(n)}return{requestDelete:k,pendingDeleteName:S,blockedDeleteModalProps:{blocked:m,availableReplacements:T(m?.name??null),replacement:v,onReplacementChange:y,error:g,saving:b,onClose:()=>{h(null),_(null)},onConfirm:()=>void A()}}}function fr(){}function pr({assistantId:e,config:t,connections:n,selectedProfileName:r,onOpenProfile:i,onCreateProfile:a,onProfileDeleted:o}){let{t:s}=K(`settings`),{entries:c}=tr(e,t),u=sr(e),d=dr(e,t,{onDeleted:o}),f=t?.llm?.activeProfile??null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jn,{title:s(`profilesSection.title`),action:(0,$.jsx)(l,{variant:`primary`,onClick:a,leftIcon:(0,$.jsx)(j,{}),disabled:t==null,children:s(`profilesSection.createProfile`)}),children:t==null?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.loading`)}):c.length===0?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.emptyState`)}):c.map(e=>(0,$.jsx)(er,{profile:e,isActiveProfile:e.name===f,selected:e.name===r,connections:n,deletePending:d.pendingDeleteName===e.name,onOpen:()=>i(e.name),onMakeActive:()=>void u.makeActive(e.name).catch(fr),onSetStatus:t=>void u.setStatus(e.name,t).catch(fr),onDelete:()=>d.requestDelete(e.name)},e.name))}),(0,$.jsx)($n,{...d.blockedDeleteModalProps})]})}var mr={anthropic:!0,openai:!0,gemini:!0,fireworks:!0,openrouter:!0,chatgpt:!0,vellum:!0,together:!0,"vercel-ai-gateway":!0,minimax:!0,atlascloud:!0,baseten:!0,poolside:!0};function hr(e){return e in mr}function gr(e){if(!e.baseUrl)return null;try{return new URL(e.baseUrl).host}catch{return e.baseUrl}}function _r(e){let t=gr(e)??``,n=[];t&&n.push(t);let r=e.models?.length??0;return r>0&&n.push(`${r} ${r===1?`model`:`models`}`),e.auth.type===`none`&&n.push(`keyless`),n.join(` · `)}function vr(e){switch(e.auth.type){case`api_key`:return`Own API key`;case`oauth_subscription`:return`ChatGPT subscription`;case`none`:return`No API key needed`;default:return null}}function yr(e){if(e.provider===`vellum`)return`Included with your plan`;if(e.provider===`openai-compatible`)return _r(e);let t=[];if(e.provider===`ollama`){let n=gr(e);n&&t.push(n)}let n=e.provider===`chatgpt`?`openai`:e.provider,r=e.auth.type===`oauth_subscription`?Pe(n):Y(n),i=e.models?.length??r.length;i>0&&t.push(`${i} ${i===1?`model`:`models`}`);let a=vr(e);return a&&t.push(a),t.join(` • `)}function br({connection:e,isDefault:t,supportsDefaultProvider:n,selected:r,isSettingDefault:i,onOpen:a,onSetDefault:o,onDelete:s}){let{t:c}=K(`settings`),u=e.isManaged??!1,d=Fe(e),f=hr(e.provider),p=yr(e),m=n&&!t&&f,h=!u&&a!=null,g=!u&&!t,_=m||h||g;return(0,$.jsx)(v,{title:d,subtitle:p.length>0?p:void 0,onClick:a,showChevron:!1,selected:r,contentAriaLabel:a?c(`providerRow.openProviderAriaLabel`,{displayName:d}):void 0,trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[u?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.managedTagTitle`),children:c(`providerRow.managedTag`)}):null,t?(0,$.jsx)(I,{tone:`info`,title:c(`providerRow.defaultTagTitle`),children:c(`providerRow.defaultTag`)}):null,e.provider===`ollama`?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.localTagTitle`),children:c(`providerRow.localTag`)}):null,e.provider===`openai-compatible`?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.customTagTitle`),children:c(`providerRow.customTag`)}):null,_?(0,$.jsxs)(S.Root,{children:[(0,$.jsx)(S.Trigger,{asChild:!0,children:(0,$.jsx)(l,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(w,{}),"aria-label":c(`providerRow.actionsAriaLabel`,{displayName:d})})}),(0,$.jsxs)(S.Content,{align:`end`,sideOffset:4,children:[h?(0,$.jsx)(S.Item,{onSelect:a,children:c(`providerRow.edit`)}):null,m?(0,$.jsx)(S.Item,{disabled:i,onSelect:o,children:c(`providerRow.setAsDefault`)}):null,g?(0,$.jsx)(S.Item,{onSelect:s,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:c(`providerRow.delete`)}):null]})]}):(0,$.jsx)(`span`,{className:`inline-block w-8`,"aria-hidden":!0})]})})}function xr(e,t){let n=f(),r={path:{assistant_id:e}},i=m({...Lt(),onSuccess:()=>{n.invalidateQueries({queryKey:Bt(r)}),n.invalidateQueries({queryKey:Rt(r)}),n.invalidateQueries({queryKey:Ft(r)})},onError:e=>{a(e,{context:`settings-ai-set-default-provider`}),V.error(G(`settings:useProviderActions.setDefaultFailedToast`))}});function o(t){hr(t.provider)&&i.mutate({path:{assistant_id:e},body:{provider:t.provider,connectionName:t.name}})}function s(e){return i.isPending&&i.variables?.body?.connectionName===e}async function c(i){try{let{response:a}=await Tt({path:{assistant_id:e,name:i}});a?.ok||a?.status===404?(n.invalidateQueries({queryKey:It(r)}),t?.onDeleted?.(i)):a?.status===409?V.error(G(`settings:useProviderActions.deleteInUseToast`)):V.error(G(`settings:useProviderActions.deleteFailedToast`))}catch(e){a(e,{context:`settings-ai-provider-delete`}),V.error(G(`settings:useProviderActions.deleteFailedToast`))}}return{setDefault:o,isSettingDefault:s,deleteConnection:c}}function Sr({assistantId:e,selectedConnectionName:t,onOpenConnection:n,onAddProvider:r,onConnectionDeleted:i}){let{t:a}=K(`settings`),{data:o,isLoading:s,isError:c}=p(Pt({path:{assistant_id:e}})),u=un(),{data:d}=p({...Vt({path:{assistant_id:e}}),enabled:u}),f=u?d?.resolvedConnectionName??null:null,m=xr(e,{onDeleted:i}),h=(0,Q.useMemo)(()=>{let e=o?.connections??[];return[...e.filter(e=>e.provider===me),...e.filter(e=>e.provider!==me)]},[o]);return(0,$.jsx)(Jn,{title:a(`providersSection.title`),action:(0,$.jsx)(l,{variant:`outlined`,onClick:r,leftIcon:(0,$.jsx)(j,{}),children:a(`providersSection.addProvider`)}),children:s?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(W,{className:`h-10 rounded-lg`},e))}):c?(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:a(`providersSection.loadError`)}):h.length===0?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:a(`providersSection.empty`)}):h.map(e=>(0,$.jsx)(br,{connection:e,isDefault:e.name===f,supportsDefaultProvider:u,selected:e.name===t,isSettingDefault:m.isSettingDefault(e.name),onOpen:e.isManaged??!1?void 0:()=>n(e.name),onSetDefault:()=>m.setDefault(e),onDelete:()=>void m.deleteConnection(e.name)},e.name))})}function Cr({panel:e,onOpenPanel:t,onClosePanel:n}){let{t:r}=K(`settings`),i=bn(),{data:a}=p({...Kt({path:{assistant_id:i}}),staleTime:3e4}),o=un(),{data:s}=p({...Vt({path:{assistant_id:i}}),enabled:o}),c=s?.availability,{data:u}=p({...Pt({path:{assistant_id:i}})}),d=u?.connections,f=a?.llm?.callSites??{},m=Object.entries(f).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length;return(0,$.jsx)(jn,{title:r(`languageModelCard.title`),subtitle:r(`languageModelCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[c&&c.status!==`ok`&&(0,$.jsx)(F,{tone:c.status===`unknown`?`warning`:`error`,children:c.message??r(`languageModelCard.defaultProviderUnavailable`)}),i&&(0,$.jsx)(pr,{assistantId:i,config:a,connections:d,selectedProfileName:e?.kind===`profile`?e.name:null,onOpenProfile:e=>t({kind:`profile`,name:e}),onCreateProfile:()=>t({kind:`create-profile`}),onProfileDeleted:t=>{e?.kind===`profile`&&e.name===t&&n()}}),i&&(0,$.jsx)(Sr,{assistantId:i,selectedConnectionName:e?.kind===`provider`?e.name:null,onOpenConnection:e=>t({kind:`provider`,name:e}),onAddProvider:()=>t({kind:`add-provider`}),onConnectionDeleted:t=>{e?.kind===`provider`&&e.name===t&&n()}}),(0,$.jsx)(Jn,{title:r(`languageModelCard.overridesTitle`),count:m,action:(0,$.jsx)(l,{variant:`outlined`,onClick:()=>t({kind:`overrides`}),children:r(`languageModelCard.manage`)})})]})})}function wr(e,{onSaved:t}={}){let n=nr(e),{data:r}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=r?.llm?.profileOrder??[];async function s(r,s,c){let l=c?.mode??`replace`,u=!(r in i);if(l===`merge`&&!u){await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:s}}}}),t?.();return}let d={profiles:{[r]:s}};if(u&&(d.profileOrder=o.includes(r)?o:[...o,r]),u)await n.mutateAsync({path:{assistant_id:e},body:{llm:d}});else{let t=i[r];await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:null}}}});try{await n.mutateAsync({path:{assistant_id:e},body:{llm:d}})}catch(i){throw a(i,{context:`settings-ai-profile-edit-recreate`}),t!=null&&await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:t}}}}).catch(()=>{}),i}}u&&V.success(G(`settings:useProfileSave.createdToast`,{name:s.label??r})),t?.()}return{saveProfile:s,isPending:n.isPending}}function Tr({assistantId:e,profileName:t,onClose:n}){let{t:r}=K(`settings`),{data:i}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),{data:a}=p({...Pt({path:{assistant_id:e}})}),o=a?.connections,s=(0,Q.useMemo)(()=>i?.llm?.profiles??{},[i?.llm?.profiles]),c=Object.keys(s),u=(0,Q.useMemo)(()=>{if(t==null)return;let e=s[t];return e?{name:t,...e}:void 0},[t,s]),d=t==null?`create`:u?.source===`managed`||u?.invariant===!0?`view`:`edit`,{saveProfile:f,isPending:m}=wr(e,{onSaved:n}),h=nt({mode:d,profileName:t??void 0,initialValues:u,existingNames:c,connections:o,assistantId:e,onSave:f}),g=dr(e,i,{onDeleted:()=>n()}),_=t!=null&&g.pendingDeleteName===t,v=t!=null&&i!=null&&!(t in s);(0,Q.useEffect)(()=>{v&&!h.saving&&!m&&n()},[v,h.saving,m,n]);let y=d===`view`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xn,{title:h.effectiveMode===`create`?r(`profileDetailPanel.newProfileTitle`):u?.label??t??r(`profileDetailPanel.defaultTitle`),closeVariant:`outlined`,onClose:n,headerTrailing:y&&h.effectiveMode!==`create`?(0,$.jsx)(I,{tone:`neutral`,children:r(`profileDetailPanel.managedTag`)}):null,headerActions:h.effectiveMode!==`create`&&!h.isReadOnly?(0,$.jsx)(l,{variant:`dangerOutline`,iconOnly:_?(0,$.jsx)(O,{className:`animate-spin`}):(0,$.jsx)(N,{}),"aria-label":r(_?`profileDetailPanel.deleting`:`profileDetailPanel.delete`),tooltip:r(`profileDetailPanel.delete`),onClick:()=>{t!=null&&g.requestDelete(t)},disabled:h.saving||_}):null,footer:h.isReadOnly?(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(l,{variant:`outlined`,onClick:h.switchToSaveAsNew,disabled:h.saving,children:r(`profileDetailPanel.saveAsNew`)}),h.hasViewModeChanges?(0,$.jsx)(l,{variant:`primary`,onClick:()=>void h.handleSave(),disabled:h.saving,children:h.saving?r(`profileDetailPanel.saving`):r(`profileDetailPanel.save`)}):null]}):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(l,{variant:`primary`,onClick:()=>void h.handleSave(),disabled:h.isInvalid||h.saving,children:h.saving?r(`profileDetailPanel.saving`):h.effectiveMode===`create`?r(`profileDetailPanel.createProfile`):r(`profileDetailPanel.saveChanges`)})}),children:(0,$.jsx)(tt,{editor:h,assistantId:e,connections:o,variant:`panel`})}),(0,$.jsx)($n,{...g.blockedDeleteModalProps})]})}function Er({value:e,profileOptions:t,disabled:n,onChange:r}){let{t:i}=K(`settings`);return(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:i(`advisorProfileRow.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:i(`advisorProfileRow.description`)})]}),(0,$.jsx)(U,{value:e,onChange:r,options:t,placeholder:i(`advisorProfileRow.chooseProfilePlaceholder`),className:`w-44`,menuMinWidth:280,menuAlign:`start`,disabled:n})]})})}var Dr=`__custom__`;function Or(e){return e?!!(e.profile||e.provider||e.model):!1}function kr(e,t){if(t?.provider||t?.model)return null;let n=e.defaultProfile??e.shippedDefaultProfile;return n?{profile:n,via:t?.profile===n?`override`:`default`}:null}function Ar(e,t){let n=Or(e);return n===Or(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function jr({assistantId:e,callSites:t,domains:n,persistedOverrides:r,orderedProfiles:i,onClose:o,onApplied:s}){let{t:c}=K(`settings`),u=nr(e),d=xe(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d}),[d]),p=(0,Q.useMemo)(()=>{let e=new Map;for(let n of t){let t=kr(n,r[n.id]);t&&e.set(n.id,t)}return e},[t,r]),m=(0,Q.useMemo)(()=>{let e=new Set(Array.from(p.values(),e=>e.profile));return i.filter(t=>e.has(t.name))},[i,p]),[h,_]=(0,Q.useState)(()=>m[0]?.name??``),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(new Set),[S,C]=(0,Q.useState)(!1),w=(0,Q.useMemo)(()=>{let e=new Map(n.map(e=>[e.id,e.displayName]));return t=>e.get(t)??t},[n]),T=(0,Q.useMemo)(()=>t.filter(e=>p.get(e.id)?.profile===h),[t,p,h]),E=(0,Q.useMemo)(()=>T.map(e=>e.id).filter(e=>!b.has(e)),[T,b]),D=(0,Q.useMemo)(()=>m.map(e=>({value:e.name,label:be(e)})),[m]),k=(0,Q.useMemo)(()=>ve(i,[],f).filter(e=>e.name!==h).map(e=>({value:e.name,label:be(e)})),[i,h,f]),j=fe(i,h),M=fe(i,v),N=b.size===0;function P(e){_(e),x(new Set),e===v&&y(``)}function I(e,t){x(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})}async function L(){if(!(!h||!v||E.length===0)){C(!0);try{let t={};for(let e of E)t[e]={profile:v};await u.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:t}}}),V.success(c(`bulkOverrideSwapModal.successToast`,{count:E.length,targetLabel:M})),s(),o()}catch(e){let t=q(e);V.error(t??c(`bulkOverrideSwapModal.updateFailedToast`)),t||a(e,{context:`settings-ai-bulk-override-swap`})}finally{C(!1)}}}return(0,$.jsx)(B.Root,{open:!0,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(B.Content,{size:`md`,children:[(0,$.jsx)(B.Header,{children:(0,$.jsx)(B.Title,{children:c(`bulkOverrideSwapModal.title`)})}),(0,$.jsxs)(B.Body,{className:`space-y-4`,children:[(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:c(`bulkOverrideSwapModal.intro`)}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsx)(U,{id:`bulk-swap-source`,label:c(`bulkOverrideSwapModal.currentlyUsingLabel`),value:h,onChange:P,options:D}),(0,$.jsx)(U,{id:`bulk-swap-target`,label:c(`bulkOverrideSwapModal.changeToLabel`),value:v,onChange:y,options:k,placeholder:c(`bulkOverrideSwapModal.targetPlaceholder`)})]}),(0,$.jsx)(F,{tone:`info`,title:c(`bulkOverrideSwapModal.noticeTitle`),children:c(`bulkOverrideSwapModal.noticeBody`,{sourceLabel:j})}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:c(`bulkOverrideSwapModal.affectedSummary`,{count:T.length,profile:j})}),(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[color:var(--content-secondary)]`,children:c(`bulkOverrideSwapModal.chooseActions`)})]}),(0,$.jsx)(l,{variant:`ghost`,onClick:()=>x(N?new Set(T.map(e=>e.id)):new Set),children:c(N?`bulkOverrideSwapModal.clearAll`:`bulkOverrideSwapModal.selectAll`)})]}),(0,$.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:T.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-[var(--border-base)] px-3 py-2`,children:[(0,$.jsx)(A,{checked:!b.has(e.id),onCheckedChange:t=>I(e.id,t===!0),disabled:S,label:e.displayName,helperText:w(e.domain)}),(0,$.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:p.get(e.id)?.via===`override`?c(`bulkOverrideSwapModal.viaOverride`):c(`bulkOverrideSwapModal.viaDefault`)})]},e.id))})]})]}),(0,$.jsxs)(B.Footer,{children:[(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`mr-auto self-center text-[color:var(--content-secondary)]`,children:c(`bulkOverrideSwapModal.willChange`,{count:E.length})}),(0,$.jsx)(l,{variant:`ghost`,onClick:o,disabled:S,children:c(`bulkOverrideSwapModal.cancel`)}),(0,$.jsx)(l,{variant:`primary`,disabled:!h||!v||E.length===0||S,onClick:()=>void L(),children:S?(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}):c(`bulkOverrideSwapModal.applyTo`,{count:E.length})})]})]})})}function Mr({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,connections:o,onDraftChange:s,onToggle:c}){let{t:l}=K(`settings`),u=Or(i),d=!i||!u?``:i.provider||i.model?Dr:i.profile??``,f=d===Dr,p=Me(),m=(o??[]).some(e=>e.provider===we),h=[...p,...m?[we]:[]],g=p[0]??ae[0],_=i?.provider,v=X(_)?_:_===`chatgpt`?we:void 0,y=v!==void 0&&h.some(e=>e===v),b=v??g,x=Ge(b,``,(o??[]).filter(e=>Ue(e.provider,b)))?Pe(b):Y(b),S=x.map(e=>({value:e.id,label:e.displayName})),C=typeof i?.model==`string`?i.model:``;if(C&&!x.some(e=>e.id===C)){let e=Y(b).find(e=>e.id===C)?.displayName??C;S.push({value:C,label:l(`callSiteOverridesRow.unavailableOption`,{name:e})})}let w=!!i?.provider&&!i?.model,T=[...h.map(e=>({value:e,label:J[e]??e})),...v&&!y?[{value:v,label:l(`callSiteOverridesRow.unavailableOption`,{name:J[v]??v})}]:[]];function E(t){t===`__custom__`?s(e,{profile:null,provider:g,model:re(g)??``}):t===``?s(e,null):s(e,{profile:t,provider:null,model:null})}function D(t){let n=re(t)??``;s(e,{...i??{},profile:null,provider:t,model:n})}function O(t){s(e,{...i??{},model:t})}return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,$.jsx)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:l(`callSiteOverridesRow.defaultProfileSuffix`,{label:r})})]})]}),(0,$.jsx)(z,{checked:u,onChange:t=>c(e,t),"aria-label":l(`callSiteOverridesRow.overrideAriaLabel`,{displayName:t}),className:`shrink-0`})]}),u&&(0,$.jsx)(`div`,{className:`mt-3`,children:(0,$.jsx)(U,{value:d,onChange:E,options:a,className:`w-44`,menuMinWidth:280,menuAlign:`start`})}),u&&f&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.providerLabel`)}),(0,$.jsx)(U,{value:b??``,onChange:D,options:T})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.modelLabel`)}),(0,$.jsx)(U,{value:i?.model??``,onChange:O,options:S})]})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l(`callSiteOverridesRow.pickModelError`)})]})]})}function Nr({groups:e,drafts:t,buildProfileOptionsForRow:n,profileLabelFor:r,advisorMatchesSearch:i,connections:a,onDraftChange:o,onToggle:s}){let{t:c}=K(`settings`);return(0,$.jsx)(`div`,{className:`space-y-4`,children:e.length===0?i?null:(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`overridesCallSiteList.emptySearch`)}):e.map(({domain:e,sites:i})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:i.map(e=>{let i=(()=>{let n=t[e.id]??null;return!n||!Or(n)?``:n.provider||n.model?Dr:n.profile??``})(),c=e.shippedDefaultProfile??e.defaultProfile,l=c?r(c):null;return(0,$.jsx)(Mr,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:l,draft:t[e.id]??null,profileOptions:n(i===``||i===`__custom__`?null:i),connections:a,onDraftChange:o,onToggle:s},e.id)})})]},e.id))})}function Pr(e,t){let n={};for(let r of Object.keys(e)){let i=e[r]??null;Or(i)?n[r]={profile:i?.profile??null,provider:i?.provider??null,model:i?.model??null}:r in t&&t[r]===null&&(n[r]=null)}return n}function Fr(e){let t={};for(let n of Object.keys(e))t[n]=null;return t}function Ir({catalogCallSiteIds:e,persistedOverrides:t,persistedAdvisor:n,isSeeded:r}){let[i,a]=(0,Q.useState)({}),[o,s]=(0,Q.useState)(void 0),c=(0,Q.useMemo)(()=>{if(!r)return{};let n={};for(let r of e)if(r in i)n[r]=i[r];else{let e=t[r];n[r]=e?{...e}:{}}return n},[r,e,t,i]),l=o??n,u=l!==n,d=(0,Q.useMemo)(()=>{if(!r)return!1;for(let e of Object.keys(c))if(!Ar(c[e],t[e]))return!0;return!1},[r,c,t]);return{drafts:c,advisorProfile:l,advisorDirty:u,callSiteDraftsDirty:d,hasUnsavedDrafts:u||d,hasValidationError:(0,Q.useMemo)(()=>Object.values(c).some(e=>Or(e)&&!!e?.provider&&!e?.model),[c]),setDraft:(0,Q.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[]),setAdvisor:(0,Q.useCallback)(e=>{s(e)},[]),clearEdits:(0,Q.useCallback)(()=>{a({}),s(void 0)},[]),buildSavePatch:(0,Q.useCallback)(()=>Pr(c,i),[c,i]),buildResetPatch:(0,Q.useCallback)(()=>Fr(c),[c])}}function Lr({assistantId:e,onClose:t}){let{t:n}=K(`settings`),{data:r}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=(0,Q.useMemo)(()=>r?.llm?.profileOrder??[],[r?.llm?.profileOrder]),s=(0,Q.useMemo)(()=>r?.llm?.callSites??{},[r?.llm?.callSites]),c=(0,Q.useMemo)(()=>he(i,o),[i,o]),u=Me(),d=xe(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d}),[d]),m=nr(e),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(!1),[y,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(!1),{data:w,isLoading:T,isError:E,refetch:D}=p({...Wt({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),{data:k}=p({...Pt({path:{assistant_id:e}}),enabled:!!e}),A=(0,Q.useMemo)(()=>(w?.callSites??[]).filter(e=>e.id!==`mainAgent`),[w]),j=!T&&!E&&!!w,N=!!r,P=j&&N,F=(0,Q.useMemo)(()=>A.map(e=>e.id),[A]),I=r?.llm?.advisorProfile??``,{drafts:L,advisorProfile:z,advisorDirty:B,callSiteDraftsDirty:U,hasUnsavedDrafts:W,hasValidationError:ee,setDraft:G,setAdvisor:te,clearEdits:ne,buildSavePatch:q,buildResetPatch:J}=Ir({catalogCallSiteIds:F,persistedOverrides:s,persistedAdvisor:I,isSeeded:P}),Y=(0,Q.useMemo)(()=>new Set(F),[F]),ie=(0,Q.useCallback)(e=>fe(c,e),[c]),X=(0,Q.useCallback)(e=>({value:e.name,label:be(e),..._e(e,c,f)===`undispatchable`?{icon:(0,$.jsx)(b,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),tooltip:se(e)}:{}}),[c,f]),oe=(0,Q.useMemo)(()=>ve(c,[I],f).map(X),[c,I,X,f]),Z=(0,Q.useMemo)(()=>{let e=h.trim().toLowerCase();return e===``||`advisor`.includes(e)||`second opinion`.includes(e)},[h]),ce=(0,Q.useMemo)(()=>A.some(e=>kr(e,s[e.id])!==null),[A,s]),le=(0,Q.useMemo)(()=>Object.entries(s).some(([e,t])=>Y.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[s,Y]),ue=(0,Q.useCallback)(e=>[...ve(c,[e],f).map(X),{value:Dr,label:n(`overridesDetailPanel.customProfileOption`)}],[c,X,f,n]),de=(0,Q.useMemo)(()=>{if(!h.trim())return A;let e=h.toLowerCase();return A.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[A,h]),me=(0,Q.useMemo)(()=>{if(!w)return[];let e=w.domains.map(e=>e.id),t=new Map(w.domains.map(e=>[e.id,e])),r=[];for(let n of e){let e=de.filter(e=>e.domain===n);e.length>0&&r.push({domain:t.get(n),sites:e})}let i=new Set(e),a=de.filter(e=>!i.has(e.domain));return a.length>0&&r.push({domain:{id:`other`,displayName:n(`overridesDetailPanel.otherDomain`)},sites:a}),r},[w,de,n]),ge=(0,Q.useCallback)((e,t)=>{if(!t){G(e,null);return}let n=pe(c,A.find(t=>t.id===e)?.defaultProfile,f);if(n)G(e,{profile:n});else{let t=u[0]??ae[0];G(e,{provider:t,model:re(t)??``})}},[A,c,u,G,f]),ye=(0,Q.useCallback)(async()=>{v(!0);try{let r=q();await m.mutateAsync({path:{assistant_id:e},body:{llm:{...U?{callSites:r}:{},...B?{advisorProfile:z}:{}}}}),t(),V.success(n(`overridesDetailPanel.overridesSavedToast`))}catch(e){V.error(n(`overridesDetailPanel.saveFailedToast`)),a(e,{context:`call_site_overrides_save`})}finally{v(!1)}},[q,U,B,z,t,m,e,n]),Se=(0,Q.useCallback)(async()=>{v(!0);try{let r=J();await m.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:r}}}),t(),V.success(n(`overridesDetailPanel.overridesResetToast`))}catch(e){V.error(n(`overridesDetailPanel.resetFailedToast`)),a(e,{context:`call_site_overrides_reset`})}finally{v(!1)}},[J,t,m,e,n]),Ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[le&&(0,$.jsx)(l,{variant:`outlined`,onClick:()=>x(!0),disabled:_||!P,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:n(`overridesDetailPanel.resetToDefaults`)}),(0,$.jsx)(l,{variant:`primary`,onClick:()=>void ye(),disabled:!W||ee||_,children:_?(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}):n(`overridesDetailPanel.save`)})]});return(0,$.jsxs)(xn,{title:n(`overridesDetailPanel.title`),closeVariant:`outlined`,onClose:t,footer:Ce,children:[(0,$.jsx)(`p`,{className:`mb-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.description`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(R,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:n(`overridesDetailPanel.searchPlaceholder`),leftIcon:(0,$.jsx)(M,{className:`h-4 w-4`}),fullWidth:!0})}),(0,$.jsx)(l,{variant:`outlined`,onClick:()=>C(!0),disabled:!P||_||W||!ce,title:W?n(`overridesDetailPanel.bulkChangeUnsavedTitle`):ce?void 0:n(`overridesDetailPanel.bulkChangeNoCandidatesTitle`),children:n(`overridesDetailPanel.bulkChange`)})]}),N&&Z&&(0,$.jsxs)(`div`,{className:`mb-4`,children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.advisorSection`)}),(0,$.jsx)(Er,{value:z,profileOptions:oe,disabled:_,onChange:te})]}),T&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(O,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),E&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n(`overridesDetailPanel.loadErrorTitle`)}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.loadErrorHint`)}),(0,$.jsx)(l,{variant:`outlined`,onClick:()=>void D(),children:n(`overridesDetailPanel.retry`)})]}),!T&&!E&&w&&(0,$.jsx)(Nr,{groups:me,drafts:L,buildProfileOptionsForRow:ue,profileLabelFor:ie,advisorMatchesSearch:Z,connections:k?.connections,onDraftChange:G,onToggle:ge})]}),S&&w&&(0,$.jsx)(jr,{assistantId:e,callSites:A,domains:w.domains,persistedOverrides:s,orderedProfiles:c,onClose:()=>C(!1),onApplied:ne}),(0,$.jsx)(H,{open:y,title:n(`overridesDetailPanel.resetToDefaults`),message:n(`overridesDetailPanel.resetConfirmMessage`),confirmLabel:n(`overridesDetailPanel.resetToDefaults`),destructive:!0,onConfirm:()=>{x(!1),Se()},onCancel:()=>x(!1)})]})}var Rr=e(s(),1);function zr({mode:e,connection:t,assistantId:n,existingNames:r,connections:i,variant:a=`modal`,actionsSlot:o,onSave:s,onCancel:c}){let{t:u}=K(`settings`),[d,p]=(0,Q.useState)(t?.label??``),m=t?.name??``,h=t?.provider??`anthropic`,_=t?.auth.type??`api_key`,[v,y]=(0,Q.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[b,x]=(0,Q.useState)(t?.baseUrl??``),[S,C]=(0,Q.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[w,T]=(0,Q.useState)(!1),[E,D]=(0,Q.useState)(null),O=h===`openai-compatible`,k=je(h),[A,j]=(0,Q.useState)(``),[M,N]=(0,Q.useState)(!1),P=f(),F=(0,Q.useMemo)(()=>We(v),[v]),I=_===`api_key`&&F!==null,{hasStoredCredential:L,isLoading:z}=Oe({assistantId:n,credentialKind:`credential`,credentialName:F?`${F.service}:${F.field}`:``,enabled:I}),{credentials:V}=Re({assistantId:n,enabled:_===`api_key`});(0,Q.useEffect)(()=>{let e=t?.provider??`anthropic`;p(t?.label??``),t?.auth.type===`api_key`?y(t.auth.credential):y(t?``:`credential/${e}/api_key`),D(null),x(t?.baseUrl??``),C(t?.models?t.models.map(e=>e.id).join(`, `):``),j(``),N(!1)},[t]);let H=d.trim()!==(t?.label??``).trim(),U=O&&H?Ie(d,i,t?.name):null,W=m.trim().length>0&&U===null;async function ee(){if(W){T(!0),D(null);try{let e;if(_===`api_key`){let t=v.trim()||`credential/${h}/api_key`,r=A.trim();if(r){N(!0);try{let e=We(t);await St({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:h,value:r},throwOnError:!0});let i=ht(n,`credential`,e?`${e.service}:${e.field}`:``);P.setQueryData(i,!0),P.invalidateQueries({queryKey:At({path:{assistant_id:n}})})}catch{D(u(`providerEditorContent.failedSaveApiKey`));return}finally{N(!1)}}e={type:`api_key`,credential:t}}else if(t)e=t.auth;else{D(u(`providerEditorContent.nothingToEdit`));return}let r=d.trim()||null,i={auth:e,label:r,...k&&{base_url:b.trim()||null},...O&&{models:S.trim()?S.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:a,error:o,response:c}=await yt({path:{assistant_id:n,name:t?.name??m.trim()},body:i});if(!c?.ok){D(ct(c?.status,o)??He(c?.status));return}if(!a){D(u(`providerEditorContent.emptyServerResponse`));return}s(a)}catch{D(u(`providerEditorContent.failedSaveProvider`))}finally{T(!1)}}}let G=V.filter(e=>e.service===h),ne=e!==`create`&&t?.auth.type===`api_key`,q=G.length>0||ne,re=ze(u(`providerEditorContent.apiKeyPlaceholder`),L);if(e===`create`)return(0,$.jsx)(Le,{variant:a===`panel`?`inline`:`modal`,actionsSlot:o,assistantId:n,existingNames:r,connections:i,defaultProviderType:h,onCreated:s,onCancel:c});let J=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,$.jsx)(te,{i18nKey:`providerEditorContent.displayNameLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,$.jsx)(R,{value:d,onChange:e=>p(e.target.value),placeholder:u(`providerEditorContent.displayNamePlaceholder`),fullWidth:!0}),U?(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:Ne[U]}):null]}),k&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`providerEditorContent.baseUrlLabel`)}),(0,$.jsx)(R,{value:b,onChange:e=>x(e.target.value),placeholder:u(h===`ollama`?`providerEditorContent.baseUrlPlaceholderOllama`:`providerEditorContent.baseUrlPlaceholder`),fullWidth:!0}),h===`ollama`?(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:u(`providerEditorContent.baseUrlHintOllama`)}):null]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`providerEditorContent.modelsLabel`)}),(0,$.jsx)(R,{value:S,onChange:e=>C(e.target.value),placeholder:u(`providerEditorContent.modelsPlaceholder`),fullWidth:!0}),(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:u(`providerEditorContent.modelsHint`)})]}),_===`api_key`&&(0,$.jsx)(Ae,{apiKeyValue:A,onApiKeyChange:j,credential:v,onCredentialChange:y,isLoadingCredential:z,apiKeyPlaceholder:re,provider:h,providerCredentials:G,showAdvancedSection:q,onError:D}),_===`oauth_subscription`&&(0,$.jsx)(Be,{assistantId:n,onConnected:s}),E&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:E})]}),Y=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(l,{variant:`ghost`,onClick:c,children:u(`providerEditorContent.cancel`)}),(0,$.jsx)(l,{variant:`primary`,disabled:!W||w||M,onClick:()=>void ee(),children:u(w?`providerEditorContent.saving`:`providerEditorContent.saveChanges`)})]});return a===`panel`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[J,o===void 0?(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:Y}):o&&(0,Rr.createPortal)(Y,o)]}):(0,$.jsxs)(B.Content,{size:`md`,children:[(0,$.jsxs)(B.Header,{children:[(0,$.jsx)(B.Title,{children:u(`providerEditorContent.editProviderTitle`)}),(0,$.jsx)(B.Description,{children:t?u(`providerEditorContent.editingConnection`,{name:Fe(t)}):u(`providerEditorContent.editProviderSettingsFallback`)})]}),(0,$.jsx)(B.Body,{children:J}),(0,$.jsx)(B.Footer,{children:Y})]})}function Br({assistantId:e,connectionName:t,onClose:n}){let{t:r}=K(`settings`),i=f(),[a,o]=(0,Q.useState)(null),{data:s}=p(Pt({path:{assistant_id:e}})),c=(0,Q.useMemo)(()=>s?.connections??[],[s]),l=(0,Q.useMemo)(()=>t==null?void 0:c.find(e=>e.name===t),[t,c]),u=t!=null&&s!=null&&l==null;(0,Q.useEffect)(()=>{u&&n()},[u,n]);function d(){i.invalidateQueries({queryKey:It({path:{assistant_id:e}})}),i.invalidateQueries({queryKey:Bt({path:{assistant_id:e}})}),n()}return(0,$.jsx)(xn,{title:l?Fe(l):r(`providerDetailPanel.addProviderTitle`),closeVariant:`outlined`,onClose:n,footer:(0,$.jsx)(`div`,{ref:o,className:`flex justify-end gap-2`}),children:t==null||l!=null?(0,$.jsx)(zr,{mode:l?`edit`:`create`,connection:l,variant:`panel`,actionsSlot:a,assistantId:e,existingNames:c.map(e=>e.name),connections:c,onSave:d,onCancel:n}):null})}var Vr={vellum:{provider:`vellum`},deepgram:{provider:`deepgram`,credentialService:`deepgram`},openai:{provider:`openai-whisper`,credentialService:`openai`}},Hr={vellum:`vellum`,deepgram:`deepgram`,"openai-whisper":`openai`},Ur=`deepgram`;function Wr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=bn(),s=e??o,c=kt(),l=f(),[u]=(0,Q.useState)(()=>mt.filter(e=>!e.requiresNativeDictation||ke())),d=Ur,{data:m}=p({...Kt({path:{assistant_id:s}}),enabled:c,staleTime:3e4}),h=m?.services?.stt,g=h?.mode===`managed`?`vellum`:h?.provider,_=(0,Q.useMemo)(()=>{let e=g?Hr[g]:void 0;if(e&&u.some(t=>t.id===e))return e;let n=t(Ye,d);return u.some(e=>e.id===n)?n:d},[g,u,d]),v=!!g,[y,b]=Un(_),{available:x,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T}=yn(s),[E,D]=(0,Q.useState)(!1),O=x&&y===_&&(Vr[y]?.provider===C||!!g&&!Hr[g]),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),[N,F]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=t(Ye,d);e===`macos-native`&&!u.some(t=>t.id===e)&&n(Ye,d)},[u,d]);let I=(0,Q.useMemo)(()=>u.find(e=>e.id===y)??u[0],[u,y]),L=I.apiKeyPlaceholder!==void 0;(0,Q.useEffect)(()=>{M(t(ut+y,``).length>0),A(``)},[y]);let z=(0,Q.useMemo)(()=>{let e=y!==_,t=k.trim().length>0;return e||t},[y,_,k]),B=(0,Q.useCallback)(async()=>{let e=k.trim();n(Ye,y),e.length>0&&n(ut+y,e);let r=Vr[y];F(!0);try{if(r?.credentialService){let n=e.length>0?e:t(ut+y,``);if(n.length>0){let{response:e}=await wt({path:{assistant_id:s},body:{service:r.credentialService,field:`api_key`,value:n,label:`${I.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}}if(r&&(y!==_||!v)||g===`vellum`&&y!==`vellum`){let e=r?.provider??Ur,{response:t}=await Ct({path:{assistant_id:s},body:{services:{stt:{provider:e,mode:e===`vellum`?`managed`:`your-own`}}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return e.length>0&&M(!0),A(``),l.invalidateQueries({queryKey:Rt({path:{assistant_id:s}})}),V.success(`Speech-to-text settings saved`),!0}catch(e){return V.error(e instanceof Error?e.message:`Failed to save speech-to-text settings`),!1}finally{F(!1)}},[s,y,k,I,_,v,g,l]);(0,Q.useEffect)(()=>{a?.({hasChanges:z,saving:N,save:B})},[a,z,N,B]);let H=(0,Q.useCallback)(()=>{n(ut+y,``),M(!1),A(``)},[y]),W=j?`•••••••• (Enter a new key to replace)`:I.apiKeyPlaceholder;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(U,{value:y,onChange:b,options:u.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Spoken language`}),(0,$.jsx)(at,{"aria-label":`Spoken language`,"aria-haspopup":`dialog`,onClick:()=>D(!0),value:vn(S,C)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Applies from your next spoken turn.`}),(0,$.jsx)(On,{open:E,onOpenChange:D,title:`Spoken language`,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T})]}),L&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(R,{type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:W,fullWidth:!0})]}),I.setupWarning&&(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(P,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-mid-strong)]`}),(0,$.jsx)(`span`,{children:I.setupWarning})]}),!i&&I.credentialsGuide&&(0,$.jsx)(Ln,{guide:I.credentialsGuide}),y===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Transcription runs through your Vellum account.`}),(!r||j)&&(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[!r&&(0,$.jsx)(Fn,{onClick:B,disabled:!z||N}),j&&(0,$.jsx)(In,{onClick:H})]})]})}function Gr(){let{t:e}=K(`settings`);return(0,$.jsx)(jn,{title:e(`speechToTextCard.title`),subtitle:e(`speechToTextCard.subtitle`),children:(0,$.jsx)(Wr,{})})}async function Kr(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await qr(n,r,i):t===`deepgram`?await Jr(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function qr(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await Yr(i,`ElevenLabs rejected the request.`)}}async function Jr(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await Yr(n,`Deepgram rejected the request.`)}}async function Yr(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function Xr({assistantId:e,value:t,onChange:n,className:r}){let[i,a]=(0,Q.useState)(!1),{voices:o}=gn(e);if(o.length===0)return null;let s=o.find(e=>e.model===t)??o[0];return(0,$.jsxs)(L.Root,{open:i,onOpenChange:a,children:[(0,$.jsx)(L.Trigger,{asChild:!0,children:(0,$.jsx)(at,{"aria-label":`Voice`,value:s?hn(s.description):`Select a voice`,className:r})}),(0,$.jsx)(L.Content,{side:`bottom`,align:`start`,className:`w-[var(--radix-popover-trigger-width)] p-1`,children:(0,$.jsx)(_n,{assistantId:e,value:t,onChange:n,onSelect:()=>a(!1),showSource:!0,autoScrollToSelected:!0})})]})}var Zr={elevenlabs:`voiceId`,"fish-audio":`referenceId`,xai:`voiceId`};function Qr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=bn(),s=e??o,c=ee.use.name()??`your assistant`,u=kt(),d=f(),{data:m}=p({...Gt({path:{assistant_id:s}}),enabled:u,staleTime:1/0}),h=(0,Q.useMemo)(()=>{let e=m?.providers;if(!e)return Je;if(e.some(e=>e.id===`vellum`))return e;let t=Je.find(e=>e.id===`vellum`);return t?[t,...e]:e},[m]),{data:g}=p({...Kt({path:{assistant_id:s}}),enabled:u,staleTime:3e4}),_=g?.services?.tts,v=_?.mode===`managed`?`vellum`:_?.provider,y=`elevenlabs`,b=(0,Q.useMemo)(()=>v??t(`vellum:voice:ttsProvider`,y),[v,y]),x=!!v,[S,C]=Un(b),[w,T]=(0,Q.useState)(``),[E,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),[N,P]=(0,Q.useState)(!1),[F,I]=(0,Q.useState)(!1),{voices:L,defaultModel:z,fetched:B}=mn(s,{enabled:S===`vellum`}),H=_?.providers?.vellum?.model??z??``,[W,G]=Un(H),te=L.find(e=>e.model===W)??L[0],[K,ne]=(0,Q.useState)(null),q=L.some(e=>e.model===H),re=K??(B&&H!==``&&!q),J=(0,Q.useMemo)(()=>h.find(e=>e.id===S)??h[0],[S,h]),Y=S===`vellum`&&J.supportsVoiceSelection&&W.trim()!==``&&W.trim()!==H,ie=(0,Q.useCallback)(e=>{let n=t(rt+e,``),r=t(Xe+e,``);M(n.length>0),O(r),A(r),T(``)},[]);(0,Q.useEffect)(()=>{ie(S)},[S,ie]);let ae=(0,Q.useMemo)(()=>{let e=S!==b,t=w.trim().length>0,n=E.trim()!==k;return e||t||n||Y},[S,b,w,E,k,Y]),X=(0,Q.useCallback)(async()=>{let e=w.trim(),r=E.trim(),i=J.id;n(ft,i),e.length>0&&n(rt+i,e),n(Xe+i,r);let a=e.length>0?e:t(rt+i,``),o=Zr[i];I(!0);try{if(a.length>0){let{response:e}=await wt({path:{assistant_id:s},body:{service:i,field:`api_key`,value:a,label:`${J.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}let e={...S!==b||!x?{provider:i,mode:i===`vellum`?`managed`:`your-own`}:{},...o?{providers:{[i]:{[o]:r}}}:{},...Y?{providers:{vellum:{model:W.trim()}}}:{}};if(Object.keys(e).length>0){let{response:t}=await Ct({path:{assistant_id:s},body:{services:{tts:e}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return M(a.length>0),A(r),T(``),d.invalidateQueries({queryKey:Rt({path:{assistant_id:s}})}),V.success(`Text-to-speech settings saved`),!0}catch(e){return V.error(e instanceof Error?e.message:`Failed to save text-to-speech settings`),!1}finally{I(!1)}},[s,S,W,Y,w,E,J,b,x,d]);(0,Q.useEffect)(()=>{a?.({hasChanges:ae,saving:F,save:X})},[a,ae,F,X]);let oe=(0,Q.useCallback)(()=>{n(rt+S,``),M(!1),T(``)},[S]),Z=(0,Q.useCallback)(async()=>{P(!0);try{let e=t(rt+S,``),n=w.trim(),r=n.length>0?n:e;if(r.length===0){V.error(`Save an API key for this provider before testing.`);return}let i=t(Xe+S,``),a=E.trim(),o=await Kr({provider:S,apiKey:r,voiceId:a.length>0?a:i,text:`Hey! It's ${c}. How does this sound?`});if(o.kind!==`audio`){V.error(o.message);return}let s=URL.createObjectURL(o.blob);try{let e=new Audio(s);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(s)}}finally{P(!1)}},[c,w,S,E]),se=j?`•••••••• (Enter a new key to replace)`:J.apiKeyPlaceholder,ce=S===`vellum`,le=ce&&J.supportsVoiceSelection,ue=(0,$.jsxs)(l,{variant:`link`,size:`compact`,className:`inline-flex h-auto items-center gap-1 px-0 underline [--vbtn-fg:var(--content-tertiary)]`,onClick:()=>{ne(!1),L.some(e=>e.model===W)||G(z||L[0]?.model||``)},children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Choose from catalog`]}),de=le&&re&&L.length>0?ue:null;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(U,{value:S,onChange:C,options:h.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(R,{type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:se,fullWidth:!0})]}),le&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice`}),re?(0,$.jsx)(R,{type:`text`,value:W,onChange:e=>G(e.target.value),placeholder:`Enter a voice ID`,"aria-label":`Custom voice ID`,fullWidth:!0}):te?(0,$.jsx)(Xr,{assistantId:s,value:W,onChange:G}):B&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`No managed voices are currently available.`})]}),J.supportsVoiceSelection&&!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,$.jsx)(R,{type:`text`,value:E,onChange:e=>O(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),!i&&!ce&&(0,$.jsx)(Ln,{guide:J.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!ce&&(0,$.jsx)(l,{variant:`outlined`,onClick:Z,disabled:N,children:N?`Testing…`:`Test`}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[de,!r&&(0,$.jsx)(Fn,{onClick:X,disabled:!ae||F}),j&&!ce&&(0,$.jsx)(In,{onClick:oe})]})]})]})}function $r(){let{t:e}=K(`settings`);return(0,$.jsx)(jn,{id:`text-to-speech`,title:e(`textToSpeechCard.title`),subtitle:e(`textToSpeechCard.subtitle`),children:(0,$.jsx)(Qr,{})})}var ei=`default`;function ti(){let{t:e}=K(`settings`),i=bn(),o=f(),{data:s}=p({...Kt({path:{assistant_id:i}}),staleTime:3e4}),c=Mt({onSuccess:e=>{zt(o,{path:{assistant_id:i}},e)}}),l=Hn(),u=(0,Q.useMemo)(()=>s?s.services?.[`web-fetch`]?.provider||t(`vellum:ai:webFetchProvider`,ei):t(Ze,ei),[s]),[d,m]=(0,Q.useState)(!1),[h,g]=Un(u),[_,v]=(0,Q.useState)(``),y=ce.has(h),{hasStoredCredential:b}=Oe({assistantId:i,credentialKind:`api_key`,credentialName:h,enabled:y}),x=_.trim().length>0,S=d||y&&!b&&!x||h===u&&!x,C=ze(ie[h]??e(`webFetchCard.apiKeyPlaceholder`),b),w=(0,Q.useCallback)(async()=>{m(!0);let t=_.trim(),r=y&&t.length>0;try{r&&await l(h,t),await c.mutateAsync({path:{assistant_id:i},body:{services:{"web-fetch":{provider:h}}}}).catch(t=>{throw V.error(e(`webFetchCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t})}catch{m(!1);return}m(!1);try{if(n(Ze,h),r){let e=ue(h);e&&n(e,t);let r=ht(i,`api_key`,h);o.setQueryData(r,!0),o.invalidateQueries({queryKey:r}),v(``)}V.success(e(`webFetchCard.savedToast`))}catch(t){a(t,{context:`settings-ai-web-fetch-persist-local`}),V.error(e(`webFetchCard.localPreferencesFailedToast`))}},[y,c,l,o,i,_,h,e]),T=(0,Q.useCallback)(()=>{let e=ue(h);e&&r(e),v(``),g(ei),n(Ze,ei)},[h,g]);return(0,$.jsx)(jn,{id:`web-fetch`,title:e(`webFetchCard.title`),subtitle:e(`webFetchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webFetchCard.providerLabel`)}),(0,$.jsx)(U,{value:h,onChange:g,options:oe.map(e=>({value:e,label:Te[e]??e}))})]}),y&&(0,$.jsx)(R,{label:e(`webFetchCard.apiKeyLabel`),type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:C,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:w,disabled:S}),d&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),y&&(0,$.jsx)(In,{onClick:T,filled:!0})]})]})})}var ni=`0.10.12`;function ri(){return gt(ni)}function ii(){let{t:e}=K(`settings`),i=bn(),o=f(),s=kt(),{data:c}=p({...Kt({path:{assistant_id:i}}),enabled:s,staleTime:3e4}),l=Mt({onSuccess:e=>{zt(o,{path:{assistant_id:i}},e)}}),u=Hn(),d=(0,Q.useMemo)(()=>{if(!c)return t(st,`inference-provider-native`);let e=c.services?.[`web-search`];return(e?.mode===`managed`&&e?.provider!==`inference-provider-native`?`vellum`:e?.provider)||t(`vellum:ai:webSearchProvider`,`inference-provider-native`)},[c]),[m,h]=(0,Q.useState)(!1),[g,_]=Un(d),[v,y]=(0,Q.useState)(``),b=de.has(g),{hasStoredCredential:x}=Oe({assistantId:i,credentialKind:`api_key`,credentialName:g,enabled:b}),S=v.trim().length>0,C=m||b&&!x&&!S||g===d&&!S,w=ze(Ee[g]??e(`webSearchCard.apiKeyPlaceholder`),x),T=(0,Q.useCallback)(async()=>{h(!0);let t=v.trim(),r=ye(g),s=b&&t.length>0;try{s&&await u(g,t),await _t();let n=g===`vellum`?ri()?{provider:`vellum`,mode:`managed`}:{mode:`managed`}:{provider:g,mode:`your-own`};await l.mutateAsync({path:{assistant_id:i},body:{services:{"web-search":n}}}).catch(t=>{throw V.error(e(`webSearchCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t})}catch{h(!1);return}h(!1);try{if(n(st,g),s){r&&n(r,t);let e=ht(i,`api_key`,g);o.setQueryData(e,!0),o.invalidateQueries({queryKey:e}),y(``)}V.success(e(`webSearchCard.savedToast`))}catch(t){a(t,{context:`settings-ai-web-search-persist-local`}),V.error(e(`webSearchCard.localPreferencesFailedToast`))}},[b,l,u,o,i,v,g,e]),E=(0,Q.useCallback)(()=>{let e=ye(g);e&&r(e),y(``),_(`inference-provider-native`),n(st,`inference-provider-native`)},[g,_]);return(0,$.jsx)(jn,{title:e(`webSearchCard.title`),subtitle:e(`webSearchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webSearchCard.providerLabel`)}),(0,$.jsx)(U,{"aria-label":e(`webSearchCard.providerAriaLabel`),value:g,onChange:_,options:Ce.map(e=>({value:e,label:Z[e]??e}))})]}),g===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`webSearchCard.vellumNote`)}),b&&(0,$.jsx)(R,{label:e(`webSearchCard.apiKeyLabel`),type:`password`,value:v,onChange:e=>y(e.target.value),placeholder:w,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:T,disabled:C}),m&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),b&&(0,$.jsx)(In,{onClick:E,filled:!0})]})]})})}function ai(){let e=bn(),t=ln(),[n,r]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let i=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto`,children:[(0,$.jsx)(Nn,{}),(0,$.jsx)(Cr,{panel:n,onOpenPanel:r,onClosePanel:()=>r(null)}),(0,$.jsx)(ii,{}),(0,$.jsx)(ti,{}),(0,$.jsx)(Vn,{}),(0,$.jsx)(qn,{}),(0,$.jsx)($r,{}),(0,$.jsx)(Gr,{})]}),a=`${e??`none`}:${n?.kind===`profile`?`profile:${n.name}`:n?.kind===`provider`?`provider:${n.name}`:n?.kind??`closed`}`,o=n?.kind===`provider`||n?.kind===`add-provider`,s=n!=null&&e?n.kind===`overrides`?(0,$.jsx)(Lr,{assistantId:e,onClose:()=>r(null)},a):o?(0,$.jsx)(Br,{assistantId:e,connectionName:n.kind===`provider`?n.name:null,onClose:()=>r(null)},a):(0,$.jsx)(Tr,{assistantId:e,profileName:n.kind===`profile`?n.name:null,onClose:()=>r(null)},a):null;return s&&t?(0,$.jsx)(Cn,{children:s}):s?(0,$.jsx)(wn,{storageKey:`aiSettingsDetailDrawerWidth`,detailKey:a,section:i,detail:s}):i}export{ai as AiPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n,o as r}from"./local-settings-Bx7FsNo5.js";import{r as i,t as a}from"./capture-error-VBsIaC5d.js";import{t as o}from"./react-BFJW0bSv.js";import{G as s,n as c,t as l}from"./button-C8CGr0T0.js";import{d as u,h as d}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as f}from"./QueryClientProvider-EuRl-wrW.js";import{t as p}from"./useQuery-CTSuec5b.js";import{t as m}from"./useMutation-D2YPyfEH.js";import{t as h}from"./jsx-runtime-BJ8jcmzB.js";import{t as g}from"./typography-DekrYXvs.js";import{o as _,t as v}from"./list-row-6uedKE84.js";import{t as y}from"./check-NGUguBHp.js";import{t as b}from"./circle-alert-B-Zu9T9V.js";import{t as x}from"./circle-check-BQyrCkaB.js";import{t as S}from"./menu-Ci8JeI2H.js";import{t as C}from"./clock-CNSYP9nm.js";import{t as w}from"./ellipsis-vertical-D3SJdQ4P.js";import{t as T}from"./external-link-DCA91uI6.js";import{t as E}from"./info-D0qquAkS.js";import{t as D}from"./list-Dn1NSBlc.js";import{t as O}from"./loader-circle-C9QjVTuc.js";import{t as k}from"./mail-BFnJM9hP.js";import{t as A}from"./checkbox-BWX_Dnge.js";import{t as j}from"./plus-BDSluxb4.js";import{t as M}from"./search-FGnzWjRX.js";import{t as N}from"./trash-2-DnajdgJS.js";import{t as P}from"./triangle-alert-B-18Pims.js";import{t as F}from"./notice-C_AsX_o9.js";import{t as I}from"./tag-D2QYCm1p.js";import{t as L}from"./popover-B_nY8VYI.js";import{t as R}from"./input-DlkBtbxm.js";import{t as z}from"./toggle-0qt1e_3r.js";import{t as B}from"./modal-DN_Uwwkg.js";import{n as V}from"./toast-CHtrY-GO.js";import{t as H}from"./confirm-dialog-DYmL6FRe.js";import{t as U}from"./select-DJDG9pwU.js";import{t as W}from"./skeleton-D8_lkywC.js";import{t as ee}from"./assistant-identity-store-DrQJhZh3.js";import{s as G}from"./i18n-C3bX3mTs.js";import{t as te}from"./Trans-CM5UUgDt.js";import{t as K}from"./useTranslation-CCDbxnME.js";import{i as ne,r as q}from"./api-errors-DYGVb-Sh.js";import{a as re,r as J,s as Y}from"./llm-model-catalog-BxTXG4Cg.js";import{C as ie,E as ae,M as X,S as oe,_ as Z,a as se,b as ce,c as le,f as ue,g as de,h as fe,i as pe,j as me,l as he,m as ge,n as _e,o as ve,p as ye,r as be,s as xe,t as Se,v as Ce,w as we,x as Te,y as Ee}from"./profile-pickers-BE4eyfmO.js";import{A as De,B as Oe,C as ke,F as Ae,G as je,H as Me,I as Ne,J as Pe,K as Fe,L as Ie,M as Le,N as Re,P as ze,R as Be,S as Ve,U as He,V as Ue,W as We,Y as Ge,_ as Ke,a as qe,b as Je,c as Ye,d as Xe,f as Ze,g as Qe,h as $e,i as et,j as tt,k as nt,l as rt,m as it,n as at,o as ot,p as st,q as ct,r as lt,s as ut,t as dt,u as ft,x as pt,y as mt,z as ht}from"./use-sticky-profiles-D3ybBRfX.js";import{n as gt,o as _t,r as vt}from"./utils-wDLoxcBZ.js";import{Jt as yt,On as bt,dt as xt,fr as St,j as Ct,mt as wt,qt as Tt}from"./sdk.gen-hZs6YBR0.js";import{d as Et}from"./routes-yNhBxUSb.js";import{p as Dt}from"./platform-detection-C-a_Mru0.js";import{i as Ot}from"./use-platform-gate-DNfLk9Xd.js";import{r as kt}from"./use-is-org-ready-CEB5IRpO.js";import{Dt as At,J as jt,Qt as Mt,Tt as Nt,X as Pt,Y as Ft,Z as It,_ as Lt,d as Rt,f as zt,g as Bt,h as Vt,ln as Ht,m as Ut,p as Wt,qt as Gt,u as Kt,wt as qt}from"./react-query.gen-CYP-Tn4K.js";import{c as Jt,d as Yt,f as Xt,g as Zt,h as Qt,ht as $t,l as en,m as tn,o as nn,p as rn,s as an,u as on,v as sn,y as cn}from"./react-query.gen-D3r2fwXH.js";import{n as ln}from"./use-is-mobile-BwSS15lq.js";import{n as un,t as dn}from"./use-supports-inference-profiles-C0dU3VLS.js";import{t as fn}from"./platform-login-notice-Dmq_2Akt.js";import{t as pn}from"./android-consumption-only-DDbN5hxd.js";import{n as mn}from"./use-voice-sample-preview-4vpwPGNW.js";import{c as hn,l as gn,o as _n,r as vn,t as yn}from"./use-stt-language-selection-Dkm4Uq69.js";import{t as bn}from"./use-active-assistant-id-BFE4r9Rp.js";import{t as xn}from"./detail-shell-CcrQic9y.js";import{t as Sn}from"./detail-card-DwBporBs.js";import{n as Cn,t as wn}from"./detail-drawer-Di5V_iLf.js";import{a as Tn}from"./schedules-DaGS9wMX.js";import{t as En}from"./use-platform-assistant-id-n0Yl5uUG.js";import{t as Dn}from"./environment-store-rZ0hkMHt.js";import{t as On}from"./stt-language-picker-modal-Cq76JJex.js";var Q=e(o(),1),$=h();function kn({mode:e,onChange:t}){let{t:n}=K(`settings`);return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(_,{ariaLabel:n(`sharedUi.modeToggleAriaLabel`),value:e,onChange:t,items:[{value:`managed`,label:n(`sharedUi.managedLabel`)},{value:`your-own`,label:n(`sharedUi.yourOwnLabel`)}]})})}function An({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(Sn,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(kn,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function jn({id:e,title:t,subtitle:n,children:r}){return(0,$.jsxs)(Sn,{id:e,title:t,subtitle:n,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:r})]})}function Mn({children:e}){return(0,$.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[e,(0,$.jsx)(T,{className:`h-3.5 w-3.5`})]})}function Nn(){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:(0,$.jsx)(te,{i18nKey:`sharedUi.managedServicesBanner`,ns:`settings`,components:{link:(0,$.jsx)(Mn,{})}})})]})}function Pn({status:e,message:t,isLoading:n}){let{t:r}=K(`settings`);return n?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(O,{className:`h-3 w-3 animate-spin`}),r(`sharedUi.checkingDomain`)]}):e?e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:r(`sharedUi.verifiedTitle`),children:[(0,$.jsx)(y,{className:`h-3 w-3`}),r(`sharedUi.domainVerified`)]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:r(`sharedUi.verifyingTitle`),children:[(0,$.jsx)(C,{className:`h-3 w-3`}),r(`sharedUi.verifyingDomain`)]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:r(`sharedUi.failedTitle`),children:[(0,$.jsx)(b,{className:`h-3 w-3`}),r(`sharedUi.verificationFailed`)]}):(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:r(`sharedUi.unknownStatusTitle`),children:r(`sharedUi.unknownStatus`)})}function Fn({onClick:e,disabled:t}){return(0,$.jsx)(l,{onClick:e,disabled:t,children:`Save`})}function In({onClick:e,filled:t=!1}){return(0,$.jsx)(l,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function Ln({guide:e}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:e.description}),(0,$.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,$.jsx)(T,{className:`h-3 w-3`})]})]})]})}function Rn({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:r=`my-assistant`,disabled:i,autoFocus:a,prefix:o,error:s,locked:c,lockedMessage:l}){return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${s?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[o,(0,$.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:i||c,readOnly:c,autoFocus:a,placeholder:r,"aria-label":`Subdomain`,"aria-invalid":!!s,className:`h-full min-w-0 flex-1 bg-transparent ${o?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),s&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:s}),c&&l&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:l})]})}var zn=`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`;function Bn({assistantId:e,assistantHandle:t,emailRootDomain:n}){let{t:r}=K(`settings`),i=f(),o=u(),s=Dt(),[c,h]=d(),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(!1),[A,j]=(0,Q.useState)(!1),[M,P]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{v||!t||g||(_(t),y(!0))},[t,v,g]);let I=p({...$t(),enabled:!0}),L=I.data,R=L?.entitlements,z=R?.managed_email===!0,B=!!R&&!z,U=!L&&I.isError&&!I.isFetching,W=p({...Jt({path:{assistant_id:e}}),enabled:!B}),ee=p({...rn({path:{assistant_id:e}}),enabled:!B}),G=W.data?.results?.[0],q=ee.data?.results?.[0],re=G?`${G.subdomain}.${n}`:null,J=p({...Qt({path:{assistant_id:e,id:q?.id??``}}),enabled:!!q?.id,refetchOnWindowFocus:!1}),Y=p({...on({path:{assistant_id:e,id:G?.id??``}}),enabled:!!G?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Q.useEffect)(()=>{c.get(`release`)!==`1`||!G||q||(j(!0),h(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[q,G,c,h]);let ie=m(nn()),ae=m(an()),X=m(Yt()),oe=m(Xt()),Z=(0,Q.useCallback)(()=>{let t={assistant_id:e};i.invalidateQueries({queryKey:en({path:t})}),i.invalidateQueries({queryKey:tn({path:t})}),q?.id&&i.invalidateQueries({queryKey:Zt({path:{...t,id:q.id}})}),i.invalidateQueries({queryKey:cn()})},[q?.id,e,i]),se=(0,Q.useCallback)(async()=>{let t=g.trim().toLowerCase();if(!t){x(r(`emailManagedContent.enterSubdomainError`));return}D(!1);try{await ie.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),_(``),x(null),Z(),V.success(r(`emailManagedContent.domainRegisteredToast`,{domain:`${t}.${n}`}))}catch(e){x(ne(e,void 0,r(`emailManagedContent.registerDomainFailedFallback`)))}},[e,n,Z,ie,g,r]),ce=(0,Q.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){T(r(`emailManagedContent.enterUsernameError`));return}try{await X.mutateAsync({path:{assistant_id:e},body:{username:t}}),C(``),T(null),Z(),V.success(r(`emailManagedContent.emailCreatedToast`))}catch(e){T(ne(e,void 0,r(`emailManagedContent.createEmailFailedFallback`)))}},[e,Z,X,S,r]),le=(0,Q.useCallback)(async()=>{if(q?.id){P(!1);try{await oe.mutateAsync({path:{assistant_id:e,id:q.id}}),Z(),V.success(r(`emailManagedContent.emailRemovedToast`))}catch(e){a(e,{context:`email_address_delete`}),V.error(r(`emailManagedContent.emailRemoveFailedToast`))}}},[q?.id,e,oe,Z,r]),ue=(0,Q.useCallback)(async()=>{if(!G?.id)return;if(q){V.error(r(`emailManagedContent.removeAddressFirstToast`));return}j(!1);let t=G.subdomain;try{await ae.mutateAsync({path:{assistant_id:e,id:G.id}}),_(t),Z(),V.success(r(`emailManagedContent.domainReleasedToast`))}catch(e){a(e,{context:`email_domain_release`}),V.error(r(`emailManagedContent.domainReleaseFailedToast`))}},[q,e,ae,G?.id,G?.subdomain,Z,r]);if(I.isLoading)return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}),r(`emailManagedContent.checkingSubscription`)]});if(B)return(0,$.jsx)(F,{tone:`info`,icon:(0,$.jsx)(k,{className:`h-4 w-4`,"aria-hidden":!0}),title:r(`emailManagedContent.upgradeNoticeTitle`),actions:s?void 0:(0,$.jsx)(l,{size:`compact`,onClick:()=>o(Et.plans),children:r(`emailManagedContent.upgradeButton`)}),children:s?pn:r(`emailManagedContent.upgradeNoticeBody`)});let de=U?(0,$.jsx)(F,{tone:`warning`,title:r(`emailManagedContent.subscriptionWarningTitle`),actions:(0,$.jsx)(l,{size:`compact`,variant:`outlined`,onClick:()=>I.refetch(),children:r(`emailManagedContent.retry`)}),children:r(`emailManagedContent.subscriptionWarningBody`)}):null;return G?q?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.addressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:q.address}),(0,$.jsx)(Pn,{status:Y.data?.status,message:Y.data?.message,isLoading:Y.isLoading}),(0,$.jsx)(l,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(N,{}),onClick:()=>P(!0),disabled:oe.isPending,"aria-label":r(`emailManagedContent.removeEmailAriaLabel`)})]}),(0,$.jsx)(H,{open:M,title:r(`emailManagedContent.removeEmailTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.removeEmailConfirmMessage`,ns:`settings`,values:{address:q.address},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.removeConfirm`),destructive:!0,onConfirm:le,onCancel:()=>P(!1)})]}),J.data?.usage&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.usageSummary`,{sent:J.data.usage.sent_today,limit:J.data.usage.daily_limit,received:J.data.usage.received_today})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[de,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.domainLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[G.subdomain,`.`,n]}),(0,$.jsx)(Pn,{status:Y.data?.status,message:Y.data?.message,isLoading:Y.isLoading}),(0,$.jsx)(l,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(N,{}),onClick:()=>j(!0),disabled:ae.isPending,"aria-label":r(`emailManagedContent.releaseDomainAriaLabel`)})]}),(0,$.jsx)(H,{open:A,title:r(`emailManagedContent.releaseDomainTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.releaseDomainConfirmMessage`,ns:`settings`,values:{domain:`${G.subdomain}.${n}`},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.releaseConfirm`),destructive:!0,onConfirm:ue,onCancel:()=>j(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.emailAddressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${w?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:S,onChange:e=>{C(e.target.value.toLowerCase()),w&&T(null)},placeholder:r(`emailManagedContent.emailUsernamePlaceholder`),"aria-label":r(`emailManagedContent.emailUsernameAriaLabel`),"aria-invalid":!!w,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,re]})]}),(0,$.jsx)(l,{onClick:ce,disabled:X.isPending||!S.trim(),children:X.isPending?r(`emailManagedContent.creating`):r(`emailManagedContent.create`)})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:w})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[de,(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.subdomainLabel`)}),(0,$.jsx)(Rn,{subdomain:g,onSubdomainChange:e=>{_(e),b&&x(null)},domainSuffix:n,subdomainPlaceholder:r(`emailManagedContent.subdomainExamplePlaceholder`),error:b}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`emailManagedContent.subdomainHint`)}),(0,$.jsx)(l,{onClick:()=>D(!0),disabled:ie.isPending||!g.trim(),children:ie.isPending?r(`emailManagedContent.registering`):r(`emailManagedContent.register`)}),(0,$.jsx)(H,{open:E,title:r(`emailManagedContent.setSubdomainTitle`),message:(0,$.jsx)(te,{i18nKey:`emailManagedContent.setSubdomainConfirmMessage`,ns:`settings`,values:{subdomain:g.trim().toLowerCase()||r(`emailManagedContent.subdomainFallback`)},components:{code:(0,$.jsx)(`code`,{className:zn})}}),confirmLabel:r(`emailManagedContent.confirm`),onConfirm:se,onCancel:()=>D(!1)})]})}function Vn(){let{t:e}=K(`settings`),r=bn(),o=kt(),{data:s}=p({...sn(),enabled:o}),c=s?.results?.[0]?.handle,l=Dn.use.emailRootDomain(),u=Ot(),[d,f]=(0,Q.useState)(()=>u===`gated`?`your-own`:ge(t(et,`managed`),`managed`)),[m,h]=(0,Q.useState)(()=>{let e=t(lt,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:g,error:_}=En(r,u===`full`&&d===`managed`),v=g??(_?r:null),y=p({queryKey:[`byoEmailCredential`,r,m],queryFn:async()=>{let{data:e}=await xt({path:{assistant_id:r},body:{service:m,field:`api_key`},throwOnError:!0});return e},enabled:d===`your-own`||u===`gated`,staleTime:6e4,retry:i,meta:{errorContext:`byo_email_credential_check`}});(0,Q.useEffect)(()=>{y.error&&a(y.error,{context:`byo_email_credential_check`,bestEffort:!0})},[y.error]);let b=y.data?.hasSecret===!0,S=(0,Q.useCallback)(e=>{f(e),n(et,e)},[]),C=(0,Q.useCallback)(()=>{n(lt,m),V.success(e(`emailServiceCard.saveSuccessToast`))},[m,e]),w=(0,Q.useMemo)(()=>it.find(e=>e.id===m)??it[0],[m]),D=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:(0,$.jsx)(te,{i18nKey:`emailServiceCard.setupInstructions`,ns:`settings`,values:{providerName:w.displayName,setupSkill:w.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,$.jsxs)(`a`,{href:w.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailServiceCard.openProvider`,{providerName:w.displayName}),(0,$.jsx)(T,{className:`h-3 w-3`})]})]})]}),k=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailServiceCard.providerLabel`)}),(0,$.jsx)(U,{value:m,onChange:e=>{(e===`mailgun`||e===`resend`)&&h(e)},options:it.map(e=>({value:e.id,label:e.displayName}))})]}),b?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,$.jsx)(x,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsx)(`span`,{children:(0,$.jsx)(te,{i18nKey:`emailServiceCard.apiKeyConfigured`,ns:`settings`,values:{providerName:w.displayName,setupSkill:w.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,$.jsxs)(`a`,{href:w.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailServiceCard.openProvider`,{providerName:w.displayName}),(0,$.jsx)(T,{className:`h-3 w-3`})]})]}):D,(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(Fn,{onClick:C,disabled:!1})})]});return u===`gated`?(0,$.jsx)(jn,{id:`email`,title:e(`emailServiceCard.title`),subtitle:e(`emailServiceCard.subtitle`),children:k}):(0,$.jsx)(An,{id:`email`,title:e(`emailServiceCard.title`),subtitle:e(`emailServiceCard.subtitle`),mode:d,onModeChange:S,children:d===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:u===`disabled`?(0,$.jsx)(fn,{children:e(`emailServiceCard.platformLoginNotice`)}):v===null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}),e(`emailServiceCard.connecting`)]}):(0,$.jsx)(Bn,{assistantId:v,assistantHandle:c,emailRootDomain:l})}):k})}function Hn(){let e=bn();return(0,Q.useCallback)(async(t,n)=>{try{let{data:r}=await St({path:{assistant_id:e},body:{value:n,type:`api_key`,name:t},throwOnError:!0});le(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?V.error(G(`settings:useDaemonConfig.assistantNotReadyToast`)):V.error(G(`settings:useDaemonConfig.saveApiKeyFailedToast`,{providerName:t})),a(e,{context:`provision_provider_key`}),e}},[e])}function Un(e){let[t,n]=(0,Q.useState)(void 0);return(0,Q.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Q.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}var Wn=`0.11.0`;function Gn(){return gt(Wn)}var Kn=`gemini-3.1-flash-image-preview`;function qn(){let{t:e}=K(`settings`),r=bn(),i=f(),o=kt(),{data:s}=p({...Kt({path:{assistant_id:r}}),enabled:o,staleTime:3e4}),c=Mt({onSuccess:e=>{zt(i,{path:{assistant_id:r}},e)}}),l=Hn(),[u,d]=Un((0,Q.useMemo)(()=>{if(!s)return t(ot,`gemini`);let e=s.services?.[`image-generation`];return e?.mode===`managed`?`vellum`:e?.provider||t(`vellum:ai:imageGenProvider`,`gemini`)},[s])),[m,h]=(0,Q.useState)(()=>t(qe,Kn)),g=pt(u),_=g.includes(m)?m:g[0]??Kn,[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),S=Qe.map(e=>({value:e,label:Ke[e]??e})),C=(0,Q.useMemo)(()=>pt(u).map(e=>({value:e,label:$e[e]??e})),[u]),w=u===`gemini`||u===`openai`,{hasStoredCredential:T}=Oe({assistantId:r,credentialKind:`api_key`,credentialName:u,enabled:w}),E=d,D=(0,Q.useCallback)(async()=>{x(!0);let t=v.trim(),o=w&&t.length>0;try{o&&await l(Ve(_),t),await _t();let n=u===`vellum`&&!Gn()?{mode:`managed`}:{provider:u,mode:u===`vellum`?`managed`:`your-own`};await c.mutateAsync({path:{assistant_id:r},body:{services:{"image-generation":n}}}).catch(t=>{throw V.error(e(`imageGenerationCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t});try{await bt({path:{assistant_id:r},body:{modelId:_},throwOnError:!0})}catch(t){throw V.error(e(`imageGenerationCard.modelUpdateFailedToast`)),a(t,{context:`set_image_gen_model`}),t}finally{i.invalidateQueries({queryKey:Rt({path:{assistant_id:r}})})}}catch{x(!1);return}x(!1);try{if(n(ot,u),n(qe,_),o){let e=ht(r,`api_key`,u);i.setQueryData(e,!0),i.invalidateQueries({queryKey:e}),y(``)}V.success(e(`imageGenerationCard.savedToast`))}catch(t){a(t,{context:`settings-ai-image-gen-persist-local`}),V.error(e(`imageGenerationCard.localPreferencesFailedToast`))}},[v,u,w,_,r,c,l,i,e]),k=(0,Q.useCallback)(()=>{y(``),h(Kn),n(qe,Kn)},[]);return(0,$.jsx)(jn,{title:e(`imageGenerationCard.title`),subtitle:e(`imageGenerationCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.providerLabel`)}),(0,$.jsx)(U,{"aria-label":e(`imageGenerationCard.providerAriaLabel`),value:u,onChange:E,options:S})]}),u===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.vellumNote`)}),w&&(0,$.jsx)(R,{label:e(`imageGenerationCard.apiKeyLabel`),type:`password`,value:v,onChange:e=>y(e.target.value),placeholder:ze(e(u===`openai`?`imageGenerationCard.openaiApiKeyPlaceholder`:`imageGenerationCard.geminiApiKeyPlaceholder`),T),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.activeModelLabel`)}),(0,$.jsx)(U,{"aria-label":e(`imageGenerationCard.modelAriaLabel`),value:_,onChange:h,options:C})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:D,disabled:b}),b&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),w&&(0,$.jsx)(In,{onClick:k})]})]})})}function Jn({title:e,count:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`rounded-xl border border-[var(--border-hover)] bg-[var(--surface-overlay)] px-3 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(g,{variant:`body-large-default`,as:`h3`,className:`text-[var(--content-secondary)]`,children:e}),t==null?null:(0,$.jsxs)(g,{variant:`body-large-default`,as:`span`,"aria-label":`${t} ${e.toLowerCase()}`,className:`text-[var(--content-disabled)]`,children:[`·`,` `,t]})]}),n]}),r==null?null:(0,$.jsx)(`div`,{className:`mt-4 border-t border-[var(--border-base)]`,children:r})]})}function Yn(e){return e.scheduleNames.length>0||e.deferredReminderCount>0||e.scheduleLookupFailed}var Xn=5;function Zn({title:e,items:t,mono:n}){return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--content-tertiary)`,children:e}),(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:t.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,n?(0,$.jsx)(`code`,{children:e}):e]},e))})]})}function Qn(e){let t=e.label||e.name,n=[];e.isActive&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseDefaultProfile`)),e.callSiteIds.length>0&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseActionOverrides`,{count:e.callSiteIds.length}));let r=e.scheduleNames.length,i=e.deferredReminderCount;return r>0&&i>0?n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsBoth`,{schedules:r,reminders:i})):r>0?n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsSchedules`,{count:r})):i>0&&n.push(G(`settings:manageProfilesBlockedDeleteModal.clauseRunsReminders`,{count:i})),n.length===0?G(`settings:manageProfilesBlockedDeleteModal.summaryNoReferences`,{display:t}):n.length===1?G(`settings:manageProfilesBlockedDeleteModal.summaryOneClause`,{display:t,clause1:n[0]}):n.length===2?G(`settings:manageProfilesBlockedDeleteModal.summaryTwoClauses`,{display:t,clause1:n[0],clause2:n[1]}):G(`settings:manageProfilesBlockedDeleteModal.summaryThreeClauses`,{display:t,clause1:n[0],clause2:n[1],clause3:n[2]})}function $n({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:s}){let{t:c}=K(`settings`),u=e?.scheduleNames??[],d=u.slice(0,Xn),f=u.length-d.length,p=e!=null&&Yn(e);return(0,$.jsx)(B.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(B.Content,{size:`sm`,children:[(0,$.jsx)(B.Header,{children:(0,$.jsx)(B.Title,{children:c(`manageProfilesBlockedDeleteModal.title`)})}),(0,$.jsxs)(B.Body,{className:`space-y-4`,children:[e&&(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:Qn(e)}),e&&e.callSiteIds.length>0&&(0,$.jsx)(Zn,{title:c(`manageProfilesBlockedDeleteModal.actionOverridesTitle`),items:e.callSiteIds,mono:!0}),d.length>0&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(Zn,{title:c(`manageProfilesBlockedDeleteModal.schedulesTitle`),items:d}),f>0&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`pl-1 text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.moreSchedules`,{count:f})})]}),e?.scheduleLookupFailed&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-mid-strong)`,children:c(`manageProfilesBlockedDeleteModal.scheduleLookupFailed`)}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.replacementLabel`)}),(0,$.jsx)(U,{"aria-label":c(`manageProfilesBlockedDeleteModal.replacementLabel`),value:n,onChange:r,placeholder:c(`manageProfilesBlockedDeleteModal.replacementPlaceholder`),options:t.map(e=>{let t=p&&e.status===`disabled`;return{value:e.name,label:be(e),disabled:t,tooltip:t?c(`manageProfilesBlockedDeleteModal.disabledTargetTooltip`):void 0}})})]}),i&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(B.Footer,{children:[(0,$.jsx)(l,{variant:`ghost`,size:`compact`,onClick:o,children:c(`manageProfilesBlockedDeleteModal.cancel`)}),(0,$.jsx)(l,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:c(a?`manageProfilesBlockedDeleteModal.saving`:`manageProfilesBlockedDeleteModal.reassignAndDelete`)})]})]})})}function er({profile:e,isActiveProfile:t,selected:n,connections:r,deletePending:i=!1,onOpen:a,onMakeActive:o,onSetStatus:s,onDelete:u}){let{t:d}=K(`settings`),f=e.source===`managed`,p=e.status===`disabled`,m=e.label??e.name,h=[];e.model&&h.push(De(e.provider??void 0,e.model,r)),f&&h.push(d(`profileRow.managedByVellum`));let g=e.availability,_=g?.status===`incomplete`,y=g?.message??d(`profileRow.providerUnavailableDefault`),x=g!=null&&g.status!==`ok`?_?d(`profileRow.providerUnavailableFixable`,{message:y}):y:null;return(0,$.jsx)(v,{title:(0,$.jsx)(`span`,{className:p?`opacity-55`:void 0,children:m}),subtitle:h.length>0?h.join(` • `):void 0,onClick:a,showChevron:!1,selected:n,disabled:i,contentAriaLabel:d(`profileRow.openProfileAriaLabel`,{displayName:m}),trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[x==null?null:(0,$.jsx)(c,{content:x,children:_?(0,$.jsx)(`button`,{type:`button`,onClick:a,"aria-label":x,className:`inline-flex cursor-pointer rounded-sm p-0.5 keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:(0,$.jsx)(b,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-hidden":`true`})}):(0,$.jsx)(`span`,{className:`inline-flex p-0.5`,tabIndex:0,children:(0,$.jsx)(b,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-label":x,role:`img`})})}),p?(0,$.jsx)(I,{tone:`neutral`,children:d(`profileRow.disabledTag`)}):null,t?(0,$.jsx)(I,{tone:`positive`,children:d(`profileRow.defaultTag`)}):null,(0,$.jsxs)(S.Root,{children:[(0,$.jsx)(S.Trigger,{asChild:!0,children:(0,$.jsx)(l,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(w,{}),"aria-label":d(`profileRow.actionsAriaLabel`,{displayName:m}),disabled:i})}),(0,$.jsxs)(S.Content,{align:`end`,sideOffset:4,children:[(0,$.jsx)(S.Item,{onSelect:a,children:d(f?`profileRow.view`:`profileRow.edit`)}),!t&&!p?(0,$.jsx)(S.Item,{onSelect:o,children:d(`profileRow.makeDefault`)}):null,p?(0,$.jsx)(S.Item,{onSelect:()=>s(!0),children:d(`profileRow.enable`)}):f?null:(0,$.jsx)(S.Item,{onSelect:()=>s(!1),children:d(`profileRow.disable`)}),f?null:(0,$.jsx)(S.Item,{onSelect:u,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:d(`profileRow.delete`)})]})]})]})})}function tr(e,t){let n=dn(),{data:r}=p({...jt({path:{assistant_id:e}}),enabled:n,staleTime:3e4}),{profiles:i,profileOrder:a}=dt(t?.llm,e);return(0,Q.useMemo)(()=>r==null?{entries:he(i,a).map(e=>({name:e.name,label:e.label??null,provider:e.provider??null,model:e.model??null,status:e.status===`disabled`?`disabled`:`active`,source:e.source===`managed`?`managed`:`user`,provider_connection:e.provider_connection,availability:null})),isEffectiveCatalog:!1}:{entries:r.profiles,isEffectiveCatalog:!0},[r,i,a])}function nr(e){let t=f();return Mt({onSuccess:n=>{zt(t,{path:{assistant_id:e}},n),t.invalidateQueries({queryKey:Ft({path:{assistant_id:e}})}),t.invalidateQueries({queryKey:Ut({path:{assistant_id:e}})})}})}var rr=`0.10.8`;function ir(e){return vt(rr,e)}var ar=`settings-ai-profile-make-active`,or=`Failed to set the active profile. Please try again.`;function sr(e){let t=nr(e),n=f(),r=ir(e),i=Ht({onSuccess:()=>{n.invalidateQueries({queryKey:Rt({path:{assistant_id:e}})}),n.invalidateQueries({queryKey:Ft({path:{assistant_id:e}})})}});async function o(n,r,i){try{await t.mutateAsync({path:{assistant_id:e},body:{llm:n}})}catch(e){throw a(e,{context:r}),V.error(i),e}}async function s(t){if(!r){await o({activeProfile:t},ar,or);return}try{await i.mutateAsync({path:{assistant_id:e},body:{name:t}})}catch(e){let t=q(e);throw V.error(t??or),t||a(e,{context:ar}),e}}return{makeActive:s,setStatus:(e,t)=>o({profiles:{[e]:{status:t?`active`:`disabled`}}},`settings-ai-profile-toggle`,`Failed to update the profile. Please try again.`),deleteProfile:(e,t,n)=>o({profiles:{[e]:null},profileOrder:t.filter(t=>t!==e),...n?.isAdvisor?{advisorProfile:null}:{}},`settings-ai-profile-delete`,`Failed to delete the profile. Please try again.`),patchLlm:o,isPending:t.isPending||i.isPending}}var cr=`The profile was not deleted.`,lr=`Failed to move the schedules. ${cr}`;function ur(e){let t=q(e);return t?`${/[.!?]$/.test(t)?t:`${t}.`} ${cr}`:lr}function dr(e,t,n){let r=sr(e),i=f(),o=xe(),s=t?.llm?.activeProfile??null,c=t?.llm?.advisorProfile??null,l=t?.llm?.callSites??{},u=(0,Q.useMemo)(()=>t?.llm?.profiles??{},[t?.llm?.profiles]),d=(0,Q.useMemo)(()=>t?.llm?.profileOrder??[],[t?.llm?.profileOrder]),p=(0,Q.useMemo)(()=>he(u,d),[u,d]),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(null),w=(0,Q.useRef)(!1);function T(e){return p.filter(t=>t.name===e?!1:t.status===`disabled`?!0:Se(t,p,{requireOwnProviderAndModel:o}))}function E(e,t){let n=T(e).filter(e=>!t||e.status!==`disabled`),r=n.find(e=>e.name===s),i=n.find(e=>e.source!==`managed`);return(r??i??n[0])?.name??``}async function D(e){try{await r.deleteProfile(e,d,{isAdvisor:e===c}),n?.onDeleted?.(e)}catch{}}async function O(t){let n=u[t]?.label??t,r=t===s,o=Object.entries(l).filter(([e,n])=>e!==`mainAgent`&&n?.profile===t).map(([e])=>e),c=[],d=0,f=!1;try{let n=(await i.fetchQuery({...qt({path:{assistant_id:e},query:{inference_profile:t,include_all:`true`}}),retry:!1,staleTime:0})).schedules??[];c=n.filter(e=>!e.isDeferred).map(e=>e.name),d=n.filter(e=>e.isDeferred).length}catch(e){a(e,{context:`settings-ai-profile-delete-schedule-scan`}),f=!0}if(!(r||o.length>0||c.length>0||d>0)&&!f){await D(t);return}let p={name:t,label:n,isActive:r,callSiteIds:o,scheduleNames:c,deferredReminderCount:d,scheduleLookupFailed:f};h(p),y(E(t,Yn(p))),_(null)}function k(e){t==null||w.current||(w.current=!0,C(e),O(e).finally(()=>{w.current=!1,C(null)}))}async function A(){if(!m||!v)return;if(x(!0),_(null),Yn(m))try{await Tn(e,m.name,v),await i.invalidateQueries({queryKey:Nt({path:{assistant_id:e}})})}catch(e){a(e,{context:`settings-ai-profile-reassign-schedules`}),_(ur(e)),x(!1);return}let t={};if(m.isActive&&(t.activeProfile=v),m.callSiteIds.length>0){let e={};for(let t of m.callSiteIds)e[t]={profile:v};t.callSites=e}if(Object.keys(t).length>0)try{await r.patchLlm(t,`settings-ai-profile-reassign-delete`,`Failed to reassign references. Please try again.`)}catch{_(`Failed to reassign references. Please try again.`),x(!1);return}let n=m.name;h(null),x(!1),D(n)}return{requestDelete:k,pendingDeleteName:S,blockedDeleteModalProps:{blocked:m,availableReplacements:T(m?.name??null),replacement:v,onReplacementChange:y,error:g,saving:b,onClose:()=>{h(null),_(null)},onConfirm:()=>void A()}}}function fr(){}function pr({assistantId:e,config:t,connections:n,selectedProfileName:r,onOpenProfile:i,onCreateProfile:a,onProfileDeleted:o}){let{t:s}=K(`settings`),{entries:c}=tr(e,t),u=sr(e),d=dr(e,t,{onDeleted:o}),f=t?.llm?.activeProfile??null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jn,{title:s(`profilesSection.title`),action:(0,$.jsx)(l,{variant:`primary`,onClick:a,leftIcon:(0,$.jsx)(j,{}),disabled:t==null,children:s(`profilesSection.createProfile`)}),children:t==null?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.loading`)}):c.length===0?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.emptyState`)}):c.map(e=>(0,$.jsx)(er,{profile:e,isActiveProfile:e.name===f,selected:e.name===r,connections:n,deletePending:d.pendingDeleteName===e.name,onOpen:()=>i(e.name),onMakeActive:()=>void u.makeActive(e.name).catch(fr),onSetStatus:t=>void u.setStatus(e.name,t).catch(fr),onDelete:()=>d.requestDelete(e.name)},e.name))}),(0,$.jsx)($n,{...d.blockedDeleteModalProps})]})}var mr={anthropic:!0,openai:!0,gemini:!0,fireworks:!0,openrouter:!0,chatgpt:!0,vellum:!0,together:!0,"vercel-ai-gateway":!0,minimax:!0,atlascloud:!0,baseten:!0,poolside:!0};function hr(e){return e in mr}function gr(e){if(!e.baseUrl)return null;try{return new URL(e.baseUrl).host}catch{return e.baseUrl}}function _r(e){let t=gr(e)??``,n=[];t&&n.push(t);let r=e.models?.length??0;return r>0&&n.push(`${r} ${r===1?`model`:`models`}`),e.auth.type===`none`&&n.push(`keyless`),n.join(` · `)}function vr(e){switch(e.auth.type){case`api_key`:return`Own API key`;case`oauth_subscription`:return`ChatGPT subscription`;case`none`:return`No API key needed`;default:return null}}function yr(e){if(e.provider===`vellum`)return`Included with your plan`;if(e.provider===`openai-compatible`)return _r(e);let t=[];if(e.provider===`ollama`){let n=gr(e);n&&t.push(n)}let n=e.provider===`chatgpt`?`openai`:e.provider,r=e.auth.type===`oauth_subscription`?Pe(n):Y(n),i=e.models?.length??r.length;i>0&&t.push(`${i} ${i===1?`model`:`models`}`);let a=vr(e);return a&&t.push(a),t.join(` • `)}function br({connection:e,isDefault:t,supportsDefaultProvider:n,selected:r,isSettingDefault:i,onOpen:a,onSetDefault:o,onDelete:s}){let{t:c}=K(`settings`),u=e.isManaged??!1,d=Fe(e),f=hr(e.provider),p=yr(e),m=n&&!t&&f,h=!u&&a!=null,g=!u&&!t,_=m||h||g;return(0,$.jsx)(v,{title:d,subtitle:p.length>0?p:void 0,onClick:a,showChevron:!1,selected:r,contentAriaLabel:a?c(`providerRow.openProviderAriaLabel`,{displayName:d}):void 0,trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[u?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.managedTagTitle`),children:c(`providerRow.managedTag`)}):null,t?(0,$.jsx)(I,{tone:`info`,title:c(`providerRow.defaultTagTitle`),children:c(`providerRow.defaultTag`)}):null,e.provider===`ollama`?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.localTagTitle`),children:c(`providerRow.localTag`)}):null,e.provider===`openai-compatible`?(0,$.jsx)(I,{tone:`neutral`,title:c(`providerRow.customTagTitle`),children:c(`providerRow.customTag`)}):null,_?(0,$.jsxs)(S.Root,{children:[(0,$.jsx)(S.Trigger,{asChild:!0,children:(0,$.jsx)(l,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(w,{}),"aria-label":c(`providerRow.actionsAriaLabel`,{displayName:d})})}),(0,$.jsxs)(S.Content,{align:`end`,sideOffset:4,children:[h?(0,$.jsx)(S.Item,{onSelect:a,children:c(`providerRow.edit`)}):null,m?(0,$.jsx)(S.Item,{disabled:i,onSelect:o,children:c(`providerRow.setAsDefault`)}):null,g?(0,$.jsx)(S.Item,{onSelect:s,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:c(`providerRow.delete`)}):null]})]}):(0,$.jsx)(`span`,{className:`inline-block w-8`,"aria-hidden":!0})]})})}function xr(e,t){let n=f(),r={path:{assistant_id:e}},i=m({...Lt(),onSuccess:()=>{n.invalidateQueries({queryKey:Bt(r)}),n.invalidateQueries({queryKey:Rt(r)}),n.invalidateQueries({queryKey:Ft(r)})},onError:e=>{a(e,{context:`settings-ai-set-default-provider`}),V.error(G(`settings:useProviderActions.setDefaultFailedToast`))}});function o(t){hr(t.provider)&&i.mutate({path:{assistant_id:e},body:{provider:t.provider,connectionName:t.name}})}function s(e){return i.isPending&&i.variables?.body?.connectionName===e}async function c(i){try{let{response:a}=await Tt({path:{assistant_id:e,name:i}});a?.ok||a?.status===404?(n.invalidateQueries({queryKey:It(r)}),t?.onDeleted?.(i)):a?.status===409?V.error(G(`settings:useProviderActions.deleteInUseToast`)):V.error(G(`settings:useProviderActions.deleteFailedToast`))}catch(e){a(e,{context:`settings-ai-provider-delete`}),V.error(G(`settings:useProviderActions.deleteFailedToast`))}}return{setDefault:o,isSettingDefault:s,deleteConnection:c}}function Sr({assistantId:e,selectedConnectionName:t,onOpenConnection:n,onAddProvider:r,onConnectionDeleted:i}){let{t:a}=K(`settings`),{data:o,isLoading:s,isError:c}=p(Pt({path:{assistant_id:e}})),u=un(),{data:d}=p({...Vt({path:{assistant_id:e}}),enabled:u}),f=u?d?.resolvedConnectionName??null:null,m=xr(e,{onDeleted:i}),h=(0,Q.useMemo)(()=>{let e=o?.connections??[];return[...e.filter(e=>e.provider===me),...e.filter(e=>e.provider!==me)]},[o]);return(0,$.jsx)(Jn,{title:a(`providersSection.title`),action:(0,$.jsx)(l,{variant:`outlined`,onClick:r,leftIcon:(0,$.jsx)(j,{}),children:a(`providersSection.addProvider`)}),children:s?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(W,{className:`h-10 rounded-lg`},e))}):c?(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:a(`providersSection.loadError`)}):h.length===0?(0,$.jsx)(g,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:a(`providersSection.empty`)}):h.map(e=>(0,$.jsx)(br,{connection:e,isDefault:e.name===f,supportsDefaultProvider:u,selected:e.name===t,isSettingDefault:m.isSettingDefault(e.name),onOpen:e.isManaged??!1?void 0:()=>n(e.name),onSetDefault:()=>m.setDefault(e),onDelete:()=>void m.deleteConnection(e.name)},e.name))})}function Cr({panel:e,onOpenPanel:t,onClosePanel:n}){let{t:r}=K(`settings`),i=bn(),{data:a}=p({...Kt({path:{assistant_id:i}}),staleTime:3e4}),o=un(),{data:s}=p({...Vt({path:{assistant_id:i}}),enabled:o}),c=s?.availability,{data:u}=p({...Pt({path:{assistant_id:i}})}),d=u?.connections,f=a?.llm?.callSites??{},m=Object.entries(f).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length;return(0,$.jsx)(jn,{title:r(`languageModelCard.title`),subtitle:r(`languageModelCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[c&&c.status!==`ok`&&(0,$.jsx)(F,{tone:c.status===`unknown`?`warning`:`error`,children:c.message??r(`languageModelCard.defaultProviderUnavailable`)}),i&&(0,$.jsx)(pr,{assistantId:i,config:a,connections:d,selectedProfileName:e?.kind===`profile`?e.name:null,onOpenProfile:e=>t({kind:`profile`,name:e}),onCreateProfile:()=>t({kind:`create-profile`}),onProfileDeleted:t=>{e?.kind===`profile`&&e.name===t&&n()}}),i&&(0,$.jsx)(Sr,{assistantId:i,selectedConnectionName:e?.kind===`provider`?e.name:null,onOpenConnection:e=>t({kind:`provider`,name:e}),onAddProvider:()=>t({kind:`add-provider`}),onConnectionDeleted:t=>{e?.kind===`provider`&&e.name===t&&n()}}),(0,$.jsx)(Jn,{title:r(`languageModelCard.overridesTitle`),count:m,action:(0,$.jsx)(l,{variant:`outlined`,onClick:()=>t({kind:`overrides`}),children:r(`languageModelCard.manage`)})})]})})}function wr(e,{onSaved:t}={}){let n=nr(e),{data:r}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=r?.llm?.profileOrder??[];async function s(r,s,c){let l=c?.mode??`replace`,u=!(r in i);if(l===`merge`&&!u){await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:s}}}}),t?.();return}let d={profiles:{[r]:s}};if(u&&(d.profileOrder=o.includes(r)?o:[...o,r]),u)await n.mutateAsync({path:{assistant_id:e},body:{llm:d}});else{let t=i[r];await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:null}}}});try{await n.mutateAsync({path:{assistant_id:e},body:{llm:d}})}catch(i){throw a(i,{context:`settings-ai-profile-edit-recreate`}),t!=null&&await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:t}}}}).catch(()=>{}),i}}u&&V.success(G(`settings:useProfileSave.createdToast`,{name:s.label??r})),t?.()}return{saveProfile:s,isPending:n.isPending}}function Tr({assistantId:e,profileName:t,onClose:n}){let{t:r}=K(`settings`),{data:i}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),{data:a}=p({...Pt({path:{assistant_id:e}})}),o=a?.connections,s=(0,Q.useMemo)(()=>i?.llm?.profiles??{},[i?.llm?.profiles]),c=Object.keys(s),u=(0,Q.useMemo)(()=>{if(t==null)return;let e=s[t];return e?{name:t,...e}:void 0},[t,s]),d=t==null?`create`:u?.source===`managed`||u?.invariant===!0?`view`:`edit`,{saveProfile:f,isPending:m}=wr(e,{onSaved:n}),h=nt({mode:d,profileName:t??void 0,initialValues:u,existingNames:c,connections:o,assistantId:e,onSave:f}),g=dr(e,i,{onDeleted:()=>n()}),_=t!=null&&g.pendingDeleteName===t,v=t!=null&&i!=null&&!(t in s);(0,Q.useEffect)(()=>{v&&!h.saving&&!m&&n()},[v,h.saving,m,n]);let y=d===`view`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xn,{title:h.effectiveMode===`create`?r(`profileDetailPanel.newProfileTitle`):u?.label??t??r(`profileDetailPanel.defaultTitle`),closeVariant:`outlined`,onClose:n,headerTrailing:y&&h.effectiveMode!==`create`?(0,$.jsx)(I,{tone:`neutral`,children:r(`profileDetailPanel.managedTag`)}):null,headerActions:h.effectiveMode!==`create`&&!h.isReadOnly?(0,$.jsx)(l,{variant:`dangerOutline`,iconOnly:_?(0,$.jsx)(O,{className:`animate-spin`}):(0,$.jsx)(N,{}),"aria-label":r(_?`profileDetailPanel.deleting`:`profileDetailPanel.delete`),tooltip:r(`profileDetailPanel.delete`),onClick:()=>{t!=null&&g.requestDelete(t)},disabled:h.saving||_}):null,footer:h.isReadOnly?(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(l,{variant:`outlined`,onClick:h.switchToSaveAsNew,disabled:h.saving,children:r(`profileDetailPanel.saveAsNew`)}),h.hasViewModeChanges?(0,$.jsx)(l,{variant:`primary`,onClick:()=>void h.handleSave(),disabled:h.saving,children:h.saving?r(`profileDetailPanel.saving`):r(`profileDetailPanel.save`)}):null]}):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(l,{variant:`primary`,onClick:()=>void h.handleSave(),disabled:h.isInvalid||h.saving,children:h.saving?r(`profileDetailPanel.saving`):h.effectiveMode===`create`?r(`profileDetailPanel.createProfile`):r(`profileDetailPanel.saveChanges`)})}),children:(0,$.jsx)(tt,{editor:h,assistantId:e,connections:o,variant:`panel`})}),(0,$.jsx)($n,{...g.blockedDeleteModalProps})]})}function Er({value:e,profileOptions:t,disabled:n,onChange:r}){let{t:i}=K(`settings`);return(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:i(`advisorProfileRow.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:i(`advisorProfileRow.description`)})]}),(0,$.jsx)(U,{value:e,onChange:r,options:t,placeholder:i(`advisorProfileRow.chooseProfilePlaceholder`),className:`w-44`,menuMinWidth:280,menuAlign:`start`,disabled:n})]})})}var Dr=`__custom__`;function Or(e){return e?!!(e.profile||e.provider||e.model):!1}function kr(e,t){if(t?.provider||t?.model)return null;let n=e.defaultProfile??e.shippedDefaultProfile;return n?{profile:n,via:t?.profile===n?`override`:`default`}:null}function Ar(e,t){let n=Or(e);return n===Or(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function jr({assistantId:e,callSites:t,domains:n,persistedOverrides:r,orderedProfiles:i,onClose:o,onApplied:s}){let{t:c}=K(`settings`),u=nr(e),d=xe(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d}),[d]),p=(0,Q.useMemo)(()=>{let e=new Map;for(let n of t){let t=kr(n,r[n.id]);t&&e.set(n.id,t)}return e},[t,r]),m=(0,Q.useMemo)(()=>{let e=new Set(Array.from(p.values(),e=>e.profile));return i.filter(t=>e.has(t.name))},[i,p]),[h,_]=(0,Q.useState)(()=>m[0]?.name??``),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(new Set),[S,C]=(0,Q.useState)(!1),w=(0,Q.useMemo)(()=>{let e=new Map(n.map(e=>[e.id,e.displayName]));return t=>e.get(t)??t},[n]),T=(0,Q.useMemo)(()=>t.filter(e=>p.get(e.id)?.profile===h),[t,p,h]),E=(0,Q.useMemo)(()=>T.map(e=>e.id).filter(e=>!b.has(e)),[T,b]),D=(0,Q.useMemo)(()=>m.map(e=>({value:e.name,label:be(e)})),[m]),k=(0,Q.useMemo)(()=>ve(i,[],f).filter(e=>e.name!==h).map(e=>({value:e.name,label:be(e)})),[i,h,f]),j=fe(i,h),M=fe(i,v),N=b.size===0;function P(e){_(e),x(new Set),e===v&&y(``)}function I(e,t){x(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})}async function L(){if(!(!h||!v||E.length===0)){C(!0);try{let t={};for(let e of E)t[e]={profile:v};await u.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:t}}}),V.success(c(`bulkOverrideSwapModal.successToast`,{count:E.length,targetLabel:M})),s(),o()}catch(e){let t=q(e);V.error(t??c(`bulkOverrideSwapModal.updateFailedToast`)),t||a(e,{context:`settings-ai-bulk-override-swap`})}finally{C(!1)}}}return(0,$.jsx)(B.Root,{open:!0,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(B.Content,{size:`md`,children:[(0,$.jsx)(B.Header,{children:(0,$.jsx)(B.Title,{children:c(`bulkOverrideSwapModal.title`)})}),(0,$.jsxs)(B.Body,{className:`space-y-4`,children:[(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:c(`bulkOverrideSwapModal.intro`)}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsx)(U,{id:`bulk-swap-source`,label:c(`bulkOverrideSwapModal.currentlyUsingLabel`),value:h,onChange:P,options:D}),(0,$.jsx)(U,{id:`bulk-swap-target`,label:c(`bulkOverrideSwapModal.changeToLabel`),value:v,onChange:y,options:k,placeholder:c(`bulkOverrideSwapModal.targetPlaceholder`)})]}),(0,$.jsx)(F,{tone:`info`,title:c(`bulkOverrideSwapModal.noticeTitle`),children:c(`bulkOverrideSwapModal.noticeBody`,{sourceLabel:j})}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(g,{variant:`body-medium-default`,as:`p`,children:c(`bulkOverrideSwapModal.affectedSummary`,{count:T.length,profile:j})}),(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[color:var(--content-secondary)]`,children:c(`bulkOverrideSwapModal.chooseActions`)})]}),(0,$.jsx)(l,{variant:`ghost`,onClick:()=>x(N?new Set(T.map(e=>e.id)):new Set),children:c(N?`bulkOverrideSwapModal.clearAll`:`bulkOverrideSwapModal.selectAll`)})]}),(0,$.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:T.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-[var(--border-base)] px-3 py-2`,children:[(0,$.jsx)(A,{checked:!b.has(e.id),onCheckedChange:t=>I(e.id,t===!0),disabled:S,label:e.displayName,helperText:w(e.domain)}),(0,$.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:p.get(e.id)?.via===`override`?c(`bulkOverrideSwapModal.viaOverride`):c(`bulkOverrideSwapModal.viaDefault`)})]},e.id))})]})]}),(0,$.jsxs)(B.Footer,{children:[(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`mr-auto self-center text-[color:var(--content-secondary)]`,children:c(`bulkOverrideSwapModal.willChange`,{count:E.length})}),(0,$.jsx)(l,{variant:`ghost`,onClick:o,disabled:S,children:c(`bulkOverrideSwapModal.cancel`)}),(0,$.jsx)(l,{variant:`primary`,disabled:!h||!v||E.length===0||S,onClick:()=>void L(),children:S?(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}):c(`bulkOverrideSwapModal.applyTo`,{count:E.length})})]})]})})}function Mr({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,connections:o,onDraftChange:s,onToggle:c}){let{t:l}=K(`settings`),u=Or(i),d=!i||!u?``:i.provider||i.model?Dr:i.profile??``,f=d===Dr,p=Me(),m=(o??[]).some(e=>e.provider===we),h=[...p,...m?[we]:[]],g=p[0]??ae[0],_=i?.provider,v=X(_)?_:_===`chatgpt`?we:void 0,y=v!==void 0&&h.some(e=>e===v),b=v??g,x=Ge(b,``,(o??[]).filter(e=>Ue(e.provider,b)))?Pe(b):Y(b),S=x.map(e=>({value:e.id,label:e.displayName})),C=typeof i?.model==`string`?i.model:``;if(C&&!x.some(e=>e.id===C)){let e=Y(b).find(e=>e.id===C)?.displayName??C;S.push({value:C,label:l(`callSiteOverridesRow.unavailableOption`,{name:e})})}let w=!!i?.provider&&!i?.model,T=[...h.map(e=>({value:e,label:J[e]??e})),...v&&!y?[{value:v,label:l(`callSiteOverridesRow.unavailableOption`,{name:J[v]??v})}]:[]];function E(t){t===`__custom__`?s(e,{profile:null,provider:g,model:re(g)??``}):t===``?s(e,null):s(e,{profile:t,provider:null,model:null})}function D(t){let n=re(t)??``;s(e,{...i??{},profile:null,provider:t,model:n})}function O(t){s(e,{...i??{},model:t})}return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,$.jsx)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:l(`callSiteOverridesRow.defaultProfileSuffix`,{label:r})})]})]}),(0,$.jsx)(z,{checked:u,onChange:t=>c(e,t),"aria-label":l(`callSiteOverridesRow.overrideAriaLabel`,{displayName:t}),className:`shrink-0`})]}),u&&(0,$.jsx)(`div`,{className:`mt-3`,children:(0,$.jsx)(U,{value:d,onChange:E,options:a,className:`w-44`,menuMinWidth:280,menuAlign:`start`})}),u&&f&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.providerLabel`)}),(0,$.jsx)(U,{value:b??``,onChange:D,options:T})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.modelLabel`)}),(0,$.jsx)(U,{value:i?.model??``,onChange:O,options:S})]})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l(`callSiteOverridesRow.pickModelError`)})]})]})}function Nr({groups:e,drafts:t,buildProfileOptionsForRow:n,profileLabelFor:r,advisorMatchesSearch:i,connections:a,onDraftChange:o,onToggle:s}){let{t:c}=K(`settings`);return(0,$.jsx)(`div`,{className:`space-y-4`,children:e.length===0?i?null:(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`overridesCallSiteList.emptySearch`)}):e.map(({domain:e,sites:i})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:i.map(e=>{let i=(()=>{let n=t[e.id]??null;return!n||!Or(n)?``:n.provider||n.model?Dr:n.profile??``})(),c=e.shippedDefaultProfile??e.defaultProfile,l=c?r(c):null;return(0,$.jsx)(Mr,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:l,draft:t[e.id]??null,profileOptions:n(i===``||i===`__custom__`?null:i),connections:a,onDraftChange:o,onToggle:s},e.id)})})]},e.id))})}function Pr(e,t){let n={};for(let r of Object.keys(e)){let i=e[r]??null;Or(i)?n[r]={profile:i?.profile??null,provider:i?.provider??null,model:i?.model??null}:r in t&&t[r]===null&&(n[r]=null)}return n}function Fr(e){let t={};for(let n of Object.keys(e))t[n]=null;return t}function Ir({catalogCallSiteIds:e,persistedOverrides:t,persistedAdvisor:n,isSeeded:r}){let[i,a]=(0,Q.useState)({}),[o,s]=(0,Q.useState)(void 0),c=(0,Q.useMemo)(()=>{if(!r)return{};let n={};for(let r of e)if(r in i)n[r]=i[r];else{let e=t[r];n[r]=e?{...e}:{}}return n},[r,e,t,i]),l=o??n,u=l!==n,d=(0,Q.useMemo)(()=>{if(!r)return!1;for(let e of Object.keys(c))if(!Ar(c[e],t[e]))return!0;return!1},[r,c,t]);return{drafts:c,advisorProfile:l,advisorDirty:u,callSiteDraftsDirty:d,hasUnsavedDrafts:u||d,hasValidationError:(0,Q.useMemo)(()=>Object.values(c).some(e=>Or(e)&&!!e?.provider&&!e?.model),[c]),setDraft:(0,Q.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[]),setAdvisor:(0,Q.useCallback)(e=>{s(e)},[]),clearEdits:(0,Q.useCallback)(()=>{a({}),s(void 0)},[]),buildSavePatch:(0,Q.useCallback)(()=>Pr(c,i),[c,i]),buildResetPatch:(0,Q.useCallback)(()=>Fr(c),[c])}}function Lr({assistantId:e,onClose:t}){let{t:n}=K(`settings`),{data:r}=p({...Kt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=(0,Q.useMemo)(()=>r?.llm?.profileOrder??[],[r?.llm?.profileOrder]),s=(0,Q.useMemo)(()=>r?.llm?.callSites??{},[r?.llm?.callSites]),c=(0,Q.useMemo)(()=>he(i,o),[i,o]),u=Me(),d=xe(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d}),[d]),m=nr(e),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(!1),[y,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(!1),{data:w,isLoading:T,isError:E,refetch:D}=p({...Wt({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),{data:k}=p({...Pt({path:{assistant_id:e}}),enabled:!!e}),A=(0,Q.useMemo)(()=>(w?.callSites??[]).filter(e=>e.id!==`mainAgent`),[w]),j=!T&&!E&&!!w,N=!!r,P=j&&N,F=(0,Q.useMemo)(()=>A.map(e=>e.id),[A]),I=r?.llm?.advisorProfile??``,{drafts:L,advisorProfile:z,advisorDirty:B,callSiteDraftsDirty:U,hasUnsavedDrafts:W,hasValidationError:ee,setDraft:G,setAdvisor:te,clearEdits:ne,buildSavePatch:q,buildResetPatch:J}=Ir({catalogCallSiteIds:F,persistedOverrides:s,persistedAdvisor:I,isSeeded:P}),Y=(0,Q.useMemo)(()=>new Set(F),[F]),ie=(0,Q.useCallback)(e=>fe(c,e),[c]),X=(0,Q.useCallback)(e=>({value:e.name,label:be(e),..._e(e,c,f)===`undispatchable`?{icon:(0,$.jsx)(b,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),tooltip:se(e)}:{}}),[c,f]),oe=(0,Q.useMemo)(()=>ve(c,[I],f).map(X),[c,I,X,f]),Z=(0,Q.useMemo)(()=>{let e=h.trim().toLowerCase();return e===``||`advisor`.includes(e)||`second opinion`.includes(e)},[h]),ce=(0,Q.useMemo)(()=>A.some(e=>kr(e,s[e.id])!==null),[A,s]),le=(0,Q.useMemo)(()=>Object.entries(s).some(([e,t])=>Y.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[s,Y]),ue=(0,Q.useCallback)(e=>[...ve(c,[e],f).map(X),{value:Dr,label:n(`overridesDetailPanel.customProfileOption`)}],[c,X,f,n]),de=(0,Q.useMemo)(()=>{if(!h.trim())return A;let e=h.toLowerCase();return A.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[A,h]),me=(0,Q.useMemo)(()=>{if(!w)return[];let e=w.domains.map(e=>e.id),t=new Map(w.domains.map(e=>[e.id,e])),r=[];for(let n of e){let e=de.filter(e=>e.domain===n);e.length>0&&r.push({domain:t.get(n),sites:e})}let i=new Set(e),a=de.filter(e=>!i.has(e.domain));return a.length>0&&r.push({domain:{id:`other`,displayName:n(`overridesDetailPanel.otherDomain`)},sites:a}),r},[w,de,n]),ge=(0,Q.useCallback)((e,t)=>{if(!t){G(e,null);return}let n=pe(c,A.find(t=>t.id===e)?.defaultProfile,f);if(n)G(e,{profile:n});else{let t=u[0]??ae[0];G(e,{provider:t,model:re(t)??``})}},[A,c,u,G,f]),ye=(0,Q.useCallback)(async()=>{v(!0);try{let r=q();await m.mutateAsync({path:{assistant_id:e},body:{llm:{...U?{callSites:r}:{},...B?{advisorProfile:z}:{}}}}),t(),V.success(n(`overridesDetailPanel.overridesSavedToast`))}catch(e){V.error(n(`overridesDetailPanel.saveFailedToast`)),a(e,{context:`call_site_overrides_save`})}finally{v(!1)}},[q,U,B,z,t,m,e,n]),Se=(0,Q.useCallback)(async()=>{v(!0);try{let r=J();await m.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:r}}}),t(),V.success(n(`overridesDetailPanel.overridesResetToast`))}catch(e){V.error(n(`overridesDetailPanel.resetFailedToast`)),a(e,{context:`call_site_overrides_reset`})}finally{v(!1)}},[J,t,m,e,n]),Ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[le&&(0,$.jsx)(l,{variant:`outlined`,onClick:()=>x(!0),disabled:_||!P,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:n(`overridesDetailPanel.resetToDefaults`)}),(0,$.jsx)(l,{variant:`primary`,onClick:()=>void ye(),disabled:!W||ee||_,children:_?(0,$.jsx)(O,{className:`h-4 w-4 animate-spin`}):n(`overridesDetailPanel.save`)})]});return(0,$.jsxs)(xn,{title:n(`overridesDetailPanel.title`),closeVariant:`outlined`,onClose:t,footer:Ce,children:[(0,$.jsx)(`p`,{className:`mb-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.description`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(R,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:n(`overridesDetailPanel.searchPlaceholder`),leftIcon:(0,$.jsx)(M,{className:`h-4 w-4`}),fullWidth:!0})}),(0,$.jsx)(l,{variant:`outlined`,onClick:()=>C(!0),disabled:!P||_||W||!ce,title:W?n(`overridesDetailPanel.bulkChangeUnsavedTitle`):ce?void 0:n(`overridesDetailPanel.bulkChangeNoCandidatesTitle`),children:n(`overridesDetailPanel.bulkChange`)})]}),N&&Z&&(0,$.jsxs)(`div`,{className:`mb-4`,children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.advisorSection`)}),(0,$.jsx)(Er,{value:z,profileOptions:oe,disabled:_,onChange:te})]}),T&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(O,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),E&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n(`overridesDetailPanel.loadErrorTitle`)}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`overridesDetailPanel.loadErrorHint`)}),(0,$.jsx)(l,{variant:`outlined`,onClick:()=>void D(),children:n(`overridesDetailPanel.retry`)})]}),!T&&!E&&w&&(0,$.jsx)(Nr,{groups:me,drafts:L,buildProfileOptionsForRow:ue,profileLabelFor:ie,advisorMatchesSearch:Z,connections:k?.connections,onDraftChange:G,onToggle:ge})]}),S&&w&&(0,$.jsx)(jr,{assistantId:e,callSites:A,domains:w.domains,persistedOverrides:s,orderedProfiles:c,onClose:()=>C(!1),onApplied:ne}),(0,$.jsx)(H,{open:y,title:n(`overridesDetailPanel.resetToDefaults`),message:n(`overridesDetailPanel.resetConfirmMessage`),confirmLabel:n(`overridesDetailPanel.resetToDefaults`),destructive:!0,onConfirm:()=>{x(!1),Se()},onCancel:()=>x(!1)})]})}var Rr=e(s(),1);function zr({mode:e,connection:t,assistantId:n,existingNames:r,connections:i,variant:a=`modal`,actionsSlot:o,onSave:s,onCancel:c}){let{t:u}=K(`settings`),[d,p]=(0,Q.useState)(t?.label??``),m=t?.name??``,h=t?.provider??`anthropic`,_=t?.auth.type??`api_key`,[v,y]=(0,Q.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[b,x]=(0,Q.useState)(t?.baseUrl??``),[S,C]=(0,Q.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[w,T]=(0,Q.useState)(!1),[E,D]=(0,Q.useState)(null),O=h===`openai-compatible`,k=je(h),[A,j]=(0,Q.useState)(``),[M,N]=(0,Q.useState)(!1),P=f(),F=(0,Q.useMemo)(()=>We(v),[v]),I=_===`api_key`&&F!==null,{hasStoredCredential:L,isLoading:z}=Oe({assistantId:n,credentialKind:`credential`,credentialName:F?`${F.service}:${F.field}`:``,enabled:I}),{credentials:V}=Re({assistantId:n,enabled:_===`api_key`});(0,Q.useEffect)(()=>{let e=t?.provider??`anthropic`;p(t?.label??``),t?.auth.type===`api_key`?y(t.auth.credential):y(t?``:`credential/${e}/api_key`),D(null),x(t?.baseUrl??``),C(t?.models?t.models.map(e=>e.id).join(`, `):``),j(``),N(!1)},[t]);let H=d.trim()!==(t?.label??``).trim(),U=O&&H?Ie(d,i,t?.name):null,W=m.trim().length>0&&U===null;async function ee(){if(W){T(!0),D(null);try{let e;if(_===`api_key`){let t=v.trim()||`credential/${h}/api_key`,r=A.trim();if(r){N(!0);try{let e=We(t);await St({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:h,value:r},throwOnError:!0});let i=ht(n,`credential`,e?`${e.service}:${e.field}`:``);P.setQueryData(i,!0),P.invalidateQueries({queryKey:At({path:{assistant_id:n}})})}catch{D(u(`providerEditorContent.failedSaveApiKey`));return}finally{N(!1)}}e={type:`api_key`,credential:t}}else if(t)e=t.auth;else{D(u(`providerEditorContent.nothingToEdit`));return}let r=d.trim()||null,i={auth:e,label:r,...k&&{base_url:b.trim()||null},...O&&{models:S.trim()?S.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:a,error:o,response:c}=await yt({path:{assistant_id:n,name:t?.name??m.trim()},body:i});if(!c?.ok){D(ct(c?.status,o)??He(c?.status));return}if(!a){D(u(`providerEditorContent.emptyServerResponse`));return}s(a)}catch{D(u(`providerEditorContent.failedSaveProvider`))}finally{T(!1)}}}let G=V.filter(e=>e.service===h),ne=e!==`create`&&t?.auth.type===`api_key`,q=G.length>0||ne,re=ze(u(`providerEditorContent.apiKeyPlaceholder`),L);if(e===`create`)return(0,$.jsx)(Le,{variant:a===`panel`?`inline`:`modal`,actionsSlot:o,assistantId:n,existingNames:r,connections:i,defaultProviderType:h,onCreated:s,onCancel:c});let J=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,$.jsx)(te,{i18nKey:`providerEditorContent.displayNameLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,$.jsx)(R,{value:d,onChange:e=>p(e.target.value),placeholder:u(`providerEditorContent.displayNamePlaceholder`),fullWidth:!0}),U?(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:Ne[U]}):null]}),k&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`providerEditorContent.baseUrlLabel`)}),(0,$.jsx)(R,{value:b,onChange:e=>x(e.target.value),placeholder:u(h===`ollama`?`providerEditorContent.baseUrlPlaceholderOllama`:`providerEditorContent.baseUrlPlaceholder`),fullWidth:!0}),h===`ollama`?(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:u(`providerEditorContent.baseUrlHintOllama`)}):null]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`providerEditorContent.modelsLabel`)}),(0,$.jsx)(R,{value:S,onChange:e=>C(e.target.value),placeholder:u(`providerEditorContent.modelsPlaceholder`),fullWidth:!0}),(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:u(`providerEditorContent.modelsHint`)})]}),_===`api_key`&&(0,$.jsx)(Ae,{apiKeyValue:A,onApiKeyChange:j,credential:v,onCredentialChange:y,isLoadingCredential:z,apiKeyPlaceholder:re,provider:h,providerCredentials:G,showAdvancedSection:q,onError:D}),_===`oauth_subscription`&&(0,$.jsx)(Be,{assistantId:n,onConnected:s}),E&&(0,$.jsx)(g,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:E})]}),Y=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(l,{variant:`ghost`,onClick:c,children:u(`providerEditorContent.cancel`)}),(0,$.jsx)(l,{variant:`primary`,disabled:!W||w||M,onClick:()=>void ee(),children:u(w?`providerEditorContent.saving`:`providerEditorContent.saveChanges`)})]});return a===`panel`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[J,o===void 0?(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:Y}):o&&(0,Rr.createPortal)(Y,o)]}):(0,$.jsxs)(B.Content,{size:`md`,children:[(0,$.jsxs)(B.Header,{children:[(0,$.jsx)(B.Title,{children:u(`providerEditorContent.editProviderTitle`)}),(0,$.jsx)(B.Description,{children:t?u(`providerEditorContent.editingConnection`,{name:Fe(t)}):u(`providerEditorContent.editProviderSettingsFallback`)})]}),(0,$.jsx)(B.Body,{children:J}),(0,$.jsx)(B.Footer,{children:Y})]})}function Br({assistantId:e,connectionName:t,onClose:n}){let{t:r}=K(`settings`),i=f(),[a,o]=(0,Q.useState)(null),{data:s}=p(Pt({path:{assistant_id:e}})),c=(0,Q.useMemo)(()=>s?.connections??[],[s]),l=(0,Q.useMemo)(()=>t==null?void 0:c.find(e=>e.name===t),[t,c]),u=t!=null&&s!=null&&l==null;(0,Q.useEffect)(()=>{u&&n()},[u,n]);function d(){i.invalidateQueries({queryKey:It({path:{assistant_id:e}})}),i.invalidateQueries({queryKey:Bt({path:{assistant_id:e}})}),n()}return(0,$.jsx)(xn,{title:l?Fe(l):r(`providerDetailPanel.addProviderTitle`),closeVariant:`outlined`,onClose:n,footer:(0,$.jsx)(`div`,{ref:o,className:`flex justify-end gap-2`}),children:t==null||l!=null?(0,$.jsx)(zr,{mode:l?`edit`:`create`,connection:l,variant:`panel`,actionsSlot:a,assistantId:e,existingNames:c.map(e=>e.name),connections:c,onSave:d,onCancel:n}):null})}var Vr={vellum:{provider:`vellum`},deepgram:{provider:`deepgram`,credentialService:`deepgram`},openai:{provider:`openai-whisper`,credentialService:`openai`}},Hr={vellum:`vellum`,deepgram:`deepgram`,"openai-whisper":`openai`},Ur=`deepgram`;function Wr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=bn(),s=e??o,c=kt(),l=f(),[u]=(0,Q.useState)(()=>mt.filter(e=>!e.requiresNativeDictation||ke())),d=Ur,{data:m}=p({...Kt({path:{assistant_id:s}}),enabled:c,staleTime:3e4}),h=m?.services?.stt,g=h?.mode===`managed`?`vellum`:h?.provider,_=(0,Q.useMemo)(()=>{let e=g?Hr[g]:void 0;if(e&&u.some(t=>t.id===e))return e;let n=t(Ye,d);return u.some(e=>e.id===n)?n:d},[g,u,d]),v=!!g,[y,b]=Un(_),{available:x,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T}=yn(s),[E,D]=(0,Q.useState)(!1),O=x&&y===_&&(Vr[y]?.provider===C||!!g&&!Hr[g]),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),[N,F]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=t(Ye,d);e===`macos-native`&&!u.some(t=>t.id===e)&&n(Ye,d)},[u,d]);let I=(0,Q.useMemo)(()=>u.find(e=>e.id===y)??u[0],[u,y]),L=I.apiKeyPlaceholder!==void 0;(0,Q.useEffect)(()=>{M(t(ut+y,``).length>0),A(``)},[y]);let z=(0,Q.useMemo)(()=>{let e=y!==_,t=k.trim().length>0;return e||t},[y,_,k]),B=(0,Q.useCallback)(async()=>{let e=k.trim();n(Ye,y),e.length>0&&n(ut+y,e);let r=Vr[y];F(!0);try{if(r?.credentialService){let n=e.length>0?e:t(ut+y,``);if(n.length>0){let{response:e}=await wt({path:{assistant_id:s},body:{service:r.credentialService,field:`api_key`,value:n,label:`${I.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}}if(r&&(y!==_||!v)||g===`vellum`&&y!==`vellum`){let e=r?.provider??Ur,{response:t}=await Ct({path:{assistant_id:s},body:{services:{stt:{provider:e,mode:e===`vellum`?`managed`:`your-own`}}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return e.length>0&&M(!0),A(``),l.invalidateQueries({queryKey:Rt({path:{assistant_id:s}})}),V.success(`Speech-to-text settings saved`),!0}catch(e){return V.error(e instanceof Error?e.message:`Failed to save speech-to-text settings`),!1}finally{F(!1)}},[s,y,k,I,_,v,g,l]);(0,Q.useEffect)(()=>{a?.({hasChanges:z,saving:N,save:B})},[a,z,N,B]);let H=(0,Q.useCallback)(()=>{n(ut+y,``),M(!1),A(``)},[y]),W=j?`•••••••• (Enter a new key to replace)`:I.apiKeyPlaceholder;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(U,{value:y,onChange:b,options:u.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Spoken language`}),(0,$.jsx)(at,{"aria-label":`Spoken language`,"aria-haspopup":`dialog`,onClick:()=>D(!0),value:vn(S,C)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Applies from your next spoken turn.`}),(0,$.jsx)(On,{open:E,onOpenChange:D,title:`Spoken language`,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T})]}),L&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(R,{type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:W,fullWidth:!0})]}),I.setupWarning&&(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(P,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-mid-strong)]`}),(0,$.jsx)(`span`,{children:I.setupWarning})]}),!i&&I.credentialsGuide&&(0,$.jsx)(Ln,{guide:I.credentialsGuide}),y===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Transcription runs through your Vellum account.`}),(!r||j)&&(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[!r&&(0,$.jsx)(Fn,{onClick:B,disabled:!z||N}),j&&(0,$.jsx)(In,{onClick:H})]})]})}function Gr(){let{t:e}=K(`settings`);return(0,$.jsx)(jn,{title:e(`speechToTextCard.title`),subtitle:e(`speechToTextCard.subtitle`),children:(0,$.jsx)(Wr,{})})}async function Kr(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await qr(n,r,i):t===`deepgram`?await Jr(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function qr(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await Yr(i,`ElevenLabs rejected the request.`)}}async function Jr(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await Yr(n,`Deepgram rejected the request.`)}}async function Yr(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function Xr({assistantId:e,value:t,onChange:n,className:r}){let[i,a]=(0,Q.useState)(!1),{voices:o}=gn(e);if(o.length===0)return null;let s=o.find(e=>e.model===t)??o[0];return(0,$.jsxs)(L.Root,{open:i,onOpenChange:a,children:[(0,$.jsx)(L.Trigger,{asChild:!0,children:(0,$.jsx)(at,{"aria-label":`Voice`,value:s?hn(s.description):`Select a voice`,className:r})}),(0,$.jsx)(L.Content,{side:`bottom`,align:`start`,className:`w-[var(--radix-popover-trigger-width)] p-1`,children:(0,$.jsx)(_n,{assistantId:e,value:t,onChange:n,onSelect:()=>a(!1),showSource:!0,autoScrollToSelected:!0})})]})}var Zr={elevenlabs:`voiceId`,"fish-audio":`referenceId`,xai:`voiceId`};function Qr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=bn(),s=e??o,c=ee.use.name()??`your assistant`,u=kt(),d=f(),{data:m}=p({...Gt({path:{assistant_id:s}}),enabled:u,staleTime:1/0}),h=(0,Q.useMemo)(()=>{let e=m?.providers;if(!e)return Je;if(e.some(e=>e.id===`vellum`))return e;let t=Je.find(e=>e.id===`vellum`);return t?[t,...e]:e},[m]),{data:g}=p({...Kt({path:{assistant_id:s}}),enabled:u,staleTime:3e4}),_=g?.services?.tts,v=_?.mode===`managed`?`vellum`:_?.provider,y=`elevenlabs`,b=(0,Q.useMemo)(()=>v??t(`vellum:voice:ttsProvider`,y),[v,y]),x=!!v,[S,C]=Un(b),[w,T]=(0,Q.useState)(``),[E,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),[N,P]=(0,Q.useState)(!1),[F,I]=(0,Q.useState)(!1),{voices:L,defaultModel:z,fetched:B}=mn(s,{enabled:S===`vellum`}),H=_?.providers?.vellum?.model??z??``,[W,G]=Un(H),te=L.find(e=>e.model===W)??L[0],[K,ne]=(0,Q.useState)(null),q=L.some(e=>e.model===H),re=K??(B&&H!==``&&!q),J=(0,Q.useMemo)(()=>h.find(e=>e.id===S)??h[0],[S,h]),Y=S===`vellum`&&J.supportsVoiceSelection&&W.trim()!==``&&W.trim()!==H,ie=(0,Q.useCallback)(e=>{let n=t(rt+e,``),r=t(Xe+e,``);M(n.length>0),O(r),A(r),T(``)},[]);(0,Q.useEffect)(()=>{ie(S)},[S,ie]);let ae=(0,Q.useMemo)(()=>{let e=S!==b,t=w.trim().length>0,n=E.trim()!==k;return e||t||n||Y},[S,b,w,E,k,Y]),X=(0,Q.useCallback)(async()=>{let e=w.trim(),r=E.trim(),i=J.id;n(ft,i),e.length>0&&n(rt+i,e),n(Xe+i,r);let a=e.length>0?e:t(rt+i,``),o=Zr[i];I(!0);try{if(a.length>0){let{response:e}=await wt({path:{assistant_id:s},body:{service:i,field:`api_key`,value:a,label:`${J.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}let e={...S!==b||!x?{provider:i,mode:i===`vellum`?`managed`:`your-own`}:{},...o?{providers:{[i]:{[o]:r}}}:{},...Y?{providers:{vellum:{model:W.trim()}}}:{}};if(Object.keys(e).length>0){let{response:t}=await Ct({path:{assistant_id:s},body:{services:{tts:e}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return M(a.length>0),A(r),T(``),d.invalidateQueries({queryKey:Rt({path:{assistant_id:s}})}),V.success(`Text-to-speech settings saved`),!0}catch(e){return V.error(e instanceof Error?e.message:`Failed to save text-to-speech settings`),!1}finally{I(!1)}},[s,S,W,Y,w,E,J,b,x,d]);(0,Q.useEffect)(()=>{a?.({hasChanges:ae,saving:F,save:X})},[a,ae,F,X]);let oe=(0,Q.useCallback)(()=>{n(rt+S,``),M(!1),T(``)},[S]),Z=(0,Q.useCallback)(async()=>{P(!0);try{let e=t(rt+S,``),n=w.trim(),r=n.length>0?n:e;if(r.length===0){V.error(`Save an API key for this provider before testing.`);return}let i=t(Xe+S,``),a=E.trim(),o=await Kr({provider:S,apiKey:r,voiceId:a.length>0?a:i,text:`Hey! It's ${c}. How does this sound?`});if(o.kind!==`audio`){V.error(o.message);return}let s=URL.createObjectURL(o.blob);try{let e=new Audio(s);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(s)}}finally{P(!1)}},[c,w,S,E]),se=j?`•••••••• (Enter a new key to replace)`:J.apiKeyPlaceholder,ce=S===`vellum`,le=ce&&J.supportsVoiceSelection,ue=(0,$.jsxs)(l,{variant:`link`,size:`compact`,className:`inline-flex h-auto items-center gap-1 px-0 underline [--vbtn-fg:var(--content-tertiary)]`,onClick:()=>{ne(!1),L.some(e=>e.model===W)||G(z||L[0]?.model||``)},children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Choose from catalog`]}),de=le&&re&&L.length>0?ue:null;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(U,{value:S,onChange:C,options:h.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(R,{type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:se,fullWidth:!0})]}),le&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice`}),re?(0,$.jsx)(R,{type:`text`,value:W,onChange:e=>G(e.target.value),placeholder:`Enter a voice ID`,"aria-label":`Custom voice ID`,fullWidth:!0}):te?(0,$.jsx)(Xr,{assistantId:s,value:W,onChange:G}):B&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`No managed voices are currently available.`})]}),J.supportsVoiceSelection&&!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,$.jsx)(R,{type:`text`,value:E,onChange:e=>O(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),!i&&!ce&&(0,$.jsx)(Ln,{guide:J.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!ce&&(0,$.jsx)(l,{variant:`outlined`,onClick:Z,disabled:N,children:N?`Testing…`:`Test`}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[de,!r&&(0,$.jsx)(Fn,{onClick:X,disabled:!ae||F}),j&&!ce&&(0,$.jsx)(In,{onClick:oe})]})]})]})}function $r(){let{t:e}=K(`settings`);return(0,$.jsx)(jn,{id:`text-to-speech`,title:e(`textToSpeechCard.title`),subtitle:e(`textToSpeechCard.subtitle`),children:(0,$.jsx)(Qr,{})})}var ei=`default`;function ti(){let{t:e}=K(`settings`),i=bn(),o=f(),{data:s}=p({...Kt({path:{assistant_id:i}}),staleTime:3e4}),c=Mt({onSuccess:e=>{zt(o,{path:{assistant_id:i}},e)}}),l=Hn(),u=(0,Q.useMemo)(()=>s?s.services?.[`web-fetch`]?.provider||t(`vellum:ai:webFetchProvider`,ei):t(Ze,ei),[s]),[d,m]=(0,Q.useState)(!1),[h,g]=Un(u),[_,v]=(0,Q.useState)(``),y=ce.has(h),{hasStoredCredential:b}=Oe({assistantId:i,credentialKind:`api_key`,credentialName:h,enabled:y}),x=_.trim().length>0,S=d||y&&!b&&!x||h===u&&!x,C=ze(ie[h]??e(`webFetchCard.apiKeyPlaceholder`),b),w=(0,Q.useCallback)(async()=>{m(!0);let t=_.trim(),r=y&&t.length>0;try{r&&await l(h,t),await c.mutateAsync({path:{assistant_id:i},body:{services:{"web-fetch":{provider:h}}}}).catch(t=>{throw V.error(e(`webFetchCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t})}catch{m(!1);return}m(!1);try{if(n(Ze,h),r){let e=ue(h);e&&n(e,t);let r=ht(i,`api_key`,h);o.setQueryData(r,!0),o.invalidateQueries({queryKey:r}),v(``)}V.success(e(`webFetchCard.savedToast`))}catch(t){a(t,{context:`settings-ai-web-fetch-persist-local`}),V.error(e(`webFetchCard.localPreferencesFailedToast`))}},[y,c,l,o,i,_,h,e]),T=(0,Q.useCallback)(()=>{let e=ue(h);e&&r(e),v(``),g(ei),n(Ze,ei)},[h,g]);return(0,$.jsx)(jn,{id:`web-fetch`,title:e(`webFetchCard.title`),subtitle:e(`webFetchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webFetchCard.providerLabel`)}),(0,$.jsx)(U,{value:h,onChange:g,options:oe.map(e=>({value:e,label:Te[e]??e}))})]}),y&&(0,$.jsx)(R,{label:e(`webFetchCard.apiKeyLabel`),type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:C,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:w,disabled:S}),d&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),y&&(0,$.jsx)(In,{onClick:T,filled:!0})]})]})})}var ni=`0.10.12`;function ri(){return gt(ni)}function ii(){let{t:e}=K(`settings`),i=bn(),o=f(),s=kt(),{data:c}=p({...Kt({path:{assistant_id:i}}),enabled:s,staleTime:3e4}),l=Mt({onSuccess:e=>{zt(o,{path:{assistant_id:i}},e)}}),u=Hn(),d=(0,Q.useMemo)(()=>{if(!c)return t(st,`inference-provider-native`);let e=c.services?.[`web-search`];return(e?.mode===`managed`&&e?.provider!==`inference-provider-native`?`vellum`:e?.provider)||t(`vellum:ai:webSearchProvider`,`inference-provider-native`)},[c]),[m,h]=(0,Q.useState)(!1),[g,_]=Un(d),[v,y]=(0,Q.useState)(``),b=de.has(g),{hasStoredCredential:x}=Oe({assistantId:i,credentialKind:`api_key`,credentialName:g,enabled:b}),S=v.trim().length>0,C=m||b&&!x&&!S||g===d&&!S,w=ze(Ee[g]??e(`webSearchCard.apiKeyPlaceholder`),x),T=(0,Q.useCallback)(async()=>{h(!0);let t=v.trim(),r=ye(g),s=b&&t.length>0;try{s&&await u(g,t),await _t();let n=g===`vellum`?ri()?{provider:`vellum`,mode:`managed`}:{mode:`managed`}:{provider:g,mode:`your-own`};await l.mutateAsync({path:{assistant_id:i},body:{services:{"web-search":n}}}).catch(t=>{throw V.error(e(`webSearchCard.configUpdateFailedToast`)),a(t,{context:`patch_daemon_config`}),t})}catch{h(!1);return}h(!1);try{if(n(st,g),s){r&&n(r,t);let e=ht(i,`api_key`,g);o.setQueryData(e,!0),o.invalidateQueries({queryKey:e}),y(``)}V.success(e(`webSearchCard.savedToast`))}catch(t){a(t,{context:`settings-ai-web-search-persist-local`}),V.error(e(`webSearchCard.localPreferencesFailedToast`))}},[b,l,u,o,i,v,g,e]),E=(0,Q.useCallback)(()=>{let e=ye(g);e&&r(e),y(``),_(`inference-provider-native`),n(st,`inference-provider-native`)},[g,_]);return(0,$.jsx)(jn,{title:e(`webSearchCard.title`),subtitle:e(`webSearchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webSearchCard.providerLabel`)}),(0,$.jsx)(U,{"aria-label":e(`webSearchCard.providerAriaLabel`),value:g,onChange:_,options:Ce.map(e=>({value:e,label:Z[e]??e}))})]}),g===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`webSearchCard.vellumNote`)}),b&&(0,$.jsx)(R,{label:e(`webSearchCard.apiKeyLabel`),type:`password`,value:v,onChange:e=>y(e.target.value),placeholder:w,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Fn,{onClick:T,disabled:C}),m&&(0,$.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),b&&(0,$.jsx)(In,{onClick:E,filled:!0})]})]})})}function ai(){let e=bn(),t=ln(),[n,r]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let i=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto`,children:[(0,$.jsx)(Nn,{}),(0,$.jsx)(Cr,{panel:n,onOpenPanel:r,onClosePanel:()=>r(null)}),(0,$.jsx)(ii,{}),(0,$.jsx)(ti,{}),(0,$.jsx)(Vn,{}),(0,$.jsx)(qn,{}),(0,$.jsx)($r,{}),(0,$.jsx)(Gr,{})]}),a=`${e??`none`}:${n?.kind===`profile`?`profile:${n.name}`:n?.kind===`provider`?`provider:${n.name}`:n?.kind??`closed`}`,o=n?.kind===`provider`||n?.kind===`add-provider`,s=n!=null&&e?n.kind===`overrides`?(0,$.jsx)(Lr,{assistantId:e,onClose:()=>r(null)},a):o?(0,$.jsx)(Br,{assistantId:e,connectionName:n.kind===`provider`?n.name:null,onClose:()=>r(null)},a):(0,$.jsx)(Tr,{assistantId:e,profileName:n.kind===`profile`?n.name:null,onClose:()=>r(null)},a):null;return s&&t?(0,$.jsx)(Cn,{children:s}):s?(0,$.jsx)(wn,{storageKey:`aiSettingsDetailDrawerWidth`,detailKey:a,section:i,detail:s}):i}export{ai as AiPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-C8CGr0T0.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-BJ8jcmzB.js";import{t as o}from"./input-DlkBtbxm.js";import{t as s}from"./select-DJDG9pwU.js";import{t as c}from"./is-electron-C9-jl_HE.js";import"./i18n-C3bX3mTs.js";import{t as l}from"./useTranslation-CCDbxnME.js";import{d as u}from"./routes-yNhBxUSb.js";import{t as d}from"./onboarding-navigation-CUL0t0Am.js";import{t as f}from"./onboarding-layout-CYgAi-S1.js";import{a as p,c as m,i as h,o as g,r as _,s as v}from"./provider-key-D0kB_zjf.js";import"./onboarding-step-layout-00YhfBar.js";var y=e(t(),1),b=a();function x(){let{t:e}=l(`onboarding`),t=r(),[a]=i(),x=a.get(`hosting`),S=c(),C=_(),[w,T]=(0,y.useState)(()=>C?.provider??p.id),[E,D]=(0,y.useState)(()=>C?.key??``),[O,k]=(0,y.useState)(()=>C?.model??v(C?.provider??p.id)??``),[A,j]=(0,y.useState)(()=>C?.baseUrl??``),[M,N]=(0,y.useState)(()=>C?.customModels??``),P=m(w)??p,F=P.models??[],I=P.requiresKey,L=F.length>0,R=w===`openai-compatible`,z=(!(I&&!R)||E.trim().length>0)&&(!L||O.trim().length>0)&&(!R||A.trim().length>0&&M.trim().length>0);return(0,b.jsx)(f,{avatarWave:`beside`,children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${S?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:S?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`apiKeyScreen.title`)}),(0,b.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${S?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`apiKeyScreen.body`)}),(0,b.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${S?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col ${S?`gap-2`:`gap-1`}`,children:[(0,b.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.providerLabel`)}),(0,b.jsx)(s,{"aria-label":e(`apiKeyScreen.providerLabel`),value:w,onChange:e=>{let t=m(e);t&&(T(t.id),D(``),k(v(t.id)??``))},options:g.map(e=>({value:e.id,label:e.displayName}))})]}),F.length>0&&(0,b.jsxs)(`div`,{className:`flex flex-col ${S?`gap-2`:`gap-1`}`,children:[(0,b.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelLabel`)}),(0,b.jsx)(s,{"aria-label":e(`apiKeyScreen.modelLabel`),value:O,onChange:k,options:F.map(e=>({value:e.id,label:e.displayName}))})]}),R&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex flex-col ${S?`gap-2`:`gap-1`}`,children:[(0,b.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.baseUrlLabel`)}),(0,b.jsx)(o,{type:`text`,placeholder:`http://localhost:1234/v1`,value:A,onChange:e=>j(e.target.value),fullWidth:!0})]}),(0,b.jsxs)(`div`,{className:`flex flex-col ${S?`gap-2`:`gap-1`}`,children:[(0,b.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelsLabel`)}),(0,b.jsx)(o,{type:`text`,placeholder:e(`apiKeyScreen.modelsPlaceholder`),value:M,onChange:e=>N(e.target.value),fullWidth:!0}),(0,b.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelsHelp`)})]})]}),I&&(0,b.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,b.jsx)(o,{type:`password`,label:e(`apiKeyScreen.apiKeyLabel`,{provider:P.displayName}),placeholder:P.apiKeyPlaceholder??e(`apiKeyScreen.apiKeyPlaceholder`),value:E,onChange:e=>D(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),P.docsUrl&&(0,b.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[e(`apiKeyScreen.noKeyPrompt`),` `,(0,b.jsx)(`a`,{href:P.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:e(`apiKeyScreen.getKeyLink`)})]})]})]}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${S?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,b.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!z,onClick:()=>{if(!z)return;let e=O.trim()||v(w);h({provider:w,key:E.trim(),...e?{model:e}:{},...R?{baseUrl:A.trim(),customModels:M.trim()}:{}}),t(x?`${u.onboarding.privacy}?hosting=${x}`:u.onboarding.privacy,d)},className:S?void 0:`h-11 text-base`,children:e(`actions.continue`)}),(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{t(u.onboarding.hosting,d)},className:S?void 0:`h-11 text-base`,children:e(`actions.back`)})]})]})})}export{x as ApiKeyScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-C8CGr0T0.js";import{n as r}from"./QueryClientProvider-EuRl-wrW.js";import{t as i}from"./jsx-runtime-BJ8jcmzB.js";import{t as a}from"./createLucideIcon-B-ZPaMbU.js";import{t as o}from"./external-link-DCA91uI6.js";import{t as s}from"./puzzle-C5CgkzuA.js";import"./src-DMnnfLrU.js";import{n as c}from"./toast-CHtrY-GO.js";import{t as l}from"./confirm-dialog-DYmL6FRe.js";import{n as u,t as d}from"./create-selectors-CmDroXTn.js";import{t as f}from"./sdk.gen-hZs6YBR0.js";import{i as p}from"./typed-storage-BNw603jr.js";import{i as m}from"./react-query.gen-CYP-Tn4K.js";import{s as h}from"./viewer-store-BbaMH35y.js";import{t as g}from"./misc-giJA2hbh.js";import{a as _}from"./sandbox-bridge-BcJiBmUR.js";var v=a(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),y=a(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),b=e(t(),1),x=i();function S(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.appId==`string`&&typeof t.pinnedOrder==`number`&&Number.isFinite(t.pinnedOrder)&&typeof t.name==`string`&&(t.icon===void 0||typeof t.icon==`string`)&&(t.color===void 0||typeof t.color==`string`)}function C(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(S):null}var w=p({key:`vellum:pinnedApps`,scope:`user`,parse:C,serialize:JSON.stringify,fallback:[]}),T=w.load;w.save;var E=w.subscribe;function D(e){let t=w.load();if(t.some(t=>t.appId===e.id))return;let n=t.reduce((e,t)=>Math.max(e,t.pinnedOrder),0);w.save([...t,{appId:e.id,pinnedOrder:n+1,name:e.name,icon:e.icon}])}function O(e){let t=w.load().filter(t=>t.appId!==e);t=t.sort((e,t)=>e.pinnedOrder-t.pinnedOrder).map((e,t)=>({...e,pinnedOrder:t+1})),w.save(t)}function k(e,t){let n=w.load();n.some(t=>t.appId===e)&&w.save(n.map(n=>{if(n.appId!==e)return n;let{color:r,...i}=n;return t===null?i:{...i,color:t}}))}var A=new Set;function j(e){return{pinnedApps:e,pinnedAppIds:new Set(e.map(e=>e.appId))}}function M(){let e=N.getState(),t=T();if(t===e.pinnedApps)return;let n=j(t);N.setState(n);for(let t of e.pinnedAppIds)if(!n.pinnedAppIds.has(t))for(let e of A)e(t)}var N=u()((e,t)=>({...j(T()),togglePin:e=>{t().pinnedAppIds.has(e.id)?t().unpin(e.id):(D(e),M())},unpin:e=>{t().pinnedAppIds.has(e)&&(O(e),M())},setColor:(e,n)=>{t().pinnedAppIds.has(e)&&(k(e,n),M())},isPinned:e=>t().pinnedAppIds.has(e),onUnpin:e=>(A.add(e),()=>{A.delete(e)})}));E(M);var P=d(N);function F({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,x.jsx)(l,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function I(e){let t=r(),n=P.use.togglePin(),i=P.use.pinnedAppIds(),[a,o]=(0,b.useState)(null),[s,l]=(0,b.useState)(!1);return{pendingDelete:a,isDeleting:s,requestDelete:o,confirmDelete:(0,b.useCallback)(async()=>{if(!(!a||s)){l(!0);try{await f({path:{assistant_id:e,id:a.id},throwOnError:!0}),h(e,a.id),t.invalidateQueries({queryKey:m({path:{assistant_id:e}})}),i.has(a.id)&&n(a),o(null)}catch(e){c.error(e instanceof Error?e.message:`Failed to delete app`)}finally{l(!1)}}},[a,s,e,i,n,t]),cancelDelete:(0,b.useCallback)(()=>{s||o(null)},[s])}}function L({name:e,description:t,icon:r,loadHtml:i,isPinned:a=!1,isLoading:s=!1,isOpenDisabled:c=!1,isPreviewPending:l=!1,onOpen:u,onPin:d}){return(0,x.jsxs)(`div`,{className:g(`flex flex-col gap-2 rounded-xl border border-[var(--border-base)]`,`bg-[var(--surface-lift)] p-3`),children:[(0,x.jsx)(R,{name:e,icon:r,loadHtml:l?void 0:i,isLoading:s,isPreviewPending:l}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,x.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:[r?(0,x.jsx)(`span`,{"aria-hidden":!0,className:`leading-none`,children:r}):null,(0,x.jsx)(`span`,{className:`truncate`,children:e})]}),t?(0,x.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-secondary)]`,children:t}):null]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-1.5 px-0.5`,children:[(0,x.jsx)(n,{variant:`primary`,leftIcon:(0,x.jsx)(o,{}),onClick:u,disabled:c||u==null,children:`Open App`}),(0,x.jsx)(n,{variant:`outlined`,leftIcon:a?(0,x.jsx)(v,{}):(0,x.jsx)(y,{}),onClick:d,disabled:d==null,children:a?`Unpin`:`Pin`})]})]})}function R({name:e,icon:t,loadHtml:n,isLoading:r=!1,isPreviewPending:i=!1,className:a}){let o=(0,b.useRef)(null),[c,l]=(0,b.useState)(null),[u,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{if(n==null)return;let e=o.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&(d(!0),t.disconnect())},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[n]),(0,b.useEffect)(()=>{if(!u||n==null)return;let e=!1;return n().then(t=>{e||l(t)}).catch(()=>{}),()=>{e=!0}},[u,n]),(0,x.jsxs)(`div`,{ref:o,className:g(`relative aspect-[16/10] w-full overflow-hidden rounded-lg`,`border border-[var(--border-base)] bg-[var(--surface-base)]`,a),children:[(0,x.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:i?null:t?(0,x.jsx)(`span`,{className:`text-4xl`,children:t}):(0,x.jsx)(s,{size:32,className:`text-[var(--content-tertiary)]`})}),c!=null&&(0,x.jsx)(`iframe`,{srcDoc:_(c),sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,title:`${e} preview`,"aria-hidden":`true`,tabIndex:-1,loading:`lazy`,scrolling:`no`,className:`absolute left-0 top-0 border-none bg-[var(--surface-base)]`,style:{width:`200%`,height:`200%`,transform:`scale(0.5)`,transformOrigin:`top left`,pointerEvents:`none`}}),r&&(0,x.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-[var(--surface-base)]/60 backdrop-blur-sm`,children:(0,x.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`})})]})}export{P as a,F as i,R as n,y as o,I as r,v as s,L as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{d as r}from"./routes-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{d as r}from"./routes-yNhBxUSb.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${r.settings.debug}?tab=archive`,{replace:!0})},[e]),null}export{a as ArchiveRedirectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./toast-
|
|
1
|
+
import{n as e}from"./toast-CHtrY-GO.js";import{n as t,t as n}from"./create-selectors-CmDroXTn.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-C1y2RUth.js";import{v as c}from"./sdk.gen-bruWelSm.js";var l={...o},u={...i},d=0,f={};function p(e={}){l={...o,...e};for(let e of Object.keys(f))delete f[e]}function m(e={}){u={...i,...e}}function h(){p(),m()}var g=a(`assistant`);function _(e){return l[e]??o[e]??!1}function v(e){return u[e]??i[e]??``}var y=n(t()(t=>{let n=t;return{...o,...g.bool,hasHydrated:!1,stringFlags:{...i,...g.str},setFlags:e=>t(t=>{p(e);let n={...e,...g.bool};return Object.keys(n).some(e=>n[e]!==t[e])?n:t}),setFlag:(n,i,a)=>{let o=++d,u=()=>{if(f[n]!==o)return;delete f[n];let a=_(n);t(e=>e[n]===i?{[n]:a}:e),e.error(`Couldn't update "${r(n)?.label??n}". Your change was reverted.`)},p=s(n);!a||!p||(f[n]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(l[n]=i,f[n]===o&&delete f[n]):u()}).catch(u),t({[n]:g.bool[n]??i}))},markHydrated:()=>t({hasHydrated:!0}),resetForAssistantSwitch:()=>{h(),t({...o,...g.bool,hasHydrated:!1}),n({stringFlags:{...i,...g.str}})},setStringFlags:e=>n(t=>{m(e);let n={...e,...g.str},r=t.stringFlags;return Object.keys(n).some(e=>n[e]!==r[e])?{stringFlags:n}:t}),setStringFlag:(t,i,a)=>{let o=++d,l=()=>{if(f[t]!==o)return;delete f[t];let a=v(t);n(e=>e.stringFlags[t]===i?{stringFlags:{...e.stringFlags,[t]:a}}:e),e.error(`Couldn't update "${r(t)?.label??t}". Your change was reverted.`)},p=s(t);!a||!p||(f[t]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(u[t]=i,f[t]===o&&delete f[t]):l()}).catch(l),n(e=>({stringFlags:{...e.stringFlags,[t]:g.str[t]??i}})))}}}));export{y as t};
|
package/dist/assets/{assistant-status-panel-uGuW1yZK.js → assistant-status-panel-BogBdYLj.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-VBsIaC5d.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-CTSuec5b.js";import{t as a}from"./jsx-runtime-BJ8jcmzB.js";import{t as o}from"./loader-circle-C9QjVTuc.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-VBsIaC5d.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-CTSuec5b.js";import{t as a}from"./jsx-runtime-BJ8jcmzB.js";import{t as o}from"./loader-circle-C9QjVTuc.js";import"./src-DMnnfLrU.js";import"./tag-D2QYCm1p.js";import{n as s}from"./toast-CHtrY-GO.js";import"./auth-store-iNnDaLgR.js";import{a as c,r as l}from"./api-ByKY0Cbt.js";import{t as u}from"./assistant-feature-flag-store-CdXRp9pV.js";import{t as d}from"./use-active-assistant-id-BFE4r9Rp.js";import"./environment-store-rZ0hkMHt.js";var f=e(r(),1),p=a();function m({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,p.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,p.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,p.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var h=7,g=2e3;function _(e){let t=(0,f.useRef)(0),n=(0,f.useRef)(null),[r,i]=(0,f.useState)(null),a=(0,f.useCallback)(()=>{if(t.current+=1,t.current>=h){t.current=0;let r=u.getState(),a=!r.settingsDeveloperNav;r.setFlag(`settingsDeveloperNav`,a,e),i(a?`Developer mode enabled`:`Developer mode disabled`),n.current!==null&&clearTimeout(n.current),n.current=setTimeout(()=>{i(null),n.current=null},g)}},[e]);return(0,f.useEffect)(()=>()=>{n.current!==null&&clearTimeout(n.current)},[]),{onTap:a,message:r}}function v({version:e,loading:t,assistantId:n}){let{onTap:r,message:i}=_(n);return t?(0,p.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:r,children:e}),i&&(0,p.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:i})]}):(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var y=`currentAssistant`,b=4e3,x=9e4;function S(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function C(){let e=d(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[y,e],queryFn:async()=>{let t=await l(e);return t.ok?t.data:null},retry:!1}),u=r?.id,[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),C=(0,f.useRef)(0),w=(0,f.useRef)(0),T=(0,f.useCallback)(async e=>{if(!u)return m(null),g(!1),null;C.current+=1;let r=C.current;g(!0);try{let t=await c(u);return r===C.current?t.ok?(m(t.data),t.data):(e?.keepStaleOnError||m(null),null):null}catch(i){return r===C.current?(e?.keepStaleOnError||m(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===C.current&&g(!1)}},[u]);return(0,f.useEffect)(()=>{T()},[T]),(0,f.useEffect)(()=>()=>{w.current+=1,v(!1),m(null)},[u]),{assistant:r,assistantLoading:a,healthz:p,healthzLoading:h,healthzPolling:_,refetch:(0,f.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,f.useCallback)(async e=>{let t=++w.current,n=Date.now()+x;v(!0);let r=e;try{for(o();Date.now()<n&&t===w.current;){if(await new Promise(e=>setTimeout(e,b)),t!==w.current)return;let e=await T({keepStaleOnError:!0});if(t!==w.current)return;if(e){if(r==null){r=e;continue}if(S(e,r))return}}}finally{t===w.current&&v(!1)}},[T,o])}}function w(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}export{m as a,_ as i,C as n,v as r,w as t};
|