@vellumai/web 0.12.0-dev.202609111724.a78dcda → 0.12.0-dev.202609111819.3dcbf21
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/{a2a-invite-DP_g_AcM.js → a2a-invite-B1TM1bCe.js} +1 -1
- package/dist/assets/{about-page-udNu3FXz.js → about-page-BuwaJW-s.js} +1 -1
- package/dist/assets/{account-page--5Tm7jQl.js → account-page-COntpqZS.js} +1 -1
- package/dist/assets/{account-shell-CsU22xMC.js → account-shell-Bb4i1hLJ.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-B6HbGukQ.js → acp-run-detail-panel-DVWbxXdR.js} +1 -1
- package/dist/assets/activation-Ckc07hGM.js +1 -0
- package/dist/assets/activation-lGUjCvXn.js +1 -0
- package/dist/assets/{activation-list-route-D8odVKBq.js → activation-list-route-Cy4cJpzM.js} +1 -1
- package/dist/assets/activation-tasks-Byy7LAtJ.js +1 -0
- package/dist/assets/activation-tasks-DuI0OvEq.js +1 -0
- package/dist/assets/{activity-redirect-page-loob8Z92.js → activity-redirect-page-B3t-ORmq.js} +1 -1
- package/dist/assets/{activity-steps-panel-Ctcf3Szq.js → activity-steps-panel-C2T3ethe.js} +1 -1
- package/dist/assets/{add-credits-modal-Cb--6uK8.js → add-credits-modal-DtyG_azx.js} +1 -1
- package/dist/assets/{ai-page-CJllvbSV.js → ai-page-Blhcs4jF.js} +1 -1
- package/dist/assets/{android-billing-handoff-DKjMf3JW.js → android-billing-handoff-HF9Svz1a.js} +1 -1
- package/dist/assets/{api-key-screen-Bx2C9leM.js → api-key-screen-BpcMiBSR.js} +1 -1
- package/dist/assets/{app-info-Qll2Bjji.js → app-info-BbCvvipM.js} +1 -1
- package/dist/assets/archive-redirect-page-Ceht6zQ4.js +1 -0
- package/dist/assets/{assistant-status-panel-Cp5kjYGq.js → assistant-status-panel-B1_oLYb3.js} +1 -1
- package/dist/assets/{auth-welcome-screen-9Q4FMrAq.js → auth-welcome-screen-D1oXENpF.js} +1 -1
- package/dist/assets/{avatar-random-8Kp8Nqc1.js → avatar-random-O2MS8mkz.js} +2 -2
- package/dist/assets/{await-org-header-settled-z5jHxGxi.js → await-org-header-settled-BaAPkcNY.js} +1 -1
- package/dist/assets/{background-task-detail-panel-D3KHA1BC.js → background-task-detail-panel-CdlE7jGD.js} +1 -1
- package/dist/assets/{billing-page-TgzXTfGr.js → billing-page-CGQR61l5.js} +3 -3
- package/dist/assets/{billing-redirect-page-Dis_ysv4.js → billing-redirect-page-DTsQav18.js} +1 -1
- package/dist/assets/{bookmarks-page-Ld67F6tS.js → bookmarks-page-Coo-o6tN.js} +1 -1
- package/dist/assets/{bundle-confirm-page-DEzGhKAp.js → bundle-confirm-page-bHHwLMqs.js} +1 -1
- package/dist/assets/{channel-transcript-panel-DQGJoY4V.js → channel-transcript-panel-T9LGnxtx.js} +1 -1
- package/dist/assets/{channels-page-route-DDpTZ0sk.js → channels-page-route-be5AxEBS.js} +1 -1
- package/dist/assets/{chat-efFvZ0DL.js → chat-DClgR3ch.js} +2 -2
- package/dist/assets/{chat-X7mUO9_x.js → chat-DySgrdNv.js} +2 -2
- package/dist/assets/{chat-info-panel-qxFTO9bs.js → chat-info-panel-D0hdaY9y.js} +1 -1
- package/dist/assets/{checkout-continuation-Czqo9cv_.js → checkout-continuation-CasqofaZ.js} +1 -1
- package/dist/assets/{checkout-page-DPRsrrnT.js → checkout-page-CJQCyy4V.js} +1 -1
- package/dist/assets/checkout-return-target-DI8P9jJo.js +1 -0
- package/dist/assets/{command-palette-ChTwP3HM.js → command-palette-CTTOCYEh.js} +1 -1
- package/dist/assets/{command-palette-window-page-D5oU_cAl.js → command-palette-window-page-Ddyoo8lT.js} +1 -1
- package/dist/assets/{community-page-C2Z9w0kr.js → community-page-BXwMupbZ.js} +1 -1
- package/dist/assets/{companion-accent-uCkWMXEt.js → companion-accent-BwWgOv7U.js} +1 -1
- package/dist/assets/{companion-layout-CwvFzZrj.js → companion-layout-CocOY9k0.js} +1 -1
- package/dist/assets/{companion-surface-page-CVF0yRiM.js → companion-surface-page-DC64P76K.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-B0QW7vng.js → companion-watch-frame-page-C8pt70Ax.js} +1 -1
- package/dist/assets/{connect-page-exbWkgam.js → connect-page-D4JlQKYu.js} +1 -1
- package/dist/assets/{consent-controls-BQu7iq5e.js → consent-controls-BlYAuLbg.js} +1 -1
- package/dist/assets/{contacts-gateway-5_gPpXAz.js → contacts-gateway-BZ5dqaxm.js} +1 -1
- package/dist/assets/{contacts-page-route-C78XjeBX.js → contacts-page-route-Dwa1SNKh.js} +1 -1
- package/dist/assets/{credential-entry-page-9--fxhHR.js → credential-entry-page-B4ILsvEv.js} +1 -1
- package/dist/assets/{credentials-page-WIsWULpM.js → credentials-page-DK3pDeqd.js} +1 -1
- package/dist/assets/{csv-preview-Cd3HCzYw.js → csv-preview-B386P-zj.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-Dchd67zh.js +1 -0
- package/dist/assets/{debug-page-BUfF3N0S.js → debug-page-BIxAiGp9.js} +1 -1
- package/dist/assets/{deploy-dialogs-BP-kbL8H.js → deploy-dialogs-CCPmFOvq.js} +1 -1
- package/dist/assets/{detail-card-KqTFI_aO.js → detail-card-Eweuo5tS.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-DRm2XwFn.js → detail-panel-stop-button-CdK_e0So.js} +1 -1
- package/dist/assets/{detail-primitives-DyjdUu5Z.js → detail-primitives-BxS40gwc.js} +1 -1
- package/dist/assets/{developer-page-CBQTiBEj.js → developer-page-CzRFQCEL.js} +1 -1
- package/dist/assets/devices-redirect-page-CSlZDDyJ.js +1 -0
- package/dist/assets/{dictation-overlay-page-CtQNkVUY.js → dictation-overlay-page-Cd1nBzzb.js} +1 -1
- package/dist/assets/{document-viewer-page-D24Ff8ow.js → document-viewer-page-C_zklMel.js} +1 -1
- package/dist/assets/{emails-page-CLWBqFOS.js → emails-page-zTHs9CZS.js} +1 -1
- package/dist/assets/{environment-store-Da2oTF1h.js → environment-store-BvHAssAh.js} +1 -1
- package/dist/assets/{file-diff-view-Oc2pQSof.js → file-diff-view-eeBmav_-.js} +1 -1
- package/dist/assets/{file-editor-6a20KxRi.js → file-editor-r5efUadh.js} +1 -1
- package/dist/assets/{general-page-CCTue9MU.js → general-page-Dc9VXRfA.js} +1 -1
- package/dist/assets/{hatching-screen-BZMAm80J.js → hatching-screen-B0LlaOTI.js} +1 -1
- package/dist/assets/{hosting-screen-BcSLTC-q.js → hosting-screen-gnnq8JsF.js} +1 -1
- package/dist/assets/{identity-page-route-C7DKOGvp.js → identity-page-route-YVcu3hoE.js} +1 -1
- package/dist/assets/{index-DA0GBGXJ.js → index-BGc71lz7.js} +10 -10
- package/dist/assets/{inspect-page-CZJsiLEe.js → inspect-page-C-46GP55.js} +3 -3
- package/dist/assets/{integrations-page-B3dMqw8M.js → integrations-page-B-XPVmaT.js} +1 -1
- package/dist/assets/{intelligence-layout-RhyTxMSe.js → intelligence-layout-DbWlafD2.js} +1 -1
- package/dist/assets/intelligence-layout-slots-store-BEOZeNOk.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-XQfGq-aG.js +1 -0
- package/dist/assets/{latest-assistant-text-CiZ2aiBH.js → latest-assistant-text-28_-13vC.js} +1 -1
- package/dist/assets/{library-detail-page-_Q0hBYE_.js → library-detail-page-DHOztt36.js} +1 -1
- package/dist/assets/{library-page-Dr1BhFXm.js → library-page-BbRkHb4Q.js} +1 -1
- package/dist/assets/{login-page-CuBtuBOw.js → login-page-BbrLhUPN.js} +1 -1
- package/dist/assets/{logout-page-C5KjPVFy.js → logout-page-C8YsxQVr.js} +1 -1
- package/dist/assets/{logs-layout-CsW3faxO.js → logs-layout-wBztKOYt.js} +1 -1
- package/dist/assets/{markdown-preview-0Ch4z4pz.js → markdown-preview-C4OQT-kf.js} +1 -1
- package/dist/assets/{media-preview-AnqFAH9t.js → media-preview-C3YHOZec.js} +1 -1
- package/dist/assets/{memory-page-route-VwP679Jm.js → memory-page-route-BMfR6AkJ.js} +1 -1
- package/dist/assets/{memory-router-playground-page-CD7hF0hP.js → memory-router-playground-page-BjY6R5nq.js} +1 -1
- package/dist/assets/{message-files-panel-DPDdn0By.js → message-files-panel-BJX8nH8c.js} +1 -1
- package/dist/assets/{metric-card-Cdu_e5nI.js → metric-card-oVwydQvD.js} +1 -1
- package/dist/assets/{notifications-page-PHDLqDBN.js → notifications-page-B6WbxBpc.js} +1 -1
- package/dist/assets/{oauth-complete-page-DJdZLOdY.js → oauth-complete-page-BF6caqFq.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-B7XQ-5vJ.js → oauth-popup-complete-page-DStImm8d.js} +1 -1
- package/dist/assets/{onboarding-B148eClt.js → onboarding-DWgPOz2r.js} +1 -1
- package/dist/assets/{onboarding-kwhcCPBT.js → onboarding-MeAaJoiW.js} +1 -1
- package/dist/assets/{pairing-page-CBkofvmg.js → pairing-page-Cv1SPZ6q.js} +1 -1
- package/dist/assets/password-reset-page-Bx4i58cv.js +1 -0
- package/dist/assets/{pdf-file-preview-DaoJx_fr.js → pdf-file-preview-B-D2Hb67.js} +1 -1
- package/dist/assets/{personality-page-CnBgQ_Ti.js → personality-page-Pk21z6qw.js} +1 -1
- package/dist/assets/{personality-page-DXA4PnZD.js → personality-page-nBWpzwmd.js} +1 -1
- package/dist/assets/{personality-sliders-N4SuXULx.js → personality-sliders-BVThWm_r.js} +1 -1
- package/dist/assets/{plans-page-Cj5GzxUq.js → plans-page-DjgMJFKs.js} +1 -1
- package/dist/assets/{platform-loopback-page-B59rEovu.js → platform-loopback-page-Ch8FHpH3.js} +1 -1
- package/dist/assets/{plugin-detail-page-BNu8lvKs.js → plugin-detail-page-BziDav6Y.js} +1 -1
- package/dist/assets/{plugins-page-Dgzyns7w.js → plugins-page-9G4uVySk.js} +1 -1
- package/dist/assets/plugins-surface-Cf8ruv38.js +1 -0
- package/dist/assets/{preview-error-BzQPJj0w.js → preview-error-DtZ0mjgO.js} +1 -1
- package/dist/assets/{privacy-page-Dj3ILD9r.js → privacy-page-BoF-wtyG.js} +1 -1
- package/dist/assets/{privacy-screen-ByqqsGU_.js → privacy-screen-BTCARBNX.js} +1 -1
- package/dist/assets/{provider-callback-page-B6H1Rvf7.js → provider-callback-page-CL5mEpY-.js} +1 -1
- package/dist/assets/{provider-key-BKQpSk7P.js → provider-key-nLHA-vrA.js} +1 -1
- package/dist/assets/{provider-signup-page-CP-FctDo.js → provider-signup-page-CMd__W3N.js} +1 -1
- package/dist/assets/{quick-input-page-CcsJzXFa.js → quick-input-page-XWEwDtv5.js} +1 -1
- package/dist/assets/{research-mock-page-BkF9RGen.js → research-mock-page-DIhOAxCF.js} +1 -1
- package/dist/assets/{research-onboarding-route-rPOozDNc.js → research-onboarding-route-Dd0-0CyM.js} +1 -1
- package/dist/assets/{review-terms-screen-B9Bx_3aC.js → review-terms-screen-CF1aaQI1.js} +1 -1
- package/dist/assets/{schedules-BKEvcn5Y.js → schedules-C6o11_7j.js} +1 -1
- package/dist/assets/{schedules-page-DP117KwE.js → schedules-page-CyGYePYz.js} +1 -1
- package/dist/assets/security-redirect-page-BLNu1Rsa.js +1 -0
- package/dist/assets/{select-assistant-screen-BeiTStgG.js → select-assistant-screen-DgYHoLTl.js} +1 -1
- package/dist/assets/{self-hosted-servers-BGmx-jtk.js → self-hosted-servers-DEAKDkLi.js} +1 -1
- package/dist/assets/{service-form-controls-CSRaq9bh.js → service-form-controls-DktsnkKk.js} +1 -1
- package/dist/assets/{setting-row-CymQ5trC.js → setting-row-uWULksXj.js} +1 -1
- package/dist/assets/{settings-62XDVp9M.js → settings-DAZx3UMV.js} +1 -1
- package/dist/assets/{settings-D-ZBeAh8.js → settings-UQFKpPlZ.js} +1 -1
- package/dist/assets/{settings-divider-CAUYVvDn.js → settings-divider-BKCX5X7_.js} +1 -1
- package/dist/assets/{settings-layout-BrLaFbHi.js → settings-layout-BfoGETLu.js} +1 -1
- package/dist/assets/{share-feedback-modal-D07btX6t.js → share-feedback-modal-CR7uFcXo.js} +1 -1
- package/dist/assets/{sidebar-tree-BHSckrNt.js → sidebar-tree-Dpyg9Gd-.js} +1 -1
- package/dist/assets/{signup-page-CF9kuXtf.js → signup-page-wIkWcZ9S.js} +1 -1
- package/dist/assets/{signup-shell-DnGBpItW.js → signup-shell-ov7b3EFc.js} +1 -1
- package/dist/assets/{skill-detail-page-OHUI1VDL.js → skill-detail-page-AcYYwc6Y.js} +1 -1
- package/dist/assets/{skill-detail-panel-DjOI7a3J.js → skill-detail-panel-DFSVR47k.js} +1 -1
- package/dist/assets/{skill-removal-dialog-B1Ifr9Qf.js → skill-removal-dialog-DqVA6ZY3.js} +1 -1
- package/dist/assets/{skills-page-Di07w0sz.js → skills-page-BVvT6S7g.js} +1 -1
- package/dist/assets/{sounds-page-DPrfZ8Cd.js → sounds-page-D_jusJc1.js} +1 -1
- package/dist/assets/{start-screen-Co0El9QJ.js → start-screen-CNkVAAtG.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-BlX9Ngse.js → stt-language-picker-modal-DtomTRfu.js} +1 -1
- package/dist/assets/{subagent-detail-panel-ChjDemxQ.js → subagent-detail-panel-BnDNicsB.js} +1 -1
- package/dist/assets/{superpowers-page-DSUlxdn9.js → superpowers-page-B1qs7ru9.js} +1 -1
- package/dist/assets/{system-events-page-BCU1KqJM.js → system-events-page-BHiTE8u6.js} +1 -1
- package/dist/assets/system-events-redirect-page-ncrdquaI.js +1 -0
- package/dist/assets/{text-preview-CuNjVggK.js → text-preview-YMvQVK9x.js} +1 -1
- package/dist/assets/{theme-stage-page-DzDdh-x5.js → theme-stage-page-Cd4ojVlR.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CBx260ZF.js → tiptap-document-editor-BGMDrrIo.js} +1 -1
- package/dist/assets/{tool-detail-panel-CNi__9cn.js → tool-detail-panel-AZsQ-NK7.js} +1 -1
- package/dist/assets/{trait-cycle-row-C4sWC22V.js → trait-cycle-row-TTQUYBE4.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-C_PtNj2O.js → upgrade-cancel-page-NexIIHWA.js} +1 -1
- package/dist/assets/{upgrade-success-page-BSQB9_Cm.js → upgrade-success-page-C6pFzQP7.js} +1 -1
- package/dist/assets/{usage-redirect-page-CjPFduG4.js → usage-redirect-page-DNHDVCSi.js} +1 -1
- package/dist/assets/{use-app-delete-CkS5JHqY.js → use-app-delete-yjoWefi2.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-Wn7L87Qi.js → use-assistant-identity-details-CB3HbXtP.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-BLqdQJ6t.js → use-checkout-dismiss-refresh-vaMDDxbF.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-cqgtKC7U.js → use-edge-swipe-back-VtlKpCI9.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-D2r7fJ8G.js → use-hotkey-recorder-Dtp0Q3Pl.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-Cji1m5nT.js → use-invite-link-dialog-CYXgHF94.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-CIhRO2t6.js → use-platform-assistant-id-uGT6QKV1.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-BiPB34GV.js → use-return-to-short-circuit-DSf4X06z.js} +1 -1
- package/dist/assets/{use-side-list-room-DkZxNs0h.js → use-side-list-room-uFC4K56E.js} +1 -1
- package/dist/assets/{use-skill-actions-DdWetx8c.js → use-skill-actions-BikZh5hd.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BIz84eHS.js → use-skill-detail-files-BU9E_tqV.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-B0hFNSuE.js +1 -0
- package/dist/assets/use-transcript-message-by-id-B1o6T9cm.js +1 -0
- package/dist/assets/{voice-page-CiZxWg44.js → voice-page-CswRtKVb.js} +1 -1
- package/dist/assets/{wake-detail-panel-pJssTIGS.js → wake-detail-panel-BFw4dQtG.js} +1 -1
- package/dist/assets/{weather-forecast-display-CM95Xppv.js → weather-forecast-display-BQ5gzjZn.js} +1 -1
- package/dist/assets/{welcome-screen-tl7YCRo9.js → welcome-screen-jVv9dhX0.js} +1 -1
- package/dist/assets/{workflow-detail-panel-osVXzNYK.js → workflow-detail-panel-ByPhHsB6.js} +1 -1
- package/dist/assets/{workspace-page-C1-M8gUL.js → workspace-page-BCI125Zv.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/activation-DNTHICWu.js +0 -1
- package/dist/assets/activation-LB7FclIH.js +0 -1
- package/dist/assets/activation-tasks-B4YTC7sk.js +0 -1
- package/dist/assets/activation-tasks-DEC1jM2E.js +0 -1
- package/dist/assets/archive-redirect-page-BLDVxCoz.js +0 -1
- package/dist/assets/checkout-return-target-UpUQrOya.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BI9sVp_S.js +0 -1
- package/dist/assets/devices-redirect-page-BTaqT1YT.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-BWpVsdSd.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-B1-jjDXg.js +0 -1
- package/dist/assets/password-reset-page-lV4eaZuP.js +0 -1
- package/dist/assets/plugins-surface-CesNLzwK.js +0 -1
- package/dist/assets/security-redirect-page-BEV17bTy.js +0 -1
- package/dist/assets/system-events-redirect-page-BY49O_Mi.js +0 -1
- package/dist/assets/use-supports-credentials-settings-BCljiCHR.js +0 -1
- package/dist/assets/use-transcript-message-by-id-zYuNL1yM.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{N as t,Qn as n,Zn as r,er as i,j as a}from"./vendor-yoekmcrB.js";import{_ as o,f as s,t as c,x as l}from"./react-BJ4PZBJN.js";import{Gi as u,Gn as d,It as f,Ki as p,Q as m,Ui as h,Un as g,Xt as _,Yr as v,Zr as y,_t as b,ht as x,i as S,k as C,ki as w,kt as T,qa as E,qn as D,si as O}from"./icons-BjnVKAw1.js";import{$ as k,By as A,Fc as j,Fg as M,Fs as N,Gy as P,Ic as F,If as I,Im as L,Ir as R,Is as z,Iy as B,Jd as V,Jy as H,Kd as ee,Ky as U,Lc as W,Lf as te,Lg as ne,Ml as re,Or as G,Rf as ie,Ry as K,Si as ae,Ty as oe,Ui as se,Uu as ce,Xd as le,Xy as ue,Yd as de,Yv as fe,Zd as pe,Zy as q,ab as me,fb as J,gy as he,ib as ge,ip as _e,lb as ve,nb as Y,on as ye,op as be,py as xe,qd as Se,qy as X,ry as Ce,ub as Z,uy as we,zf as Te}from"./index-DA0GBGXJ.js";import{t as Ee}from"./use-platform-assistant-id-CIhRO2t6.js";var De=E(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Oe=E(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),ke={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ae(e){return Object.entries(ke).some(([t,n])=>t===e&&n!==e)}var Q=e(l(),1),$=c();function je({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,oauthInProgress:o,onCancelConnect:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let{t:p}=a(`settings`);return i?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?o?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,onClick:s,children:p(`managedOauthTab.cancel`)})]})]}):(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`managedOauthTab.connectToContinue`)}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,$.jsx)(J,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(f,{}),onClick:()=>l(),disabled:o,children:p(`managedOauthTab.connectAccount`)}),d.map(e=>(0,$.jsx)(J,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Oe,{}),onClick:()=>l(e.scopes),disabled:o,children:e.label},e.id))]})]}):(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id,a=r.account_label??p(`managedOauthTab.accountFallback`,{name:e});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,$.jsx)(J,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(C,{}),onClick:()=>u(r),disabled:i,"aria-label":p(`managedOauthTab.disconnectAriaLabel`,{account:a})})]},r.id)})}),(0,$.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:o?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,onClick:s,children:p(`managedOauthTab.cancel`)})]}):(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(J,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(v,{}),onClick:()=>l(),disabled:o,children:p(`managedOauthTab.connectAccountLower`)}),d.map(e=>(0,$.jsx)(J,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Oe,{}),onClick:()=>l(e.scopes),disabled:o,children:e.label},e.id))]})})]})}function Me(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ne(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Pe({assistantId:e,providerKey:t,displayName:o,logoUrl:s}){let{t:c}=a(`settings`),l=i(),u=r({...V({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),d=r({...le({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),m=u.data??[],h=d.data??null,g=n({queries:m.map(t=>({...ee({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),_={};m.forEach((e,t)=>{_[e.id]=g[t]?.data??[]});let y=de({path:{assistant_id:e},query:{provider_key:t}}),b=ie({onSuccess:()=>{l.invalidateQueries({queryKey:y}),A(``),M(``),E(!1),U.success(c(`yourOwnOauthTab.appAddedToast`,{name:o}))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),x=te({onSuccess:()=>{l.invalidateQueries({queryKey:y}),U.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),S=I({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),w=Te(),[T,E]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(``),[N,F]=(0,Q.useState)(!1),[L,R]=(0,Q.useState)(null),[z,B]=(0,Q.useState)(null),H=b.isPending,W=x.isPending?x.variables?.path?.id??null:null,re=S.isPending?S.variables?.path?.appId??null:null,K=w.isPending?w.variables?.path?.id??null:null,ae=()=>{let n=k.trim(),r=j.trim();!n||!r||b.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},oe=()=>{let t=L;R(null),t&&x.mutate({path:{assistant_id:e,id:t.id}})},se=t=>{S.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[m.length===0||T?(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:m.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:o}):c(`yourOwnOauthTab.addAnotherApp`,{name:o})}),(0,$.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),h?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{type:`text`,value:h,readOnly:!0,fullWidth:!0}),(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{ne(h,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{F(!0),setTimeout(()=>F(!1),2e3)}})},"aria-label":c(N?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:N?(0,$.jsx)(p,{"aria-hidden":!0}):(0,$.jsx)(O,{"aria-hidden":!0})})]}),(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,$.jsx)(Y,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,$.jsx)(Y,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[m.length>0?(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{E(!1),A(``),M(``)},disabled:H,children:c(`yourOwnOauthTab.cancel`)}):null,(0,$.jsx)(J,{type:`button`,size:`compact`,onClick:ae,disabled:H||!k.trim()||!j.trim(),leftIcon:H?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(f,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,m.map(e=>{let n=_[e.id]??[],r=W===e.id,i=re===e.id;return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,$.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:Me(e.client_id)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:Ne(e.created_at)})})]}),(0,$.jsx)(J,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>R(e),disabled:r,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:Me(e.client_id)}),iconOnly:r?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(C,{"aria-hidden":!0})})]}),n.length>0?(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:n.map(n=>{let r=K===n.id,i=n.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,$.jsx)(G,{providerKey:t,displayName:o,logoUrl:s,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:i}),(0,$.jsx)(J,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>B({appId:e.id,connection:n}),disabled:r,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:i}),iconOnly:r?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(C,{"aria-hidden":!0})})]},n.id)})}):null,(0,$.jsx)(J,{type:`button`,size:`compact`,onClick:()=>se(e),disabled:i,className:`w-full`,leftIcon:i?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(v,{"aria-hidden":!0}),children:c(i?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),m.length>0&&!T?(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,$.jsx)(f,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,$.jsx)(P,{open:L!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:L?c(`yourOwnOauthTab.deleteAppMessage`,{id:Me(L.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:oe,onCancel:()=>R(null)}),(0,$.jsx)(P,{open:z!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:o}),message:z?c(`yourOwnOauthTab.disconnectMessage`,{account:z.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=z;B(null),t&&w.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=Se({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:n}),l.invalidateQueries({queryKey:y}),U.success(c(`yourOwnOauthTab.disconnectedToast`,{name:o}))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>B(null)})]})}var Fe={};function Ie(e){return Fe[e]??[]}function Le({assistantId:e,platformAssistantId:t,providerKey:n,displayName:o,description:s,logoUrl:c,platformGate:l,onClose:u}){let{t:d}=a(`settings`),f=i(),p=l===`full`,m=!_e(),[h,g]=(0,Q.useState)(l===`gated`&&m?`your-own`:`managed`),_=(0,Q.useMemo)(()=>[{value:`managed`,label:d(`integrationDetailModal.managedTab`)},{value:`your-own`,label:d(`integrationDetailModal.yourOwnTab`)}],[d]);(0,Q.useEffect)(()=>{!m&&h===`your-own`&&g(`managed`)},[m,h]);let[v,y]=(0,Q.useState)(null),[b,x]=(0,Q.useState)(null),C=F({path:{assistant_id:t}}),{data:w,isLoading:T}=r({...j({path:{assistant_id:t}}),enabled:p}),E=(w??[]).filter(e=>e.provider===n&&e.connected),D=R({assistantId:e,providerKey:n,providerLabel:o}),O=e=>{p&&D.connect(e)},k=D.status;(0,Q.useEffect)(()=>{k===`connected`&&U.success(d(`useOauthConnect.accountConnected`,{name:o,ns:`common`}))},[k,o,d]);let A=D.dismiss;(0,Q.useEffect)(()=>A,[A]);let M=D.errorMessage;(0,Q.useEffect)(()=>{M&&U.error(M)},[M]);let N={path:{assistant_id:t}},I=re({onSuccess(e,t){U.success(d(`integrationDetailModal.disconnectedToast`,{name:o}));let n=t.path.connection_id;W(f,N,e=>e?.filter(e=>e.id!==n)),f.invalidateQueries({queryKey:C}),y(null)},onError(e){let t=we(e,void 0,d(`integrationDetailModal.disconnectFailedToast`,{name:o}));U.error(t),y(null)}});se(),(0,Q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),u())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[u]);let L=e=>{x(e)},z=()=>{let e=b;x(null),e&&(y(e.id),I.mutate({path:{assistant_id:t,connection_id:e.id}}))},B=b?.account_label??d(`integrationDetailModal.accountFallback`,{name:o}),V=s?d(`integrationDetailModal.subtitleWithDescription`,{name:o,description:s}):d(`integrationDetailModal.subtitle`,{name:o});return(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(G,{providerKey:n,displayName:o,logoUrl:c,size:32}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:d(`integrationDetailModal.title`,{name:o})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:V})]})]}),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(S,{}),"aria-label":d(`integrationDetailModal.close`),onClick:u})]}),(0,$.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[l!==`gated`&&m&&(0,$.jsx)(ue,{ariaLabel:d(`integrationDetailModal.oauthModeAriaLabel`),items:_,value:h,onChange:g}),h===`managed`&&l!==`gated`?l===`disabled`?(0,$.jsx)(ye,{children:d(`integrationDetailModal.loginNotice`)}):(0,$.jsx)(je,{displayName:o,providerKey:n,logoUrl:c,connections:E,connectionsLoading:T,oauthInProgress:D.status===`attempting`,onCancelConnect:D.dismiss,disconnectingId:I.isPending?v:null,onConnect:O,onDisconnect:L,connectPresets:Ie(n)}):m?(0,$.jsx)(Pe,{assistantId:e,providerKey:n,displayName:o,logoUrl:c}):null]}),(0,$.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,$.jsx)(J,{variant:`outlined`,size:`compact`,onClick:u,children:d(`integrationDetailModal.confirm`)})})]}),(0,$.jsx)(P,{open:b!==null,title:d(`integrationDetailModal.disconnectTitle`,{name:o}),message:b?d(`integrationDetailModal.disconnectMessage`,{account:B}):``,confirmLabel:d(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:z,onCancel:()=>x(null)})]})}function Re({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:o,connection:s,platformGate:c,onConfigure:l}){let{t:u}=a(`settings`),d=i(),f=!!s?.connected,[p,m]=(0,Q.useState)(!1),[h,g]=(0,Q.useState)(!1),_=F({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=re({onSuccess(e,t){U.success(u(`integrationRow.disconnectedToast`,{name:n}));let r=t.path.connection_id;W(d,v,e=>e?.filter(e=>e.id!==r)),d.invalidateQueries({queryKey:_})},onError(e){let t=we(e,void 0,u(`integrationRow.disconnectFailedToast`,{name:n}));U.error(t)}}),b=()=>{s?.id&&g(!0)};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,$.jsx)(G,{providerKey:t,displayName:n,logoUrl:o,size:32}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,$.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),f&&c===`full`?(0,$.jsx)(`div`,{className:`shrink-0`,children:(0,$.jsx)(ze,{displayName:n,open:p,onOpenChange:m,onEditConnections:()=>{m(!1),l()},onDisable:()=>{m(!1),b()},disablePending:y.isPending})}):(0,$.jsx)(J,{variant:`primary`,onClick:l,className:`shrink-0`,children:u(`integrationRow.enable`)})]})}),(0,$.jsx)(P,{open:h,title:u(`integrationRow.disconnectTitle`,{name:n}),message:u(`integrationRow.disconnectMessage`,{name:n}),confirmLabel:u(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{g(!1),s?.id&&y.mutate({path:{assistant_id:e,connection_id:s.id}})},onCancel:()=>g(!1)})]})}function ze({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:o}){let{t:s}=a(`settings`);return ae()?(0,$.jsxs)(X.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(X.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,rightIcon:(0,$.jsx)(u,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(X.Header,{children:(0,$.jsx)(X.Title,{children:e})}),(0,$.jsxs)(X.Body,{children:[(0,$.jsx)(A,{icon:_,label:s(`integrationRow.editConnections`),onSelect:r}),(0,$.jsx)(A,{icon:o?D:w,label:s(`integrationRow.disable`),onSelect:()=>{o||i()}})]})]})]}):(0,$.jsxs)(ge.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(ge.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,rightIcon:(0,$.jsx)(u,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(ge.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,$.jsx)(J,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,$.jsx)(_,{"aria-hidden":!0}),children:s(`integrationRow.editConnections`)}),(0,$.jsx)(J,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:o,className:`w-full justify-start rounded-none`,leftIcon:o?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(w,{"aria-hidden":!0}),children:s(`integrationRow.disable`)})]})]})}var Be=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Ve=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function He(e){return Be.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ue(e){return Ve.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function We({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=a(`settings`),o=(0,Q.useMemo)(()=>He(i),[i]),s=(0,Q.useMemo)(()=>Ue(i),[i]),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(`sse`),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(`none`),[b,x]=(0,Q.useState)(``),[S,C]=(0,Q.useState)(`X-API-Key`),[w,T]=(0,Q.useState)(``),E=(0,Q.useCallback)(()=>{l(``),d(`sse`),p(``),h(``),_(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Q.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Q.useCallback)(()=>{let e=c.trim();if(!e)return;let t={name:e,transportType:u};if(u===`stdio`){let e=m.trim();if(!e)return;t.command=e;let n=g.trim();n&&(t.args=n.split(/\s+/))}else{let e=f.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[c,u,f,m,g,v,b,S,w,n]),k=u===`stdio`,A=c.trim()&&(k?m.trim():f.trim());return(0,$.jsx)(H.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,$.jsxs)(H.Content,{size:`md`,children:[(0,$.jsxs)(H.Header,{icon:De,children:[(0,$.jsx)(H.Title,{children:i(`mcpAddServerModal.title`)}),(0,$.jsx)(H.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,$.jsx)(H.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,$.jsx)(Y,{id:`mcp-name`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,$.jsx)(`select`,{id:`mcp-transport`,value:u,onChange:e=>d(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:s.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,$.jsx)(Y,{id:`mcp-command`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,$.jsx)(Y,{id:`mcp-args`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,$.jsx)(Y,{id:`mcp-url`,type:`url`,value:f,onChange:e=>p(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,$.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,$.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,$.jsx)(Y,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,$.jsx)(Y,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,$.jsx)(Y,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,$.jsxs)(H.Footer,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,$.jsx)(J,{variant:`primary`,onClick:O,disabled:!A||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function Ge(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function Ke(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function qe(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function Je(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function Ye(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function Xe(e,t){let{data:n,response:r}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function Ze(e,t){let{data:n,response:r}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function Qe(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function $e(e){let{response:t}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}function et({variant:e,icon:t,label:n,onClick:r,disabled:i}){return z()?(0,$.jsx)(J,{variant:e,iconOnly:t,onClick:r,disabled:i,tooltip:n,"aria-label":n}):(0,$.jsx)(J,{variant:e,leftIcon:t,onClick:r,disabled:i,children:n})}var tt={connected:`positive`,"needs-auth":`negative`},nt=`negative`;function rt(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);default:return t(`mcpServerCard.statusError`)}}function it({server:e,toolsSummary:t,onRemove:n,onConfigure:r,onAuthenticate:i,onRevokeOAuth:o,isAuthenticating:s,isRevoking:c}){let{t:l}=a(`settings`),[f,p]=(0,Q.useState)(!1),m=tt[e.status]??nt,_=e.hasOAuth,v=_&&e.status!==`needs-auth`,b=e.status===`needs-auth`&&e.transport.type!==`stdio`,S=(0,Q.useCallback)(()=>n(e.id),[n,e.id]),w=(0,Q.useCallback)(()=>r(e.id),[r,e.id]),T=(0,Q.useCallback)(()=>i(e.id),[i,e.id]),E=(0,Q.useCallback)(()=>o(e.id),[o,e.id]),O=(0,Q.useCallback)(()=>p(e=>!e),[]);return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:e.id}),(0,$.jsx)(me,{tone:m,children:rt(e.status,l)}),v?(0,$.jsx)(me,{tone:`positive`,children:l(`mcpServerCard.authenticatedBadge`)}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e.transport.type}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:l(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:l(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[b?(0,$.jsx)(et,{variant:`primary`,icon:s?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(d,{}),label:l(s?`mcpServerCard.authenticating`:_?`mcpServerCard.reAuth`:`mcpServerCard.authenticate`),onClick:T,disabled:s}):null,_?(0,$.jsx)(J,{variant:`dangerOutline`,iconOnly:c?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(g,{}),onClick:E,disabled:c,tooltip:l(`mcpServerCard.revokeOAuthTooltip`),"aria-label":l(`mcpServerCard.revoke`)}):null,(0,$.jsxs)(K.Root,{children:[(0,$.jsx)(K.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,iconOnly:(0,$.jsx)(y,{}),"aria-label":l(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,$.jsxs)(K.Content,{title:l(`mcpServerCard.moreActions`,{serverId:e.id}),showTitle:!0,closeLabel:l(`mcpServerCard.actionsSheetClose`),align:`end`,children:[(0,$.jsx)(K.Item,{icon:x,label:l(`mcpServerCard.configure`),onSelect:w}),(0,$.jsx)(K.Item,{icon:C,label:l(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:S})]})]})]})]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:O,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[f?(0,$.jsx)(u,{className:`h-3.5 w-3.5`}):(0,$.jsx)(h,{className:`h-3.5 w-3.5`}),l(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),f?(0,$.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,$.jsx)(oe,{title:e.name,subtitle:e.description||void 0,trailing:(0,$.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:l(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var at=[`none`,`bearer`,`api-key`];function ot(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function st({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:i}){let{t:o}=a(`settings`),[s,c]=(0,Q.useState)(`none`),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(`X-API-Key`),[p,m]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{e&&(c(e.authType),u(``),f(e.authHeaderName??`X-API-Key`),m(``))},[e]);let h=(0,Q.useCallback)(()=>{if(!e)return;let t=s!==e.authType,n=s===`bearer`&&l.trim()!==``,i=s===`api-key`&&d.trim()!==``&&p.trim()!==``,a=t||n||i,o;o=a?s===`none`?null:s===`bearer`&&l.trim()?{Authorization:`Bearer ${l.trim()}`}:s===`api-key`&&d.trim()&&p.trim()?{[d.trim()]:p.trim()}:void 0:void 0,r(e.id,{name:e.id,...o===void 0?{}:{headers:o}})},[e,s,l,d,p,r]),g=(0,Q.useCallback)(()=>{i||n()},[i,n]);return e?(0,$.jsx)(H.Root,{open:!!e,onOpenChange:e=>{e||g()},children:(0,$.jsxs)(H.Content,{size:`lg`,children:[(0,$.jsxs)(H.Header,{icon:De,children:[(0,$.jsx)(H.Title,{children:e.id}),(0,$.jsx)(H.Description,{children:o(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,$.jsx)(H.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-5`,children:[e.transport.type===`stdio`?null:(0,$.jsxs)($.Fragment,{children:[e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.oauthBadge`)}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:o(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`select`,{id:`mcp-detail-auth`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:at.map(e=>(0,$.jsx)(`option`,{value:e,children:ot(e,o)},e))})]}),s===`bearer`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:o(`mcpServerDetailModal.bearerToken`)}),(0,$.jsx)(Y,{id:`mcp-detail-bearer`,type:`password`,value:l,onChange:e=>u(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?o(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):o(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,s===`api-key`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:o(`mcpServerDetailModal.headerName`)}),(0,$.jsx)(Y,{id:`mcp-detail-apikey-header`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:o(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:o(`mcpServerDetailModal.apiKey`)}),(0,$.jsx)(Y,{id:`mcp-detail-apikey-value`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?o(`mcpServerDetailModal.apiKeyPlaceholderKeep`):o(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,$.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,$.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTool`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableDescription`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTokens`)})]})}),(0,$.jsx)(`tbody`,{children:t.tools.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,$.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||o(`mcpServerDetailModal.emptyDescription`)}),(0,$.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,$.jsxs)(H.Footer,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:g,disabled:i,children:o(`mcpServerDetailModal.cancel`)}),(0,$.jsx)(J,{variant:`primary`,onClick:h,disabled:i,children:o(i?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var ct=`mcp-servers`,lt=`mcp-tools-summary`;function ut(){let{t:e}=a(`settings`),t=k(),n=i(),o=s(),c=ce.use.mcpAddServer(),l=ce.use.hasHydrated(),[u,d]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!1),[E,O]=(0,Q.useState)(null),[A,j]=(0,Q.useState)(null),{data:M,isLoading:F,isError:I}=r({queryKey:[ct,t],queryFn:()=>Ge(t)}),{data:L}=r({queryKey:[lt,t],queryFn:()=>Ke(t)}),R=(0,Q.useCallback)(()=>{n.invalidateQueries({queryKey:[ct,t]}),n.invalidateQueries({queryKey:[lt,t]})},[n,t]),z=(0,Q.useMemo)(()=>{let e=new Map;if(L)for(let t of L.servers)e.set(t.serverId,t);return e},[L]),B=(0,Q.useMemo)(()=>!p||!M?null:M.servers.find(e=>e.id===p)??null,[p,M]),V=(0,Q.useCallback)(async()=>{if(h){b(!0);try{await Ye(t,h),R(),U.success(e(`mcpPage.toastRemoved`,{serverId:h})),g(null)}catch{U.error(e(`mcpPage.toastRemoveFailed`,{serverId:h}))}finally{b(!1)}}},[h,t,R,e]),H=(0,Q.useCallback)(async n=>{O(n);let r;try{r=await Xe(t,n)}catch{U.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),O(null);return}try{if(r.already_authenticated){U.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),R();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await Ze(t,n);if(r.status===`complete`){U.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),R();return}if(r.status===`error`){U.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}U.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{U.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{O(null),R()}},[t,R,e]),ee=(0,Q.useCallback)(async n=>{j(n);try{await Qe(t,n),R(),U.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{U.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{j(null)}},[t,R,e]),W=(0,Q.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;v(!0);try{await Je(t,n),R(),U.success(e(`mcpPage.toastAdded`,{name:n.name})),d(!1)}catch{U.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),v(!1);return}if(v(!1),n.autoAuth){O(n.name);try{let i=await Xe(t,n.name);if(i.already_authenticated){r?.close(),U.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),R();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await Ze(t,n.name);if(r.status===`complete`){U.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),R();return}if(r.status===`error`){U.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}U.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),U.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{O(null),R()}}},[t,R,e]),te=(0,Q.useCallback)(async(n,r)=>{S(!0);try{await qe(t,r),R(),U.success(e(`mcpPage.toastUpdated`,{serverId:n})),m(null)}catch{U.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{S(!1)}},[t,R,e]),ne=(0,Q.useCallback)(async()=>{w(!0);try{await $e(t),R(),U.success(e(`mcpPage.toastReloadSuccess`))}catch{U.error(e(`mcpPage.toastReloadFailed`))}finally{w(!1)}},[t,R,e]),re=(0,Q.useCallback)(()=>{c?d(!0):N(o,{prompt:e(`mcpPage.setupPrompt`)})},[c,o,e]),G=M?.servers??[];return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flow-root`,children:[(0,$.jsxs)(`div`,{className:`float-right ml-4 flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(et,{variant:`outlined`,icon:(0,$.jsx)(T,{className:C?`animate-spin`:``}),label:e(`mcpPage.reloadButton`),onClick:ne,disabled:C}),c?(0,$.jsx)(J,{variant:`primary`,leftIcon:(0,$.jsx)(f,{}),onClick:()=>d(!0),children:e(`mcpPage.addServerButton`)}):null]}),(0,$.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),L?(0,$.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:L.totalToolCount})}),(0,$.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:L.totalEstimatedTokens.toLocaleString()})})]}):null,F?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):I?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):G.length===0?(0,$.jsxs)(`button`,{type:`button`,onClick:re,disabled:!l,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,$.jsx)(De,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(c?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:G.map(e=>(0,$.jsx)(it,{server:e,toolsSummary:z.get(e.id),onRemove:g,onConfigure:m,onAuthenticate:H,onRevokeOAuth:ee,isAuthenticating:E===e.id,isRevoking:A===e.id},e.id))}),c?(0,$.jsx)(We,{open:u,onClose:()=>d(!1),onAdd:W,isPending:_}):null,(0,$.jsx)(st,{server:B,toolsSummary:p?z.get(p):void 0,onClose:()=>m(null),onSave:te,isPending:x}),(0,$.jsx)(P,{open:!!h,title:e(`mcpPage.removeDialogTitle`),message:h?e(`mcpPage.removeDialogMessage`,{serverId:h}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:y,onConfirm:V,onCancel:()=>g(null)})]})}function dt(){return(0,$.jsx)(ut,{})}var ft=`vellum:integrations:bannerDismissed`;function pt(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function mt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function ht(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var gt=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function _t(e,t){return e?.find(e=>e.provider===t)??null}function vt(e){return e===`mcp`?`mcp`:`oauth`}function yt(){let{t:e}=a(`settings`),[n]=o(),i=s(),c=be(),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(!0),[p,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(`all`),[v,y]=(0,Q.useState)(!0),[x,S]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{y(xe(ft,`false`)===`true`)},[]);let C=()=>{y(!0),he(ft,`true`)};(0,Q.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await L();e&&t.ok&&u(t.data)}catch(e){Ce(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Ee(l?.id,c===`full`),{data:E,isLoading:O,isError:k}=r({...pe({path:{assistant_id:l?.id??``}}),select:e=>e.providers,enabled:!!l}),{data:A,isLoading:M}=r({...j({path:{assistant_id:w??``}}),enabled:!!w&&c===`full`});(0,Q.useEffect)(()=>{let t=n.get(`oauth_status`);if(!t)return;let r=n.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;if(t===`connected`)U.success(a?e(`integrationsPage.accountConnectedToast`,{providerLabel:a}):e(`integrationsPage.accountConnectedToastGeneric`));else if(t===`error`){let t=n.get(`oauth_code`)??`unknown`;U.error(pt(e,t)??(a?e(`integrationsPage.connectFailedToast`,{providerLabel:a}):e(`integrationsPage.connectFailedToastGeneric`)))}i(fe.settings.integrations,{replace:!0})},[n,i,e]);let N=(0,Q.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),P=(0,Q.useMemo)(()=>{let e=p.trim().toLowerCase(),t=e=>!!_t(A,e)?.connected,n=N.filter(n=>{if(Ae(n.provider_key))return t(n.provider_key);if(!e)return!0;let r=(n.display_name??n.provider_key).toLowerCase(),i=(n.description??``).toLowerCase();return r.includes(e)||i.includes(e)});return g!==`all`&&(n=n.filter(e=>{let n=t(e.provider_key);return g===`enabled`?n:!n})),[...n].sort((e,n)=>{let r=t(e.provider_key);if(r!==t(n.provider_key))return r?-1:1;let i=(e.display_name??e.provider_key).toLowerCase(),a=(n.display_name??n.provider_key).toLowerCase();return i.localeCompare(a)})},[N,A,p,g]),F=d||O||M||T,I=mt(e,p,g),R=ht(e,p,g),z=(0,Q.useMemo)(()=>x?N.find(e=>e.provider_key===x)??null:null,[N,x]),V=gt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!v&&(0,$.jsx)(ve,{tone:`info`,icon:(0,$.jsx)(m,{className:`h-3.5 w-3.5`}),onDismiss:C,children:(0,$.jsx)(t,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,$.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{type:`text`,value:p,onChange:e=>h(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,$.jsx)(b,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,$.jsx)(B,{options:V,value:g,onChange:_,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,$.jsx)(`div`,{children:F?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):k?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):l?P.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,$.jsx)(b,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:I}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:P.map(e=>(0,$.jsx)(Re,{platformAssistantId:w??l.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:_t(A,e.provider_key),platformGate:c,onConfigure:()=>S(e.provider_key)},e.provider_key))}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),z&&l&&(0,$.jsx)(Le,{assistantId:l.id,platformAssistantId:w??l.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:c,onClose:()=>S(null)})]})}function bt(){let{t:e}=a(`settings`),[t,n]=o(),r=vt(t.get(`tab`));return(0,$.jsx)(`div`,{className:`space-y-6`,children:(0,$.jsxs)(q.Root,{value:r,onValueChange:e=>{let r=vt(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,$.jsxs)(q.List,{children:[(0,$.jsx)(q.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,$.jsx)(q.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,$.jsx)(q.Panel,{value:`oauth`,className:`pt-4`,children:(0,$.jsx)(Q.Suspense,{children:(0,$.jsx)(yt,{})})}),(0,$.jsx)(q.Panel,{value:`mcp`,className:`pt-4`,children:(0,$.jsx)(dt,{})})]})})}export{bt as IntegrationsPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{N as t,Qn as n,Zn as r,er as i,j as a}from"./vendor-yoekmcrB.js";import{_ as o,f as s,t as c,x as l}from"./react-BJ4PZBJN.js";import{Gi as u,Gn as d,It as f,Ki as p,Q as m,Ui as h,Un as g,Xt as _,Yr as v,Zr as y,_t as b,ht as x,i as S,k as C,ki as w,kt as T,qa as E,qn as D,si as O}from"./icons-BjnVKAw1.js";import{$ as k,By as A,Fc as j,Fg as M,Fs as N,Gy as P,Ic as F,If as I,Im as L,Ir as R,Is as z,Iy as B,Jd as V,Jy as H,Kd as ee,Ky as U,Lc as W,Lf as te,Lg as ne,Ml as re,Or as G,Rf as ie,Ry as K,Si as ae,Ty as oe,Ui as se,Uu as ce,Xd as le,Xy as ue,Yd as de,Yv as fe,Zd as pe,Zy as q,ab as me,fb as J,gy as he,ib as ge,ip as _e,lb as ve,nb as Y,on as ye,op as be,py as xe,qd as Se,qy as X,ry as Ce,ub as Z,uy as we,zf as Te}from"./index-BGc71lz7.js";import{t as Ee}from"./use-platform-assistant-id-uGT6QKV1.js";var De=E(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Oe=E(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),ke={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ae(e){return Object.entries(ke).some(([t,n])=>t===e&&n!==e)}var Q=e(l(),1),$=c();function je({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,oauthInProgress:o,onCancelConnect:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let{t:p}=a(`settings`);return i?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?o?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,onClick:s,children:p(`managedOauthTab.cancel`)})]})]}):(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`managedOauthTab.connectToContinue`)}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,$.jsx)(J,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(f,{}),onClick:()=>l(),disabled:o,children:p(`managedOauthTab.connectAccount`)}),d.map(e=>(0,$.jsx)(J,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Oe,{}),onClick:()=>l(e.scopes),disabled:o,children:e.label},e.id))]})]}):(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id,a=r.account_label??p(`managedOauthTab.accountFallback`,{name:e});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,$.jsx)(G,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,$.jsx)(J,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(C,{}),onClick:()=>u(r),disabled:i,"aria-label":p(`managedOauthTab.disconnectAriaLabel`,{account:a})})]},r.id)})}),(0,$.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:o?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,onClick:s,children:p(`managedOauthTab.cancel`)})]}):(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(J,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(v,{}),onClick:()=>l(),disabled:o,children:p(`managedOauthTab.connectAccountLower`)}),d.map(e=>(0,$.jsx)(J,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Oe,{}),onClick:()=>l(e.scopes),disabled:o,children:e.label},e.id))]})})]})}function Me(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ne(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Pe({assistantId:e,providerKey:t,displayName:o,logoUrl:s}){let{t:c}=a(`settings`),l=i(),u=r({...V({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),d=r({...le({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),m=u.data??[],h=d.data??null,g=n({queries:m.map(t=>({...ee({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),_={};m.forEach((e,t)=>{_[e.id]=g[t]?.data??[]});let y=de({path:{assistant_id:e},query:{provider_key:t}}),b=ie({onSuccess:()=>{l.invalidateQueries({queryKey:y}),A(``),M(``),E(!1),U.success(c(`yourOwnOauthTab.appAddedToast`,{name:o}))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),x=te({onSuccess:()=>{l.invalidateQueries({queryKey:y}),U.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),S=I({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),w=Te(),[T,E]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(``),[N,F]=(0,Q.useState)(!1),[L,R]=(0,Q.useState)(null),[z,B]=(0,Q.useState)(null),H=b.isPending,W=x.isPending?x.variables?.path?.id??null:null,re=S.isPending?S.variables?.path?.appId??null:null,K=w.isPending?w.variables?.path?.id??null:null,ae=()=>{let n=k.trim(),r=j.trim();!n||!r||b.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},oe=()=>{let t=L;R(null),t&&x.mutate({path:{assistant_id:e,id:t.id}})},se=t=>{S.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[m.length===0||T?(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:m.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:o}):c(`yourOwnOauthTab.addAnotherApp`,{name:o})}),(0,$.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),h?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{type:`text`,value:h,readOnly:!0,fullWidth:!0}),(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{ne(h,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{F(!0),setTimeout(()=>F(!1),2e3)}})},"aria-label":c(N?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:N?(0,$.jsx)(p,{"aria-hidden":!0}):(0,$.jsx)(O,{"aria-hidden":!0})})]}),(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,$.jsx)(Y,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,$.jsx)(Y,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[m.length>0?(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{E(!1),A(``),M(``)},disabled:H,children:c(`yourOwnOauthTab.cancel`)}):null,(0,$.jsx)(J,{type:`button`,size:`compact`,onClick:ae,disabled:H||!k.trim()||!j.trim(),leftIcon:H?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(f,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,m.map(e=>{let n=_[e.id]??[],r=W===e.id,i=re===e.id;return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,$.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:Me(e.client_id)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:Ne(e.created_at)})})]}),(0,$.jsx)(J,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>R(e),disabled:r,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:Me(e.client_id)}),iconOnly:r?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(C,{"aria-hidden":!0})})]}),n.length>0?(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:n.map(n=>{let r=K===n.id,i=n.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,$.jsx)(G,{providerKey:t,displayName:o,logoUrl:s,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:i}),(0,$.jsx)(J,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>B({appId:e.id,connection:n}),disabled:r,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:i}),iconOnly:r?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(C,{"aria-hidden":!0})})]},n.id)})}):null,(0,$.jsx)(J,{type:`button`,size:`compact`,onClick:()=>se(e),disabled:i,className:`w-full`,leftIcon:i?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(v,{"aria-hidden":!0}),children:c(i?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),m.length>0&&!T?(0,$.jsx)(J,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,$.jsx)(f,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,$.jsx)(P,{open:L!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:L?c(`yourOwnOauthTab.deleteAppMessage`,{id:Me(L.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:oe,onCancel:()=>R(null)}),(0,$.jsx)(P,{open:z!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:o}),message:z?c(`yourOwnOauthTab.disconnectMessage`,{account:z.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=z;B(null),t&&w.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=Se({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:n}),l.invalidateQueries({queryKey:y}),U.success(c(`yourOwnOauthTab.disconnectedToast`,{name:o}))},onError:e=>{U.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>B(null)})]})}var Fe={};function Ie(e){return Fe[e]??[]}function Le({assistantId:e,platformAssistantId:t,providerKey:n,displayName:o,description:s,logoUrl:c,platformGate:l,onClose:u}){let{t:d}=a(`settings`),f=i(),p=l===`full`,m=!_e(),[h,g]=(0,Q.useState)(l===`gated`&&m?`your-own`:`managed`),_=(0,Q.useMemo)(()=>[{value:`managed`,label:d(`integrationDetailModal.managedTab`)},{value:`your-own`,label:d(`integrationDetailModal.yourOwnTab`)}],[d]);(0,Q.useEffect)(()=>{!m&&h===`your-own`&&g(`managed`)},[m,h]);let[v,y]=(0,Q.useState)(null),[b,x]=(0,Q.useState)(null),C=F({path:{assistant_id:t}}),{data:w,isLoading:T}=r({...j({path:{assistant_id:t}}),enabled:p}),E=(w??[]).filter(e=>e.provider===n&&e.connected),D=R({assistantId:e,providerKey:n,providerLabel:o}),O=e=>{p&&D.connect(e)},k=D.status;(0,Q.useEffect)(()=>{k===`connected`&&U.success(d(`useOauthConnect.accountConnected`,{name:o,ns:`common`}))},[k,o,d]);let A=D.dismiss;(0,Q.useEffect)(()=>A,[A]);let M=D.errorMessage;(0,Q.useEffect)(()=>{M&&U.error(M)},[M]);let N={path:{assistant_id:t}},I=re({onSuccess(e,t){U.success(d(`integrationDetailModal.disconnectedToast`,{name:o}));let n=t.path.connection_id;W(f,N,e=>e?.filter(e=>e.id!==n)),f.invalidateQueries({queryKey:C}),y(null)},onError(e){let t=we(e,void 0,d(`integrationDetailModal.disconnectFailedToast`,{name:o}));U.error(t),y(null)}});se(),(0,Q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),u())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[u]);let L=e=>{x(e)},z=()=>{let e=b;x(null),e&&(y(e.id),I.mutate({path:{assistant_id:t,connection_id:e.id}}))},B=b?.account_label??d(`integrationDetailModal.accountFallback`,{name:o}),V=s?d(`integrationDetailModal.subtitleWithDescription`,{name:o,description:s}):d(`integrationDetailModal.subtitle`,{name:o});return(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(G,{providerKey:n,displayName:o,logoUrl:c,size:32}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:d(`integrationDetailModal.title`,{name:o})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:V})]})]}),(0,$.jsx)(J,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(S,{}),"aria-label":d(`integrationDetailModal.close`),onClick:u})]}),(0,$.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[l!==`gated`&&m&&(0,$.jsx)(ue,{ariaLabel:d(`integrationDetailModal.oauthModeAriaLabel`),items:_,value:h,onChange:g}),h===`managed`&&l!==`gated`?l===`disabled`?(0,$.jsx)(ye,{children:d(`integrationDetailModal.loginNotice`)}):(0,$.jsx)(je,{displayName:o,providerKey:n,logoUrl:c,connections:E,connectionsLoading:T,oauthInProgress:D.status===`attempting`,onCancelConnect:D.dismiss,disconnectingId:I.isPending?v:null,onConnect:O,onDisconnect:L,connectPresets:Ie(n)}):m?(0,$.jsx)(Pe,{assistantId:e,providerKey:n,displayName:o,logoUrl:c}):null]}),(0,$.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,$.jsx)(J,{variant:`outlined`,size:`compact`,onClick:u,children:d(`integrationDetailModal.confirm`)})})]}),(0,$.jsx)(P,{open:b!==null,title:d(`integrationDetailModal.disconnectTitle`,{name:o}),message:b?d(`integrationDetailModal.disconnectMessage`,{account:B}):``,confirmLabel:d(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:z,onCancel:()=>x(null)})]})}function Re({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:o,connection:s,platformGate:c,onConfigure:l}){let{t:u}=a(`settings`),d=i(),f=!!s?.connected,[p,m]=(0,Q.useState)(!1),[h,g]=(0,Q.useState)(!1),_=F({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=re({onSuccess(e,t){U.success(u(`integrationRow.disconnectedToast`,{name:n}));let r=t.path.connection_id;W(d,v,e=>e?.filter(e=>e.id!==r)),d.invalidateQueries({queryKey:_})},onError(e){let t=we(e,void 0,u(`integrationRow.disconnectFailedToast`,{name:n}));U.error(t)}}),b=()=>{s?.id&&g(!0)};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,$.jsx)(G,{providerKey:t,displayName:n,logoUrl:o,size:32}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,$.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),f&&c===`full`?(0,$.jsx)(`div`,{className:`shrink-0`,children:(0,$.jsx)(ze,{displayName:n,open:p,onOpenChange:m,onEditConnections:()=>{m(!1),l()},onDisable:()=>{m(!1),b()},disablePending:y.isPending})}):(0,$.jsx)(J,{variant:`primary`,onClick:l,className:`shrink-0`,children:u(`integrationRow.enable`)})]})}),(0,$.jsx)(P,{open:h,title:u(`integrationRow.disconnectTitle`,{name:n}),message:u(`integrationRow.disconnectMessage`,{name:n}),confirmLabel:u(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{g(!1),s?.id&&y.mutate({path:{assistant_id:e,connection_id:s.id}})},onCancel:()=>g(!1)})]})}function ze({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:o}){let{t:s}=a(`settings`);return ae()?(0,$.jsxs)(X.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(X.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,rightIcon:(0,$.jsx)(u,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(X.Header,{children:(0,$.jsx)(X.Title,{children:e})}),(0,$.jsxs)(X.Body,{children:[(0,$.jsx)(A,{icon:_,label:s(`integrationRow.editConnections`),onSelect:r}),(0,$.jsx)(A,{icon:o?D:w,label:s(`integrationRow.disable`),onSelect:()=>{o||i()}})]})]})]}):(0,$.jsxs)(ge.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(ge.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,rightIcon:(0,$.jsx)(u,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(ge.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,$.jsx)(J,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,$.jsx)(_,{"aria-hidden":!0}),children:s(`integrationRow.editConnections`)}),(0,$.jsx)(J,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:o,className:`w-full justify-start rounded-none`,leftIcon:o?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(w,{"aria-hidden":!0}),children:s(`integrationRow.disable`)})]})]})}var Be=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Ve=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function He(e){return Be.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ue(e){return Ve.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function We({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=a(`settings`),o=(0,Q.useMemo)(()=>He(i),[i]),s=(0,Q.useMemo)(()=>Ue(i),[i]),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(`sse`),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(`none`),[b,x]=(0,Q.useState)(``),[S,C]=(0,Q.useState)(`X-API-Key`),[w,T]=(0,Q.useState)(``),E=(0,Q.useCallback)(()=>{l(``),d(`sse`),p(``),h(``),_(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Q.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Q.useCallback)(()=>{let e=c.trim();if(!e)return;let t={name:e,transportType:u};if(u===`stdio`){let e=m.trim();if(!e)return;t.command=e;let n=g.trim();n&&(t.args=n.split(/\s+/))}else{let e=f.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[c,u,f,m,g,v,b,S,w,n]),k=u===`stdio`,A=c.trim()&&(k?m.trim():f.trim());return(0,$.jsx)(H.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,$.jsxs)(H.Content,{size:`md`,children:[(0,$.jsxs)(H.Header,{icon:De,children:[(0,$.jsx)(H.Title,{children:i(`mcpAddServerModal.title`)}),(0,$.jsx)(H.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,$.jsx)(H.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,$.jsx)(Y,{id:`mcp-name`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,$.jsx)(`select`,{id:`mcp-transport`,value:u,onChange:e=>d(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:s.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,$.jsx)(Y,{id:`mcp-command`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,$.jsx)(Y,{id:`mcp-args`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,$.jsx)(Y,{id:`mcp-url`,type:`url`,value:f,onChange:e=>p(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,$.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,$.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,$.jsx)(Y,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,$.jsx)(Y,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,$.jsx)(Y,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,$.jsxs)(H.Footer,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,$.jsx)(J,{variant:`primary`,onClick:O,disabled:!A||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function Ge(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function Ke(e){let{data:t,response:n}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function qe(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function Je(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function Ye(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function Xe(e,t){let{data:n,response:r}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function Ze(e,t){let{data:n,response:r}=await M.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function Qe(e,t){let{response:n}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function $e(e){let{response:t}=await M.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}function et({variant:e,icon:t,label:n,onClick:r,disabled:i}){return z()?(0,$.jsx)(J,{variant:e,iconOnly:t,onClick:r,disabled:i,tooltip:n,"aria-label":n}):(0,$.jsx)(J,{variant:e,leftIcon:t,onClick:r,disabled:i,children:n})}var tt={connected:`positive`,"needs-auth":`negative`},nt=`negative`;function rt(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);default:return t(`mcpServerCard.statusError`)}}function it({server:e,toolsSummary:t,onRemove:n,onConfigure:r,onAuthenticate:i,onRevokeOAuth:o,isAuthenticating:s,isRevoking:c}){let{t:l}=a(`settings`),[f,p]=(0,Q.useState)(!1),m=tt[e.status]??nt,_=e.hasOAuth,v=_&&e.status!==`needs-auth`,b=e.status===`needs-auth`&&e.transport.type!==`stdio`,S=(0,Q.useCallback)(()=>n(e.id),[n,e.id]),w=(0,Q.useCallback)(()=>r(e.id),[r,e.id]),T=(0,Q.useCallback)(()=>i(e.id),[i,e.id]),E=(0,Q.useCallback)(()=>o(e.id),[o,e.id]),O=(0,Q.useCallback)(()=>p(e=>!e),[]);return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:e.id}),(0,$.jsx)(me,{tone:m,children:rt(e.status,l)}),v?(0,$.jsx)(me,{tone:`positive`,children:l(`mcpServerCard.authenticatedBadge`)}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e.transport.type}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:l(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:l(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[b?(0,$.jsx)(et,{variant:`primary`,icon:s?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(d,{}),label:l(s?`mcpServerCard.authenticating`:_?`mcpServerCard.reAuth`:`mcpServerCard.authenticate`),onClick:T,disabled:s}):null,_?(0,$.jsx)(J,{variant:`dangerOutline`,iconOnly:c?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(g,{}),onClick:E,disabled:c,tooltip:l(`mcpServerCard.revokeOAuthTooltip`),"aria-label":l(`mcpServerCard.revoke`)}):null,(0,$.jsxs)(K.Root,{children:[(0,$.jsx)(K.Trigger,{asChild:!0,children:(0,$.jsx)(J,{variant:`outlined`,iconOnly:(0,$.jsx)(y,{}),"aria-label":l(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,$.jsxs)(K.Content,{title:l(`mcpServerCard.moreActions`,{serverId:e.id}),showTitle:!0,closeLabel:l(`mcpServerCard.actionsSheetClose`),align:`end`,children:[(0,$.jsx)(K.Item,{icon:x,label:l(`mcpServerCard.configure`),onSelect:w}),(0,$.jsx)(K.Item,{icon:C,label:l(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:S})]})]})]})]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:O,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[f?(0,$.jsx)(u,{className:`h-3.5 w-3.5`}):(0,$.jsx)(h,{className:`h-3.5 w-3.5`}),l(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),f?(0,$.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,$.jsx)(oe,{title:e.name,subtitle:e.description||void 0,trailing:(0,$.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:l(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var at=[`none`,`bearer`,`api-key`];function ot(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function st({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:i}){let{t:o}=a(`settings`),[s,c]=(0,Q.useState)(`none`),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(`X-API-Key`),[p,m]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{e&&(c(e.authType),u(``),f(e.authHeaderName??`X-API-Key`),m(``))},[e]);let h=(0,Q.useCallback)(()=>{if(!e)return;let t=s!==e.authType,n=s===`bearer`&&l.trim()!==``,i=s===`api-key`&&d.trim()!==``&&p.trim()!==``,a=t||n||i,o;o=a?s===`none`?null:s===`bearer`&&l.trim()?{Authorization:`Bearer ${l.trim()}`}:s===`api-key`&&d.trim()&&p.trim()?{[d.trim()]:p.trim()}:void 0:void 0,r(e.id,{name:e.id,...o===void 0?{}:{headers:o}})},[e,s,l,d,p,r]),g=(0,Q.useCallback)(()=>{i||n()},[i,n]);return e?(0,$.jsx)(H.Root,{open:!!e,onOpenChange:e=>{e||g()},children:(0,$.jsxs)(H.Content,{size:`lg`,children:[(0,$.jsxs)(H.Header,{icon:De,children:[(0,$.jsx)(H.Title,{children:e.id}),(0,$.jsx)(H.Description,{children:o(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,$.jsx)(H.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-5`,children:[e.transport.type===`stdio`?null:(0,$.jsxs)($.Fragment,{children:[e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.oauthBadge`)}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:o(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`select`,{id:`mcp-detail-auth`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:at.map(e=>(0,$.jsx)(`option`,{value:e,children:ot(e,o)},e))})]}),s===`bearer`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:o(`mcpServerDetailModal.bearerToken`)}),(0,$.jsx)(Y,{id:`mcp-detail-bearer`,type:`password`,value:l,onChange:e=>u(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?o(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):o(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,s===`api-key`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:o(`mcpServerDetailModal.headerName`)}),(0,$.jsx)(Y,{id:`mcp-detail-apikey-header`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:o(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:o(`mcpServerDetailModal.apiKey`)}),(0,$.jsx)(Y,{id:`mcp-detail-apikey-value`,type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?o(`mcpServerDetailModal.apiKeyPlaceholderKeep`):o(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:o(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,$.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,$.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTool`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableDescription`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:o(`mcpServerDetailModal.tableTokens`)})]})}),(0,$.jsx)(`tbody`,{children:t.tools.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,$.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||o(`mcpServerDetailModal.emptyDescription`)}),(0,$.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:o(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,$.jsxs)(H.Footer,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:g,disabled:i,children:o(`mcpServerDetailModal.cancel`)}),(0,$.jsx)(J,{variant:`primary`,onClick:h,disabled:i,children:o(i?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var ct=`mcp-servers`,lt=`mcp-tools-summary`;function ut(){let{t:e}=a(`settings`),t=k(),n=i(),o=s(),c=ce.use.mcpAddServer(),l=ce.use.hasHydrated(),[u,d]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!1),[E,O]=(0,Q.useState)(null),[A,j]=(0,Q.useState)(null),{data:M,isLoading:F,isError:I}=r({queryKey:[ct,t],queryFn:()=>Ge(t)}),{data:L}=r({queryKey:[lt,t],queryFn:()=>Ke(t)}),R=(0,Q.useCallback)(()=>{n.invalidateQueries({queryKey:[ct,t]}),n.invalidateQueries({queryKey:[lt,t]})},[n,t]),z=(0,Q.useMemo)(()=>{let e=new Map;if(L)for(let t of L.servers)e.set(t.serverId,t);return e},[L]),B=(0,Q.useMemo)(()=>!p||!M?null:M.servers.find(e=>e.id===p)??null,[p,M]),V=(0,Q.useCallback)(async()=>{if(h){b(!0);try{await Ye(t,h),R(),U.success(e(`mcpPage.toastRemoved`,{serverId:h})),g(null)}catch{U.error(e(`mcpPage.toastRemoveFailed`,{serverId:h}))}finally{b(!1)}}},[h,t,R,e]),H=(0,Q.useCallback)(async n=>{O(n);let r;try{r=await Xe(t,n)}catch{U.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),O(null);return}try{if(r.already_authenticated){U.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),R();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await Ze(t,n);if(r.status===`complete`){U.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),R();return}if(r.status===`error`){U.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}U.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{U.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{O(null),R()}},[t,R,e]),ee=(0,Q.useCallback)(async n=>{j(n);try{await Qe(t,n),R(),U.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{U.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{j(null)}},[t,R,e]),W=(0,Q.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;v(!0);try{await Je(t,n),R(),U.success(e(`mcpPage.toastAdded`,{name:n.name})),d(!1)}catch{U.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),v(!1);return}if(v(!1),n.autoAuth){O(n.name);try{let i=await Xe(t,n.name);if(i.already_authenticated){r?.close(),U.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),R();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await Ze(t,n.name);if(r.status===`complete`){U.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),R();return}if(r.status===`error`){U.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}U.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),U.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{O(null),R()}}},[t,R,e]),te=(0,Q.useCallback)(async(n,r)=>{S(!0);try{await qe(t,r),R(),U.success(e(`mcpPage.toastUpdated`,{serverId:n})),m(null)}catch{U.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{S(!1)}},[t,R,e]),ne=(0,Q.useCallback)(async()=>{w(!0);try{await $e(t),R(),U.success(e(`mcpPage.toastReloadSuccess`))}catch{U.error(e(`mcpPage.toastReloadFailed`))}finally{w(!1)}},[t,R,e]),re=(0,Q.useCallback)(()=>{c?d(!0):N(o,{prompt:e(`mcpPage.setupPrompt`)})},[c,o,e]),G=M?.servers??[];return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flow-root`,children:[(0,$.jsxs)(`div`,{className:`float-right ml-4 flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(et,{variant:`outlined`,icon:(0,$.jsx)(T,{className:C?`animate-spin`:``}),label:e(`mcpPage.reloadButton`),onClick:ne,disabled:C}),c?(0,$.jsx)(J,{variant:`primary`,leftIcon:(0,$.jsx)(f,{}),onClick:()=>d(!0),children:e(`mcpPage.addServerButton`)}):null]}),(0,$.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),L?(0,$.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:L.totalToolCount})}),(0,$.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:L.totalEstimatedTokens.toLocaleString()})})]}):null,F?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):I?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):G.length===0?(0,$.jsxs)(`button`,{type:`button`,onClick:re,disabled:!l,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,$.jsx)(De,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(c?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:G.map(e=>(0,$.jsx)(it,{server:e,toolsSummary:z.get(e.id),onRemove:g,onConfigure:m,onAuthenticate:H,onRevokeOAuth:ee,isAuthenticating:E===e.id,isRevoking:A===e.id},e.id))}),c?(0,$.jsx)(We,{open:u,onClose:()=>d(!1),onAdd:W,isPending:_}):null,(0,$.jsx)(st,{server:B,toolsSummary:p?z.get(p):void 0,onClose:()=>m(null),onSave:te,isPending:x}),(0,$.jsx)(P,{open:!!h,title:e(`mcpPage.removeDialogTitle`),message:h?e(`mcpPage.removeDialogMessage`,{serverId:h}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:y,onConfirm:V,onCancel:()=>g(null)})]})}function dt(){return(0,$.jsx)(ut,{})}var ft=`vellum:integrations:bannerDismissed`;function pt(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function mt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function ht(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var gt=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function _t(e,t){return e?.find(e=>e.provider===t)??null}function vt(e){return e===`mcp`?`mcp`:`oauth`}function yt(){let{t:e}=a(`settings`),[n]=o(),i=s(),c=be(),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(!0),[p,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(`all`),[v,y]=(0,Q.useState)(!0),[x,S]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{y(xe(ft,`false`)===`true`)},[]);let C=()=>{y(!0),he(ft,`true`)};(0,Q.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await L();e&&t.ok&&u(t.data)}catch(e){Ce(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Ee(l?.id,c===`full`),{data:E,isLoading:O,isError:k}=r({...pe({path:{assistant_id:l?.id??``}}),select:e=>e.providers,enabled:!!l}),{data:A,isLoading:M}=r({...j({path:{assistant_id:w??``}}),enabled:!!w&&c===`full`});(0,Q.useEffect)(()=>{let t=n.get(`oauth_status`);if(!t)return;let r=n.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;if(t===`connected`)U.success(a?e(`integrationsPage.accountConnectedToast`,{providerLabel:a}):e(`integrationsPage.accountConnectedToastGeneric`));else if(t===`error`){let t=n.get(`oauth_code`)??`unknown`;U.error(pt(e,t)??(a?e(`integrationsPage.connectFailedToast`,{providerLabel:a}):e(`integrationsPage.connectFailedToastGeneric`)))}i(fe.settings.integrations,{replace:!0})},[n,i,e]);let N=(0,Q.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),P=(0,Q.useMemo)(()=>{let e=p.trim().toLowerCase(),t=e=>!!_t(A,e)?.connected,n=N.filter(n=>{if(Ae(n.provider_key))return t(n.provider_key);if(!e)return!0;let r=(n.display_name??n.provider_key).toLowerCase(),i=(n.description??``).toLowerCase();return r.includes(e)||i.includes(e)});return g!==`all`&&(n=n.filter(e=>{let n=t(e.provider_key);return g===`enabled`?n:!n})),[...n].sort((e,n)=>{let r=t(e.provider_key);if(r!==t(n.provider_key))return r?-1:1;let i=(e.display_name??e.provider_key).toLowerCase(),a=(n.display_name??n.provider_key).toLowerCase();return i.localeCompare(a)})},[N,A,p,g]),F=d||O||M||T,I=mt(e,p,g),R=ht(e,p,g),z=(0,Q.useMemo)(()=>x?N.find(e=>e.provider_key===x)??null:null,[N,x]),V=gt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!v&&(0,$.jsx)(ve,{tone:`info`,icon:(0,$.jsx)(m,{className:`h-3.5 w-3.5`}),onDismiss:C,children:(0,$.jsx)(t,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,$.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{type:`text`,value:p,onChange:e=>h(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,$.jsx)(b,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,$.jsx)(B,{options:V,value:g,onChange:_,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,$.jsx)(`div`,{children:F?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):k?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):l?P.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,$.jsx)(b,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:I}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:P.map(e=>(0,$.jsx)(Re,{platformAssistantId:w??l.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:_t(A,e.provider_key),platformGate:c,onConfigure:()=>S(e.provider_key)},e.provider_key))}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),z&&l&&(0,$.jsx)(Le,{assistantId:l.id,platformAssistantId:w??l.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:c,onClose:()=>S(null)})]})}function bt(){let{t:e}=a(`settings`),[t,n]=o(),r=vt(t.get(`tab`));return(0,$.jsx)(`div`,{className:`space-y-6`,children:(0,$.jsxs)(q.Root,{value:r,onValueChange:e=>{let r=vt(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,$.jsxs)(q.List,{children:[(0,$.jsx)(q.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,$.jsx)(q.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,$.jsx)(q.Panel,{value:`oauth`,className:`pt-4`,children:(0,$.jsx)(Q.Suspense,{children:(0,$.jsx)(yt,{})})}),(0,$.jsx)(q.Panel,{value:`mcp`,className:`pt-4`,children:(0,$.jsx)(dt,{})})]})})}export{bt as IntegrationsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,i as r,n as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{La as s,Wi as c}from"./icons-BjnVKAw1.js";import{Is as l,Kv as u,Pv as d,Yv as f,db as p,fb as m,r as h,ra as g}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,i as r,n as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{La as s,Wi as c}from"./icons-BjnVKAw1.js";import{Is as l,Kv as u,Pv as d,Yv as f,db as p,fb as m,r as h,ra as g}from"./index-BGc71lz7.js";import{t as _}from"./intelligence-layout-slots-store-BEOZeNOk.js";var v=e(o(),1),y=a(),b={schedules:`sections.schedules`,superpowers:`sections.superpowers`,plugins:`sections.superpowers`,skills:`sections.superpowers`,memory:`sections.memory`,library:`sections.library`,workspace:`sections.workspace`,contacts:`sections.contacts`,channels:`sections.channels`};function x(){let{t:e}=t(`intelligence`),a=d.use.name(),{pathname:o}=n(),x=l(),S=g.use.setTopBarCenter(),C=g.use.setMobileTopBar(),w=_.use.headerTrailing(),T=u(o),E=T?e(b[T.key]):null,D=x&&T?.key===`library`,O=a||e(`identityOverview.defaultAssistantName`),k=e(`intelligenceLayout.backToAriaLabel`,{name:O}),A=e(`intelligenceLayout.backToTitle`,{name:O});return(0,v.useEffect)(()=>(D&&E?(S(null),C({leading:(0,y.jsx)(m,{asChild:!0,variant:`ghost`,iconOnly:(0,y.jsx)(s,{"aria-hidden":!0}),"aria-label":k,tooltip:A,className:`rounded-full max-md:bg-[var(--surface-active)]`,children:(0,y.jsx)(i,{to:f.identity})}),center:(0,y.jsx)(p,{variant:`body-medium-default`,className:`max-w-[50vw] truncate text-[var(--content-secondary)]`,children:E}),trailing:w})):x&&E?(C(null),S((0,y.jsx)(p,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:E}))):(C(null),S(null)),()=>{C(null),S(null)}),[k,A,w,x,E,C,S,D]),T?(0,y.jsxs)(h,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(i,{to:f.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":k,title:A,children:(0,y.jsx)(c,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,y.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:E}),w?(0,y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center`,children:w}):null]}),(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,y.jsx)(r,{})})]}):(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,y.jsx)(r,{})})}export{x as IntelligenceLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as e}from"./vendor-yoekmcrB.js";import{wy as t}from"./index-BGc71lz7.js";var n=t(e(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,x as n}from"./react-BJ4PZBJN.js";import{Yv as r}from"./index-BGc71lz7.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(r.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Jp as e,gh as t}from"./index-
|
|
1
|
+
import{Jp as e,gh as t}from"./index-BGc71lz7.js";var n=2;function r({processing:e,sawProcessing:t,hasReply:r,stableReads:i}){return e===void 0?r&&i>=n:!e&&(r||t)}var i=e=>Math.max(0,Math.min(100,Math.round(e)));function a(e,n,r){let a=t=>i(e[t]??50),o=a(t.companionCoworker),s=a(t.executeCollaborate),c=a(t.playfulSerious),l=a(t.politeUnfiltered),u=n?.trim()||`The user`,d=r?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
|
|
2
2
|
${u} wants to customize your personality.
|
|
3
3
|
This is what they want you to be:
|
|
4
4
|
Companion (0-100): ${100-o}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,f as r,h as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{qn as s}from"./icons-BjnVKAw1.js";import{$ as c,Cr as l,Eh as u,Fs as d,Is as f,Js as p,Yv as m,h,ir as g,wr as _}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,f as r,h as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{qn as s}from"./icons-BjnVKAw1.js";import{$ as c,Cr as l,Eh as u,Fs as d,Is as f,Js as p,Yv as m,h,ir as g,wr as _}from"./index-BGc71lz7.js";import{t as v}from"./deploy-dialogs-CCPmFOvq.js";import{t as y}from"./use-edge-swipe-back-VtlKpCI9.js";import{t as b}from"./app-types-R2BjVd4u.js";var x=e(o(),1),S=a();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{t:e}=t(`library`),{appId:a}=i(),o=c(),w=r(),{pathname:T}=n(),E=f(),D=l.use.isDeploying(),O=(0,x.useRef)(null),[k,A]=(0,x.useState)(null),[j,M]=(0,x.useState)(null),[N,P]=(0,x.useState)(!1),F=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(a)return F.current=a,A(null),M(null),u({path:{assistant_id:o,id:a},throwOnError:!0}).then(({data:e})=>{F.current===a&&(p(o,e.appId,e.html),A({appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{F.current===a&&M(e instanceof Error?e.message:`Failed to open app`)}),()=>{F.current=null}},[o,a]);let I=(0,x.useCallback)(()=>{w(m.library.root)},[w]);y({containerRef:O,onBack:I,enabled:E,navKey:T,prefetchHref:m.library.root});let L=h(),R=(0,x.useCallback)(()=>{k&&L(k)},[k,L]),z=(0,x.useCallback)(async()=>{if(!(!k||N)){P(!0);try{await _(o,{id:k.appId,name:k.name},{exported:e(`libraryAppCard.exported`),failed:e(`libraryAppCard.shareFailed`)})}finally{P(!1)}}},[o,k,N,e]),B=(0,x.useCallback)(()=>{k&&l.getState().deployApp(o,k.appId,k.name,k.html)},[o,k]),V=(0,x.useCallback)(e=>{d(w,{prompt:e})},[w]);return a?j?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,S.jsx)(`button`,{type:`button`,onClick:I,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):k?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:O,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:E}),(0,S.jsx)(g,{appId:k.appId,appName:k.name,html:k.html,assistantId:o,onClose:I,...b(k.origin)?{}:{onEdit:R,onShare:z,isSharing:N,onDeploy:B,isDeploying:D},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:o,onStartConversation:V})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(s,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,er as n,j as r}from"./vendor-yoekmcrB.js";import{f as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{$n as s,Bt as c,Pa as l,Rr as u,Vt as d,Zr as f,_t as p,k as m,kt as h,nr as g,ti as _,xr as v}from"./icons-BjnVKAw1.js";import{$ as y,Ca as b,Ci as x,Cr as S,Dh as C,Fs as w,Is as T,Jt as E,Ky as D,Ry as O,Td as k,Yv as A,ar as j,fb as M,ha as N,id as P,l as F,li as I,nb as L,or as R,qs as z,rd as B}from"./index-DA0GBGXJ.js";import{t as V}from"./deploy-dialogs-BP-kbL8H.js";import{n as H,r as U,t as ee}from"./use-app-delete-CkS5JHqY.js";import{t as te}from"./intelligence-layout-slots-store-BWpVsdSd.js";import{t as W}from"./app-types-R2BjVd4u.js";var G=e(o(),1),K=a();function q(e){return e===1?`1 word`:`${e} words`}function ne({document:e,onOpen:t}){return(0,K.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:N(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,K.jsx)(u,{size:34,className:`text-[var(--content-tertiary)]`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:q(e.wordCount)})]}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:F(new Date(e.updatedAt))})]})]})}function re({onNewConversation:e}){let{t}=r(`library`);return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,K.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,K.jsx)(M,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function J({app:e,assistantId:t,isPinned:n,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:l,onAnimationEnd:u}){let{t:f}=r(`library`),p=W(e.origin),h=p?void 0:o,g=p?void 0:s,_=(0,G.useCallback)(()=>z(t,e.id),[t,e.id]),v=H(t,e,{exported:f(`libraryAppCard.exported`),failed:f(`libraryAppCard.shareFailed`)}),[y,b]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),w=(0,G.useCallback)(()=>C(!0),[]),{deployedUrl:T}=R(t,e.id,{enabled:S&&g!=null}),D=(0,G.useCallback)(()=>{T!=null&&j(T)},[T]);return(0,K.jsx)(x,{trailingActions:[{id:`pin`,label:f(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:n?d:c,onSelect:()=>a(e)},...h?[{id:`delete`,label:f(`libraryAppCard.delete`),icon:m,variant:`destructive`,onSelect:()=>h(e)}]:[]],className:`rounded-xl`,children:(0,K.jsxs)(`div`,{"data-reveal-row":``,className:N(`relative flex flex-col gap-2`,l&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:l?u:void 0,onPointerEnter:w,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:N(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,K.jsx)(E,{name:e.name,icon:e.icon,loadHtml:_})}),(0,K.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,K.jsx)(Y,{appName:e.name,isPinned:n,open:y,onOpenChange:e=>{e&&w(),b(e)},onPin:()=>a(e),onDelete:h?()=>h(e):void 0,onShare:p?void 0:v,onDeploy:g,deployedUrl:T,onCopyDeployedLink:D})}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:F(new Date(e.createdAt))})]})]})})}function Y({appName:e,isPinned:t,open:n,onOpenChange:i,onPin:a,onDelete:o,onShare:u,onDeploy:p,deployedUrl:g,onCopyDeployedLink:_}){let{t:y}=r(`library`),b=g!=null&&g!==``&&_!=null,x=y(`libraryAppCard.actionsTitle`,{appName:e});return(0,K.jsxs)(O.Root,{open:n,onOpenChange:i,children:[(0,K.jsx)(O.Trigger,{asChild:!0,children:(0,K.jsx)(M,{variant:`primary`,size:`compact`,iconOnly:(0,K.jsx)(f,{}),"aria-label":x,onClick:e=>e.stopPropagation()})}),(0,K.jsxs)(O.Content,{title:x,children:[(0,K.jsx)(O.Item,{icon:t?d:c,label:y(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),u?(0,K.jsx)(O.Item,{icon:l,label:y(`libraryAppCard.share`),description:y(`libraryAppCard.shareSub`),onSelect:u}):null,p&&b?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(O.Item,{icon:s,label:y(`libraryAppCard.deployed`),description:(0,K.jsx)(`span`,{className:`break-all`,children:g}),trailing:y(`libraryAppCard.copyLink`),onSelect:()=>_?.()}),(0,K.jsx)(O.Item,{icon:h,label:y(`libraryAppCard.redeploy`),description:y(`libraryAppCard.redeploySub`),onSelect:p})]}):p?(0,K.jsx)(O.Item,{icon:v,label:y(`libraryAppCard.deploy`),description:y(`libraryAppCard.deploySub`),onSelect:p}):null,o?(0,K.jsx)(O.Item,{icon:m,label:y(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function X({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,K.jsx)(J,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var Z=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function ie(e){let{pinnedAppIds:n}=I(e),{data:r=[],isLoading:i,error:a}=t({...B({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=t({...k({path:{assistant_id:e}}),select:e=>e.documents}),l=i||s,u=a&&c?a instanceof Error?a.message:`Failed to load library`:null,[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>{if(!d.trim())return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[r,d]);return{apps:r,documents:o,filteredApps:p,pinnedApps:(0,G.useMemo)(()=>p.filter(e=>n.has(e.id)).sort(Z),[p,n]),recentApps:(0,G.useMemo)(()=>p.filter(e=>!n.has(e.id)).sort(Z),[p,n]),filteredDocuments:(0,G.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function ae(e,t){let{data:n,error:r,response:i}=await C({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function Q({assistantId:e,assistantName:t,onNewConversation:i,onOpenDocument:a,onOpenApp:o}){let{t:s}=r(`library`),c=T(),l=n(),{togglePin:u,pinnedAppIds:d}=I(e),f=S.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:v,recentApps:y,filteredDocuments:x,searchText:C,setSearchText:w,loading:E,error:O}=ie(e),{pendingDelete:k,isDeleting:A,requestDelete:j,confirmDelete:N,cancelDelete:F}=ee(e),[R]=(0,G.useState)(()=>b()?void 0:`.vellum`),B=(0,G.useRef)(null),[H,W]=(0,G.useState)(!1),q=(0,G.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||H)){W(!0);try{let t=await ae(e,n);await l.invalidateQueries({queryKey:P({path:{assistant_id:e}})}),D.success(s(`libraryView.imported`,{name:t.name})),o(t.appId)}catch(e){D.error(e instanceof Error?e.message:s(`libraryView.importFailed`))}finally{W(!1),B.current&&(B.current.value=``)}}},[e,H,l,o,s]),J=(0,G.useCallback)(async t=>{if(f)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await z(e,t);S.getState().deployApp(e,t,n,r)}catch{S.getState().deployApp(e,t,n,``)}},[e,f,m]),Y=(0,G.useCallback)(e=>u(e.id),[u]),Z=te.use.setHeaderTrailing(),Q=!E&&!O;if((0,G.useEffect)(()=>{if(!Q){Z(null);return}let e=H?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(_,{"aria-hidden":!0});return Z(c?(0,K.jsx)(M,{variant:`ghost`,iconOnly:e,"aria-label":s(`libraryView.import`),tooltip:s(`libraryView.import`),className:`rounded-full max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:H}):(0,K.jsxs)(M,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:H,children:[e,(0,K.jsx)(`span`,{className:`ml-1.5`,children:s(`libraryView.import`)})]})),()=>{Z(null)}},[c,Q,H,Z,s]),E)return(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":s(`libraryView.loadingAria`)})});if(O)return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:O}),(0,K.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:s(`libraryView.retry`)})]});let $=m.length===0&&h.length===0;return(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,K.jsx)(`input`,{ref:B,type:`file`,accept:R,className:`hidden`,onChange:q}),$?(0,K.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,K.jsx)(re,{onNewConversation:i?()=>i():void 0})}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,K.jsx)(L,{fullWidth:!0,type:`text`,placeholder:s(`libraryView.searchPlaceholder`),value:C,onChange:e=>w(e.target.value),leftIcon:(0,K.jsx)(p,{size:16})})}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,K.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,K.jsx)(p,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`libraryView.noMatches`,{query:C})})]}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,K.jsx)(X,{title:s(`libraryView.pinned`),apps:v,assistantId:e,pinnedAppIds:d,onOpen:o,onPin:Y,onDelete:j,onDeploy:J}),(0,K.jsx)(X,{title:s(`libraryView.recents`),apps:y,assistantId:e,pinnedAppIds:d,onOpen:o,onPin:Y,onDelete:j,onDeploy:J}),x.length>0?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:s(`libraryView.documents`)}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,K.jsx)(ne,{document:e,onOpen:e=>{a&&a(e)}},e.surfaceId))})]}):null]})}),(0,K.jsx)(V,{assistantId:e,assistantName:t,onStartConversation:i}),(0,K.jsx)(U,{app:k,isDeleting:A,onConfirm:N,onCancel:F})]})]})}function $(){let e=y(),t=i();return(0,K.jsx)(Q,{assistantId:e,onNewConversation:(0,G.useCallback)(e=>{w(t,{prompt:e})},[t]),onOpenDocument:(0,G.useCallback)(e=>{t(A.document(e))},[t]),onOpenApp:(0,G.useCallback)(e=>{t(A.library.app(e))},[t])})}export{$ as LibraryPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,er as n,j as r}from"./vendor-yoekmcrB.js";import{f as i,t as a,x as o}from"./react-BJ4PZBJN.js";import{$n as s,Bt as c,Pa as l,Rr as u,Vt as d,Zr as f,_t as p,k as m,kt as h,nr as g,ti as _,xr as v}from"./icons-BjnVKAw1.js";import{$ as y,Ca as b,Ci as x,Cr as S,Dh as C,Fs as w,Is as T,Jt as E,Ky as D,Ry as O,Td as k,Yv as A,ar as j,fb as M,ha as N,id as P,l as F,li as I,nb as L,or as R,qs as z,rd as B}from"./index-BGc71lz7.js";import{t as V}from"./deploy-dialogs-CCPmFOvq.js";import{n as H,r as U,t as ee}from"./use-app-delete-yjoWefi2.js";import{t as te}from"./intelligence-layout-slots-store-BEOZeNOk.js";import{t as W}from"./app-types-R2BjVd4u.js";var G=e(o(),1),K=a();function q(e){return e===1?`1 word`:`${e} words`}function ne({document:e,onOpen:t}){return(0,K.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:N(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,K.jsx)(u,{size:34,className:`text-[var(--content-tertiary)]`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:q(e.wordCount)})]}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:F(new Date(e.updatedAt))})]})]})}function re({onNewConversation:e}){let{t}=r(`library`);return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,K.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,K.jsx)(M,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function J({app:e,assistantId:t,isPinned:n,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:l,onAnimationEnd:u}){let{t:f}=r(`library`),p=W(e.origin),h=p?void 0:o,g=p?void 0:s,_=(0,G.useCallback)(()=>z(t,e.id),[t,e.id]),v=H(t,e,{exported:f(`libraryAppCard.exported`),failed:f(`libraryAppCard.shareFailed`)}),[y,b]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),w=(0,G.useCallback)(()=>C(!0),[]),{deployedUrl:T}=R(t,e.id,{enabled:S&&g!=null}),D=(0,G.useCallback)(()=>{T!=null&&j(T)},[T]);return(0,K.jsx)(x,{trailingActions:[{id:`pin`,label:f(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:n?d:c,onSelect:()=>a(e)},...h?[{id:`delete`,label:f(`libraryAppCard.delete`),icon:m,variant:`destructive`,onSelect:()=>h(e)}]:[]],className:`rounded-xl`,children:(0,K.jsxs)(`div`,{"data-reveal-row":``,className:N(`relative flex flex-col gap-2`,l&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:l?u:void 0,onPointerEnter:w,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:N(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,K.jsx)(E,{name:e.name,icon:e.icon,loadHtml:_})}),(0,K.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,K.jsx)(Y,{appName:e.name,isPinned:n,open:y,onOpenChange:e=>{e&&w(),b(e)},onPin:()=>a(e),onDelete:h?()=>h(e):void 0,onShare:p?void 0:v,onDeploy:g,deployedUrl:T,onCopyDeployedLink:D})}),(0,K.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:F(new Date(e.createdAt))})]})]})})}function Y({appName:e,isPinned:t,open:n,onOpenChange:i,onPin:a,onDelete:o,onShare:u,onDeploy:p,deployedUrl:g,onCopyDeployedLink:_}){let{t:y}=r(`library`),b=g!=null&&g!==``&&_!=null,x=y(`libraryAppCard.actionsTitle`,{appName:e});return(0,K.jsxs)(O.Root,{open:n,onOpenChange:i,children:[(0,K.jsx)(O.Trigger,{asChild:!0,children:(0,K.jsx)(M,{variant:`primary`,size:`compact`,iconOnly:(0,K.jsx)(f,{}),"aria-label":x,onClick:e=>e.stopPropagation()})}),(0,K.jsxs)(O.Content,{title:x,children:[(0,K.jsx)(O.Item,{icon:t?d:c,label:y(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),u?(0,K.jsx)(O.Item,{icon:l,label:y(`libraryAppCard.share`),description:y(`libraryAppCard.shareSub`),onSelect:u}):null,p&&b?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(O.Item,{icon:s,label:y(`libraryAppCard.deployed`),description:(0,K.jsx)(`span`,{className:`break-all`,children:g}),trailing:y(`libraryAppCard.copyLink`),onSelect:()=>_?.()}),(0,K.jsx)(O.Item,{icon:h,label:y(`libraryAppCard.redeploy`),description:y(`libraryAppCard.redeploySub`),onSelect:p})]}):p?(0,K.jsx)(O.Item,{icon:v,label:y(`libraryAppCard.deploy`),description:y(`libraryAppCard.deploySub`),onSelect:p}):null,o?(0,K.jsx)(O.Item,{icon:m,label:y(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function X({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,K.jsx)(J,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var Z=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function ie(e){let{pinnedAppIds:n}=I(e),{data:r=[],isLoading:i,error:a}=t({...B({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=t({...k({path:{assistant_id:e}}),select:e=>e.documents}),l=i||s,u=a&&c?a instanceof Error?a.message:`Failed to load library`:null,[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>{if(!d.trim())return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[r,d]);return{apps:r,documents:o,filteredApps:p,pinnedApps:(0,G.useMemo)(()=>p.filter(e=>n.has(e.id)).sort(Z),[p,n]),recentApps:(0,G.useMemo)(()=>p.filter(e=>!n.has(e.id)).sort(Z),[p,n]),filteredDocuments:(0,G.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function ae(e,t){let{data:n,error:r,response:i}=await C({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function Q({assistantId:e,assistantName:t,onNewConversation:i,onOpenDocument:a,onOpenApp:o}){let{t:s}=r(`library`),c=T(),l=n(),{togglePin:u,pinnedAppIds:d}=I(e),f=S.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:v,recentApps:y,filteredDocuments:x,searchText:C,setSearchText:w,loading:E,error:O}=ie(e),{pendingDelete:k,isDeleting:A,requestDelete:j,confirmDelete:N,cancelDelete:F}=ee(e),[R]=(0,G.useState)(()=>b()?void 0:`.vellum`),B=(0,G.useRef)(null),[H,W]=(0,G.useState)(!1),q=(0,G.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||H)){W(!0);try{let t=await ae(e,n);await l.invalidateQueries({queryKey:P({path:{assistant_id:e}})}),D.success(s(`libraryView.imported`,{name:t.name})),o(t.appId)}catch(e){D.error(e instanceof Error?e.message:s(`libraryView.importFailed`))}finally{W(!1),B.current&&(B.current.value=``)}}},[e,H,l,o,s]),J=(0,G.useCallback)(async t=>{if(f)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await z(e,t);S.getState().deployApp(e,t,n,r)}catch{S.getState().deployApp(e,t,n,``)}},[e,f,m]),Y=(0,G.useCallback)(e=>u(e.id),[u]),Z=te.use.setHeaderTrailing(),Q=!E&&!O;if((0,G.useEffect)(()=>{if(!Q){Z(null);return}let e=H?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(_,{"aria-hidden":!0});return Z(c?(0,K.jsx)(M,{variant:`ghost`,iconOnly:e,"aria-label":s(`libraryView.import`),tooltip:s(`libraryView.import`),className:`rounded-full max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:H}):(0,K.jsxs)(M,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:H,children:[e,(0,K.jsx)(`span`,{className:`ml-1.5`,children:s(`libraryView.import`)})]})),()=>{Z(null)}},[c,Q,H,Z,s]),E)return(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":s(`libraryView.loadingAria`)})});if(O)return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:O}),(0,K.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:s(`libraryView.retry`)})]});let $=m.length===0&&h.length===0;return(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,K.jsx)(`input`,{ref:B,type:`file`,accept:R,className:`hidden`,onChange:q}),$?(0,K.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,K.jsx)(re,{onNewConversation:i?()=>i():void 0})}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,K.jsx)(L,{fullWidth:!0,type:`text`,placeholder:s(`libraryView.searchPlaceholder`),value:C,onChange:e=>w(e.target.value),leftIcon:(0,K.jsx)(p,{size:16})})}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,K.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,K.jsx)(p,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`libraryView.noMatches`,{query:C})})]}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,K.jsx)(X,{title:s(`libraryView.pinned`),apps:v,assistantId:e,pinnedAppIds:d,onOpen:o,onPin:Y,onDelete:j,onDeploy:J}),(0,K.jsx)(X,{title:s(`libraryView.recents`),apps:y,assistantId:e,pinnedAppIds:d,onOpen:o,onPin:Y,onDelete:j,onDeploy:J}),x.length>0?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:s(`libraryView.documents`)}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,K.jsx)(ne,{document:e,onOpen:e=>{a&&a(e)}},e.surfaceId))})]}):null]})}),(0,K.jsx)(V,{assistantId:e,assistantName:t,onStartConversation:i}),(0,K.jsx)(U,{app:k,isDeleting:A,onConfirm:N,onCancel:F})]})]})}function $(){let e=y(),t=i();return(0,K.jsx)(Q,{assistantId:e,onNewConversation:(0,G.useCallback)(e=>{w(t,{prompt:e})},[t]),onOpenDocument:(0,G.useCallback)(e=>{t(A.document(e))},[t]),onOpenApp:(0,G.useCallback)(e=>{t(A.library.app(e))},[t])})}export{$ as LibraryPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{Bo as a,Ho as o,Jg as s,Vo as c,Yv as l,fb as u,qg as d,ry as f,w_ as p,zo as m}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{d as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{Bo as a,Ho as o,Jg as s,Vo as c,Yv as l,fb as u,qg as d,ry as f,w_ as p,zo as m}from"./index-BGc71lz7.js";import{n as h,r as g,t as _}from"./auth-welcome-screen-D1oXENpF.js";import{n as v,t as y}from"./use-return-to-short-circuit-DSf4X06z.js";var b=e(i(),1),x=r();function S({returnTo:e}){let{t:n}=t(`account`),[r,i]=(0,b.useState)(null),[s,l]=(0,b.useState)(!1),p=async()=>{i(null),l(!0);try{await d({returnTo:e??null})}catch(e){if(a(e)){l(!1);return}f(e,{context:`native_login`,tags:{authError:c(e)??`unclassified`}}),i(n(o(e),{community:m})),l(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:r,children:(0,x.jsx)(u,{type:`button`,variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>{p()},disabled:s,children:n(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t:r}=t(`account`),{search:i}=n(),a=p(e?`${l.account.signup}?returnTo=${encodeURIComponent(e)}`:l.account.signup,i);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:r(`loginPage.signUp`),href:a}})}function w(){let e=s(),t=y();return t.kind===`wait`?(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(v,{})}):t.kind===`redirect`?t.node:e?(0,x.jsx)(S,{returnTo:t.returnTo}):(0,x.jsx)(C,{returnTo:t.returnTo})}export{w as LoginPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{_ as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{$o as a,S_ as o,Yv as s,cp as c}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{_ as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{$o as a,S_ as o,Yv as s,cp as c}from"./index-BGc71lz7.js";import{r as l,t as u}from"./account-shell-Bb4i1hLJ.js";var d=e(i(),1),f=r();function p(){let{t:e}=t(`account`),[r]=n(),i=c.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=o(r.get(`returnTo`),s.account.login),t=e.startsWith(`http`)||e===s.account.login?e:`${s.account.login}?returnTo=${encodeURIComponent(e)}`,n=!1;return i().then(()=>{n||a(t)},()=>{n||a(t)}),()=>{n=!0}},[i,r]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{d as t,i as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{qa as a,zn as o}from"./icons-BjnVKAw1.js";import{Yv as s,op as c}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{d as t,i as n,t as r,x as i}from"./react-BJ4PZBJN.js";import{qa as a,zn as o}from"./icons-BjnVKAw1.js";import{Yv as s,op as c}from"./index-BGc71lz7.js";import{n as l,t as u}from"./sidebar-tree-Dpyg9Gd-.js";var d=a(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(i(),1),p=[{id:`emails`,label:`Emails`,href:s.logs.emails,icon:o},{id:`system-events`,label:`System Events`,href:s.logs.systemEvents,icon:d}],m=r();function h(){let e=c({platformHostedOnly:!0}),r=c(),{pathname:i}=t(),a=(0,f.useMemo)(()=>p.filter(t=>!(t.id===`system-events`&&e===`gated`||t.id===`emails`&&r===`gated`)),[e,r]),o=(0,f.useMemo)(()=>{let e=p.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===s.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,m.jsx)(l,{backHref:s.assistant,sidebar:(0,m.jsx)(u,{items:a,indexPath:s.logs.root}),title:o,menuRoute:s.logs.root,children:(0,m.jsx)(n,{})})}export{h as LogsLayout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-yoekmcrB.js";import{t}from"./react-BJ4PZBJN.js";import{t as n}from"./preview-error-
|
|
1
|
+
import{j as e}from"./vendor-yoekmcrB.js";import{t}from"./react-BJ4PZBJN.js";import{t as n}from"./preview-error-DtZ0mjgO.js";import{$n as r,hn as i,vn as a}from"./index-BGc71lz7.js";import{t as o}from"./use-truncated-blob-text-D6WGuPZ9.js";var s=t(),c=512*1024;function l({blob:t,filename:l}){let{t:u}=e(`chat`),{text:d,truncated:f,decodeFailed:p}=o(t,c);return p?(0,s.jsx)(n,{filename:l}):d===null?(0,s.jsx)(r,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(i,{content:d}),f&&(0,s.jsx)(a,{children:u(`previewTruncationNotice.markdown`)})]})}export{l as MarkdownPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{t,x as n}from"./react-BJ4PZBJN.js";import{$n as r,Qn as i,lo as a}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{t,x as n}from"./react-BJ4PZBJN.js";import{$n as r,Qn as i,lo as a}from"./index-BGc71lz7.js";var o=e(n(),1),s=t(),c=`nodownload noplaybackrate`;function l({blob:e,filename:t,kind:n}){let l=i(e,(0,o.useMemo)(()=>a({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:t}).mime,[e,t]));return l===null?(0,s.jsx)(r,{}):n===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:t,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):n===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":t,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":t,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Xn as n,Zn as r,er as i,j as a}from"./vendor-yoekmcrB.js";import{f as o,t as s,x as c}from"./react-BJ4PZBJN.js";import{An as l,Fn as u,Gi as d,Hi as f,It as p,Q as m,Tt as h,Wi as g,_t as _,ht as v,i as y,kt as b,n as x,qn as S,t as ee,xn as te}from"./icons-BjnVKAw1.js";import{$ as C,Eu as w,Fo as T,Fs as E,Io as ne,Jy as D,Ky as re,No as ie,Qr as O,Uu as ae,Xy as oe,Yv as k,_o as se,cy as A,db as ce,eg as j,fb as M,hn as N,rb as P,rg as F,sy as I,uy as le}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Xn as n,Zn as r,er as i,j as a}from"./vendor-yoekmcrB.js";import{f as o,t as s,x as c}from"./react-BJ4PZBJN.js";import{An as l,Fn as u,Gi as d,Hi as f,It as p,Q as m,Tt as h,Wi as g,_t as _,ht as v,i as y,kt as b,n as x,qn as S,t as ee,xn as te}from"./icons-BjnVKAw1.js";import{$ as C,Eu as w,Fo as T,Fs as E,Io as ne,Jy as D,Ky as re,No as ie,Qr as O,Uu as ae,Xy as oe,Yv as k,_o as se,cy as A,db as ce,eg as j,fb as M,hn as N,rb as P,rg as F,sy as I,uy as le}from"./index-BGc71lz7.js";var L=e(c(),1),R={x:600,y:450},ue=`memory_tab_v1`,de=crypto.randomUUID();function z(e){typeof window>`u`||w()&&O([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:de,step_name:e,funnel_version:ue}])}var B=Math.PI*(3-Math.sqrt(5)),V=7,H=2.4,U=34,fe=10;function W(e){return Math.min(U,V+H*Math.sqrt(e))}function pe(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function G(e){return e===`link`||e===`learned`?e:`other`}function me(e,t={}){let n=t.center??R,r=e.nodes,i=r.length;if(i===0)return{nodes:[],edges:[]};let a=new Map;r.forEach((e,t)=>a.set(e.id,t));let o=e.edges.filter(e=>e.source!==e.target&&a.has(e.source)&&a.has(e.target)),s=Array(i).fill(0),c=[];for(let e of o){let t=a.get(e.source),n=a.get(e.target);s[t]++,s[n]++,c.push([t,n])}let l=r.map((e,t)=>W(s[t])),u=70+26*Math.sqrt(i),d=r.map((e,t)=>{let r=(t+.5)/i,a=Math.acos(1-2*r),o=t*B,s=u*Math.cbrt(r),c=Math.sin(a);return{x:n.x+s*c*Math.cos(o),y:n.y+s*c*Math.sin(o),z:s*Math.cos(a),vx:0,vy:0,vz:0}}),f=t.iterations??Math.max(90,Math.min(340,Math.round(46e3/i))),p=.011,m=.82,h=.5,g=1,_=1-.001**(1/f);for(let e=0;e<f;e++){for(let e=0;e<i;e++){let t=d[e];for(let n=e+1;n<i;n++){let r=d[n],i=t.x-r.x,a=t.y-r.y,o=t.z-r.z,s=i*i+a*a+o*o;s<.01&&(i=(e-n)*.1+.1,a=.1,o=.05,s=i*i+a*a+o*o);let c=Math.sqrt(s),l=6400/s,u=i/c*l,f=a/c*l,p=o/c*l;t.vx+=u,t.vy+=f,t.vz+=p,r.vx-=u,r.vy-=f,r.vz-=p}}for(let[e,t]of c){let n=d[e],r=d[t],i=r.x-n.x,a=r.y-n.y,o=r.z-n.z,s=Math.sqrt(i*i+a*a+o*o)||.01,c=.05*(s-140),l=i/s*c,u=a/s*c,f=o/s*c;n.vx+=l,n.vy+=u,n.vz+=f,r.vx-=l,r.vy-=u,r.vz-=f}for(let e=0;e<i;e++){let t=d[e];t.vx+=(n.x-t.x)*p,t.vy+=(n.y-t.y)*p,t.vz+=(0-t.z)*p,t.x+=t.vx*g*h,t.y+=t.vy*g*h,t.z+=t.vz*g*h,t.vx*=m,t.vy*=m,t.vz*=m}g*=1-_}for(let e=0;e<10;e++){let e=!1;for(let t=0;t<i;t++){let n=d[t];for(let r=t+1;r<i;r++){let i=d[r],a=i.x-n.x,o=i.y-n.y,s=i.z-n.z,c=Math.sqrt(a*a+o*o+s*s),u=l[t]+l[r]+fe;if(c>=u)continue;c<.01&&(a=(r-t)*.1+.1,o=.1,s=.05,c=Math.sqrt(a*a+o*o+s*s));let f=(u-c)/2,p=a/c*f,m=o/c*f,h=s/c*f;n.x-=p,n.y-=m,n.z-=h,i.x+=p,i.y+=m,i.z+=h,e=!0}}if(!e)break}return{nodes:r.map((e,t)=>{let n={id:e.id,x:d[t].x,y:d[t].y,z:d[t].z,radius:l[t],label:e.label,kind:pe(e.kind),degree:s[t]};return e.summary&&(n.summary=e.summary),e.updatedAtMs!==void 0&&(n.updatedAtMs=e.updatedAtMs),n}),edges:o.map((e,t)=>{let n={id:`${e.source}__${e.target}__${t}`,fromId:e.source,toId:e.target,kind:G(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var K=s();function he({title:e,detail:t,action:n}){return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,K.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,K.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function ge(){return t(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function q(e,t){return n({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:r,response:i}=await F({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(A(i,r,ge()),!i.ok)throw new I(i.status,le(r,i,ge()));return n??{found:!1}}})}var _e={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},ve=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],J={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function ye(e){return t(J[e],{ns:`intelligence`})}var be=`#F1B21E`;function xe(e){if(e.length<=4)return e.map((e,t)=>({node:e,index:t}));let t=e.slice(-3).map((t,n)=>({node:t,index:e.length-3+n}));return[{node:e[0],index:0},`ellipsis`,...t]}function Se(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}var Y=600;function X(e){let t=e.slice(0,Y),n=t.lastIndexOf(`
|
|
2
2
|
`);return n>Y/2?e.slice(0,n):t}function Ce({content:e}){let[t,n]=(0,L.useState)(!1),{t:r}=a(`intelligence`);return e.length<=Y?(0,K.jsx)(N,{content:e}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(N,{content:t?e:X(e)}),(0,K.jsx)(M,{variant:`ghost`,size:`compact`,className:`-ml-2 mt-1`,onClick:()=>n(e=>!e),rightIcon:t?(0,K.jsx)(f,{size:16,"aria-hidden":!0}):(0,K.jsx)(d,{size:16,"aria-hidden":!0}),children:r(t?`conceptDetailPanel.showLess`:`conceptDetailPanel.readFullNote`)})]})}function we({assistantId:e,node:t,trail:n,neighbors:i,onTravel:o,onCrumb:s,onClose:c,onOpenThread:u}){let{t:d}=a(`intelligence`),f=r(q(e,t.id)),p=f.data,h=Se(t.updatedAtMs),_=p?.title??t.label,v=xe(n);return(0,L.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),c())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]),(0,K.jsxs)(`div`,{"data-graph-panel":!0,className:`absolute inset-0 z-20 flex justify-end`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:[(0,K.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 16%, transparent)`},onClick:c}),(0,K.jsxs)(`aside`,{className:`relative flex h-full min-h-0 w-full max-w-md flex-col overflow-hidden`,style:{backgroundColor:`var(--surface-lift)`,borderLeft:`1px solid var(--border-base)`},children:[n.length>1?(0,K.jsxs)(`nav`,{"aria-label":d(`conceptDetailPanel.trailAriaLabel`),className:`flex shrink-0 items-center gap-1 overflow-hidden border-b px-5 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>s(n.length-2),"aria-label":d(`conceptDetailPanel.backAriaLabel`),className:`-ml-1 mr-0.5 flex shrink-0 items-center rounded p-0.5 hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-tertiary)`},children:(0,K.jsx)(g,{size:16,"aria-hidden":!0})}),v.map((e,t)=>(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[t>0?(0,K.jsx)(`span`,{"aria-hidden":!0,children:`›`}):null,e===`ellipsis`?(0,K.jsx)(`span`,{"aria-hidden":!0,children:`…`}):e.index===n.length-1?(0,K.jsx)(`span`,{"aria-current":`page`,className:`max-w-[9rem] truncate`,style:{color:`var(--content-default)`},children:e.node.label}):(0,K.jsx)(`button`,{type:`button`,onClick:()=>s(e.index),className:`max-w-[8rem] truncate rounded hover:underline`,style:{color:`var(--content-tertiary)`},children:e.node.label})]},e===`ellipsis`?`ellipsis`:e.index))]}):null,(0,K.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:p?.title??t.label,children:p?.title??t.label}),h?(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.updated`,{date:h})}):null]}),(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(y,{"aria-hidden":!0}),onClick:c,"aria-label":d(`conceptDetailPanel.closeAriaLabel`),tintColor:`var(--content-tertiary)`})]}),(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:[f.isLoading?(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):f.isError?(0,K.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.loadError`)}):p?.found&&p.content?.trim()?(0,K.jsx)(Ce,{content:p.content},t.id):(0,K.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.emptyContent`)}),i.length>0?(0,K.jsxs)(`section`,{className:`mt-6 border-t pt-4`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,K.jsx)(`h3`,{className:`text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.wiredTo`)}),(0,K.jsx)(`span`,{className:`text-body-small-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.connectionCount`,{count:i.length})})]}),(0,K.jsx)(`ul`,{className:`flex list-none flex-col gap-0.5`,children:i.map(e=>(0,K.jsx)(`li`,{children:(0,K.jsxs)(`button`,{type:`button`,onClick:()=>o({id:e.id,label:e.label}),className:`flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-body-medium-default hover:bg-[color-mix(in_srgb,var(--content-tertiary)_12%,transparent)]`,style:{color:`var(--content-default)`},children:[(0,K.jsx)(`span`,{"aria-hidden":!0,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e.kind===`learned`?be:`var(--content-tertiary)`}}),(0,K.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id))})]}):null]}),u?(0,K.jsxs)(`footer`,{className:`flex shrink-0 gap-2 border-t px-5 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsx)(M,{variant:`outlined`,size:`regular`,className:`flex-1`,leftIcon:(0,K.jsx)(l,{size:16,"aria-hidden":!0}),onClick:()=>u(d(`conceptDetailPanel.askPrompt`,{title:_})),children:d(`conceptDetailPanel.askAboutThis`)}),(0,K.jsx)(M,{variant:`primary`,size:`regular`,className:`flex-1`,leftIcon:(0,K.jsx)(m,{size:16,"aria-hidden":!0}),onClick:()=>u(d(`conceptDetailPanel.refinePrompt`,{title:_})),children:d(`conceptDetailPanel.refine`)})]}):null]})]})}function Te({onDismiss:e}){let{t}=a(`intelligence`);return(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-auto absolute left-1/2 top-4 z-10 flex w-[min(30rem,calc(100%-6rem))] -translate-x-1/2 items-start gap-3 rounded-xl px-4 py-3`,style:{backgroundColor:`var(--surface-lift)`,border:`1px solid var(--border-base)`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.25)`},children:[(0,K.jsx)(`span`,{className:`mt-0.5 shrink-0`,style:{color:`var(--primary-base)`},"aria-hidden":!0,children:(0,K.jsx)(m,{size:18})}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(`conceptGraphIntroBanner.title`)}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:t(`conceptGraphIntroBanner.description`)})]}),(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(y,{"aria-hidden":!0}),onClick:e,"aria-label":t(`conceptGraphIntroBanner.dismissAriaLabel`),tintColor:`var(--content-tertiary)`})]})}var Ee=8;function De({nodeKinds:e,coloredByTheme:t,themes:n,hasLinks:r,hasLearned:i,onToggleLink:o,onToggleLearned:s,linkActive:c,learnedActive:l}){let{t:u}=a(`intelligence`);return(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-none absolute bottom-4 left-4 flex flex-col gap-1.5 rounded-lg px-3 py-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 78%, transparent)`,border:`1px solid var(--border-base)`},children:[e.map(e=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:_e[e]}}),(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:ye(e)})]},e)),t&&(n&&n.length>0?(0,K.jsxs)(K.Fragment,{children:[n.slice(0,Ee).map((e,t)=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,K.jsx)(`span`,{className:`max-w-[9rem] truncate text-[11px]`,style:{color:`var(--content-tertiary)`},title:e.concepts?.join(` · `)??e.name,children:e.name})]},t)),n.length>Ee&&(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.moreThemes`,{count:n.length-Ee})})]}):(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.coloredByTheme`)})),(e.length>0||t)&&(r||i)&&(0,K.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),r&&(0,K.jsx)(Oe,{swatchStyle:{borderTop:`2px solid var(--content-tertiary)`},label:u(`conceptGraphLegend.link`),onToggle:o,active:c}),i&&(0,K.jsx)(Oe,{swatchStyle:{borderTop:`2px dashed #F1B21E`},label:u(`conceptGraphLegend.learned`),onToggle:s,active:l})]})}function Oe({swatchStyle:e,label:t,onToggle:n,active:r}){let i=(0,K.jsx)(`span`,{className:`inline-block h-0 w-4`,style:e}),a=(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:t});return n?(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":r,className:`pointer-events-auto flex cursor-pointer items-center gap-2 border-0 bg-transparent p-0 transition-opacity`,style:{opacity:r===!1?.4:1},children:[i,a]}):(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]})}var Z=8;function ke(e,t){let n=e.length;if(n===0)return new Map;let r=new Map;e.forEach((e,t)=>r.set(e.id,t));let i=e.map(()=>[]);for(let e of t){let t=r.get(e.fromId),n=r.get(e.toId);t===void 0||n===void 0||t===n||(i[t].push(n),i[n].push(t))}let a=e.map((e,t)=>t);for(let e=0;e<Z;e++)for(let e=0;e<n;e++){let t=i[e];if(t.length===0)continue;let n=new Map;for(let e of t)n.set(a[e],(n.get(a[e])??0)+1);let r=a[e],o=-1;for(let[e,t]of n)(t>o||t===o&&e<r)&&(r=e,o=t);a[e]=r}let o=new Map,s=new Map;return e.forEach((e,t)=>{let n=a[t],r=o.get(n);r===void 0&&(r=o.size,o.set(n,r)),s.set(e.id,r)}),s}function Q(){return t(`memoryUnavailable.prompts.v2`,{ns:`intelligence`})}function Ae(){return t(`memoryUnavailable.prompts.v1`,{ns:`intelligence`})}function je(){return t(`memoryUnavailable.prompts.enable`,{ns:`intelligence`})}function Me(){return{title:t(`memoryUnavailable.statusError.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.statusError.detail`,{ns:`intelligence`}),action:`retry`}}function Ne(e){return e===`off`?{title:t(`memoryUnavailable.off.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.off.detail`,{ns:`intelligence`}),action:`settings`,prompt:je()}:e===`v1`||e===`v2`?{title:t(`memoryUnavailable.legacy.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.legacy.detail`,{ns:`intelligence`}),action:`upgrade`,prompt:e===`v1`?Ae():Q()}:{title:t(`memoryUnavailable.unknown.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.unknown.detail`,{ns:`intelligence`}),action:`none`}}function Pe({assistantId:e,onOpenThread:t}){let{t:n}=a(`intelligence`),s=o(),c=i(),l=r(T(e));(0,L.useEffect)(()=>{ie(c,e)},[c,e]);let u=se(`memoryOptOut`),d=ae.use.settingsDeveloperNav(),f=u&&d===!0;if(l.isLoading)return null;let p=l.data?.kind===`ready`?l.data.tier:void 0,h=l.isError?Me():Ne(p),g=h.prompt,_=null;return h.action===`upgrade`&&t&&g?_=(0,K.jsx)(M,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(m,{}),onClick:()=>{z(`upgrade_v3_clicked`),t(g)},children:n(`memoryUpgradePrompt.upgradeMemory`)}):h.action===`retry`?_=(0,K.jsx)(M,{variant:`outlined`,size:`compact`,leftIcon:(0,K.jsx)(b,{}),onClick:()=>{l.refetch()},children:n(`memoryUpgradePrompt.tryAgain`)}):h.action===`settings`&&f?_=(0,K.jsx)(M,{variant:`outlined`,size:`compact`,leftIcon:(0,K.jsx)(v,{}),onClick:()=>s(`${k.settings.developer}?tab=memory`),children:n(`memoryUpgradePrompt.memorySettings`)}):h.action===`settings`&&t&&g&&(_=(0,K.jsx)(M,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(m,{}),onClick:()=>{z(`enable_memory_clicked`),t(g)},children:n(`memoryUpgradePrompt.turnMemoryOn`)})),(0,K.jsx)(he,{title:h.title,detail:h.detail,action:_})}function Fe({value:e,onChange:t}){let{t:n}=a(`intelligence`),r=[{value:`all`,label:n(`recencyLens.all`)},{value:`month`,label:n(`recencyLens.month`)},{value:`week`,label:n(`recencyLens.week`)}];return(0,K.jsx)(oe,{ariaLabel:n(`recencyLens.ariaLabel`),items:r,value:e,onChange:t,className:`!w-auto [&>*]:!flex-none`})}var Ie=`vellum:memoryGraph:introDismissed:`;function Le(e){return`${Ie}${e}`}function $(e){if(!e)return!0;try{return window.localStorage.getItem(Le(e))===`1`}catch{return!0}}function Re(e){let[t,n]=(0,L.useState)(()=>$(e));return(0,L.useEffect)(()=>{n($(e))},[e]),[t,(0,L.useCallback)(()=>{n(!0);try{window.localStorage.setItem(Le(e),`1`)}catch{}},[e])]}var ze=[`concept`,`skill`,`capability`,`pending`,`other`],Be=.13,Ve=2600,He=.006,Ue=1.15,We=3,Ge=.32,Ke=.45,qe=3,Je=4,Ye=1440*60*1e3,Xe=14*Ye,Ze=12,Qe=2*Ye,$e=80,et=340,tt=.12,nt=.05,rt=.03,it=12,at=2600;function ot(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function st(e){return e.kind===`learned`?`Learned association`:e.description??`Linked concepts`}function ct(e,t,n){return t==null?!1:e==null||n-e>t}function lt(e,t){let n=t?e.get(t):void 0;return e=>t!=null&&(e===t||(n?.has(e)??!1))}function ut({assistantId:e,className:t,isFullscreen:n,onToggleFullscreen:i,onOpenThread:o,headerAction:s,handleRef:c}){let{t:l}=a(`intelligence`),d=(0,L.useRef)(null),f=(0,L.useRef)(null),p=r(ne(e)),m=p.data?.kind===`ready`?p.data.graph:null,g=(0,L.useMemo)(()=>m?me(m):{nodes:[],edges:[]},[m]),v=p.data?.kind===`ready`&&g.nodes.length>0,b=(0,L.useMemo)(()=>ke(g.nodes,g.edges),[g.nodes,g.edges]),S=(0,L.useMemo)(()=>{let e=new Map;for(let t of g.nodes){let n=b.get(t.id);if(n==null||t.degree===0)continue;let r=e.get(n);r?r.push(t):e.set(n,[t])}return[...e.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.degree-e.degree||(e.id<t.id?-1:1)).slice(0,3);return{hubId:n[0].id,color:ve[e%ve.length],name:n[0].label,concepts:n.map(e=>e.label),size:t.length}}).sort((e,t)=>t.size-e.size)},[b,g.nodes]),C=(0,L.useMemo)(()=>new Set(S.map(e=>e.hubId)),[S]),w=(0,L.useMemo)(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)};for(let e of g.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[g.edges]),T=(0,L.useMemo)(()=>{if(g.nodes.length===0)return 1;let e=g.nodes.map(e=>{let t=e.x-R.x,n=e.y-R.y;return Math.sqrt(t*t+n*n+e.z*e.z)+e.radius}).sort((e,t)=>e-t),t=Math.min(e.length-1,Math.floor(e.length*.92));return Math.max(1,e[t])},[g.nodes]),E=(0,L.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),D=(0,L.useRef)([]),re=(0,L.useRef)([]),ie=(0,L.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),O=(0,L.useRef)(null),ae=(0,L.useRef)(!1),oe=(0,L.useRef)(null),k=(0,L.useRef)(null),[se,A]=(0,L.useState)(null),[ce,j]=(0,L.useState)(null),[N,P]=(0,L.useState)([]),F=N.at(-1)??null,I=(0,L.useCallback)(e=>{z(`node_opened`),P(t=>[...t,e])},[]),le=(0,L.useRef)(null);(0,L.useEffect)(()=>{le.current=F?.id??null,E.current.dirty=!0},[F?.id]);let[ue,de]=Re(e),[B,V]=(0,L.useState)(``),[H,U]=(0,L.useState)(!1),fe=(0,L.useRef)(null);(0,L.useEffect)(()=>{H&&fe.current?.focus()},[H]);let W=(0,L.useRef)(!1),pe=B.trim().toLowerCase(),G=(0,L.useMemo)(()=>{if(!pe)return null;let e=new Set;for(let t of g.nodes)t.label.toLowerCase().includes(pe)&&e.add(t.id);return e},[pe,g.nodes]),ge=(0,L.useRef)({active:!1,matches:null});(0,L.useEffect)(()=>{ge.current={active:!!G,matches:G},E.current.dirty=!0},[G]),(0,L.useEffect)(()=>{B.trim()||(W.current=!1)},[B]);let q=(0,L.useMemo)(()=>!G||G.size===0?[]:g.nodes.filter(e=>G.has(e.id)).sort((e,t)=>t.degree-e.degree).slice(0,8),[G,g.nodes]),[J,ye]=(0,L.useState)(`all`),xe=(0,L.useRef)(null);(0,L.useEffect)(()=>{xe.current=J===`week`?7*Ye:J===`month`?30*Ye:null,E.current.dirty=!0},[J]);let Se=(0,L.useMemo)(()=>g.nodes.some(e=>e.updatedAtMs!=null),[g.nodes]);(0,L.useEffect)(()=>{!Se&&J!==`all`&&ye(`all`)},[Se,J]);let[Y,X]=(0,L.useState)({link:!0,learned:!0}),Ce=(0,L.useRef)(Y);(0,L.useEffect)(()=>{Ce.current=Y,E.current.dirty=!0},[Y]),(0,L.useEffect)(()=>{V(``),ye(`all`),X({link:!0,learned:!0}),P([]),W.current=!1},[e]);let Ee=(0,L.useCallback)(()=>{let e=E.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,A(null)},[]),Oe=(0,L.useCallback)(e=>{let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]),Z=(0,L.useCallback)(e=>{O.current=e,E.current.lastInteractAt=performance.now(),E.current.dirty=!0},[]),Q=(0,L.useCallback)(e=>{I(e),Z(e.id)},[I,Z]),Ae=(0,L.useCallback)(e=>{oe.current={id:e,start:performance.now()},Z(e),window.setTimeout(()=>{E.current.dirty=!0},at+60)},[Z]),je=(0,L.useCallback)(e=>{g.nodes.some(t=>t.id===e)?Ae(e):k.current=e},[g.nodes,Ae]);(0,L.useEffect)(()=>{let e=k.current;e&&g.nodes.some(t=>t.id===e)&&(k.current=null,Ae(e))},[g.nodes,Ae]),(0,L.useImperativeHandle)(c,()=>({focusNode:je}),[je]);let Me=(0,L.useCallback)(()=>{P([]),V(``),A(null),O.current=null,ae.current=!0},[]),Ne=(0,L.useCallback)(e=>{V(``);let t=N.slice(0,e+1);P(t);let n=t.at(-1);n?Z(n.id):A(null)},[N,Z]),Ie=(0,L.useCallback)(e=>{V(``),Q(e)},[Q]),Le=(0,L.useMemo)(()=>{let e=F?.id;if(!e)return[];let t=w.get(e);if(!t||t.size===0)return[];let n=new Map(g.nodes.map(e=>[e.id,e.label])),r=new Map;for(let t of g.edges)t.fromId===e?r.set(t.toId,t.kind):t.toId===e&&r.set(t.fromId,t.kind);let i=[];for(let e of t){let t=n.get(e);t!=null&&i.push({id:e,label:t,kind:r.get(e)})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i},[F?.id,w,g.nodes,g.edges]);(0,L.useEffect)(()=>{if(!v)return;let e=f.current,t=d.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=g.nodes,i=g.edges,a=b,o=C,s=w,c=new Set(r.map(e=>e.id)),l=T,u=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;ie.current=ot(t);let p=Math.min(window.devicePixelRatio||1,2),m=0,h=0,_=()=>{let n=t.getBoundingClientRect();m=n.width,h=n.height,p=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(m*p)),e.height=Math.max(1,Math.round(h*p)),e.style.width=`${m}px`,e.style.height=`${h}px`,ie.current=ot(t),E.current.dirty=!0};_();let y=new ResizeObserver(_);y.observe(t);let x=new MutationObserver(()=>{ie.current=ot(t),E.current.dirty=!0});x.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`,`class`,`style`]});let S=0,ee=0,te=e=>{let t=ee?Math.min(.05,(e-ee)/1e3):0;ee=e;let d=E.current,f=ie.current,g=Date.now(),_=O.current;if(!d.dragging&&e-d.lastInteractAt>Ve&&!u&&!_&&(d.yaw+=Be*t),_){let e=r.find(e=>e.id===_);if(!e)O.current=null;else{let t=e.x-R.x,n=e.y-R.y,r=e.z,i=-Math.atan2(t,r),a=Math.hypot(t,r),o=Math.max(-Ue,Math.min(Ue,Math.atan2(n,a))),s=Math.min(qe,1.6),c=u?1:.15,l=i-d.yaw;l=Math.atan2(Math.sin(l),Math.cos(l)),d.yaw+=l*c,d.pitch+=(o-d.pitch)*c,d.zoom+=(s-d.zoom)*c,d.dirty=!0,Math.abs(l)<.01&&Math.abs(o-d.pitch)<.01&&Math.abs(s-d.zoom)<.02&&(O.current=null)}}if(ae.current&&!d.dragging){let e=u?1:.15;d.pitch+=(.32-d.pitch)*e,d.zoom+=(1-d.zoom)*e,d.dirty=!0,Math.abs(.32-d.pitch)<.01&&Math.abs(1-d.zoom)<.02&&(ae.current=!1)}if(u&&!d.dirty){S=requestAnimationFrame(te);return}d.dirty=!1;let v=Math.cos(d.yaw),y=Math.sin(d.yaw),b=Math.cos(d.pitch),x=Math.sin(d.pitch),C=We*l,w=Math.min(m,h)*.88/(2*l)*d.zoom,T=m/2,ne=h/2;n.setTransform(p,0,0,p,0,0),n.clearRect(0,0,m,h);let k=d.hoveredId,se=k?s.get(k):void 0,A=e=>!k||e===k||(se?.has(e)??!1),ce=ge.current,j=ce.active,M=e=>!j||(ce.matches?.has(e)??!1),N=xe.current,P=e=>ct(e.updatedAtMs,N,g),F=Ce.current,I=le.current,L=I!=null&&c.has(I),ue=lt(s,L?I:null),de=r.length<=$e?1:Math.max(tt,1-(r.length-$e)/(et-$e)*(1-tt)),z=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-R.x,i=t.y-R.y,a=t.z,o=n*v+a*y,s=-n*y+a*v,c=i*b-s*x,u=i*x+s*b,d=C/(C-u);z[e]={node:t,sx:T+o*w*d,sy:ne+c*w*d,sr:Math.max(1.2,t.radius*w*d),depth:Math.max(0,Math.min(1,(u+l)/(2*l)))}}let B=z.map((e,t)=>t).sort((e,t)=>z[e].depth-z[t].depth),V=new Map;for(let e of z)V.set(e.node.id,e);let H=[];n.lineCap=`round`;for(let e of i){let t=V.get(e.fromId),r=V.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=I!=null&&(e.fromId===I||e.toId===I);if(!a&&(i?!F.learned:!F.link))continue;let o=j&&(!M(e.fromId)||!M(e.toId))||!a&&(P(t.node)||P(r.node)),s=k!=null&&(e.fromId===k||e.toId===k),c=(t.depth+r.depth)/2;!o&&(!L||a)&&H.push({ax:t.sx,ay:t.sy,bx:r.sx,by:r.sy,kind:e.kind,description:e.description,depth:c});let l=(i?.34:.28)*(.4+.6*c),u=i?l*de:l,d;d=o?.03:L?a?.9:rt:k==null?u:s?.9:A(e.fromId)&&A(e.toId)?l:.05,n.globalAlpha=d,n.strokeStyle=i?be:f.tertiary,n.lineWidth=(s||L&&a?2:1)*(.6+.6*c),n.setLineDash(i?[4,4]:[]),n.beginPath(),n.moveTo(t.sx,t.sy),n.lineTo(r.sx,r.sy),n.stroke()}n.setLineDash([]);for(let t of B){let r=z[t],i=r.node,o=i.kind===`concept`?ve[(a.get(i.id)??0)%ve.length]:_e[i.kind],s=j&&!M(i.id),c=ue(i.id),l=s||P(i)&&!c,d=L?c&&!l:!l&&A(i.id),f=i.id===k,p=Ge+(1-Ge)*r.depth,m=L&&!c?p*nt:l?p*.08:d?p:p*.18,h=(f?16:i.degree>=Je?8:4)*r.depth,_=i.updatedAtMs;if(_){let n=g-_,i=Math.max(0,1-n/Xe);if(i>0){let a=i*Ze;!u&&n<Qe&&(a*=.55+.45*Math.sin(e/420+t*1.7)),h+=a*r.depth}}n.shadowColor=o,n.shadowBlur=d?h:0;let v=i.kind===`pending`;n.globalAlpha=m*(v?.3:.55),n.fillStyle=o,n.beginPath(),n.arc(r.sx,r.sy,r.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=m,n.lineWidth=f?2.5:1.4,n.strokeStyle=o,n.setLineDash(v?[3,3]:[]),n.stroke(),n.setLineDash([]);let y=oe.current;if(y&&y.id===i.id){let t=e-y.start;if(t>at)oe.current=null;else if(u)n.globalAlpha=.7,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+7,0,Math.PI*2),n.stroke();else for(let e=0;e<3;e++){let i=(t-e*320)/1100;i<=0||i>=1||(n.globalAlpha=(1-i)*.8,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+i*46*r.depth,0,Math.PI*2),n.stroke())}}}n.shadowBlur=0,n.textAlign=`center`,n.textBaseline=`top`,n.font=`11px ui-sans-serif, system-ui, sans-serif`;for(let e of B){let t=z[e],r=t.node,i=ue(r.id);if(j&&!M(r.id)||P(r)&&!i||!(L?i:j?t.depth>.3:k==null?o.has(r.id)||r.degree>=Je&&t.depth>.55:A(r.id)))continue;n.globalAlpha=(r.id===k||r.id===I?1:.85)*(.4+.6*t.depth),n.fillStyle=f.content;let a=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(a,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,D.current=z.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth,updatedAtMs:e.node.updatedAtMs})),re.current=H,S=requestAnimationFrame(te)};return S=requestAnimationFrame(te),()=>{cancelAnimationFrame(S),y.disconnect(),x.disconnect()}},[v,g,w,T,b,C]);let $=(0,L.useCallback)((e,t)=>{let n=ge.current,r=xe.current,i=lt(w,le.current),a=Date.now(),o=null,s=-1;for(let c of D.current){if(n.active&&!(n.matches?.has(c.id)??!1)||!i(c.id)&&ct(c.updatedAtMs,r,a))continue;let l=e-c.sx,u=t-c.sy;l*l+u*u<=(c.sr+5)*(c.sr+5)&&c.depth>s&&(o=c.id,s=c.depth)}return o},[w]),ut=(0,L.useCallback)((e,t)=>{let n=null,r=1/0,i=-1;for(let a of re.current){let o=a.bx-a.ax,s=a.by-a.ay,c=o*o+s*s,l=0;c>0&&(l=((e-a.ax)*o+(t-a.ay)*s)/c,l=Math.max(0,Math.min(1,l)));let u=e-(a.ax+l*o),d=t-(a.ay+l*s),f=Math.sqrt(u*u+d*d);f>5||(f<r||f===r&&a.depth>i)&&(n={kind:a.kind,description:a.description},r=f,i=a.depth)}return n},[]),dt=e=>{let t=d.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},ft=(0,L.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=E.current;O.current=null,t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),pt=(0,L.useCallback)(e=>{let t=E.current;if(t.dragging){let n=e.clientX-t.lastX,r=e.clientY-t.lastY;(Math.abs(n)>2||Math.abs(r)>2)&&(t.moved=!0),t.yaw+=n*He,t.pitch=Math.max(-Ue,Math.min(Ue,t.pitch+r*He)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=dt(e),i=$(n,r);if(i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0),i)j(null);else{let e=ut(n,r);j(e?st(e):null)}},[$,ut]),mt=(0,L.useCallback)(e=>{let t=E.current;if(!t.dragging)return;t.dragging=!1,t.lastInteractAt=performance.now(),t.dirty=!0;let n=e.currentTarget;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),!t.moved){let{x:t,y:n}=dt(e),r=$(t,n);if(r){let e=g.nodes.find(e=>e.id===r);e&&Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else A(null)}},[$,g.nodes,Q]),ht=(0,L.useCallback)(()=>{let e=E.current;j(null),!(e.dragging||e.hoveredId==null)&&(e.hoveredId=null,e.dirty=!0,A(null))},[]);(0,L.useEffect)(()=>{let e=d.current;if(!e||!v)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[v]);let gt=(0,L.useMemo)(()=>{let e=new Set(g.nodes.map(e=>e.kind));return ze.filter(t=>e.has(t))},[g.nodes]),_t=(0,L.useMemo)(()=>g.edges.some(e=>e.kind===`learned`),[g.edges]),vt=(0,L.useMemo)(()=>g.edges.some(e=>e.kind!==`learned`),[g.edges]);(0,L.useEffect)(()=>{!(vt&&_t)&&(!Y.link||!Y.learned)&&X({link:!0,learned:!0})},[vt,_t,Y]);let yt=p.data?.kind===`ready`&&!ue,bt=g.nodes.length,xt=g.edges.length,St=new Set(b.values()).size,Ct=(e,t)=>`${e} ${t}${e===1?``:`s`}`,wt=yt?null:se??ce,Tt=v&&(g.nodes.length>it||!!B),Et=!!(i||s)||v,Dt;return Dt=p.isLoading?(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):p.isError?(0,K.jsx)(he,{title:l(`conceptGraphView.loadErrorTitle`),detail:l(`conceptGraphView.loadErrorDetail`)}):p.data?.kind===`unsupported`?(0,K.jsx)(Pe,{assistantId:e,onOpenThread:o}):v?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`canvas`,{ref:f,className:`absolute inset-0 h-full w-full`}),(g.nodes.length>it||J!==`all`)&&Se?(0,K.jsx)(`div`,{"data-graph-control":!0,className:`absolute left-4 top-4 z-10`,children:(0,K.jsx)(Fe,{value:J,onChange:ye})}):null,(0,K.jsx)(De,{nodeKinds:gt.filter(e=>e!==`concept`),coloredByTheme:gt.includes(`concept`),themes:S,hasLinks:vt,hasLearned:_t,...vt&&_t?{onToggleLink:()=>X(e=>({...e,link:!e.link})),onToggleLearned:()=>X(e=>({...e,learned:!e.learned})),linkActive:Y.link,learnedActive:Y.learned}:{}}),(0,K.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:l(`conceptGraphView.dragToRotateHint`)}),m?.truncated?(0,K.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full px-3 py-1 text-[11px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:l(`conceptGraphView.truncatedNotice`,{count:g.nodes.length})}):null,(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(ee,{}),onClick:()=>Oe(1.25),"aria-label":l(`conceptGraphView.zoomInAriaLabel`),tooltip:l(`conceptGraphView.zoomInAriaLabel`)}),(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(x,{}),onClick:()=>Oe(.8),"aria-label":l(`conceptGraphView.zoomOutAriaLabel`),tooltip:l(`conceptGraphView.zoomOutAriaLabel`)}),(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(h,{}),onClick:Ee,"aria-label":l(`conceptGraphView.resetViewAriaLabel`),tooltip:l(`conceptGraphView.resetViewAriaLabel`)})]})]}):(0,K.jsx)(he,{title:l(`conceptGraphView.emptyTitle`),detail:l(`conceptGraphView.emptyDetail`)}),(0,K.jsxs)(`div`,{className:`@container flex select-none flex-col overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`},children:[Et?(0,K.jsxs)(`div`,{className:`flex h-12 flex-none items-center gap-2 px-3`,style:{borderBottom:`1px solid var(--border-base)`},children:[i?(0,K.jsx)(M,{variant:`ghost`,iconOnly:n?(0,K.jsx)(te,{}):(0,K.jsx)(u,{}),onClick:i,"aria-label":l(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`),tooltip:l(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`)}):null,Tt?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(M,{variant:`ghost`,iconOnly:(0,K.jsx)(_,{}),onClick:()=>U(!0),"aria-label":l(`conceptGraphView.searchConceptsAriaLabel`),tooltip:l(`conceptGraphView.searchConceptsAriaLabel`),className:H?`hidden`:`@2xl:hidden`}),(0,K.jsxs)(`div`,{className:`relative ${H?``:`hidden @2xl:block`}`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full px-2.5 py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`},children:[(0,K.jsx)(_,{size:14,"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),(0,K.jsx)(`input`,{ref:fe,type:`text`,value:B,onChange:e=>{let t=e.target.value;t.trim()&&!W.current&&(z(`search`),W.current=!0),V(t)},onKeyDown:e=>{e.key===`Escape`?(B||H)&&(e.preventDefault(),e.stopPropagation(),V(``),U(!1)):e.key===`Enter`&&q.length>0&&(e.preventDefault(),Z(q[0].id))},placeholder:l(`conceptGraphView.searchConceptsPlaceholder`),"aria-label":l(`conceptGraphView.searchConceptsAriaLabel`),className:`w-36 bg-transparent text-[12px] outline-none placeholder:text-[var(--content-tertiary)]`,style:{color:`var(--content-default)`}}),B?(0,K.jsx)(`span`,{className:`text-[11px] tabular-nums`,style:{color:`var(--content-tertiary)`},children:G?.size??0}):null,B||H?(0,K.jsx)(`button`,{type:`button`,onClick:()=>{V(``),U(!1)},"aria-label":l(`conceptGraphView.clearSearchAriaLabel`),className:`flex items-center`,style:{color:`var(--content-tertiary)`},children:(0,K.jsx)(y,{size:13})}):null]}),B&&q.length>0?(0,K.jsx)(`ul`,{className:`absolute left-0 top-full z-30 mt-1.5 flex max-h-56 w-52 list-none flex-col overflow-y-auto rounded-xl py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 92%, transparent)`,border:`1px solid var(--border-base)`},children:q.map(e=>(0,K.jsx)(`li`,{children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>{Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs}),V(``),U(!1)},className:`block w-full truncate px-3 py-1 text-left text-[12px] hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-default)`},children:e.label})},e.id))}):null]})]}):null,(0,K.jsx)(`div`,{className:`pointer-events-none mx-auto min-w-0`,children:wt?(0,K.jsx)(`div`,{className:`truncate rounded-full px-3 py-1 text-[12px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-default)`},children:wt}):v&&!yt&&!H?(0,K.jsxs)(`div`,{className:`rounded-full px-3 py-1 text-[11px] tabular-nums`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,K.jsxs)(`span`,{className:`@max-md:hidden`,children:[Ct(bt,`neuron`),` · `,Ct(xt,`synapse`),` ·`,` `,Ct(St,`lobe`)]}),(0,K.jsxs)(`span`,{className:`hidden @max-md:inline`,children:[bt,` · `,xt,` · `,St]})]}):null}),s?(0,K.jsx)(`div`,{className:`flex-none`,children:s}):null]}):null,(0,K.jsxs)(`div`,{ref:d,className:`relative min-h-0 flex-1`,style:{backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:v?`grab`:`default`},onPointerDown:v?ft:void 0,onPointerMove:v?pt:void 0,onPointerUp:v?mt:void 0,onPointerCancel:v?mt:void 0,onPointerLeave:v?ht:void 0,children:[yt?(0,K.jsx)(Te,{onDismiss:de}):null,Dt,v&&F?(0,K.jsx)(we,{assistantId:e,node:F,trail:N,neighbors:Le,onTravel:Ie,onCrumb:Ne,onClose:Me,onOpenThread:o}):null]})]})}async function dt(e,t){let{data:n}=await j({path:{assistant_id:e},body:{content:t},throwOnError:!0});return n}function ft({open:e,onOpenChange:t,assistantId:n,onCreated:r}){let{t:o}=a(`intelligence`),s=i(),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(!1),f=(0,L.useCallback)(async()=>{let e=c.trim();if(e){d(!0);try{let i=await dt(n,e);if(!i.success){re.error(i.message||o(`createMemoryModal.saveError`));return}re.success(i.pendingNodeId?o(`createMemoryModal.savedFoundToast`):o(`createMemoryModal.savedPendingToast`)),l(``),t(!1),r?.(i.pendingNodeId),await Promise.all([s.invalidateQueries({queryKey:ne(n).queryKey}),s.invalidateQueries({queryKey:T(n).queryKey})])}catch(e){let t=e instanceof Error?e.message:o(`createMemoryModal.createError`);re.error(t)}finally{d(!1)}}},[n,c,t,r,s,o]);return(0,K.jsx)(D.Root,{open:e,onOpenChange:t,children:(0,K.jsxs)(D.Content,{size:`sm`,children:[(0,K.jsx)(D.Header,{children:(0,K.jsx)(D.Title,{children:o(`createMemoryModal.title`)})}),(0,K.jsx)(D.Body,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,K.jsx)(P,{label:o(`createMemoryModal.contentLabel`),placeholder:o(`createMemoryModal.contentPlaceholder`),value:c,onChange:e=>l(e.target.value),disabled:u,rows:3,fullWidth:!0}),(0,K.jsx)(ce,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:o(`createMemoryModal.helperText`)})]})}),(0,K.jsxs)(D.Footer,{children:[(0,K.jsx)(D.Close,{asChild:!0,children:(0,K.jsx)(M,{variant:`outlined`,disabled:u,children:o(`createMemoryModal.cancel`)})}),(0,K.jsx)(M,{variant:`primary`,onClick:f,disabled:u||!c.trim(),leftIcon:u?(0,K.jsx)(S,{className:`animate-spin`}):void 0,children:o(u?`createMemoryModal.creating`:`createMemoryModal.create`)})]})]})})}function pt({onOpenThread:e}){let{t}=a(`intelligence`),n=C(),[i,o]=(0,L.useState)(!1),s=(0,L.useRef)(null),c=r(ne(n)),l=r(T(n)),u=c.data?.kind===`ready`&&l.data?.kind===`ready`,d=(0,L.useRef)(!1);return(0,L.useEffect)(()=>{d.current||(d.current=!0,z(`opened`))},[]),(0,K.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,K.jsx)(ut,{assistantId:n,className:`h-full w-full`,onOpenThread:e,handleRef:s,headerAction:u?(0,K.jsx)(M,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(p,{}),onClick:()=>o(!0),children:t(`memoryPage.createMemory`)}):void 0}),u?(0,K.jsx)(ft,{open:i,onOpenChange:o,assistantId:n,onCreated:e=>{e&&s.current?.focusNode(e)}}):null]})}function mt(){let e=o();return(0,K.jsx)(pt,{onOpenThread:t=>{z(`chat_from_node`),E(e,{prompt:t})}},C())}export{mt as MemoryPageRoute};
|