@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
package/dist/assets/{use-invite-link-dialog-Cji1m5nT.js → use-invite-link-dialog-CYXgHF94.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,Zn as n,er as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{$n as s,Ki as c,qn as l,si as u}from"./icons-BjnVKAw1.js";import{Bd as d,Id as f,Jh as p,Jy as m,Kh as h,Ky as g,Ld as _,Lg as v,Qs as y,Sd as b,Vd as x,Wu as S,Xs as C,Yh as w,Ys as T,_ as ee,b as E,cy as D,db as O,dm as k,fb as A,g as te,nb as j,od as ne,qh as M,sd as re,sy as N,uy as P,v as ie,vo as F,y as ae,yo as I,zd as L}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,Zn as n,er as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{$n as s,Ki as c,qn as l,si as u}from"./icons-BjnVKAw1.js";import{Bd as d,Id as f,Jh as p,Jy as m,Kh as h,Ky as g,Ld as _,Lg as v,Qs as y,Sd as b,Vd as x,Wu as S,Xs as C,Yh as w,Ys as T,_ as ee,b as E,cy as D,db as O,dm as k,fb as A,g as te,nb as j,od as ne,qh as M,sd as re,sy as N,uy as P,v as ie,vo as F,y as ae,yo as I,zd as L}from"./index-BGc71lz7.js";import{t as R}from"./a2a-invite-B1TM1bCe.js";var z=e(o(),1),B=a(),V=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],H=`trusted_contacts`,U=new Set([`platform`,`a2a`]),W=new Set([`vellum`,`whatsapp`]);function G(e){return W.has(e)}function K(e){return t=>{g.error(t instanceof Error?t.message:e)}}function q(e){return typeof e==`string`&&V.includes(e)}function J(e){return U.has(e)}function Y(e){return(e?.policies??[]).filter(e=>!J(e.channelType)&&!G(e.channelType)).map(e=>({...e,policy:q(e.policy)?e.policy:`trusted_contacts`}))}async function X(e,t,n,r){if(J(t))throw new N(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await S({path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},throwOnError:!1});if(D(o,a,`Failed to save channel policy.`),!o.ok)throw new N(o.status,P(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new N(500,`Gateway returned no policy in response.`);return i.policy}var oe=`0.10.0`;function Z(){return k(oe)}function se(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function ce({open:e,assistantId:n,onClose:r}){let{t:a}=i(),[o,s]=(0,z.useState)(!1),d=(0,z.useRef)(null),p=(0,z.useRef)(!1),h=t({...f({path:{assistant_id:n}})}),g=(0,z.useRef)(h.mutate);(0,z.useLayoutEffect)(()=>{g.current=h.mutate});let _=(0,z.useRef)(h.reset);(0,z.useLayoutEffect)(()=>{_.current=h.reset}),(0,z.useEffect)(()=>{e&&!p.current&&g.current({path:{assistant_id:n}}),p.current=e},[e,n]),(0,z.useEffect)(()=>()=>{d.current&&clearTimeout(d.current)},[]);let y=(0,z.useCallback)(()=>{_.current(),s(!1),d.current&&=(clearTimeout(d.current),null),r()},[r]),b=(0,z.useCallback)(e=>{v(e,{errorMessage:`Couldn't copy the invite link.`,onCopied:()=>{s(!0),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>s(!1),2e3)}})},[]),x=h.isSuccess&&h.data.token?R({senderAssistantId:n,token:h.data.token}):``;return(0,B.jsx)(m.Root,{open:e,onOpenChange:e=>{e||y()},children:(0,B.jsxs)(m.Content,{size:`sm`,children:[(0,B.jsx)(m.Header,{children:(0,B.jsx)(m.Title,{children:a(`generateInviteLinkDialog.title`)})}),(0,B.jsx)(m.Body,{children:h.isPending?(0,B.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,B.jsx)(l,{className:`h-4 w-4 animate-spin`}),a(`generateInviteLinkDialog.creating`)]}):h.isError?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:a(`generateInviteLinkDialog.createFailed`)}),(0,B.jsx)(A,{variant:`outlined`,onClick:()=>h.mutate({path:{assistant_id:n}}),children:a(`generateInviteLinkDialog.tryAgain`)})]}):h.isSuccess?(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsx)(O,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:a(`generateInviteLinkDialog.shareHint`)}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(j,{type:`text`,readOnly:!0,value:x,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>b(x),"aria-label":a(`generateInviteLinkDialog.copyAriaLabel`),className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:o?(0,B.jsx)(c,{className:`h-4 w-4`}):(0,B.jsx)(u,{className:`h-4 w-4`})})]}),h.data.expiresAt!=null&&(0,B.jsx)(O,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:se(h.data.expiresAt)})]}):null}),(0,B.jsx)(m.Footer,{children:(0,B.jsx)(A,{variant:`outlined`,onClick:y,children:a(`generateInviteLinkDialog.done`)})})]})})}function le({onClick:e}){let{t}=i();return(0,B.jsx)(A,{variant:`outlined`,size:`compact`,leftIcon:(0,B.jsx)(s,{className:`h-3.5 w-3.5`}),onClick:e,children:t(`shareConnectionLinkButton.label`)})}function ue(e){let i=r(),a=Z(),o=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,z.useMemo)(()=>I(o),[o]),c=n({...F(o),enabled:a,select:Y}),l=(0,z.useMemo)(()=>{let e={};for(let t of c.data??[])C(t.channelType)&&(e[t.channelType]=t.policy);return e},[c.data]),u=t({mutationFn:({channelKey:t,policy:n})=>X(e,t,n),onSuccess:()=>i.invalidateQueries({queryKey:s}),onError:K(`Failed to save channel policy`)}),d=(0,z.useCallback)((e,t)=>{u.mutate({channelKey:e,policy:t})},[u]);return a?{policies:l,savingKey:u.isPending?u.variables?.channelKey??null:null,isLoading:c.isPending,isError:c.isError,onChange:d}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var de=`0.11.5-dev.202608242314.38e0513`;function fe(){return k(de)}var pe=`0.11.5-dev.202608252008.65007aa`;function me(){return k(pe)}var Q={slack:M,telegram:p,discord:h,email:void 0,phone:w},he={slack:`useAssistantChannels.setupPrompt.slack`,telegram:`useAssistantChannels.setupPrompt.telegram`,discord:`useAssistantChannels.setupPrompt.discord`,email:`useAssistantChannels.setupPrompt.email`,phone:`useAssistantChannels.setupPrompt.phone`},ge={slack:`useAssistantChannels.finishPrompt.slack`,telegram:`useAssistantChannels.finishPrompt.telegram`,discord:`useAssistantChannels.finishPrompt.discord`,email:`useAssistantChannels.finishPrompt.email`,phone:`useAssistantChannels.finishPrompt.phone`},$=15e3;function _e({assistantId:e,onStartSetupConversation:a}){let{t:o}=i(`common`),s=r(),c=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),l=(0,z.useMemo)(()=>re(c),[c]),u=fe(),f=me(),p=(0,z.useMemo)(()=>ve(u),[u]),m=n({...ne(c),enabled:!!e,refetchInterval:$,select:e=>e.snapshots}),h=(0,z.useMemo)(()=>ye(m.data??[],p,f),[m.data,p,f]),g=h.some(e=>e.key===`slack`&&e.configured),v=n({...L(c),enabled:g,select:e=>e.threadMode}),y=ue(e),b=(0,z.useCallback)(()=>s.invalidateQueries({queryKey:l}),[s,l]),S=t({mutationFn:async t=>{let n=Q[t];if(!n)throw Error(`No route clears ${t} credentials.`);await n({path:{assistant_id:e},throwOnError:!0})},onSettled:(t,n,r)=>{b(),r===`slack`&&E(s,e)}}),C=ee({assistantId:e}),w=ie({assistantId:e}),T=n({..._(c),enabled:!!e&&f}),D=ae({assistantId:e}),O=te({assistantId:e}),k=t({...x(),onSuccess:()=>{s.invalidateQueries({queryKey:d(c)})}}),A=w.mutate,j=(0,z.useCallback)(e=>{A(e)},[A]),M=C.mutate,N=(0,z.useCallback)(e=>{M(e)},[M]),P=D.mutate,F=(0,z.useCallback)((e,t)=>{P({botToken:e,appToken:t})},[P]),I=k.mutate,R=(0,z.useCallback)(t=>{I({path:{assistant_id:e},body:{threadMode:t}})},[I,e]),B=O.mutateAsync,V=(0,z.useCallback)(async(e,t)=>{await B({accountSid:e,authToken:t})},[B]),H=(0,z.useCallback)((e,t=!1)=>{a&&a(o(t?ge[e]:he[e]))},[a,o]),U=S.mutate,W=(0,z.useCallback)(e=>{U(e)},[U]);return{channels:h,pendingChannelKey:S.isPending?S.variables??null:null,slackThreadMode:v.data,slackThreadModePending:k.isPending,channelPolicies:y.policies,policySavingKey:y.savingKey,policiesLoading:y.isLoading,policiesError:y.isError,onChannelPolicyChange:y.onChange,onSetup:a?H:void 0,onDisconnect:W,onSaveTelegramToken:N,telegramSaveStatus:C.status,telegramSaveError:C.error?.message??null,onSaveDiscordToken:j,discordSaveStatus:w.status,discordSaveError:w.error?.message??null,discordInviteUrl:w.data?.data?.inviteUrl??T.data?.inviteUrl,onSaveSlackConfig:F,slackSaveStatus:D.status,slackSaveError:D.error?.message??null,onSlackThreadModeChange:R,onSaveTwilioCredentials:V}}function ve(e){return e?T:T.filter(e=>e!==`discord`)}function ye(e,t,n){let r=new Map;for(let t of e)r.set(t.channel,t);return t.map(e=>{let t=r.get(e);return{key:e,status:be(t),configured:t?.setupStatus===`ready`,canDisconnect:Q[e]!==void 0&&(e!==`discord`||n),canManualEntry:y[e].credentialForm!==void 0&&(e!==`discord`||n),health:t?.health,address:t?.channelHandle??void 0}})}function be(e){return e?e.ready?`ready`:e.setupStatus===`not_configured`?`not_configured`:`incomplete`:`not_configured`}function xe(e){let t=r(),[n,i]=(0,z.useState)(!1);return{isOpen:n,open:(0,z.useCallback)(()=>{i(!0)},[]),close:(0,z.useCallback)(()=>{i(!1),t.invalidateQueries({queryKey:b({path:{assistant_id:e}})})},[t,e])}}export{Z as a,K as c,ce as i,H as l,_e as n,X as o,le as r,Y as s,xe as t,V as u};
|
package/dist/assets/{use-platform-assistant-id-CIhRO2t6.js → use-platform-assistant-id-uGT6QKV1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{x as t}from"./react-BJ4PZBJN.js";import{qp as n}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{x as t}from"./react-BJ4PZBJN.js";import{qp as n}from"./index-BGc71lz7.js";var r=e(t(),1);function i(e,t){let[i,a]=(0,r.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,r.useEffect)(()=>{if(!t||!e){a({platformAssistantId:null,isLoading:!1,error:null});return}let r=!0;return a({platformAssistantId:null,isLoading:!0,error:null}),n(e).then(e=>{r&&a({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{r&&a({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!1}},[e,t]),i}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{_ as n,r,t as i,x as a}from"./react-BJ4PZBJN.js";import{qn as o}from"./icons-BjnVKAw1.js";import{$o as s,Jo as c,S_ as l,Yo as u,Yv as d,dp as f,pp as p,sp as m}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{_ as n,r,t as i,x as a}from"./react-BJ4PZBJN.js";import{qn as o}from"./icons-BjnVKAw1.js";import{$o as s,Jo as c,S_ as l,Yo as u,Yv as d,dp as f,pp as p,sp as m}from"./index-BGc71lz7.js";var h=i();function g(){let{t:e}=t(`account`);return(0,h.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`authWaitSpinner.loading`)})}var _=e(a(),1);function v({to:e}){let t=c(e);return(0,_.useEffect)(()=>{t&&s(e)},[t,e]),t?null:(0,h.jsx)(r,{to:e,replace:!0})}function y(){let[e]=n(),t=f(),r=p(),i=m(),a=e.get(`returnTo`),o=l(a,d.assistant);if(!a)return{kind:`proceed`,returnTo:null};if(r)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:o};if(u(o)){if(i===`pending`)return{kind:`wait`};if(i===`disabled`)return{kind:`proceed`,returnTo:o}}return{kind:`redirect`,node:(0,h.jsx)(v,{to:o})}}export{g as n,y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{Nn as i,i as a}from"./icons-BjnVKAw1.js";import{Bi as o,Oi as s,Ui as c,fb as l,ki as u}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{Nn as i,i as a}from"./icons-BjnVKAw1.js";import{Bi as o,Oi as s,Ui as c,fb as l,ki as u}from"./index-BGc71lz7.js";var d=e(r(),1),f=n(),p=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function m({open:e,onClose:n,children:r,title:i}){let{t:s}=t(),u=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useRef)(n);(0,d.useEffect)(()=>{h.current=n});let{dragOffset:g,isDragging:_,onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x}=o({enabled:e,onSwipeLeft:n});return c(e),(0,d.useEffect)(()=>{if(!e)return;m.current?.focus();let t=e=>{if(e.key===`Escape`&&!e.defaultPrevented){e.preventDefault(),h.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(p),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e]),e?(0,f.jsxs)(`div`,{ref:u,className:`fixed inset-0`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":i,children:[(0,f.jsx)(`button`,{type:`button`,"aria-label":s(`sideListDrawer.closeSidebarAria`),className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:n}),(0,f.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,transform:`translateX(${g}px)`,transition:_?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x,children:[(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,f.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:i}),(0,f.jsx)(l,{ref:m,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,f.jsx)(a,{"aria-hidden":!0}),onClick:n,"aria-label":s(`sideListDrawer.closeAria`),tintColor:`var(--content-tertiary)`})]}),(0,f.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function h({onClick:e}){let{t:n}=t();return(0,f.jsx)(l,{type:`button`,variant:`ghost`,iconOnly:(0,f.jsx)(i,{"aria-hidden":!0}),onClick:e,"aria-label":n(`sideListDrawer.openSidebarAria`),tintColor:`var(--content-secondary)`})}var g=640;function _(){let{ref:e,size:t}=s(),n=t.w<=0,r=u(n),i=(n?r.w:t.w)>=g,[a,o]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{i&&o(!1)},[i]),{paneRef:e,hasRoomForList:i,drawerOpen:a,openDrawer:(0,d.useCallback)(()=>o(!0),[]),closeDrawer:(0,d.useCallback)(()=>o(!1),[])}}export{m as n,h as r,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,er as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{N as s,Nt as c,pa as l,qa as u,xr as d,y as f}from"./icons-BjnVKAw1.js";import{Tg as p,Uf as m,Vt as h,ab as g,cy as _,sy as v,ub as y,uy as b}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,er as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{N as s,Nt as c,pa as l,qa as u,xr as d,y as f}from"./icons-BjnVKAw1.js";import{Tg as p,Uf as m,Vt as h,ab as g,cy as _,sy as v,ub as y,uy as b}from"./index-BGc71lz7.js";var x=u(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),S=e(o(),1),C=a(),w={vellum:x,clawhub:d,skillssh:s,custom:f,"assistant-memory":l};function T(e,t){switch(e){case`vellum`:return`Vellum`;case`clawhub`:return`Clawhub`;case`skillssh`:return`skills.sh`;case`custom`:return t(`skillOriginBadge.custom`);case`assistant-memory`:return t(`skillOriginBadge.assistantMemory`)}}function E({origin:e}){let{t}=i(`intelligence`),n=e in w?{label:T(e,t),icon:w[e]}:{label:e.replace(/-/g,` `),icon:c};return(0,C.jsx)(g,{tone:`neutral`,leftIcon:(0,S.createElement)(n.icon),className:`capitalize`,children:n.label})}function D(e){return e.kind===`installed`||e.kind===`bundled`}function O(e){return e.kind===`catalog`}function k({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,C.jsx)(y.Root,{children:(0,C.jsxs)(y.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,C.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,C.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,C.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function A(e,n,r){let{data:i,error:a,response:o}=await p({path:{assistant_id:e},body:r?{slug:n,version:r}:{slug:n},throwOnError:!1}),s=t(`installSkill.failureMessage`,{ns:`intelligence`});if(_(o,a,s),!o.ok)throw new v(o.status,b(a,o,s));return i??{ok:!0}}function j(e,{onRemoved:t}={}){let i=r(),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(null),d=(0,S.useCallback)(()=>{h(i,e)},[e,i]),f=n({mutationFn:t=>A(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),d()}}),p=m({onMutate:e=>c(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{c(null),d()}}),g=(0,S.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),_=(0,S.useCallback)(e=>{u(e)},[]),v=(0,S.useCallback)(()=>{l&&(p.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,p]),y=(0,S.useCallback)(()=>{u(null)},[]);return{handleInstall:g,handleRemove:_,isInstallingSkill:(0,S.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,S.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:v,cancelRemove:y}}export{E as a,D as i,k as n,x as o,O as r,j as t};
|
package/dist/assets/{use-skill-detail-files-BIz84eHS.js → use-skill-detail-files-BU9E_tqV.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,j as n}from"./vendor-yoekmcrB.js";import{n as r,t as i,x as a}from"./react-BJ4PZBJN.js";import{Ia as o}from"./icons-BjnVKAw1.js";import{Yv as s,df as c,ha as l,uf as u}from"./index-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,j as n}from"./vendor-yoekmcrB.js";import{n as r,t as i,x as a}from"./react-BJ4PZBJN.js";import{Ia as o}from"./icons-BjnVKAw1.js";import{Yv as s,df as c,ha as l,uf as u}from"./index-BGc71lz7.js";var d=i();function f({skill:e,className:t,onNavigate:i}){let{t:a}=n();return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,d.jsxs)(r,{to:s.conversation(e.sourceConversationId),onClick:i,className:l(`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] hover:underline`,t),children:[a(`skillLineageLink.label`),(0,d.jsx)(o,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var p=e(a(),1);function m(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function h(e,n){let[r,i]=(0,p.useState)(null),a=t({...c({path:{assistant_id:e??``,id:n}}),select:e=>e??null,enabled:!!e}),o=(0,p.useMemo)(()=>a.data?.files??[],[a.data]),s=(0,p.useMemo)(()=>o.find(e=>e.name===`SKILL.md`),[o]),l=m(o,r),d=t({...u({path:{assistant_id:e??``,id:n},query:{path:l??``}}),select:e=>e??null,enabled:!!(e&&l)});return{fileEntries:o,skillMd:s,selectedPath:r,setSelectedPath:i,activePath:l,activeFile:o.find(e=>e.path===l),isFilesLoading:a.isLoading,isFilesPending:a.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{f as n,h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{um as e}from"./index-BGc71lz7.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{x as t}from"./react-BJ4PZBJN.js";import{co as n,gr as r}from"./index-BGc71lz7.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{if(e)return t.find(t=>n(t).includes(e))},[t,e])}export{a as t};
|
|
@@ -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{_ as i,n as a,r as o,t as s,x as c}from"./react-BJ4PZBJN.js";import{Fa as l,ur as u}from"./icons-BjnVKAw1.js";import{$ as d,Aa as f,Fa as p,Gl as m,Hy as h,Ia as g,It as _,Iy as v,Jy as y,Ky as b,La as x,Ma as S,Mt as C,Na as w,Op as T,Pa as E,Pv as D,Sa as O,Xv as k,Xy as A,Yv as j,Yy as M,_a as N,ba as ee,bf as P,es as F,et as te,fb as I,gy as ne,ja as re,jh as ie,jt as ae,jy as oe,ld as se,mc as L,my as ce,pc as le,ql as ue,rs as de,rt as fe,tb as R,ts as pe,tt as me,ud as z,va as he,xa as ge,ya as _e,zt as ve}from"./index-DA0GBGXJ.js";import{t as B}from"./detail-card-KqTFI_aO.js";import{t as ye}from"./stt-language-picker-modal-BlX9Ngse.js";import{t as be}from"./use-hotkey-recorder-D2r7fJ8G.js";var V=e(c(),1),H=s();function U({label:e,selected:t,recording:n=!1,onClick:r}){return(0,H.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,H.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,H.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function xe(){let{t:e}=r(`settings`),{available:t,currentCode:n,configuredProviderId:i,selectLanguage:a,selecting:o}=me(d()),[s,c]=(0,V.useState)(!1);return t?(0,H.jsxs)(B,{title:e(`listeningLanguageCard.title`),subtitle:e(`listeningLanguageCard.subtitle`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,H.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:fe(n,i)}),(0,H.jsx)(I,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,H.jsx)(ye,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:n,configuredProviderId:i,selectLanguage:a,selecting:o})]}):null}var W=`flux`;function Se(e){return e===`vellum`}function Ce(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function we(){let{t:e}=r(`settings`),i=n(),a=T(),o=d(),[s,c]=(0,V.useState)(!1),{data:l}=t({...se({path:{assistant_id:o}}),enabled:a,staleTime:3e4}),u=l?.services?.stt,{data:f}=t({...P({path:{assistant_id:o}}),enabled:a,staleTime:5*6e4}),p=u?.roles?.liveVoice?.provider??u?.provider,m=f?.providers?.find(e=>e.id===p),h=m?.modelFamilies?.includes(W)??!1;if(!p||!h)return null;let g=Ce(u?.language,m?.turnDetectionLanguages),_=u?.roles?.liveVoice,v=_?_.model:u?.providers?.[p]?.model,y=v===void 0?Se(p)&&g:v===W,x=async t=>{c(!0);try{let{response:e}=await ie({path:{assistant_id:o},body:{services:{stt:{roles:{liveVoice:{provider:p,model:t?W:m?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await i.invalidateQueries({queryKey:z({path:{assistant_id:o}})})}catch{b.error(e(`voicePage.turnDetectionFailed`))}finally{c(!1)}};return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`voicePage.turnDetectionLabel`)}),(0,H.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(g?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,H.jsx)(R,{checked:y,disabled:s||!g&&!y,onChange:e=>void x(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}var G=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,K=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,Te=2;function q(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),x(t)}function Ee(){let{t:e}=r(`settings`),t=S(),n=N(e=>e.registered)===!1,[i,a]=(0,V.useState)(null),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)([]),[d,p]=(0,V.useState)(!1),h=(0,V.useRef)(null),_=(0,V.useCallback)(async()=>{a((await m())?.inputMonitoring.status??null)},[]);(0,V.useEffect)(()=>{_();let e=setInterval(()=>{_()},2e3);return()=>{clearInterval(e)}},[_]);let v=(0,V.useCallback)(()=>{ue(`inputMonitoring`).then(_)},[_]),y=(0,V.useCallback)(e=>{w(e),s(!1),l([]),p(!1),e.kind!==`off`&&v()},[v]),b=(0,V.useCallback)(()=>{s(!0),l([]),p(!1),requestAnimationFrame(()=>{h.current?.focus()})},[]),x=(0,V.useCallback)(()=>{s(!1),l([]),p(!1)},[]),C=(0,V.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){x();return}l(q(e))},[x]),T=(0,V.useCallback)(e=>{if(o&&!(q(e).length>0)){if(c.length>=Te){y({kind:`modifierOnly`,modifiers:c});return}l([]),p(!0)}},[y,c,o]);(0,V.useEffect)(()=>{if(!o)return;let e=e=>{h.current&&!h.current.contains(e.target)&&x()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[x,o]);let E=re(t),D=t.kind===`modifierOnly`&&!E,O=t.kind!==`off`,k=t.kind===`modifierOnly`&&t.modifiers.includes(`control`)&&t.modifiers.includes(`option`),A=i===`granted`;return(0,H.jsx)(B,{title:e(`voiceKeyCard.title`),subtitle:e(`voiceKeyCard.subtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{ref:h,tabIndex:o?0:-1,onKeyDown:o?C:void 0,onKeyUp:o?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[(0,H.jsx)(U,{label:e(`voiceKeyCard.fnLabel`),selected:E,onClick:()=>y(f)}),o?(0,H.jsx)(U,{label:c.length>0?g(c):e(`voiceKeyCard.recordingPrompt`),selected:!0,recording:!0,onClick:x}):(0,H.jsx)(U,{label:t.kind===`modifierOnly`&&!E?g(t.modifiers):e(`voiceKeyCard.customLabel`),selected:D,onClick:b}),(0,H.jsx)(U,{label:e(`voiceKeyCard.offLabel`),selected:!O,onClick:()=>y({kind:`off`})})]}),d&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.customHint`)})]}),O&&i!==null&&!A&&(0,H.jsxs)(`div`,{className:`flex flex-col items-start gap-2 pt-1`,children:[(0,H.jsxs)(`div`,{className:K,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.needsInputMonitoring`)})]}),(0,H.jsx)(I,{variant:`outlined`,onClick:v,children:e(`voiceKeyCard.allowInputMonitoring`)})]}),O&&A&&n&&(0,H.jsxs)(`div`,{className:K,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.refusedNote`)})]}),E&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.fnDictationNote`)})]}),k&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.voiceOverNote`)})]})]})})}function De({assistantId:e,open:t,onOpenChange:n}){return(0,H.jsx)(y.Root,{open:t,onOpenChange:n,children:(0,H.jsx)(y.Content,{size:`md`,children:(0,H.jsx)(Oe,{assistantId:e,onDone:()=>n(!1)})})})}function Oe({assistantId:e,onDone:t}){let{t:n}=r(),{available:i,currentModel:a,selectModel:o,selecting:s}=_(e);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(y.Header,{children:[(0,H.jsx)(y.Title,{children:n(`voicePickerModal.title`)}),i&&(0,H.jsx)(y.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,H.jsx)(y.Body,{children:(0,H.jsx)(C,{assistantId:e,filterBySource:!0,value:a,onChange:o,autoScrollToSelected:!0})}),(0,H.jsxs)(y.Footer,{className:`items-center justify-between gap-3`,children:[(0,H.jsx)(te,{}),(0,H.jsx)(I,{variant:`primary`,onClick:t,disabled:s,className:`shrink-0`,children:n(`voicePickerModal.done`)})]})]})}function ke(){let{t:e}=r(`settings`),t=d(),{available:n,settled:i,voices:a,currentModel:o}=_(t),s=a.find(e=>e.model===o)??a[0],[c,l]=(0,V.useState)(!1),u=D.use.name(),f=u?e(`voicePickerCard.titleWithName`,{name:u}):e(`voicePickerCard.title`);return i?n&&s?(0,H.jsxs)(B,{title:f,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,H.jsx)(ae,{description:s.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,H.jsx)(I,{variant:`outlined`,onClick:()=>l(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,H.jsx)(De,{assistantId:t,open:c,onOpenChange:l})]}):(0,H.jsx)(B,{title:f,children:(0,H.jsx)(ve,{})}):(0,H.jsx)(B,{title:f,children:(0,H.jsx)(oe,{as:`span`,role:`status`,"aria-label":e(`voicePickerCard.loadingAria`),className:`block h-9 w-48`})})}var Ae=[{prefKey:`showUserTranscript`,label:`Show the words you say`,description:`Live transcription while you speak.`},{prefKey:`showAssistantTranscript`,label:`Show the words the assistant says`,description:`Text alongside the spoken response.`}],je=`We recommend keeping both off to start. It feels more like a real conversation.`;function Me(){let{t:e}=r();return(0,H.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`voiceTranscriptToggles.recommendedOff`)})}function Ne({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,H.jsx)(Me,{}):null]}),t?(0,H.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,H.jsx)(R,{checked:r,onChange:i,"aria-label":e})]})}function Pe({showDescription:e=!1,showRecommendedBadge:t=!1}){let{t:n}=r(),i=L.use.showUserTranscript(),a=L.use.showAssistantTranscript(),o=L.use.setShowUserTranscript(),s=L.use.setShowAssistantTranscript(),c={showUserTranscript:{checked:i,onChange:o},showAssistantTranscript:{checked:a,onChange:s}},l=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptLabel`:`voiceTranscriptToggles.assistantTranscriptLabel`,t),u=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptDescription`:`voiceTranscriptToggles.assistantTranscriptDescription`,t);return(0,H.jsx)(H.Fragment,{children:Ae.map(n=>{let r=c[n.prefKey];return(0,H.jsx)(Ne,{label:l(n.prefKey,n.label),description:e?u(n.prefKey,n.description):void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var J=`text-body-small-default text-[var(--content-tertiary)]`;function Fe(){let[e]=i(),t=e.get(`tab`);return t===`sounds`?(0,H.jsx)(o,{replace:!0,to:j.settings.sounds}):t===`services`?(0,H.jsx)(o,{replace:!0,to:j.settings.ai}):(0,H.jsx)(Ie,{})}function Ie(){let{t:e}=r(`settings`);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,H.jsxs)(Y,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,H.jsx)(ke,{}),(0,H.jsx)(Le,{})]}),(0,H.jsxs)(Y,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,H.jsx)(Re,{}),(0,H.jsx)(xe,{}),de()?(0,H.jsx)(Ee,{}):(0,H.jsx)(Ve,{}),(0,H.jsx)(He,{})]}),(0,H.jsx)(Y,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,H.jsx)(X,{})})]})}function Le(){let{t:e}=r(`settings`),{available:t}=_(d());return t?(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:[(0,H.jsx)(u,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,H.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,H.jsxs)(a,{to:`${j.settings.ai}#text-to-speech`,className:`inline-flex items-center gap-1 text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 hover:text-[var(--content-default)]`,children:[e(`voicePage.speechServicesBannerLink`),(0,H.jsx)(l,{className:`h-3 w-3`})]})]}):null}function Y({heading:e,description:t,children:n}){return(0,H.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function X(){let{t:e}=r(`settings`);return(0,H.jsx)(B,{title:e(`voicePage.captionsTitle`),subtitle:e(`voicePage.captionsSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(Pe,{showDescription:!0}),(0,H.jsx)(`p`,{className:`${J} pt-1`,children:e(`voicePage.captionsRecommendation`,je)})]})})}var Z=``;function Re(){let{t:e}=r(`settings`),[t,n]=(0,V.useState)([]),[i,a]=(0,V.useState)(!1),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(()=>pe()),u=(0,V.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);a(e.length>0&&e.every(e=>!e.label)),n(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`)),s(e.length===0||e.some(e=>!!e.label))}catch{n([]),a(!1),s(!1)}},[]),d=(0,V.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}u()},[u]);(0,V.useEffect)(()=>{u();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void u();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[u]);let f=(0,V.useMemo)(()=>{let n=t.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==Z&&!n.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...n,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[t,c,o,e]),p=(0,V.useCallback)(e=>{l(e),e===Z?ce(F):ne(F,e)},[]),m=c===Z?null:c;return(0,H.jsx)(B,{title:e(`voicePage.microphoneTitle`),subtitle:e(`voicePage.microphoneSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(v,{options:f,value:m,onChange:p,onSelectNone:()=>p(Z),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),i&&(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,H.jsx)(I,{variant:`outlined`,onClick:d,children:e(`voicePage.allowMicrophoneAccess`)}),(0,H.jsx)(`span`,{className:J,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var ze=new Set([`Control`,`Alt`,`Shift`,`Meta`]),Q=`toggleVoice`,Be=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function Ve(){let{t:e}=r(`settings`),t=k(),[n,i]=(0,V.useState)(()=>ee()),[a,o]=(0,V.useState)(!1),[s,c]=(0,V.useState)([]),[l,d]=(0,V.useState)(!1),f=(0,V.useRef)(null),m=(0,V.useMemo)(()=>{let e=_e();return[{label:E(e),activator:e}]},[]),_=n.kind!==`off`,v=(0,V.useCallback)(e=>{i(e),O(e),o(!1),c([]),d(!1)},[]),y=be({onBound:()=>v({kind:`off`})}),b=y.catalog.find(e=>e.key===Q)?.accelerator??``,S=y.recordingKey===Q,C=ge()?Be:[],w=(0,V.useCallback)(e=>{v(e),y.removeHotkey(Q)},[y,v]),T=(0,V.useCallback)(()=>{v({kind:`off`}),y.removeHotkey(Q)},[y,v]),D=(0,V.useCallback)(()=>{o(!0),c([]),d(!1),requestAnimationFrame(()=>{f.current?.focus()})},[]),A=(0,V.useCallback)(()=>{o(!1),c([]),d(!1)},[]),j=(0,V.useCallback)(e=>{let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t},[]),M=(0,V.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){A();return}let t=j(e);if(ze.has(e.key)){d(!1),c(x(t));return}if(t.length===0){d(!0);return}v({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:x(t)})},[A,j,v]),N=(0,V.useCallback)(e=>{a&&j(e).length===0&&s.length>0&&(c([]),d(!0))},[j,a,s]);(0,V.useEffect)(()=>{if(!a)return;let e=e=>{f.current&&!f.current.contains(e.target)&&A()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[A,a]);let P=_&&!m.some(e=>p(e.activator,n));return t?(0,H.jsx)(B,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitleDesktop`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[C.map(e=>(0,H.jsx)(U,{label:e.label,selected:p(e.activator,n),onClick:()=>w(e.activator)},e.label)),(0,H.jsx)(U,{label:S?e(`voicePage.recordingPrompt`):b?(0,H.jsx)(h,{accelerator:b}):e(`voicePage.customKey`),selected:b!==``,recording:S,onClick:S?y.stopRecording:()=>y.startRecording(Q)}),(0,H.jsx)(U,{label:e(`voicePage.offKeyLabel`),selected:n.kind===`off`&&!b&&!S,onClick:T})]}),y.conflict?.key===Q&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:y.conflict.label})})]})]})}):(0,H.jsx)(B,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,H.jsx)(R,{checked:_,onChange:e=>{v(e?he():{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),_&&(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(`span`,{className:J,children:e(`voicePage.activationKeyLabel`)}),(0,H.jsxs)(`div`,{ref:f,tabIndex:a?0:-1,onKeyDown:a?M:void 0,onKeyUp:a?N:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[m.map(e=>(0,H.jsx)(U,{label:e.label,selected:p(e.activator,n),onClick:()=>v(e.activator)},e.label)),a?(0,H.jsx)(U,{label:s.length>0?g(s):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:A}):(0,H.jsx)(U,{label:P?E(n):e(`voicePage.customKey`),selected:P,onClick:D})]}),l&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),_&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function He(){let{t:e}=r(`settings`),t=L.use.pauseBeforeReplyMs(),n=L.use.setPauseBeforeReplyMs(),i=L.use.interruptSensitivity(),a=L.use.setInterruptSensitivity(),o=(0,V.useMemo)(()=>[{value:`low`,label:e(`voicePage.interruptSensitivityLow`)},{value:`medium`,label:e(`voicePage.interruptSensitivityMedium`)},{value:`high`,label:e(`voicePage.interruptSensitivityHigh`)}],[e]),s=t!==null||i!==null;return(0,H.jsx)(B,{title:e(`voicePage.turnTakingTitle`),subtitle:e(`voicePage.turnTakingSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,H.jsx)(we,{}),(0,H.jsx)($,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:t===null,children:(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(M,{value:(t??1200)/1e3,onValueChange:e=>{typeof e==`number`&&n(Math.round(e*1e3))},min:500/1e3,max:le/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":e(`voicePage.pauseBeforeReplyAriaLabel`)})})}),(0,H.jsx)($,{label:e(`voicePage.interruptSensitivityLabel`),description:e(`voicePage.interruptSensitivityDescription`),isDefault:i===null,children:(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(A,{items:o,value:i??`medium`,onChange:a,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),s&&(0,H.jsx)(`div`,{children:(0,H.jsx)(I,{variant:`outlined`,onClick:()=>{n(null),a(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function $({label:e,description:t,isDefault:n,children:i}){let{t:a}=r(`settings`);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,H.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:a(`voicePage.defaultBadge`)})]}),(0,H.jsx)(`p`,{className:J,children:t}),i]})}export{Fe as VoicePage};
|
|
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{_ as i,n as a,r as o,t as s,x as c}from"./react-BJ4PZBJN.js";import{Fa as l,ur as u}from"./icons-BjnVKAw1.js";import{$ as d,Aa as f,Fa as p,Gl as m,Hy as h,Ia as g,It as _,Iy as v,Jy as y,Ky as b,La as x,Ma as S,Mt as C,Na as w,Op as T,Pa as E,Pv as D,Sa as O,Xv as k,Xy as A,Yv as j,Yy as M,_a as N,ba as ee,bf as P,es as F,et as te,fb as I,gy as ne,ja as re,jh as ie,jt as ae,jy as oe,ld as se,mc as L,my as ce,pc as le,ql as ue,rs as de,rt as fe,tb as R,ts as pe,tt as me,ud as z,va as he,xa as ge,ya as _e,zt as ve}from"./index-BGc71lz7.js";import{t as B}from"./detail-card-Eweuo5tS.js";import{t as ye}from"./stt-language-picker-modal-DtomTRfu.js";import{t as be}from"./use-hotkey-recorder-Dtp0Q3Pl.js";var V=e(c(),1),H=s();function U({label:e,selected:t,recording:n=!1,onClick:r}){return(0,H.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,H.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,H.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function xe(){let{t:e}=r(`settings`),{available:t,currentCode:n,configuredProviderId:i,selectLanguage:a,selecting:o}=me(d()),[s,c]=(0,V.useState)(!1);return t?(0,H.jsxs)(B,{title:e(`listeningLanguageCard.title`),subtitle:e(`listeningLanguageCard.subtitle`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,H.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:fe(n,i)}),(0,H.jsx)(I,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,H.jsx)(ye,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:n,configuredProviderId:i,selectLanguage:a,selecting:o})]}):null}var W=`flux`;function Se(e){return e===`vellum`}function Ce(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function we(){let{t:e}=r(`settings`),i=n(),a=T(),o=d(),[s,c]=(0,V.useState)(!1),{data:l}=t({...se({path:{assistant_id:o}}),enabled:a,staleTime:3e4}),u=l?.services?.stt,{data:f}=t({...P({path:{assistant_id:o}}),enabled:a,staleTime:5*6e4}),p=u?.roles?.liveVoice?.provider??u?.provider,m=f?.providers?.find(e=>e.id===p),h=m?.modelFamilies?.includes(W)??!1;if(!p||!h)return null;let g=Ce(u?.language,m?.turnDetectionLanguages),_=u?.roles?.liveVoice,v=_?_.model:u?.providers?.[p]?.model,y=v===void 0?Se(p)&&g:v===W,x=async t=>{c(!0);try{let{response:e}=await ie({path:{assistant_id:o},body:{services:{stt:{roles:{liveVoice:{provider:p,model:t?W:m?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await i.invalidateQueries({queryKey:z({path:{assistant_id:o}})})}catch{b.error(e(`voicePage.turnDetectionFailed`))}finally{c(!1)}};return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`voicePage.turnDetectionLabel`)}),(0,H.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(g?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,H.jsx)(R,{checked:y,disabled:s||!g&&!y,onChange:e=>void x(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}var G=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,K=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,Te=2;function q(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),x(t)}function Ee(){let{t:e}=r(`settings`),t=S(),n=N(e=>e.registered)===!1,[i,a]=(0,V.useState)(null),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)([]),[d,p]=(0,V.useState)(!1),h=(0,V.useRef)(null),_=(0,V.useCallback)(async()=>{a((await m())?.inputMonitoring.status??null)},[]);(0,V.useEffect)(()=>{_();let e=setInterval(()=>{_()},2e3);return()=>{clearInterval(e)}},[_]);let v=(0,V.useCallback)(()=>{ue(`inputMonitoring`).then(_)},[_]),y=(0,V.useCallback)(e=>{w(e),s(!1),l([]),p(!1),e.kind!==`off`&&v()},[v]),b=(0,V.useCallback)(()=>{s(!0),l([]),p(!1),requestAnimationFrame(()=>{h.current?.focus()})},[]),x=(0,V.useCallback)(()=>{s(!1),l([]),p(!1)},[]),C=(0,V.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){x();return}l(q(e))},[x]),T=(0,V.useCallback)(e=>{if(o&&!(q(e).length>0)){if(c.length>=Te){y({kind:`modifierOnly`,modifiers:c});return}l([]),p(!0)}},[y,c,o]);(0,V.useEffect)(()=>{if(!o)return;let e=e=>{h.current&&!h.current.contains(e.target)&&x()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[x,o]);let E=re(t),D=t.kind===`modifierOnly`&&!E,O=t.kind!==`off`,k=t.kind===`modifierOnly`&&t.modifiers.includes(`control`)&&t.modifiers.includes(`option`),A=i===`granted`;return(0,H.jsx)(B,{title:e(`voiceKeyCard.title`),subtitle:e(`voiceKeyCard.subtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{ref:h,tabIndex:o?0:-1,onKeyDown:o?C:void 0,onKeyUp:o?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[(0,H.jsx)(U,{label:e(`voiceKeyCard.fnLabel`),selected:E,onClick:()=>y(f)}),o?(0,H.jsx)(U,{label:c.length>0?g(c):e(`voiceKeyCard.recordingPrompt`),selected:!0,recording:!0,onClick:x}):(0,H.jsx)(U,{label:t.kind===`modifierOnly`&&!E?g(t.modifiers):e(`voiceKeyCard.customLabel`),selected:D,onClick:b}),(0,H.jsx)(U,{label:e(`voiceKeyCard.offLabel`),selected:!O,onClick:()=>y({kind:`off`})})]}),d&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.customHint`)})]}),O&&i!==null&&!A&&(0,H.jsxs)(`div`,{className:`flex flex-col items-start gap-2 pt-1`,children:[(0,H.jsxs)(`div`,{className:K,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.needsInputMonitoring`)})]}),(0,H.jsx)(I,{variant:`outlined`,onClick:v,children:e(`voiceKeyCard.allowInputMonitoring`)})]}),O&&A&&n&&(0,H.jsxs)(`div`,{className:K,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.refusedNote`)})]}),E&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.fnDictationNote`)})]}),k&&(0,H.jsxs)(`div`,{className:G,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voiceKeyCard.voiceOverNote`)})]})]})})}function De({assistantId:e,open:t,onOpenChange:n}){return(0,H.jsx)(y.Root,{open:t,onOpenChange:n,children:(0,H.jsx)(y.Content,{size:`md`,children:(0,H.jsx)(Oe,{assistantId:e,onDone:()=>n(!1)})})})}function Oe({assistantId:e,onDone:t}){let{t:n}=r(),{available:i,currentModel:a,selectModel:o,selecting:s}=_(e);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(y.Header,{children:[(0,H.jsx)(y.Title,{children:n(`voicePickerModal.title`)}),i&&(0,H.jsx)(y.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,H.jsx)(y.Body,{children:(0,H.jsx)(C,{assistantId:e,filterBySource:!0,value:a,onChange:o,autoScrollToSelected:!0})}),(0,H.jsxs)(y.Footer,{className:`items-center justify-between gap-3`,children:[(0,H.jsx)(te,{}),(0,H.jsx)(I,{variant:`primary`,onClick:t,disabled:s,className:`shrink-0`,children:n(`voicePickerModal.done`)})]})]})}function ke(){let{t:e}=r(`settings`),t=d(),{available:n,settled:i,voices:a,currentModel:o}=_(t),s=a.find(e=>e.model===o)??a[0],[c,l]=(0,V.useState)(!1),u=D.use.name(),f=u?e(`voicePickerCard.titleWithName`,{name:u}):e(`voicePickerCard.title`);return i?n&&s?(0,H.jsxs)(B,{title:f,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,H.jsx)(ae,{description:s.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,H.jsx)(I,{variant:`outlined`,onClick:()=>l(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,H.jsx)(De,{assistantId:t,open:c,onOpenChange:l})]}):(0,H.jsx)(B,{title:f,children:(0,H.jsx)(ve,{})}):(0,H.jsx)(B,{title:f,children:(0,H.jsx)(oe,{as:`span`,role:`status`,"aria-label":e(`voicePickerCard.loadingAria`),className:`block h-9 w-48`})})}var Ae=[{prefKey:`showUserTranscript`,label:`Show the words you say`,description:`Live transcription while you speak.`},{prefKey:`showAssistantTranscript`,label:`Show the words the assistant says`,description:`Text alongside the spoken response.`}],je=`We recommend keeping both off to start. It feels more like a real conversation.`;function Me(){let{t:e}=r();return(0,H.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`voiceTranscriptToggles.recommendedOff`)})}function Ne({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,H.jsx)(Me,{}):null]}),t?(0,H.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,H.jsx)(R,{checked:r,onChange:i,"aria-label":e})]})}function Pe({showDescription:e=!1,showRecommendedBadge:t=!1}){let{t:n}=r(),i=L.use.showUserTranscript(),a=L.use.showAssistantTranscript(),o=L.use.setShowUserTranscript(),s=L.use.setShowAssistantTranscript(),c={showUserTranscript:{checked:i,onChange:o},showAssistantTranscript:{checked:a,onChange:s}},l=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptLabel`:`voiceTranscriptToggles.assistantTranscriptLabel`,t),u=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptDescription`:`voiceTranscriptToggles.assistantTranscriptDescription`,t);return(0,H.jsx)(H.Fragment,{children:Ae.map(n=>{let r=c[n.prefKey];return(0,H.jsx)(Ne,{label:l(n.prefKey,n.label),description:e?u(n.prefKey,n.description):void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var J=`text-body-small-default text-[var(--content-tertiary)]`;function Fe(){let[e]=i(),t=e.get(`tab`);return t===`sounds`?(0,H.jsx)(o,{replace:!0,to:j.settings.sounds}):t===`services`?(0,H.jsx)(o,{replace:!0,to:j.settings.ai}):(0,H.jsx)(Ie,{})}function Ie(){let{t:e}=r(`settings`);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,H.jsxs)(Y,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,H.jsx)(ke,{}),(0,H.jsx)(Le,{})]}),(0,H.jsxs)(Y,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,H.jsx)(Re,{}),(0,H.jsx)(xe,{}),de()?(0,H.jsx)(Ee,{}):(0,H.jsx)(Ve,{}),(0,H.jsx)(He,{})]}),(0,H.jsx)(Y,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,H.jsx)(X,{})})]})}function Le(){let{t:e}=r(`settings`),{available:t}=_(d());return t?(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:[(0,H.jsx)(u,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,H.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,H.jsxs)(a,{to:`${j.settings.ai}#text-to-speech`,className:`inline-flex items-center gap-1 text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 hover:text-[var(--content-default)]`,children:[e(`voicePage.speechServicesBannerLink`),(0,H.jsx)(l,{className:`h-3 w-3`})]})]}):null}function Y({heading:e,description:t,children:n}){return(0,H.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function X(){let{t:e}=r(`settings`);return(0,H.jsx)(B,{title:e(`voicePage.captionsTitle`),subtitle:e(`voicePage.captionsSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(Pe,{showDescription:!0}),(0,H.jsx)(`p`,{className:`${J} pt-1`,children:e(`voicePage.captionsRecommendation`,je)})]})})}var Z=``;function Re(){let{t:e}=r(`settings`),[t,n]=(0,V.useState)([]),[i,a]=(0,V.useState)(!1),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(()=>pe()),u=(0,V.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);a(e.length>0&&e.every(e=>!e.label)),n(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`)),s(e.length===0||e.some(e=>!!e.label))}catch{n([]),a(!1),s(!1)}},[]),d=(0,V.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}u()},[u]);(0,V.useEffect)(()=>{u();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void u();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[u]);let f=(0,V.useMemo)(()=>{let n=t.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==Z&&!n.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...n,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[t,c,o,e]),p=(0,V.useCallback)(e=>{l(e),e===Z?ce(F):ne(F,e)},[]),m=c===Z?null:c;return(0,H.jsx)(B,{title:e(`voicePage.microphoneTitle`),subtitle:e(`voicePage.microphoneSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(v,{options:f,value:m,onChange:p,onSelectNone:()=>p(Z),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),i&&(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,H.jsx)(I,{variant:`outlined`,onClick:d,children:e(`voicePage.allowMicrophoneAccess`)}),(0,H.jsx)(`span`,{className:J,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var ze=new Set([`Control`,`Alt`,`Shift`,`Meta`]),Q=`toggleVoice`,Be=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function Ve(){let{t:e}=r(`settings`),t=k(),[n,i]=(0,V.useState)(()=>ee()),[a,o]=(0,V.useState)(!1),[s,c]=(0,V.useState)([]),[l,d]=(0,V.useState)(!1),f=(0,V.useRef)(null),m=(0,V.useMemo)(()=>{let e=_e();return[{label:E(e),activator:e}]},[]),_=n.kind!==`off`,v=(0,V.useCallback)(e=>{i(e),O(e),o(!1),c([]),d(!1)},[]),y=be({onBound:()=>v({kind:`off`})}),b=y.catalog.find(e=>e.key===Q)?.accelerator??``,S=y.recordingKey===Q,C=ge()?Be:[],w=(0,V.useCallback)(e=>{v(e),y.removeHotkey(Q)},[y,v]),T=(0,V.useCallback)(()=>{v({kind:`off`}),y.removeHotkey(Q)},[y,v]),D=(0,V.useCallback)(()=>{o(!0),c([]),d(!1),requestAnimationFrame(()=>{f.current?.focus()})},[]),A=(0,V.useCallback)(()=>{o(!1),c([]),d(!1)},[]),j=(0,V.useCallback)(e=>{let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t},[]),M=(0,V.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){A();return}let t=j(e);if(ze.has(e.key)){d(!1),c(x(t));return}if(t.length===0){d(!0);return}v({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:x(t)})},[A,j,v]),N=(0,V.useCallback)(e=>{a&&j(e).length===0&&s.length>0&&(c([]),d(!0))},[j,a,s]);(0,V.useEffect)(()=>{if(!a)return;let e=e=>{f.current&&!f.current.contains(e.target)&&A()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[A,a]);let P=_&&!m.some(e=>p(e.activator,n));return t?(0,H.jsx)(B,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitleDesktop`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[C.map(e=>(0,H.jsx)(U,{label:e.label,selected:p(e.activator,n),onClick:()=>w(e.activator)},e.label)),(0,H.jsx)(U,{label:S?e(`voicePage.recordingPrompt`):b?(0,H.jsx)(h,{accelerator:b}):e(`voicePage.customKey`),selected:b!==``,recording:S,onClick:S?y.stopRecording:()=>y.startRecording(Q)}),(0,H.jsx)(U,{label:e(`voicePage.offKeyLabel`),selected:n.kind===`off`&&!b&&!S,onClick:T})]}),y.conflict?.key===Q&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:y.conflict.label})})]})]})}):(0,H.jsx)(B,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,H.jsx)(R,{checked:_,onChange:e=>{v(e?he():{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),_&&(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(`span`,{className:J,children:e(`voicePage.activationKeyLabel`)}),(0,H.jsxs)(`div`,{ref:f,tabIndex:a?0:-1,onKeyDown:a?M:void 0,onKeyUp:a?N:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[m.map(e=>(0,H.jsx)(U,{label:e.label,selected:p(e.activator,n),onClick:()=>v(e.activator)},e.label)),a?(0,H.jsx)(U,{label:s.length>0?g(s):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:A}):(0,H.jsx)(U,{label:P?E(n):e(`voicePage.customKey`),selected:P,onClick:D})]}),l&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),_&&(0,H.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,H.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,H.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function He(){let{t:e}=r(`settings`),t=L.use.pauseBeforeReplyMs(),n=L.use.setPauseBeforeReplyMs(),i=L.use.interruptSensitivity(),a=L.use.setInterruptSensitivity(),o=(0,V.useMemo)(()=>[{value:`low`,label:e(`voicePage.interruptSensitivityLow`)},{value:`medium`,label:e(`voicePage.interruptSensitivityMedium`)},{value:`high`,label:e(`voicePage.interruptSensitivityHigh`)}],[e]),s=t!==null||i!==null;return(0,H.jsx)(B,{title:e(`voicePage.turnTakingTitle`),subtitle:e(`voicePage.turnTakingSubtitle`),children:(0,H.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,H.jsx)(we,{}),(0,H.jsx)($,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:t===null,children:(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(M,{value:(t??1200)/1e3,onValueChange:e=>{typeof e==`number`&&n(Math.round(e*1e3))},min:500/1e3,max:le/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":e(`voicePage.pauseBeforeReplyAriaLabel`)})})}),(0,H.jsx)($,{label:e(`voicePage.interruptSensitivityLabel`),description:e(`voicePage.interruptSensitivityDescription`),isDefault:i===null,children:(0,H.jsx)(`div`,{className:`max-w-xs`,children:(0,H.jsx)(A,{items:o,value:i??`medium`,onChange:a,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),s&&(0,H.jsx)(`div`,{children:(0,H.jsx)(I,{variant:`outlined`,onClick:()=>{n(null),a(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function $({label:e,description:t,isDefault:n,children:i}){let{t:a}=r(`settings`);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,H.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:a(`voicePage.defaultBadge`)})]}),(0,H.jsx)(`p`,{className:J,children:t}),i]})}export{Fe as VoicePage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-yoekmcrB.js";import{t}from"./react-BJ4PZBJN.js";import{Q as n}from"./icons-BjnVKAw1.js";import{Bn as r,ln as i,un as a}from"./index-
|
|
1
|
+
import{j as e}from"./vendor-yoekmcrB.js";import{t}from"./react-BJ4PZBJN.js";import{Q as n}from"./icons-BjnVKAw1.js";import{Bn as r,ln as i,un as a}from"./index-BGc71lz7.js";var o=t();function s({payload:t,onClose:i}){let{t:s}=e(`chat`),u=a(t.body);return(0,o.jsx)(r,{Glyph:n,title:t.title||s(`wakeDetailPanel.title`),closeLabel:s(`wakeDetailPanel.close`),closeTooltip:s(`wakeDetailPanel.close`),closeVariant:`outlined`,onClose:i,children:(0,o.jsxs)(`dl`,{className:`flex flex-col gap-6`,children:[u.workflow&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.workflow`),children:u.workflow}),u.runStatus&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.runStatus`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.runStatus})}),u.result&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.result`),children:(0,o.jsx)(c,{result:u.result})}),u.rest&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.details`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.rest})}),t.metadata.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-6`,children:t.metadata.map(e=>(0,o.jsx)(l,{label:e.label,children:e.value},e.label))})]})})}function c({result:e}){let t=i(e);return t?(0,o.jsx)(`div`,{className:`flex flex-col gap-4`,children:t.map((e,t)=>(0,o.jsx)(`div`,{className:t>0?`flex flex-col gap-2 border-t border-[var(--border-hover)] pt-4`:`flex flex-col gap-2`,children:e.map(e=>(0,o.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,o.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.key}),(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:e.value})]},e.key))},t))}):(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:e})}function l({label:e,children:t}){return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,o.jsx)(`dt`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:e}),(0,o.jsx)(`dd`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t})]})}export{s as WakeDetailPanel};
|
package/dist/assets/{weather-forecast-display-CM95Xppv.js → weather-forecast-display-BQ5gzjZn.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{B as i,bi as a,c as o,ei as s,et as c,gi as l,gn as u,hi as d,vi as f,xi as p,yi as m}from"./icons-BjnVKAw1.js";import{Gt as h,Kt as g,Wt as _,ha as v,qt as y}from"./index-DA0GBGXJ.js";var b=e(r(),1),x={"sun.max.fill":{icon:i,className:`text-orange-500`},"cloud.sun.fill":{icon:l,className:`text-amber-400`},"moon.fill":{icon:u,className:`text-blue-400`},"cloud.moon.fill":{icon:m,className:`text-blue-400`},"cloud.fill":{icon:d,className:`text-stone-400`},"cloud.rain.fill":{icon:f,className:`text-blue-400`},snowflake:{icon:c,className:`text-blue-300`},"cloud.bolt.fill":{icon:a,className:`text-orange-500`},"cloud.fog.fill":{icon:p,className:`text-stone-400`}},S={sunny:{icon:i,className:`text-orange-500`},clear:{icon:i,className:`text-orange-500`},"partly cloudy":{icon:l,className:`text-amber-400`},"mostly sunny":{icon:l,className:`text-amber-400`},cloudy:{icon:d,className:`text-stone-400`},overcast:{icon:d,className:`text-stone-400`},rainy:{icon:f,className:`text-blue-400`},rain:{icon:f,className:`text-blue-400`},drizzle:{icon:f,className:`text-blue-400`},snow:{icon:c,className:`text-blue-300`},snowy:{icon:c,className:`text-blue-300`},thunderstorm:{icon:a,className:`text-orange-500`},thunder:{icon:a,className:`text-orange-500`},foggy:{icon:p,className:`text-stone-400`},fog:{icon:p,className:`text-stone-400`},mist:{icon:p,className:`text-stone-400`},hazy:{icon:p,className:`text-stone-400`},night:{icon:u,className:`text-blue-400`},"mainly clear":{icon:i,className:`text-orange-500`},"mostly cloudy":{icon:d,className:`text-stone-400`},breezy:{icon:o,className:`text-stone-400`},windy:{icon:o,className:`text-stone-400`},cool:{icon:d,className:`text-stone-400`},warm:{icon:i,className:`text-orange-500`},hot:{icon:i,className:`text-orange-500`},cold:{icon:c,className:`text-blue-300`},"cold snap":{icon:c,className:`text-blue-300`},"warm, mostly sunny":{icon:l,className:`text-amber-400`},"cooler, breezy":{icon:o,className:`text-stone-400`}},C={icon:d,className:`text-stone-400`};function w(e){let t=x[e];if(t)return t;let n=e.toLowerCase(),r=S[n];if(r)return r;for(let[e,t]of Object.entries(S))if(n.includes(e))return t;return C}function T(e){if(typeof e==`string`){let t=e.match(/^(\d+)\s*mph\s*(.*)/i);if(t)return{speed:Number(t[1]),direction:t[2]?.trim()||void 0}}return{}}function E(e){let t;if(typeof e.location==`string`)t=e.location;else{let n=g(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=g(e.current),r=h(n?.temp)??h(e.currentTemp)??h(e.temperature)??h(e.temp),i=h(n?.feelsLike)??h(n?.feels_like)??h(n?.apparentTemperature)??h(e.feelsLike)??h(e.feels_like)??h(e.apparentTemperature),a=y(n?.condition)??y(e.condition),o=h(n?.humidity)??h(e.humidity),s=T(n?.wind??e.wind),c=h(n?.windSpeed)??h(n?.wind_speed)??h(e.windSpeed)??h(e.wind_speed)??s.speed,l=y(n?.windDirection)??y(n?.wind_direction)??y(e.windDirection)??y(e.wind_direction)??s.direction,u=g(e.units),d=y(u?.temperature)??y(n?.unit)??y(e.unit)??`F`,f=y(u?.speed)??y(e.windUnit)??y(e.wind_unit),p=_(e.hourly).map((e,t)=>({id:y(e.id)??String(t),time:y(e.time)??``,icon:y(e.icon)??y(e.condition)??`cloud.fill`,temp:h(e.tempC)??h(e.temp)??h(e.temperature),tempC:h(e.tempC)})),m=_([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:y(e.id)??String(t),day:y(e.day)??y(e.date),dayLabel:y(e.dayLabel)??y(e.date),icon:y(e.icon)??y(e.condition)??`cloud.fill`,low:h(e.low),high:h(e.high),lowC:h(e.lowC),highC:h(e.highC),precip:h(e.precip)??h(e.precipitation)??h(e.precipitationProbability),condition:y(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:a,humidity:o,windSpeed:c,windDirection:l,windUnit:f,unit:d,hourly:p.length>0?p:void 0,forecast:m.length>0?m:void 0}}function D(e){return e*9/5+32}function O(e){return(e-32)*5/9}function k(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=O(e)),!t&&n&&(r=D(e)),`${Math.round(r)}`}function A(e,t,n){return e.tempC===void 0?e.temp===void 0?null:k(e.temp,t,n):k(e.tempC,!1,n)}function j(e,t,n){return e.lowC===void 0?k(e.low,t,n):k(e.lowC,!1,n)}function M(e,t,n){return e.highC===void 0?k(e.high,t,n):k(e.highC,!1,n)}var N=n();function P({icon:e,size:t=20}){let{icon:n,className:r}=w(e);return(0,N.jsx)(n,{width:t,height:t,className:r})}function F({useFahrenheit:e,onToggle:n}){let{t:r}=t(`chat`);return(0,N.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!0),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-[var(--primary-base)] text-[var(--content-inset)]`:`bg-transparent text-[var(--content-quiet)]`),children:r(`weatherForecastDisplay.fahrenheit`)}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-transparent text-[var(--content-quiet)]`:`bg-[var(--primary-base)] text-[var(--content-inset)]`),children:r(`weatherForecastDisplay.celsius`)})]})}function I({data:e,sourceIsFahrenheit:n,useFahrenheit:r,onToggle:i}){let{t:a}=t(`chat`),c=e.location,l=k(e.currentTemp,n,r),u=k(e.feelsLike,n,r),d=r?`F`:`C`,f=e.forecast?.[0],p=f?M(f,n,r):null,m=f?j(f,n,r):null,h=null;return e.windSpeed!==void 0&&(h=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(h=`${e.windDirection} ${h}`)),(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:c}),l!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[l,`°`,d]}),e.condition&&(0,N.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,N.jsx)(F,{useFahrenheit:r,onToggle:i})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[u!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.feelsLike`,{temp:u})}),p!==null&&m!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.highLow`,{high:p,low:m})}),h&&(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,N.jsx)(o,{width:12,height:12}),h]}),e.humidity!==void 0&&(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,N.jsx)(s,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:n,useFahrenheit:r}){let{t:i}=t(`chat`);return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,t)=>{let a=e.time.toLowerCase()===`now`,o=A(e,n,r);return(0,N.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,N.jsx)(`span`,{className:a?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:a?i(`weatherForecastDisplay.now`):e.time}),(0,N.jsx)(P,{icon:e.icon,size:18}),o!==null&&(0,N.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[o,`°`]})]},e.id??t)})})})}function R({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(0,b.useMemo)(()=>{let t=1/0,n=-1/0;for(let r of e){let e=r.lowC??r.low,i=r.highC??r.high;e!==void 0&&e<t&&(t=e),i!==void 0&&i>n&&(n=i)}return{globalMin:t===1/0?0:t,globalMax:n===-1/0?100:n}},[e]),o=a-i||1;return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=j(e,n,r),d=M(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,_=Math.max(g-h,2),y=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:v(`w-12 shrink-0 truncate text-body-small-default`,l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:c}),(0,N.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,N.jsx)(P,{icon:e.icon,size:16}),f!==void 0&&f>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(0,N.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,N.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${h}%`,width:`${_}%`}}),y!==null&&(0,N.jsx)(`div`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--aux-white)] bg-[var(--aux-white)] shadow-sm`,style:{left:`${h+y/100*_}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function z({templateData:e,fallback:t}){let n=(0,b.useMemo)(()=>E(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,b.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,N.jsxs)(`div`,{className:`mt-3`,children:[(0,N.jsx)(I,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,N.jsx)(L,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,N.jsx)(R,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{z as WeatherForecastDisplay};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-yoekmcrB.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{B as i,bi as a,c as o,ei as s,et as c,gi as l,gn as u,hi as d,vi as f,xi as p,yi as m}from"./icons-BjnVKAw1.js";import{Gt as h,Kt as g,Wt as _,ha as v,qt as y}from"./index-BGc71lz7.js";var b=e(r(),1),x={"sun.max.fill":{icon:i,className:`text-orange-500`},"cloud.sun.fill":{icon:l,className:`text-amber-400`},"moon.fill":{icon:u,className:`text-blue-400`},"cloud.moon.fill":{icon:m,className:`text-blue-400`},"cloud.fill":{icon:d,className:`text-stone-400`},"cloud.rain.fill":{icon:f,className:`text-blue-400`},snowflake:{icon:c,className:`text-blue-300`},"cloud.bolt.fill":{icon:a,className:`text-orange-500`},"cloud.fog.fill":{icon:p,className:`text-stone-400`}},S={sunny:{icon:i,className:`text-orange-500`},clear:{icon:i,className:`text-orange-500`},"partly cloudy":{icon:l,className:`text-amber-400`},"mostly sunny":{icon:l,className:`text-amber-400`},cloudy:{icon:d,className:`text-stone-400`},overcast:{icon:d,className:`text-stone-400`},rainy:{icon:f,className:`text-blue-400`},rain:{icon:f,className:`text-blue-400`},drizzle:{icon:f,className:`text-blue-400`},snow:{icon:c,className:`text-blue-300`},snowy:{icon:c,className:`text-blue-300`},thunderstorm:{icon:a,className:`text-orange-500`},thunder:{icon:a,className:`text-orange-500`},foggy:{icon:p,className:`text-stone-400`},fog:{icon:p,className:`text-stone-400`},mist:{icon:p,className:`text-stone-400`},hazy:{icon:p,className:`text-stone-400`},night:{icon:u,className:`text-blue-400`},"mainly clear":{icon:i,className:`text-orange-500`},"mostly cloudy":{icon:d,className:`text-stone-400`},breezy:{icon:o,className:`text-stone-400`},windy:{icon:o,className:`text-stone-400`},cool:{icon:d,className:`text-stone-400`},warm:{icon:i,className:`text-orange-500`},hot:{icon:i,className:`text-orange-500`},cold:{icon:c,className:`text-blue-300`},"cold snap":{icon:c,className:`text-blue-300`},"warm, mostly sunny":{icon:l,className:`text-amber-400`},"cooler, breezy":{icon:o,className:`text-stone-400`}},C={icon:d,className:`text-stone-400`};function w(e){let t=x[e];if(t)return t;let n=e.toLowerCase(),r=S[n];if(r)return r;for(let[e,t]of Object.entries(S))if(n.includes(e))return t;return C}function T(e){if(typeof e==`string`){let t=e.match(/^(\d+)\s*mph\s*(.*)/i);if(t)return{speed:Number(t[1]),direction:t[2]?.trim()||void 0}}return{}}function E(e){let t;if(typeof e.location==`string`)t=e.location;else{let n=g(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=g(e.current),r=h(n?.temp)??h(e.currentTemp)??h(e.temperature)??h(e.temp),i=h(n?.feelsLike)??h(n?.feels_like)??h(n?.apparentTemperature)??h(e.feelsLike)??h(e.feels_like)??h(e.apparentTemperature),a=y(n?.condition)??y(e.condition),o=h(n?.humidity)??h(e.humidity),s=T(n?.wind??e.wind),c=h(n?.windSpeed)??h(n?.wind_speed)??h(e.windSpeed)??h(e.wind_speed)??s.speed,l=y(n?.windDirection)??y(n?.wind_direction)??y(e.windDirection)??y(e.wind_direction)??s.direction,u=g(e.units),d=y(u?.temperature)??y(n?.unit)??y(e.unit)??`F`,f=y(u?.speed)??y(e.windUnit)??y(e.wind_unit),p=_(e.hourly).map((e,t)=>({id:y(e.id)??String(t),time:y(e.time)??``,icon:y(e.icon)??y(e.condition)??`cloud.fill`,temp:h(e.tempC)??h(e.temp)??h(e.temperature),tempC:h(e.tempC)})),m=_([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:y(e.id)??String(t),day:y(e.day)??y(e.date),dayLabel:y(e.dayLabel)??y(e.date),icon:y(e.icon)??y(e.condition)??`cloud.fill`,low:h(e.low),high:h(e.high),lowC:h(e.lowC),highC:h(e.highC),precip:h(e.precip)??h(e.precipitation)??h(e.precipitationProbability),condition:y(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:a,humidity:o,windSpeed:c,windDirection:l,windUnit:f,unit:d,hourly:p.length>0?p:void 0,forecast:m.length>0?m:void 0}}function D(e){return e*9/5+32}function O(e){return(e-32)*5/9}function k(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=O(e)),!t&&n&&(r=D(e)),`${Math.round(r)}`}function A(e,t,n){return e.tempC===void 0?e.temp===void 0?null:k(e.temp,t,n):k(e.tempC,!1,n)}function j(e,t,n){return e.lowC===void 0?k(e.low,t,n):k(e.lowC,!1,n)}function M(e,t,n){return e.highC===void 0?k(e.high,t,n):k(e.highC,!1,n)}var N=n();function P({icon:e,size:t=20}){let{icon:n,className:r}=w(e);return(0,N.jsx)(n,{width:t,height:t,className:r})}function F({useFahrenheit:e,onToggle:n}){let{t:r}=t(`chat`);return(0,N.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!0),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-[var(--primary-base)] text-[var(--content-inset)]`:`bg-transparent text-[var(--content-quiet)]`),children:r(`weatherForecastDisplay.fahrenheit`)}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-transparent text-[var(--content-quiet)]`:`bg-[var(--primary-base)] text-[var(--content-inset)]`),children:r(`weatherForecastDisplay.celsius`)})]})}function I({data:e,sourceIsFahrenheit:n,useFahrenheit:r,onToggle:i}){let{t:a}=t(`chat`),c=e.location,l=k(e.currentTemp,n,r),u=k(e.feelsLike,n,r),d=r?`F`:`C`,f=e.forecast?.[0],p=f?M(f,n,r):null,m=f?j(f,n,r):null,h=null;return e.windSpeed!==void 0&&(h=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(h=`${e.windDirection} ${h}`)),(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:c}),l!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[l,`°`,d]}),e.condition&&(0,N.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,N.jsx)(F,{useFahrenheit:r,onToggle:i})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[u!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.feelsLike`,{temp:u})}),p!==null&&m!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.highLow`,{high:p,low:m})}),h&&(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,N.jsx)(o,{width:12,height:12}),h]}),e.humidity!==void 0&&(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,N.jsx)(s,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:n,useFahrenheit:r}){let{t:i}=t(`chat`);return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,t)=>{let a=e.time.toLowerCase()===`now`,o=A(e,n,r);return(0,N.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,N.jsx)(`span`,{className:a?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:a?i(`weatherForecastDisplay.now`):e.time}),(0,N.jsx)(P,{icon:e.icon,size:18}),o!==null&&(0,N.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[o,`°`]})]},e.id??t)})})})}function R({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(0,b.useMemo)(()=>{let t=1/0,n=-1/0;for(let r of e){let e=r.lowC??r.low,i=r.highC??r.high;e!==void 0&&e<t&&(t=e),i!==void 0&&i>n&&(n=i)}return{globalMin:t===1/0?0:t,globalMax:n===-1/0?100:n}},[e]),o=a-i||1;return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=j(e,n,r),d=M(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,_=Math.max(g-h,2),y=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:v(`w-12 shrink-0 truncate text-body-small-default`,l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:c}),(0,N.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,N.jsx)(P,{icon:e.icon,size:16}),f!==void 0&&f>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(0,N.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,N.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${h}%`,width:`${_}%`}}),y!==null&&(0,N.jsx)(`div`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--aux-white)] bg-[var(--aux-white)] shadow-sm`,style:{left:`${h+y/100*_}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function z({templateData:e,fallback:t}){let n=(0,b.useMemo)(()=>E(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,b.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,N.jsxs)(`div`,{className:`mt-3`,children:[(0,N.jsx)(I,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,N.jsx)(L,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,N.jsx)(R,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{z as WeatherForecastDisplay};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-yoekmcrB.js";import{f as t,t as n}from"./react-BJ4PZBJN.js";import{Hr as r,Yv as i,lv as a}from"./index-
|
|
1
|
+
import{j as e}from"./vendor-yoekmcrB.js";import{f as t,t as n}from"./react-BJ4PZBJN.js";import{Hr as r,Yv as i,lv as a}from"./index-BGc71lz7.js";import{t as o}from"./auth-welcome-screen-D1oXENpF.js";var s=n();function c(){let{t:n}=e(`onboarding`),c=t();return(0,s.jsx)(o,{secondary:{label:n(`welcome.continueWithoutAccount`),onSelect:()=>{a()?c(i.selectAssistant,r):c(i.onboarding.hosting,r)}}})}export{c as WelcomeScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_ as t,f as n,g as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{Ba as s,E as c,Li as l,Oa as u,Ui as d,Wi as f,o as p,v as m}from"./icons-BjnVKAw1.js";import{i as h,r as g,t as _}from"./metric-card-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_ as t,f as n,g as r,j as i}from"./vendor-yoekmcrB.js";import{t as a,x as o}from"./react-BJ4PZBJN.js";import{Ba as s,E as c,Li as l,Oa as u,Ui as d,Wi as f,o as p,v as m}from"./icons-BjnVKAw1.js";import{i as h,r as g,t as _}from"./metric-card-oVwydQvD.js";import{Bn as v,Fn as y,Hn as b,In as x,Vr as S,bn as C,db as w,ec as T,fb as E,nc as D,tc as O}from"./index-BGc71lz7.js";import{t as k}from"./detail-panel-stop-button-CdK_e0So.js";import{t as A}from"./status-badge-pill-CYbvsZEL.js";var j=e(o(),1),M=a();function N({title:e,body:t,emptyText:n}){return(0,M.jsxs)(`div`,{className:`mb-5`,children:[(0,M.jsx)(w,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:e}),t?(0,M.jsx)(w,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t}):(0,M.jsx)(w,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]})}function P({leaf:e}){let{t}=i(`chat`),n=e.status===`running`?t(`workflowLeafDetail.running`):t(`workflowLeafDetail.noResultSummary`);return(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,M.jsx)(_,{icon:(0,M.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>g(Math.round(e)),label:t(`workflowLeafDetail.input`)}),(0,M.jsx)(_,{icon:(0,M.jsx)(h,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>g(Math.round(e)),label:t(`workflowLeafDetail.output`)})]}),(0,M.jsx)(N,{title:t(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:t(`workflowLeafDetail.noPromptSummary`)}),(0,M.jsx)(N,{title:t(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:n})]})}function F({status:e}){return(0,M.jsx)(A,{color:O(e),label:D(e)})}function I(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:return`var(--system-negative-strong)`;case`cancelled`:return`var(--content-secondary)`;default:return`var(--primary-base)`}}function L(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function R({status:e}){return(0,M.jsx)(A,{color:I(e),label:L(e)})}function z({status:e}){let{t:a}=i(`chat`),o=n(),s=`h-3.5 w-3.5 shrink-0`,d;return d=e===`running`?(0,M.jsx)(C,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,M.jsx)(l,{className:s,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,M.jsx)(c,{className:s,style:{color:`var(--system-negative-strong)`}}):(0,M.jsx)(u,{className:s,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":a(`workflowSubagentRow.cancelledAria`)}),(0,M.jsx)(t,{mode:`wait`,initial:!1,children:(0,M.jsx)(r.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:o?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:d},e)})}function B({runId:e,leaf:t,components:n,onSelect:r}){let{t:a}=i(`chat`),o=t.label??`Subagent ${t.seq}`,s=t.promptSummary,c=y(`${e}:${t.seq}`);return(0,M.jsx)(`button`,{type:`button`,onClick:r,"aria-label":a(`workflowSubagentRow.openDetailsAria`,{title:o}),className:`flex w-full cursor-pointer items-center justify-between gap-2 rounded-[6px] px-2 py-1.5 text-left transition-colors hover:bg-[var(--surface-overlay)]`,children:(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,M.jsx)(z,{status:t.status}),n?(0,M.jsx)(x,{components:n,bodyShapeId:c.bodyShape,eyeStyleId:c.eyeStyle,colorId:c.color,size:16}):(0,M.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,M.jsx)(w,{variant:`body-medium-default`,title:o,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:o}),s&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,M.jsx)(w,{variant:`body-medium-lighter`,title:s,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:s})]})]})})}function V({entry:e,onClose:t,onStop:a,onRequestJournal:o}){let{t:c}=i(`chat`),l=T(e.status),u=n(),C=e.label??e.runId,D=e.agentsSpawned||e.leaves.size,O=S(),A=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[N,I]=(0,j.useState)(null),[L,z]=(0,j.useState)(e.runId);L!==e.runId&&(z(e.runId),I(null));let V=N==null?void 0:e.leaves.get(N),H=V?y(`${e.runId}:${V.seq}`):void 0,U=(0,j.useCallback)(()=>I(null),[]),W=V?V.label??`Subagent ${V.seq}`:``,G=V?W:C,K=l?`live`:`final`;return(0,j.useEffect)(()=>{o?.(e.runId)},[e.runId,K,o]),(0,M.jsx)(v,{headerAbove:V&&(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,M.jsx)(`button`,{type:`button`,onClick:U,title:C,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,M.jsx)(w,{variant:`body-small-default`,as:`span`,children:C})}),(0,M.jsx)(d,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,M.jsx)(w,{variant:`body-small-default`,as:`span`,title:W,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:W})]}),icon:(0,M.jsxs)(M.Fragment,{children:[V&&(0,M.jsx)(E,{variant:`outlined`,iconOnly:(0,M.jsx)(f,{}),onClick:U,"aria-label":c(`workflowDetailPanel.backToSubagentsAria`),tooltip:c(`workflowDetailPanel.back`),className:`shrink-0`}),V?O&&H?(0,M.jsx)(x,{components:O,bodyShapeId:H.bodyShape,eyeStyleId:H.eyeStyle,colorId:H.color,size:32}):(0,M.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,M.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:G,headerTrailing:V?(0,M.jsx)(R,{status:V.status}):(0,M.jsx)(F,{status:e.status}),headerActions:l&&a?(0,M.jsx)(k,{onStop:()=>a(e.runId),ariaLabel:c(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:c(`workflowDetailPanel.closeDetail`),onClose:t,children:(0,M.jsx)(r.div,{initial:{opacity:0},animate:{opacity:1},transition:u?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:V?(0,M.jsx)(P,{leaf:V}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,M.jsx)(_,{icon:(0,M.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>g(Math.round(e)),label:c(`workflowDetailPanel.input`)}),(0,M.jsx)(_,{icon:(0,M.jsx)(h,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>g(Math.round(e)),label:c(`workflowDetailPanel.output`)}),(0,M.jsx)(_,{icon:(0,M.jsx)(m,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:D,format:e=>g(Math.round(e)),label:c(`workflowDetailPanel.agents`)})]}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(w,{variant:`body-medium-default`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:c(`workflowDetailPanel.subagents`)}),A.length===0?(0,M.jsx)(b,{children:c(`workflowDetailPanel.noSubagentsYet`)}):(0,M.jsx)(`div`,{className:`flex flex-col gap-1`,children:A.map(t=>(0,M.jsx)(B,{runId:e.runId,leaf:t,components:O,onSelect:()=>I(t.seq)},t.seq))})]})]})},V?String(V.seq):`list`)})}export{V as WorkflowDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,N as n,Xn as r,Zn as i,er as a,j as o}from"./vendor-yoekmcrB.js";import{_ as s,t as c,x as l}from"./react-BJ4PZBJN.js";import{Ar as u,Dr as d,Gi as f,Ir as p,It as m,Jr as h,Rr as g,Ui as _,Vr as v,Xt as y,_t as b,fr as x,h as S,i as C,k as w,kr as T,qa as E,qn as D,qr as O,ti as k}from"./icons-BjnVKAw1.js";import{$ as A,Ag as j,By as M,Gy as N,Jy as P,Ly as F,Mg as ee,Ng as I,Og as te,Pg as ne,Si as L,Vy as R,Zn as z,fb as B,fn as re,gn as V,hn as H,jg as ie,kg as U,nb as ae,pn as oe,qy as W}from"./index-DA0GBGXJ.js";import{n as G,r as K,t as se}from"./use-side-list-room-DkZxNs0h.js";import{t as q}from"./format-file-size-Daiq0gMr.js";import{i as J,n as ce,r as Y,t as X}from"./file-editor-6a20KxRi.js";var le=E(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),ue=E(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Z=e(l(),1);function de(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function fe(e,t){return de(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function pe(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function me(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=c();function he(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await z({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function ge({assistantId:e,path:t,name:n,showHidden:r}){let{t:i}=o(`workspace`),{isDownloading:a,error:s,download:c}=he({assistantId:e,path:t,name:n,showHidden:r});return(0,Q.jsx)(B,{variant:`ghost`,size:`regular`,iconOnly:a?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0}),onClick:()=>void c(),disabled:a,"aria-label":i(`workspaceFileViewer.downloadAria`,{name:n}),tooltip:i(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function _e(e){return r({queryFn:async()=>{let{data:t,error:n}=await j({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function ve({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=g;return n.startsWith(`image/`)?r=x:n.startsWith(`video/`)?r=S:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=p),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function ye({viewMode:e,onChange:t}){let{t:n}=o(`workspace`);return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(r=>{let i=e===r;return(0,Q.jsx)(B,{variant:`ghost`,onClick:()=>t(r),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:i?`var(--surface-lift)`:`transparent`,color:i?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:i?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:n(r===`preview`?`workspaceFileViewer.preview`:`workspaceFileViewer.source`)},r)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(ve,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:q(n)})]}),r]})}function be({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:a,isLoading:o}=i({queryFn:async()=>{let n=await U({path:{assistant_id:e},query:{path:t,...r?{showHidden:`true`}:{}},parseAs:`blob`});if(n.error)throw n.error;return n.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:r}],enabled:!!t}),[s,c]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!a)return;let e=URL.createObjectURL(a);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[a]),o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(D,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function xe({assistantId:e,path:t,name:n,mimeType:r,size:i,modifiedAt:a,showHidden:s}){let{t:c}=o(`workspace`),{isDownloading:l,error:u,download:d}=he({assistantId:e,path:t,name:n,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:n,mimeType:r,size:i}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(p,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:n}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:r}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:q(i,`Unknown size`)}),a&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(a).toLocaleString()]})]}),(0,Q.jsx)(B,{variant:`outlined`,size:`compact`,leftIcon:l?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0}),onClick:d,disabled:l,"aria-label":c(`workspaceFileViewer.downloadAria`,{name:n}),className:`mt-4`,children:c(l?`workspaceFileViewer.downloading`:`workspaceFileViewer.download`)}),u&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-error)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})]})}function Se({assistantId:e,selectedPath:n,showHidden:r,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:d,pathDelete:f}){let{t:p}=o(`workspace`),m=a(),{data:h,isLoading:g}=i({..._e({path:{assistant_id:e},query:{path:n??``,showHidden:r}}),enabled:!!n}),[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!d)return;let{from:e,to:t}=d,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;v(e=>e==null?e:n(e)),b(e=>e==null?e:{...e,path:n(e.path)})},[d]),(0,Z.useEffect)(()=>{if(!f)return;let{path:e}=f,t=t=>t===e||t.startsWith(`${e}/`);v(e=>e!=null&&t(e)?null:e),b(e=>e!=null&&t(e.path)?null:e)},[f]);let x=_!=null&&_===n,S=h?.content??``,C=y?.path===n?y.content:S,w=()=>{v(null),b(null)},T=t({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await ne({path:{assistant_id:e},body:{path:t,content:n,encoding:`utf8`},throwOnError:!1});if(!i?.ok||r)throw Error(`Failed to save file`)},onSuccess:(e,t)=>{v(e=>e===t.path?null:e),b(e=>e?.path===t.path?null:e),m.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),E=C!==S,O=(0,Z.useCallback)(()=>{n&&E&&!T.isPending&&T.mutate({path:n,content:C})},[n,E,T,C]);if(!n)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:p(`workspaceFileViewer.selectAFile`)}),l&&(0,Q.jsx)(B,{type:`button`,onClick:l,leftIcon:(0,Q.jsx)(u,{"aria-hidden":!0}),children:p(`workspaceFileViewer.browseFiles`)})]});if(g)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(D,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!h)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:p(`workspaceFileViewer.fileNotFound`)})});let k=h.mimeType??`application/octet-stream`,A=h.name??n.split(`/`).pop()??n,j=V(A,k),M=fe(A,k),N=h.content!=null&&!j&&!M,P=n?me(n):!0,F=x&&(0,Q.jsx)(ce,{isDirty:E,isSaving:T.isPending,error:T.isError?p(`workspaceFileViewer.saveFailed`):null,onSave:O,onDiscard:w});if(j&&h.content!=null){let e=x?C:h.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{x&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:e,fileName:A,mimeType:k,showEdit:!P&&s===`source`,isEditing:x,onToggleEdit:()=>x?w():v(n)}),s===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(H,{content:e})}):x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content,readOnly:P,onStartEdit:()=>v(n)})]}),F]})}if(M&&h.content!=null){let e=x?C:h.content,t=pe(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{x&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:s===`preview`?t:e,downloadContent:e,fileName:A,mimeType:k,showEdit:!P&&s===`source`,isEditing:x,onToggleEdit:()=>x?w():v(n)}),s===`preview`?(0,Q.jsx)(J,{content:t,readOnly:!0,whiteSpace:`pre`}):x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content,readOnly:P,onStartEdit:()=>v(n)})]}),F]})}return N?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,size:h.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:x?C:h.content??``,fileName:A,mimeType:k,showEdit:!P,isEditing:x,onToggleEdit:()=>x?w():v(n)}),x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content??``,readOnly:P,onStartEdit:()=>v(n)})]}),F]}):k.startsWith(`image/`)||k.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,size:h.size,rightContent:(0,Q.jsx)(ge,{assistantId:e,path:n,name:A,showHidden:r})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(be,{assistantId:e,path:n,mimeType:k,showHidden:r})})]}):(0,Q.jsx)(xe,{assistantId:e,path:n,name:A,mimeType:k,size:h.size,modifiedAt:h.modifiedAt,showHidden:r})}function Ce(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}async function we(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await I({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=(e.name??``).toLowerCase();return t===i&&t!==a}))throw Error(`"${n}" already exists here.`)}function Te({entry:e}){return e.type===`directory`?(0,Q.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function Ee({entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:u,onRequestDelete:d,onRequestRename:p,onRequestCreate:m,depth:h}){let{t:g}=o(`workspace`),b=e.path??``,x=e.name??``,S=e.type===`directory`,C=n.has(b),E=r===b,D=x.startsWith(`.`),O=!me(b),k=S&&(C||c.length>0),{data:A}=i({...oe({assistantId:t,path:b,showHidden:a,includeDirSizes:s===`size`}),enabled:S&&k}),j=(0,Z.useMemo)(()=>Ce(A?.entries??[],s),[A?.entries,s]),M=c===``||x.toLowerCase().includes(c);if(c!==``&&!S&&!M)return null;let N=(0,Q.jsxs)(`button`,{onClick:()=>{S?l(b):u(b)},className:`flex w-full items-center gap-1.5 px-2 py-1 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{paddingLeft:`${h*14+8}px`,paddingRight:`8px`,color:E?`var(--content-default)`:D?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:E?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:D&&!E?.7:1},children:[S?k?(0,Q.jsx)(f,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(_,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(Te,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:x}),e.size!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:q(e.size)})]});return(0,Q.jsxs)(`div`,{children:[O?(0,Q.jsxs)(F.Root,{children:[(0,Q.jsx)(F.Trigger,{children:N}),(0,Q.jsxs)(F.Content,{children:[S&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(v,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`file`,parentPath:b}),children:g(`workspaceTree.newFile`)}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(T,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`folder`,parentPath:b}),children:g(`workspaceTree.newFolder`)}),(0,Q.jsx)(F.Separator,{})]}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(w,{className:`h-3.5 w-3.5`}),onSelect:()=>d({path:b,name:x,isDirectory:S}),children:g(`workspaceTree.delete`)}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),onSelect:()=>p({path:b,name:x,isDirectory:S}),children:g(`workspaceTree.rename`)})]})]}):N,S&&k&&j.length>0&&(0,Q.jsx)(`div`,{children:j.map(e=>(0,Q.jsx)(Ee,{entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:u,onRequestDelete:d,onRequestRename:p,onRequestCreate:m,depth:h+1},e.path))})]})}function De({title:e,placeholder:t,confirmLabel:n,pendingLabel:r,initialName:i,onCancel:a,onConfirm:s,pending:c,error:l}){let{t:u}=o(`workspace`),d=(0,Z.useRef)(null),[f,p]=(0,Z.useState)(i??``),m=f.trim(),h=m.length>0&&(/[/\\]/.test(m)||m===`.`||m===`..`),g=m.length>0&&!h&&!c;return(0,Q.jsx)(P.Root,{open:!0,onOpenChange:e=>{!e&&!c&&a()},children:(0,Q.jsx)(P.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=d.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),c||a()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g&&s(m)},children:[(0,Q.jsx)(P.Header,{children:(0,Q.jsx)(P.Title,{children:e})}),(0,Q.jsx)(P.Body,{children:(0,Q.jsx)(ae,{ref:d,label:u(`workspaceTree.nameLabel`),value:f,onChange:e=>p(e.target.value),placeholder:t,errorText:l??(h?u(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(P.Footer,{children:[(0,Q.jsx)(B,{type:`button`,variant:`outlined`,onClick:a,disabled:c,children:u(`workspaceTree.cancel`)}),(0,Q.jsx)(B,{type:`submit`,variant:`primary`,disabled:!g,children:c?r:n})]})]})})})}function Oe({assistantId:e,expandedPaths:r,selectedPath:s,showHidden:c,sortMode:l,onToggleExpand:u,onExpandPath:d,onSelectPath:f,onToggleShowHidden:p,onChangeSortMode:m,onPathDeleted:g,onPathRenamed:_,search:v,onSearchChange:y}){let{t:x}=o(`workspace`),S=a(),w=v.trim().toLowerCase(),[T,E]=(0,Z.useState)(!1),[D,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(null),M=(0,Z.useCallback)(()=>{k(null),j(null)},[]),{data:P,isLoading:F}=i(oe({assistantId:e,showHidden:c,includeDirSizes:l===`size`})),I=(0,Z.useMemo)(()=>Ce(P?.entries??[],l),[P?.entries,l]),L=(0,Z.useCallback)(()=>{for(let e of[re,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])S.invalidateQueries({queryKey:[e]})},[S]),R=t({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await we(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await ne({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await ie({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw Error(typeof r==`string`?r:`Failed to create — check the name and try again.`);return{...t,path:n}},onSuccess:e=>{M(),L(),e.parentPath&&d(e.parentPath),e.kind===`file`?f(e.path):d(e.path)},onError:e=>{j(e instanceof Error?e.message:`Failed to create.`)}}),z=t({mutationFn:async t=>{let n=t.oldPath.lastIndexOf(`/`),r=n===-1?``:t.oldPath.slice(0,n),i=t.oldPath.slice(n+1),a=r?`${r}/${t.newName}`:t.newName;await we(e,r,t.newName,i);let{error:o,response:s}=await ee({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:a},throwOnError:!1});if(o||!s?.ok)throw Error(typeof o==`string`?o:`Failed to rename — check the name and try again.`);return{oldPath:t.oldPath,newPath:a}},onSuccess:({oldPath:e,newPath:t})=>{M(),L(),_(e,t)},onError:e=>{j(e instanceof Error?e.message:`Failed to rename.`)}}),V=(0,Z.useCallback)(e=>{j(null),k({type:`create`,...e})},[]),H=(0,Z.useCallback)(e=>{j(null),k({type:`rename`,path:e.path,name:e.name})},[]),[U,W]=(0,Z.useState)(null),G=t({mutationFn:async t=>{let{error:n,response:r}=await te({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to delete — try again.`);return t},onSuccess:e=>{W(null),L(),g(e.path)}}),K=(0,Z.useCallback)(e=>{G.reset(),W(e)},[G]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:x(`workspaceTree.heading`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:l===`size`?(0,Q.jsx)(ue,{"aria-hidden":!0}):(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:()=>m(l===`size`?`name`:`size`),"aria-label":x(l===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:x(l===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:l===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c?(0,Q.jsx)(O,{"aria-hidden":!0}):(0,Q.jsx)(h,{"aria-hidden":!0}),onClick:p,"aria-label":x(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:x(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:c?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(ke,{open:T,onOpenChange:E,onSelectKind:e=>{E(!1),V({kind:e,parentPath:``})}})]})]}),(0,Q.jsx)(`div`,{className:`px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(ae,{type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:x(`workspaceTree.searchPlaceholder`),leftIcon:(0,Q.jsx)(b,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),v&&(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(C,{"aria-hidden":!0}),onClick:()=>y(``),"aria-label":x(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:F?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):I.length?I.map(t=>(0,Q.jsx)(Ee,{entry:t,assistantId:e,expandedPaths:r,selectedPath:s,showHidden:c,sortMode:l,searchLower:w,onToggleExpand:u,onSelectPath:f,onRequestDelete:K,onRequestRename:H,onRequestCreate:V,depth:0},t.path)):(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:x(`workspaceTree.noFilesFound`)})}),D?.type===`create`&&(0,Q.jsx)(De,{title:D.kind===`file`?x(`workspaceTree.newFile`):x(`workspaceTree.newFolder`),placeholder:D.kind===`file`?`filename.md`:`folder-name`,confirmLabel:x(`workspaceTree.create`),pendingLabel:x(`workspaceTree.creating`),onCancel:M,onConfirm:e=>{j(null),R.mutate({kind:D.kind,parentPath:D.parentPath,name:e})},pending:R.isPending,error:A},`create-${D.kind}-${D.parentPath}`),D?.type===`rename`&&(0,Q.jsx)(De,{title:x(`workspaceTree.rename`),placeholder:D.name,confirmLabel:x(`workspaceTree.rename`),pendingLabel:x(`workspaceTree.renaming`),initialName:D.name,onCancel:M,onConfirm:e=>{if(e===D.name){M();return}j(null),z.mutate({oldPath:D.path,newName:e})},pending:z.isPending,error:A},`rename-${D.path}`),(0,Q.jsx)(N,{open:U!==null,title:U?.isDirectory?x(`workspaceTree.deleteFolderTitle`):x(`workspaceTree.deleteFileTitle`),message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(n,{i18nKey:U?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:U?.name??``},components:{name:(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),G.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:G.error.message})]}),confirmLabel:G.isPending?x(`workspaceTree.deleting`):x(`workspaceTree.delete`),destructive:!0,isPending:G.isPending,onConfirm:()=>{U&&G.mutate(U)},onCancel:()=>W(null)})]})}function ke({open:e,onOpenChange:t,onSelectKind:n}){let{t:r}=o(`workspace`);return L()?(0,Q.jsxs)(W.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(m,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(W.Content,{children:[(0,Q.jsx)(W.Header,{className:`sr-only`,children:(0,Q.jsx)(W.Title,{children:r(`workspaceTree.creatingHeading`)})}),(0,Q.jsxs)(W.Body,{className:`pt-0`,children:[(0,Q.jsx)(M,{icon:v,label:r(`workspaceTree.newFile`),onSelect:()=>n(`file`)}),(0,Q.jsx)(M,{icon:T,label:r(`workspaceTree.newFolder`),onSelect:()=>n(`folder`)})]})]})]}):(0,Q.jsxs)(R.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(R.Trigger,{asChild:!0,children:(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(m,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(R.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(R.Item,{leftIcon:(0,Q.jsx)(v,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`file`),children:r(`workspaceTree.newFile`)}),(0,Q.jsx)(R.Item,{leftIcon:(0,Q.jsx)(T,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`folder`),children:r(`workspaceTree.newFolder`)})]})]})}function Ae(e){let t=e.split(`/`),n=new Set;for(let e=1;e<t.length;e++)n.add(t.slice(0,e).join(`/`));return n}function je({assistantId:e}){let{t}=o(`workspace`),[n,r]=s(),[i,a]=(0,Z.useState)(()=>{let e=n.get(`file`);return e?Ae(e):new Set}),[c,l]=(0,Z.useState)(()=>n.get(`file`)),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(()=>n.get(`sort`)===`size`?`size`:`name`),[m,h]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=n.get(`file`);e&&(l(e),a(t=>{let n=new Set(t);for(let t of Ae(e))n.add(t);return n.size===t.size?t:n}),r(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[n,r]);let g=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),_=(0,Z.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=se(),[C,w]=(0,Z.useState)(``),T=(0,Z.useCallback)(e=>{l(e),S()},[S]),[E,D]=(0,Z.useState)(null),O=(0,Z.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);l(e=>e!==null&&t(e)?null:e),a(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),D({path:e})},[]),[k,A]=(0,Z.useState)(null),j={assistantId:e,expandedPaths:i,selectedPath:c,showHidden:u,sortMode:f,onToggleExpand:g,onExpandPath:_,onSelectPath:T,onToggleShowHidden:()=>d(e=>!e),onChangeSortMode:p,onPathDeleted:O,onPathRenamed:(0,Z.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;l(e=>e===null?e:n(e)),a(e=>{let t=!1,r=new Set;for(let i of e){let e=n(i);e!==i&&(t=!0),r.add(e)}return t?r:e}),A({from:e,to:t})},[]),search:C,onSearchChange:w};return(0,Q.jsxs)(`div`,{ref:v,className:`flex h-full min-h-0 flex-col gap-4`,children:[y?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(K,{onClick:x})}),(0,Q.jsx)(G,{open:b,onClose:S,title:t(`workspaceBrowser.drawerTitle`),children:(0,Q.jsx)(Oe,{...j})})]}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${y?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[y?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Oe,{...j})}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Se,{assistantId:e,selectedPath:c,showHidden:u,viewMode:m,onChangeViewMode:h,onBrowse:y?void 0:x,pathRename:k,pathDelete:E})})]})]})}function Me(){return(0,Q.jsx)(je,{assistantId:A()})}export{Me as WorkspacePage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,N as n,Xn as r,Zn as i,er as a,j as o}from"./vendor-yoekmcrB.js";import{_ as s,t as c,x as l}from"./react-BJ4PZBJN.js";import{Ar as u,Dr as d,Gi as f,Ir as p,It as m,Jr as h,Rr as g,Ui as _,Vr as v,Xt as y,_t as b,fr as x,h as S,i as C,k as w,kr as T,qa as E,qn as D,qr as O,ti as k}from"./icons-BjnVKAw1.js";import{$ as A,Ag as j,By as M,Gy as N,Jy as P,Ly as F,Mg as ee,Ng as I,Og as te,Pg as ne,Si as L,Vy as R,Zn as z,fb as B,fn as re,gn as V,hn as H,jg as ie,kg as U,nb as ae,pn as oe,qy as W}from"./index-BGc71lz7.js";import{n as G,r as K,t as se}from"./use-side-list-room-uFC4K56E.js";import{t as q}from"./format-file-size-Daiq0gMr.js";import{i as J,n as ce,r as Y,t as X}from"./file-editor-r5efUadh.js";var le=E(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),ue=E(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Z=e(l(),1);function de(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function fe(e,t){return de(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function pe(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function me(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=c();function he(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await z({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function ge({assistantId:e,path:t,name:n,showHidden:r}){let{t:i}=o(`workspace`),{isDownloading:a,error:s,download:c}=he({assistantId:e,path:t,name:n,showHidden:r});return(0,Q.jsx)(B,{variant:`ghost`,size:`regular`,iconOnly:a?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0}),onClick:()=>void c(),disabled:a,"aria-label":i(`workspaceFileViewer.downloadAria`,{name:n}),tooltip:i(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function _e(e){return r({queryFn:async()=>{let{data:t,error:n}=await j({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function ve({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=g;return n.startsWith(`image/`)?r=x:n.startsWith(`video/`)?r=S:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=p),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function ye({viewMode:e,onChange:t}){let{t:n}=o(`workspace`);return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(r=>{let i=e===r;return(0,Q.jsx)(B,{variant:`ghost`,onClick:()=>t(r),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:i?`var(--surface-lift)`:`transparent`,color:i?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:i?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:n(r===`preview`?`workspaceFileViewer.preview`:`workspaceFileViewer.source`)},r)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(ve,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:q(n)})]}),r]})}function be({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:a,isLoading:o}=i({queryFn:async()=>{let n=await U({path:{assistant_id:e},query:{path:t,...r?{showHidden:`true`}:{}},parseAs:`blob`});if(n.error)throw n.error;return n.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:r}],enabled:!!t}),[s,c]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!a)return;let e=URL.createObjectURL(a);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[a]),o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(D,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function xe({assistantId:e,path:t,name:n,mimeType:r,size:i,modifiedAt:a,showHidden:s}){let{t:c}=o(`workspace`),{isDownloading:l,error:u,download:d}=he({assistantId:e,path:t,name:n,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:n,mimeType:r,size:i}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(p,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:n}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:r}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:q(i,`Unknown size`)}),a&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(a).toLocaleString()]})]}),(0,Q.jsx)(B,{variant:`outlined`,size:`compact`,leftIcon:l?(0,Q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(k,{"aria-hidden":!0}),onClick:d,disabled:l,"aria-label":c(`workspaceFileViewer.downloadAria`,{name:n}),className:`mt-4`,children:c(l?`workspaceFileViewer.downloading`:`workspaceFileViewer.download`)}),u&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-error)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})]})}function Se({assistantId:e,selectedPath:n,showHidden:r,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:d,pathDelete:f}){let{t:p}=o(`workspace`),m=a(),{data:h,isLoading:g}=i({..._e({path:{assistant_id:e},query:{path:n??``,showHidden:r}}),enabled:!!n}),[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!d)return;let{from:e,to:t}=d,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;v(e=>e==null?e:n(e)),b(e=>e==null?e:{...e,path:n(e.path)})},[d]),(0,Z.useEffect)(()=>{if(!f)return;let{path:e}=f,t=t=>t===e||t.startsWith(`${e}/`);v(e=>e!=null&&t(e)?null:e),b(e=>e!=null&&t(e.path)?null:e)},[f]);let x=_!=null&&_===n,S=h?.content??``,C=y?.path===n?y.content:S,w=()=>{v(null),b(null)},T=t({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await ne({path:{assistant_id:e},body:{path:t,content:n,encoding:`utf8`},throwOnError:!1});if(!i?.ok||r)throw Error(`Failed to save file`)},onSuccess:(e,t)=>{v(e=>e===t.path?null:e),b(e=>e?.path===t.path?null:e),m.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),E=C!==S,O=(0,Z.useCallback)(()=>{n&&E&&!T.isPending&&T.mutate({path:n,content:C})},[n,E,T,C]);if(!n)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:p(`workspaceFileViewer.selectAFile`)}),l&&(0,Q.jsx)(B,{type:`button`,onClick:l,leftIcon:(0,Q.jsx)(u,{"aria-hidden":!0}),children:p(`workspaceFileViewer.browseFiles`)})]});if(g)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(D,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!h)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:p(`workspaceFileViewer.fileNotFound`)})});let k=h.mimeType??`application/octet-stream`,A=h.name??n.split(`/`).pop()??n,j=V(A,k),M=fe(A,k),N=h.content!=null&&!j&&!M,P=n?me(n):!0,F=x&&(0,Q.jsx)(ce,{isDirty:E,isSaving:T.isPending,error:T.isError?p(`workspaceFileViewer.saveFailed`):null,onSave:O,onDiscard:w});if(j&&h.content!=null){let e=x?C:h.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{x&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:e,fileName:A,mimeType:k,showEdit:!P&&s===`source`,isEditing:x,onToggleEdit:()=>x?w():v(n)}),s===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(H,{content:e})}):x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content,readOnly:P,onStartEdit:()=>v(n)})]}),F]})}if(M&&h.content!=null){let e=x?C:h.content,t=pe(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{x&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:s===`preview`?t:e,downloadContent:e,fileName:A,mimeType:k,showEdit:!P&&s===`source`,isEditing:x,onToggleEdit:()=>x?w():v(n)}),s===`preview`?(0,Q.jsx)(J,{content:t,readOnly:!0,whiteSpace:`pre`}):x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content,readOnly:P,onStartEdit:()=>v(n)})]}),F]})}return N?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,size:h.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:x?C:h.content??``,fileName:A,mimeType:k,showEdit:!P,isEditing:x,onToggleEdit:()=>x?w():v(n)}),x?(0,Q.jsx)(Y,{value:C,onChange:e=>b({path:n,content:e}),onSave:O}):(0,Q.jsx)(J,{content:h.content??``,readOnly:P,onStartEdit:()=>v(n)})]}),F]}):k.startsWith(`image/`)||k.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:k,size:h.size,rightContent:(0,Q.jsx)(ge,{assistantId:e,path:n,name:A,showHidden:r})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(be,{assistantId:e,path:n,mimeType:k,showHidden:r})})]}):(0,Q.jsx)(xe,{assistantId:e,path:n,name:A,mimeType:k,size:h.size,modifiedAt:h.modifiedAt,showHidden:r})}function Ce(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}async function we(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await I({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=(e.name??``).toLowerCase();return t===i&&t!==a}))throw Error(`"${n}" already exists here.`)}function Te({entry:e}){return e.type===`directory`?(0,Q.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function Ee({entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:u,onRequestDelete:d,onRequestRename:p,onRequestCreate:m,depth:h}){let{t:g}=o(`workspace`),b=e.path??``,x=e.name??``,S=e.type===`directory`,C=n.has(b),E=r===b,D=x.startsWith(`.`),O=!me(b),k=S&&(C||c.length>0),{data:A}=i({...oe({assistantId:t,path:b,showHidden:a,includeDirSizes:s===`size`}),enabled:S&&k}),j=(0,Z.useMemo)(()=>Ce(A?.entries??[],s),[A?.entries,s]),M=c===``||x.toLowerCase().includes(c);if(c!==``&&!S&&!M)return null;let N=(0,Q.jsxs)(`button`,{onClick:()=>{S?l(b):u(b)},className:`flex w-full items-center gap-1.5 px-2 py-1 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{paddingLeft:`${h*14+8}px`,paddingRight:`8px`,color:E?`var(--content-default)`:D?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:E?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:D&&!E?.7:1},children:[S?k?(0,Q.jsx)(f,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(_,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(Te,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:x}),e.size!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:q(e.size)})]});return(0,Q.jsxs)(`div`,{children:[O?(0,Q.jsxs)(F.Root,{children:[(0,Q.jsx)(F.Trigger,{children:N}),(0,Q.jsxs)(F.Content,{children:[S&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(v,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`file`,parentPath:b}),children:g(`workspaceTree.newFile`)}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(T,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`folder`,parentPath:b}),children:g(`workspaceTree.newFolder`)}),(0,Q.jsx)(F.Separator,{})]}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(w,{className:`h-3.5 w-3.5`}),onSelect:()=>d({path:b,name:x,isDirectory:S}),children:g(`workspaceTree.delete`)}),(0,Q.jsx)(F.Item,{leftIcon:(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),onSelect:()=>p({path:b,name:x,isDirectory:S}),children:g(`workspaceTree.rename`)})]})]}):N,S&&k&&j.length>0&&(0,Q.jsx)(`div`,{children:j.map(e=>(0,Q.jsx)(Ee,{entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:a,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:u,onRequestDelete:d,onRequestRename:p,onRequestCreate:m,depth:h+1},e.path))})]})}function De({title:e,placeholder:t,confirmLabel:n,pendingLabel:r,initialName:i,onCancel:a,onConfirm:s,pending:c,error:l}){let{t:u}=o(`workspace`),d=(0,Z.useRef)(null),[f,p]=(0,Z.useState)(i??``),m=f.trim(),h=m.length>0&&(/[/\\]/.test(m)||m===`.`||m===`..`),g=m.length>0&&!h&&!c;return(0,Q.jsx)(P.Root,{open:!0,onOpenChange:e=>{!e&&!c&&a()},children:(0,Q.jsx)(P.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=d.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),c||a()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g&&s(m)},children:[(0,Q.jsx)(P.Header,{children:(0,Q.jsx)(P.Title,{children:e})}),(0,Q.jsx)(P.Body,{children:(0,Q.jsx)(ae,{ref:d,label:u(`workspaceTree.nameLabel`),value:f,onChange:e=>p(e.target.value),placeholder:t,errorText:l??(h?u(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(P.Footer,{children:[(0,Q.jsx)(B,{type:`button`,variant:`outlined`,onClick:a,disabled:c,children:u(`workspaceTree.cancel`)}),(0,Q.jsx)(B,{type:`submit`,variant:`primary`,disabled:!g,children:c?r:n})]})]})})})}function Oe({assistantId:e,expandedPaths:r,selectedPath:s,showHidden:c,sortMode:l,onToggleExpand:u,onExpandPath:d,onSelectPath:f,onToggleShowHidden:p,onChangeSortMode:m,onPathDeleted:g,onPathRenamed:_,search:v,onSearchChange:y}){let{t:x}=o(`workspace`),S=a(),w=v.trim().toLowerCase(),[T,E]=(0,Z.useState)(!1),[D,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(null),M=(0,Z.useCallback)(()=>{k(null),j(null)},[]),{data:P,isLoading:F}=i(oe({assistantId:e,showHidden:c,includeDirSizes:l===`size`})),I=(0,Z.useMemo)(()=>Ce(P?.entries??[],l),[P?.entries,l]),L=(0,Z.useCallback)(()=>{for(let e of[re,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])S.invalidateQueries({queryKey:[e]})},[S]),R=t({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await we(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await ne({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await ie({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw Error(typeof r==`string`?r:`Failed to create — check the name and try again.`);return{...t,path:n}},onSuccess:e=>{M(),L(),e.parentPath&&d(e.parentPath),e.kind===`file`?f(e.path):d(e.path)},onError:e=>{j(e instanceof Error?e.message:`Failed to create.`)}}),z=t({mutationFn:async t=>{let n=t.oldPath.lastIndexOf(`/`),r=n===-1?``:t.oldPath.slice(0,n),i=t.oldPath.slice(n+1),a=r?`${r}/${t.newName}`:t.newName;await we(e,r,t.newName,i);let{error:o,response:s}=await ee({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:a},throwOnError:!1});if(o||!s?.ok)throw Error(typeof o==`string`?o:`Failed to rename — check the name and try again.`);return{oldPath:t.oldPath,newPath:a}},onSuccess:({oldPath:e,newPath:t})=>{M(),L(),_(e,t)},onError:e=>{j(e instanceof Error?e.message:`Failed to rename.`)}}),V=(0,Z.useCallback)(e=>{j(null),k({type:`create`,...e})},[]),H=(0,Z.useCallback)(e=>{j(null),k({type:`rename`,path:e.path,name:e.name})},[]),[U,W]=(0,Z.useState)(null),G=t({mutationFn:async t=>{let{error:n,response:r}=await te({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to delete — try again.`);return t},onSuccess:e=>{W(null),L(),g(e.path)}}),K=(0,Z.useCallback)(e=>{G.reset(),W(e)},[G]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:x(`workspaceTree.heading`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:l===`size`?(0,Q.jsx)(ue,{"aria-hidden":!0}):(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:()=>m(l===`size`?`name`:`size`),"aria-label":x(l===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:x(l===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:l===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c?(0,Q.jsx)(O,{"aria-hidden":!0}):(0,Q.jsx)(h,{"aria-hidden":!0}),onClick:p,"aria-label":x(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:x(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:c?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(ke,{open:T,onOpenChange:E,onSelectKind:e=>{E(!1),V({kind:e,parentPath:``})}})]})]}),(0,Q.jsx)(`div`,{className:`px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(ae,{type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:x(`workspaceTree.searchPlaceholder`),leftIcon:(0,Q.jsx)(b,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),v&&(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(C,{"aria-hidden":!0}),onClick:()=>y(``),"aria-label":x(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:F?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):I.length?I.map(t=>(0,Q.jsx)(Ee,{entry:t,assistantId:e,expandedPaths:r,selectedPath:s,showHidden:c,sortMode:l,searchLower:w,onToggleExpand:u,onSelectPath:f,onRequestDelete:K,onRequestRename:H,onRequestCreate:V,depth:0},t.path)):(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:x(`workspaceTree.noFilesFound`)})}),D?.type===`create`&&(0,Q.jsx)(De,{title:D.kind===`file`?x(`workspaceTree.newFile`):x(`workspaceTree.newFolder`),placeholder:D.kind===`file`?`filename.md`:`folder-name`,confirmLabel:x(`workspaceTree.create`),pendingLabel:x(`workspaceTree.creating`),onCancel:M,onConfirm:e=>{j(null),R.mutate({kind:D.kind,parentPath:D.parentPath,name:e})},pending:R.isPending,error:A},`create-${D.kind}-${D.parentPath}`),D?.type===`rename`&&(0,Q.jsx)(De,{title:x(`workspaceTree.rename`),placeholder:D.name,confirmLabel:x(`workspaceTree.rename`),pendingLabel:x(`workspaceTree.renaming`),initialName:D.name,onCancel:M,onConfirm:e=>{if(e===D.name){M();return}j(null),z.mutate({oldPath:D.path,newName:e})},pending:z.isPending,error:A},`rename-${D.path}`),(0,Q.jsx)(N,{open:U!==null,title:U?.isDirectory?x(`workspaceTree.deleteFolderTitle`):x(`workspaceTree.deleteFileTitle`),message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(n,{i18nKey:U?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:U?.name??``},components:{name:(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),G.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:G.error.message})]}),confirmLabel:G.isPending?x(`workspaceTree.deleting`):x(`workspaceTree.delete`),destructive:!0,isPending:G.isPending,onConfirm:()=>{U&&G.mutate(U)},onCancel:()=>W(null)})]})}function ke({open:e,onOpenChange:t,onSelectKind:n}){let{t:r}=o(`workspace`);return L()?(0,Q.jsxs)(W.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(m,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(W.Content,{children:[(0,Q.jsx)(W.Header,{className:`sr-only`,children:(0,Q.jsx)(W.Title,{children:r(`workspaceTree.creatingHeading`)})}),(0,Q.jsxs)(W.Body,{className:`pt-0`,children:[(0,Q.jsx)(M,{icon:v,label:r(`workspaceTree.newFile`),onSelect:()=>n(`file`)}),(0,Q.jsx)(M,{icon:T,label:r(`workspaceTree.newFolder`),onSelect:()=>n(`folder`)})]})]})]}):(0,Q.jsxs)(R.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(R.Trigger,{asChild:!0,children:(0,Q.jsx)(B,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(m,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(R.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(R.Item,{leftIcon:(0,Q.jsx)(v,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`file`),children:r(`workspaceTree.newFile`)}),(0,Q.jsx)(R.Item,{leftIcon:(0,Q.jsx)(T,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`folder`),children:r(`workspaceTree.newFolder`)})]})]})}function Ae(e){let t=e.split(`/`),n=new Set;for(let e=1;e<t.length;e++)n.add(t.slice(0,e).join(`/`));return n}function je({assistantId:e}){let{t}=o(`workspace`),[n,r]=s(),[i,a]=(0,Z.useState)(()=>{let e=n.get(`file`);return e?Ae(e):new Set}),[c,l]=(0,Z.useState)(()=>n.get(`file`)),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(()=>n.get(`sort`)===`size`?`size`:`name`),[m,h]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=n.get(`file`);e&&(l(e),a(t=>{let n=new Set(t);for(let t of Ae(e))n.add(t);return n.size===t.size?t:n}),r(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[n,r]);let g=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),_=(0,Z.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=se(),[C,w]=(0,Z.useState)(``),T=(0,Z.useCallback)(e=>{l(e),S()},[S]),[E,D]=(0,Z.useState)(null),O=(0,Z.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);l(e=>e!==null&&t(e)?null:e),a(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),D({path:e})},[]),[k,A]=(0,Z.useState)(null),j={assistantId:e,expandedPaths:i,selectedPath:c,showHidden:u,sortMode:f,onToggleExpand:g,onExpandPath:_,onSelectPath:T,onToggleShowHidden:()=>d(e=>!e),onChangeSortMode:p,onPathDeleted:O,onPathRenamed:(0,Z.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;l(e=>e===null?e:n(e)),a(e=>{let t=!1,r=new Set;for(let i of e){let e=n(i);e!==i&&(t=!0),r.add(e)}return t?r:e}),A({from:e,to:t})},[]),search:C,onSearchChange:w};return(0,Q.jsxs)(`div`,{ref:v,className:`flex h-full min-h-0 flex-col gap-4`,children:[y?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(K,{onClick:x})}),(0,Q.jsx)(G,{open:b,onClose:S,title:t(`workspaceBrowser.drawerTitle`),children:(0,Q.jsx)(Oe,{...j})})]}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${y?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[y?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Oe,{...j})}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Se,{assistantId:e,selectedPath:c,showHidden:u,viewMode:m,onChangeViewMode:h,onBrowse:y?void 0:x,pathRename:k,pathDelete:E})})]})]})}function Me(){return(0,Q.jsx)(je,{assistantId:A()})}export{Me as WorkspacePage};
|
package/dist/index.html
CHANGED
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
display: none;
|
|
332
332
|
}
|
|
333
333
|
</style>
|
|
334
|
-
<script type="module" crossorigin src="/assistant/assets/index-
|
|
334
|
+
<script type="module" crossorigin src="/assistant/assets/index-BGc71lz7.js"></script>
|
|
335
335
|
<link rel="modulepreload" crossorigin href="/assistant/assets/rolldown-runtime-BM3Ffeng.js">
|
|
336
336
|
<link rel="modulepreload" crossorigin href="/assistant/assets/react-BJ4PZBJN.js">
|
|
337
337
|
<link rel="modulepreload" crossorigin href="/assistant/assets/vendor-yoekmcrB.js">
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(`${r.settings.debug}?tab=archive`,{replace:!0})},[e]),null}export{a as ArchiveRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e}from"./vendor-yoekmcrB.js";import{Yp as t}from"./index-DA0GBGXJ.js";function n(){return t()!==null||e.isNativePlatform()?`native`:`web`}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DevicesRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as e}from"./vendor-yoekmcrB.js";import{wy as t}from"./index-DA0GBGXJ.js";var n=t(e(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.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 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./react-BJ4PZBJN.js";import{Yv as n}from"./index-DA0GBGXJ.js";var r=t();function i(){return(0,r.jsx)(e,{to:n.account.login,replace:!0})}export{i as PasswordResetPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dm as e}from"./index-DA0GBGXJ.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as SecurityRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
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-DA0GBGXJ.js";var i=e(n(),1);function a(){let e=t();return(0,i.useEffect)(()=>{e(r.logs.systemEvents,{replace:!0})},[e]),null}export{a as SystemEventsRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{um as e}from"./index-DA0GBGXJ.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{x as t}from"./react-BJ4PZBJN.js";import{co as n,gr as r}from"./index-DA0GBGXJ.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{if(e)return t.find(t=>n(t).includes(e))},[t,e])}export{a as t};
|