@vellumai/web 0.12.2-staging.3 → 0.12.2-staging.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{a2a-invite-C-d__v0P.js → a2a-invite-D7Z1FvN-.js} +1 -1
- package/dist/assets/{about-page-BMTVVfA2.js → about-page-JRNWZ7kb.js} +1 -1
- package/dist/assets/{account-page-Bu04CQvW.js → account-page-Fw9S3qL2.js} +1 -1
- package/dist/assets/{account-shell-0TviHaBf.js → account-shell-BZp2-g1N.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-w4reCx6D.js → acp-run-detail-panel-2Nc7KPDZ.js} +1 -1
- package/dist/assets/{activation-list-route-CSuVtIeq.js → activation-list-route-L2lNhfTD.js} +1 -1
- package/dist/assets/{activity-redirect-page-Cgmmb8Rc.js → activity-redirect-page-ClzSvQoo.js} +1 -1
- package/dist/assets/{activity-steps-panel-C26DS_qd.js → activity-steps-panel-DSJiB6_Z.js} +1 -1
- package/dist/assets/{add-credits-modal-IIKnKS9l.js → add-credits-modal-CAUxaNjZ.js} +1 -1
- package/dist/assets/add-credits-modal-CXZ_HMMM.js +1 -0
- package/dist/assets/{ai-page-_iWq21vC.js → ai-page-yAJ8z8PM.js} +1 -1
- package/dist/assets/{android-billing-handoff-BVx_2Qs0.js → android-billing-handoff-BxVpZpp4.js} +1 -1
- package/dist/assets/{api-key-screen-xui6n8NR.js → api-key-screen-Ccta6gO2.js} +1 -1
- package/dist/assets/{app-info-4gR8gnBC.js → app-info-Csu7V_TE.js} +1 -1
- package/dist/assets/app-p4YU9h0P.js +392 -0
- package/dist/assets/{archive-redirect-page-D1zUz-Kn.js → archive-redirect-page-CzxO3IP6.js} +1 -1
- package/dist/assets/{assistant-status-panel-B-woG0mJ.js → assistant-status-panel-WAUlzwkS.js} +1 -1
- package/dist/assets/auth-store-Ck1z7eSl.js +1 -0
- package/dist/assets/{auth-welcome-screen-BsYIoTpq.js → auth-welcome-screen-pfPKjv5w.js} +1 -1
- package/dist/assets/avatar-bundled-components-D1XVsaGL.js +1 -0
- package/dist/assets/{avatar-random-DTCQMspt.js → avatar-random-Cki-Ly_C.js} +2 -2
- package/dist/assets/{await-org-header-settled-euao9G4w.js → await-org-header-settled-6bT0rbUs.js} +1 -1
- package/dist/assets/{background-task-detail-panel-Bm7wkZ5w.js → background-task-detail-panel-BYCUOtG5.js} +1 -1
- package/dist/assets/{billing-page-BkUfkbYS.js → billing-page-DUNd0r_e.js} +3 -3
- package/dist/assets/{billing-redirect-page-A8_L7A4l.js → billing-redirect-page-Dl__amIR.js} +1 -1
- package/dist/assets/{bookmarks-page-Db3QFcDm.js → bookmarks-page-5HR6Klms.js} +1 -1
- package/dist/assets/{bundle-confirm-page-Cnb49ExR.js → bundle-confirm-page-BxHGHYtw.js} +1 -1
- package/dist/assets/{channel-transcript-panel-DFDoSX5e.js → channel-transcript-panel-O29G6BfM.js} +1 -1
- package/dist/assets/{channels-page-route-9NljMyj4.js → channels-page-route-BsAycszP.js} +1 -1
- package/dist/assets/{chat-info-panel-BENFQ0tW.js → chat-info-panel-C3GOJkgC.js} +1 -1
- package/dist/assets/{checkout-continuation-C38t4ayV.js → checkout-continuation-CI0HG33e.js} +1 -1
- package/dist/assets/{checkout-page-B6HAgaEv.js → checkout-page-KqQmNMqQ.js} +1 -1
- package/dist/assets/checkout-return-target-B4WZzAGx.js +1 -0
- package/dist/assets/command-palette-BPcXUSG_.js +1 -0
- package/dist/assets/{command-palette-BIYpDozl.js → command-palette-DxolRnp8.js} +1 -1
- package/dist/assets/{command-palette-window-page-BMC7dzK0.js → command-palette-window-page-B4sEAiOF.js} +1 -1
- package/dist/assets/{community-page-BxDoLG0_.js → community-page-OsB5Ahr9.js} +1 -1
- package/dist/assets/{companion-accent-pu5Xu8Z6.js → companion-accent-BhdiAsTr.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-BEfMdIVO.js → companion-dock-zones-page-xJmPXMgY.js} +1 -1
- package/dist/assets/{companion-layout-Ye64fIzN.js → companion-layout-BPhlz6Wp.js} +1 -1
- package/dist/assets/{companion-popover-Bs6A6445.js → companion-popover-BsbCOPDj.js} +1 -1
- package/dist/assets/{companion-popover-page-7jpYeiIN.js → companion-popover-page-4ULIStvW.js} +1 -1
- package/dist/assets/{companion-surface-page-BrMY3X-F.js → companion-surface-page-BU0SxRLT.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-Bk0N7E-g.js → companion-watch-frame-page-BwKy3_MW.js} +1 -1
- package/dist/assets/{connect-page-Bf8bYBAk.js → connect-page-BDVFjuF6.js} +1 -1
- package/dist/assets/{consent-controls-N6cnmytV.js → consent-controls-BXRj0Z62.js} +1 -1
- package/dist/assets/{contacts-gateway-C_BunUUf.js → contacts-gateway-jgC2hJQu.js} +1 -1
- package/dist/assets/{contacts-page-route-DIxMGBde.js → contacts-page-route-C8DyP00R.js} +1 -1
- package/dist/assets/{credential-entry-page-2ek7NaCu.js → credential-entry-page-DZm1DSNe.js} +1 -1
- package/dist/assets/{credentials-page-D3PvFMgc.js → credentials-page-BFptIyXc.js} +1 -1
- package/dist/assets/{csv-preview-BB-EmIxC.js → csv-preview-DYuTN03x.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-BVmYzrKj.js → danger-zone-redirect-page-BgNNmPcD.js} +1 -1
- package/dist/assets/{debug-page-CJOt0BAt.js → debug-page-CsudFgfJ.js} +1 -1
- package/dist/assets/{deploy-dialogs-BSCor8jx.js → deploy-dialogs-BXow2FID.js} +1 -1
- package/dist/assets/deploy-dialogs-Bh91S82o.js +1 -0
- package/dist/assets/{desktop-preview-content-BIp4Vpgt.js → desktop-preview-content-DZb6VLVc.js} +2 -2
- package/dist/assets/{desktop-status-CHoj8auj.js → desktop-status-Dg1h8ABX.js} +1 -1
- package/dist/assets/{desktop-viewer-86gYrlm2.js → desktop-viewer-38EXOmZ4.js} +1 -1
- package/dist/assets/{detail-card-CGafPdBQ.js → detail-card-BpqiAUnN.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-BqhRaB6y.js → detail-panel-stop-button-BFDJ5Gir.js} +1 -1
- package/dist/assets/{detail-primitives-DIBzx3XJ.js → detail-primitives-CYiljnNr.js} +1 -1
- package/dist/assets/{developer-page-p4Ylxemb.js → developer-page-BIPONPKj.js} +1 -1
- package/dist/assets/{devices-redirect-page-BcyaUgzH.js → devices-redirect-page-DwI95Deo.js} +1 -1
- package/dist/assets/{dictation-overlay-page-C9yEcxKh.js → dictation-overlay-page-Du7FXduO.js} +1 -1
- package/dist/assets/{document-load-CZeb0od7.js → document-load-B4r-kmWD.js} +1 -1
- package/dist/assets/document-load-Bcy7cK7m.js +1 -0
- package/dist/assets/{document-viewer-page-L_O7lYHa.js → document-viewer-page-BzftukxE.js} +1 -1
- package/dist/assets/{emails-page-fgZebuJ7.js → emails-page-Cp6XS4Jh.js} +1 -1
- package/dist/assets/{environment-store-7mW8BRRm.js → environment-store-DXa_IPIU.js} +1 -1
- package/dist/assets/{file-diff-view-B9dRfPbB.js → file-diff-view-DIBSfwHd.js} +1 -1
- package/dist/assets/{file-editor-DtbuATs6.js → file-editor-gXTdPzcn.js} +1 -1
- package/dist/assets/{general-page-iMRa5Ucp.js → general-page-Du-jPHaf.js} +1 -1
- package/dist/assets/{hatching-screen-C9GXGQ2P.js → hatching-screen-BZup1IEp.js} +1 -1
- package/dist/assets/{hosting-screen-D8bCW4Uz.js → hosting-screen-B1uKDCEA.js} +1 -1
- package/dist/assets/{identity-page-route-D0fpi7db.js → identity-page-route-Cm6K_bBR.js} +1 -1
- package/dist/assets/{inspect-page-C2T5Wpgw.js → inspect-page-iBkyiBTD.js} +3 -3
- package/dist/assets/{integrations-page-3cwkXYyq.js → integrations-page-CVmr89JP.js} +1 -1
- package/dist/assets/{intelligence-layout-jyahyAWu.js → intelligence-layout-CzYFqgC5.js} +1 -1
- package/dist/assets/intelligence-layout-slots-store-C5ni0SPd.js +1 -0
- package/dist/assets/{keyboard-shortcuts-redirect-page-Bcl-FjyB.js → keyboard-shortcuts-redirect-page-VOpK_vkw.js} +1 -1
- package/dist/assets/{latest-assistant-text-HB3-JTrf.js → latest-assistant-text-CRS_nZkk.js} +1 -1
- package/dist/assets/{library-detail-page-DTptYQAF.js → library-detail-page-CYDXCYR7.js} +1 -1
- package/dist/assets/{library-page-D0OfVER_.js → library-page-DU9_fODf.js} +1 -1
- package/dist/assets/local-mode-BwMCd1ly.js +1 -0
- package/dist/assets/{login-page-BA3GjFvS.js → login-page-OqpqflhY.js} +1 -1
- package/dist/assets/{logout-page-Dp--IQJm.js → logout-page-B75MMPkh.js} +1 -1
- package/dist/assets/{logs-layout-C4SjgNAl.js → logs-layout-Dj1ybnfw.js} +1 -1
- package/dist/assets/{markdown-preview-CBu26q1U.js → markdown-preview-r7bRpgS4.js} +1 -1
- package/dist/assets/{media-preview-CrddXQMc.js → media-preview-ozDVMMcK.js} +1 -1
- package/dist/assets/{memory-page-route-BzLfpam9.js → memory-page-route-DSoeQ_G0.js} +1 -1
- package/dist/assets/{memory-router-playground-page-CP0Eurny.js → memory-router-playground-page-Cica9Nbb.js} +1 -1
- package/dist/assets/{message-files-panel-CDzpeEx4.js → message-files-panel-DwXYI7Vj.js} +1 -1
- package/dist/assets/{metric-card-Dkx47Ug0.js → metric-card-CRZNAmE4.js} +1 -1
- package/dist/assets/native-attachment-pickers-DH76HUOD.js +1 -0
- package/dist/assets/native-file-AwxfXJFy.js +1 -0
- package/dist/assets/{notifications-page-1r0ehmHL.js → notifications-page-8XrbAs9c.js} +1 -1
- package/dist/assets/{oauth-complete-page-D8yKCOVn.js → oauth-complete-page-B-oiboUF.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-DzPqlG80.js → oauth-popup-complete-page-DbkS3Ktn.js} +1 -1
- package/dist/assets/paired-platform-identity-BN-Q3FiP.js +1 -0
- package/dist/assets/{pairing-page-DhmG1Tkg.js → pairing-page-CL3aDKN8.js} +1 -1
- package/dist/assets/password-reset-page-9EUcZrPc.js +1 -0
- package/dist/assets/{pdf-file-preview-ElX646lL.js → pdf-file-preview-DWb95OOo.js} +1 -1
- package/dist/assets/{personality-page-DXW5MuRz.js → personality-page-Cd4rs_nw.js} +1 -1
- package/dist/assets/{personality-page-BqW5uuDF.js → personality-page-DRi1SkGz.js} +1 -1
- package/dist/assets/{personality-sliders-BuInNb35.js → personality-sliders-r9DH0oqr.js} +1 -1
- package/dist/assets/{plans-page-B87o5Bm-.js → plans-page-3TPIVG-V.js} +1 -1
- package/dist/assets/{platform-loopback-page--ynU4rVO.js → platform-loopback-page-6AkvXRD1.js} +1 -1
- package/dist/assets/{plugin-detail-page-lbmmlIpx.js → plugin-detail-page-C2PIC2NZ.js} +1 -1
- package/dist/assets/{plugins-page-BM44sOv4.js → plugins-page-Y18LhhDz.js} +1 -1
- package/dist/assets/plugins-surface-rSnCf7eu.js +1 -0
- package/dist/assets/{preview-error-B6mdXJ98.js → preview-error-BWXX5254.js} +1 -1
- package/dist/assets/{privacy-page-BqqU59zB.js → privacy-page-zDZFH9JY.js} +1 -1
- package/dist/assets/{privacy-screen-CW2gbeYL.js → privacy-screen-BdvoQ-DB.js} +1 -1
- package/dist/assets/{provider-callback-page-PVHvQXqC.js → provider-callback-page-CFS4DEY_.js} +1 -1
- package/dist/assets/{provider-key-fvCko3IH.js → provider-key-CYTAv7Kh.js} +1 -1
- package/dist/assets/{provider-signup-page-D6kN0d9F.js → provider-signup-page-C89a_7j5.js} +1 -1
- package/dist/assets/{quick-input-page-DMs0592w.js → quick-input-page-5f0AEU1o.js} +1 -1
- package/dist/assets/referral-modal-BciUQDfu.js +1 -0
- package/dist/assets/{referral-modal-C5ePy9XT.js → referral-modal-Dk1Vo23P.js} +1 -1
- package/dist/assets/{research-mock-page-D3X9Fw83.js → research-mock-page-DWfJd3UP.js} +1 -1
- package/dist/assets/{research-onboarding-route-Bk2Zl9y9.js → research-onboarding-route-Bd2vn3i5.js} +1 -1
- package/dist/assets/{review-terms-screen-CU9h0Gz5.js → review-terms-screen-M8IjrJH-.js} +1 -1
- package/dist/assets/routes-D_UALtH1.js +1 -0
- package/dist/assets/{schedules-Cslj2E_n.js → schedules-C83Ua4R6.js} +1 -1
- package/dist/assets/{schedules-page-7QBCwWLg.js → schedules-page-lT5NcWNK.js} +1 -1
- package/dist/assets/{security-redirect-page-D6C5fIZt.js → security-redirect-page-BcTO6hEV.js} +1 -1
- package/dist/assets/{select-assistant-screen-BO9WTRBj.js → select-assistant-screen-DAwfV-mz.js} +1 -1
- package/dist/assets/{self-hosted-servers-sqp6RgAQ.js → self-hosted-servers-BmfZpV_S.js} +1 -1
- package/dist/assets/{service-form-controls-C5nQsTzh.js → service-form-controls-B3_1_Epi.js} +1 -1
- package/dist/assets/{setting-row-Dqextrfj.js → setting-row-Dz9SXznO.js} +1 -1
- package/dist/assets/{settings-divider-D-IFmB_l.js → settings-divider-C1j4hJMG.js} +1 -1
- package/dist/assets/{settings-layout-Bh7MaZ4H.js → settings-layout-CQfyqDUr.js} +1 -1
- package/dist/assets/{share-feedback-modal-DsaGXNnY.js → share-feedback-modal-Ka1FQwFE.js} +1 -1
- package/dist/assets/share-feedback-modal-sGkJieen.js +1 -0
- package/dist/assets/{sidebar-tree-BgVhUiEU.js → sidebar-tree-BSRyDJ-e.js} +1 -1
- package/dist/assets/{signup-page-CzQJSqzn.js → signup-page-CcJHavhm.js} +1 -1
- package/dist/assets/{signup-shell-C1cGo11n.js → signup-shell-D9ohM8Rf.js} +1 -1
- package/dist/assets/{skill-detail-page-BN8Rwzuu.js → skill-detail-page-CGtKgK0P.js} +1 -1
- package/dist/assets/{skill-detail-panel-DVrh3t_h.js → skill-detail-panel-Bpl_9hRY.js} +1 -1
- package/dist/assets/{skill-removal-dialog-CkduZswH.js → skill-removal-dialog-C91c4ZfS.js} +1 -1
- package/dist/assets/{skills-page-DS76T-t4.js → skills-page-DpwPDybh.js} +1 -1
- package/dist/assets/{sounds-page-Bqrv7A7h.js → sounds-page-CzL0Egaq.js} +1 -1
- package/dist/assets/{start-screen-Cz9LflKA.js → start-screen-Cph32ejI.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-Ckz32Oh1.js → stt-language-picker-modal-3iCIcD10.js} +1 -1
- package/dist/assets/{subagent-detail-panel-C2AI9zu4.js → subagent-detail-panel-DF4ZXV2K.js} +1 -1
- package/dist/assets/{superpowers-page-CMOvPhlc.js → superpowers-page-DmqxKZ6y.js} +1 -1
- package/dist/assets/{system-events-page-D0fUUNzD.js → system-events-page-BP_Rw924.js} +1 -1
- package/dist/assets/{system-events-redirect-page-Dr4-w7Y1.js → system-events-redirect-page-sLsausvS.js} +1 -1
- package/dist/assets/{text-preview-DozGQuv6.js → text-preview-CKO4jBfL.js} +1 -1
- package/dist/assets/{theme-stage-page-CcBBPfjV.js → theme-stage-page-BIBA5J8a.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Db4_RKhj.js → tiptap-document-editor-C3jfHfr_.js} +1 -1
- package/dist/assets/{tool-detail-panel-CNNnmtM6.js → tool-detail-panel-BkWuCCm0.js} +1 -1
- package/dist/assets/tool-detail-panel-msAhgoxJ.js +1 -0
- package/dist/assets/{trait-cycle-row-C1uqLkCi.js → trait-cycle-row-leO22btH.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-CKZWRtvT.js → upgrade-cancel-page-B0iduvhi.js} +1 -1
- package/dist/assets/{upgrade-success-page-CkXzT8Ty.js → upgrade-success-page-BClAIdZm.js} +1 -1
- package/dist/assets/{usage-redirect-page-CRrl2BDL.js → usage-redirect-page-BxTlrAZu.js} +1 -1
- package/dist/assets/{use-app-delete-CFfw_T0x.js → use-app-delete-Cj0xy5H5.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CGJTkSlu.js → use-assistant-identity-details-Bj-VqGPz.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-DB9VdW8-.js → use-checkout-dismiss-refresh-Clbra-UV.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-DYPOVsUT.js → use-edge-swipe-back-D1eHj9sf.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-Cj-vFxW2.js → use-hotkey-recorder-KK0SXCtP.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-B4f3yyUN.js → use-invite-link-dialog-BYTs8NpU.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-D8KGJAMf.js → use-platform-assistant-id-B1MuVrYX.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-Db6fiXSQ.js → use-return-to-short-circuit-CkdO0Q2j.js} +1 -1
- package/dist/assets/{use-side-list-room-CSNBqjJu.js → use-side-list-room-BSP_B7R_.js} +1 -1
- package/dist/assets/{use-skill-actions-BNpUjvgz.js → use-skill-actions-Dk64pbQd.js} +1 -1
- package/dist/assets/{use-skill-detail-files-C5BA-Phb.js → use-skill-detail-files-DmOW_S89.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-BSQpJ09k.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-ZVUnXf5k.js → use-transcript-message-by-id-diLlPoiw.js} +1 -1
- package/dist/assets/{voice-page-DDLtbhsC.js → voice-page-0iijkFuD.js} +1 -1
- package/dist/assets/{wake-detail-panel-C5K2zAvp.js → wake-detail-panel-DaKaOAfd.js} +1 -1
- package/dist/assets/{weather-forecast-display-CWGsPOa9.js → weather-forecast-display-ChYkwma2.js} +1 -1
- package/dist/assets/{welcome-screen-DuUuJIJ2.js → welcome-screen-Dwra_l1I.js} +1 -1
- package/dist/assets/{workflow-detail-panel-D6ip8R9Y.js → workflow-detail-panel-CgyFYiiF.js} +1 -1
- package/dist/assets/{workspace-page-D_4QLZh3.js → workspace-page-D-ZvFFGb.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-Byhxttdb.js +0 -1
- package/dist/assets/app-DFXcEvsi.js +0 -392
- package/dist/assets/auth-store-BFk7tSVA.js +0 -1
- package/dist/assets/avatar-bundled-components-B-TO2nC_.js +0 -1
- package/dist/assets/checkout-return-target-CrM-Nhda.js +0 -1
- package/dist/assets/command-palette-Dj-GW7dm.js +0 -1
- package/dist/assets/deploy-dialogs-DY0pTVu1.js +0 -1
- package/dist/assets/document-load-B9O1A5E9.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-CI7IhmZv.js +0 -1
- package/dist/assets/local-mode-Dve-u3Zf.js +0 -1
- package/dist/assets/native-attachment-pickers-DVsB4Q0l.js +0 -1
- package/dist/assets/native-file-BKR4KkJt.js +0 -1
- package/dist/assets/paired-platform-identity-C4IGgtxq.js +0 -1
- package/dist/assets/password-reset-page-7yc-z_Pf.js +0 -1
- package/dist/assets/plugins-surface-2i_lZYet.js +0 -1
- package/dist/assets/referral-modal-VQ2vsPTh.js +0 -1
- package/dist/assets/routes-NC2Xyogy.js +0 -1
- package/dist/assets/share-feedback-modal-D44y3KhU.js +0 -1
- package/dist/assets/tool-detail-panel-PjXqpW5b.js +0 -1
- package/dist/assets/use-supports-credentials-settings-DIKVOLU1.js +0 -1
package/dist/assets/{select-assistant-screen-BO9WTRBj.js → select-assistant-screen-DAwfV-mz.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bx as t,Eb as n,Eh as r,Ep as i,Ey as a,Fa as o,Ft as s,Gr as c,Hr as l,Ih as u,Km as d,Ly as ee,Na as f,Nx as p,Ny as m,Oy as h,Pa as g,Py as te,Qb as _,Sh as ne,Sx as v,Tb as y,Tx as b,Ux as x,Wn as S,Wy as re,Xb as C,Xy as ie,Zb as w,ab as T,cb as E,dy as ae,eh as oe,es as se,ex as D,fb as ce,gx as le,hs as ue,ju as de,ly as fe,mb as pe,nb as me,os as he,oy as ge,pm as O,ss as k,sy as _e,ts as ve,vb as ye,vx as A,yb as j,yu as M}from"./app-DFXcEvsi.js";import{er as be,j as N}from"./vendor-DYOeoIwg.js";import{_ as xe,f as Se,t as Ce,x as P}from"./react-B9IgSVeK.js";import{$n as F,It as we,Sr as Te,ar as Ee,gi as De,qi as I}from"./icons-QG1KAFmx.js";import{t as L}from"./ellipsis-vertical-Dbz00Lo-.js";import{t as Oe}from"./radio-card-nav-BtZq6gZp.js";import{a as ke,i as Ae,n as je,o as R,r as z,t as Me}from"./self-hosted-servers-sqp6RgAQ.js";import{t as Ne}from"./format-countdown-BEyU91h0.js";var B=e(P(),1),Pe=y.remotePair.slice(`${y.assistant}/`.length);async function Fe(e,t){let n=t?ye(e.url,t):null,r=t&&n!==null?`${Pe}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${y.assistant}`);if(!d()){i();return}(r===null?await je(e.url):await z(e.url,r))||i()}function Ie(e){return ke(m()?u():window.location.origin)===e.url}var V=Ce();function Le({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=N(),l=c();if(e){if(!l)return r;if(O(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,V.jsx)(S,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,V.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,V.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Re(e){let t;try{t=w(e)}catch{return{ok:!1,reason:`unparseable`}}if(C(t))return{ok:!1,reason:`service-website`};let n=ke(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:_(e).deviceCode}}function ze({open:e,onClose:t,onAdded:n}){let{t:r}=N(`onboarding`),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(null);(0,B.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let u=()=>{o||t()},d=async()=>{if(!i.trim()||o)return;let e=Re(i);if(!e.ok){l(j(e.reason,i));return}s(!0),l(null);try{let t=await R.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||u()},children:(0,V.jsxs)(b.Content,{size:`md`,children:[(0,V.jsxs)(b.Header,{icon:Te,children:[(0,V.jsx)(b.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,V.jsx)(b.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,V.jsx)(b.Body,{children:(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,V.jsx)(p,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,V.jsxs)(b.Footer,{children:[(0,V.jsx)(x,{variant:`ghost`,onClick:u,disabled:o,children:r(`actions.cancel`)}),(0,V.jsx)(x,{variant:`primary`,onClick:()=>void d(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var H=e=>new Promise(t=>setTimeout(t,e)),U=30,Be=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Ve({open:e,initialAddress:n,guidanceKind:r,onClose:i,onImported:a}){let{t:o}=N(`onboarding`),[s,c]=(0,B.useState)(``),[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[m,h]=(0,B.useState)(null),[g,_]=(0,B.useState)(null),[ne,v]=(0,B.useState)(0),[y,S]=(0,B.useState)(!1),[re,C]=(0,B.useState)(null),w=(0,B.useRef)(null),T=(0,B.useRef)({abandoned:!1}),E=()=>{let e=w.current;w.current=null,e&&ae(e)};(0,B.useEffect)(()=>{if(!e)return;c(n??``),u(``),f(!1),h(null),_(null),S(!1),C(null);let t={abandoned:!1};return T.current=t,()=>{t.abandoned=!0,E()}},[e,n]),(0,B.useEffect)(()=>{if(!g)return;let e=setInterval(()=>v(Date.parse(g.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[g]);let oe=async()=>{let e=s.trim();if(!e||d)return;f(!0),h(null);let t=l.trim()||void 0,n=T.current;try{let r=await ie(e);if(n.abandoned){r.ok&&ae(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),f(!1);return}w.current=r.handle,r.userCode&&(_({userCode:r.userCode,expiresAt:r.expiresAt}),v(Date.parse(r.expiresAt)-Date.now()));let i=r.userCode!==null,s=r.expiresAt,c=r.intervalSeconds,l=0;for(;;){let e=await ee(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=i&&te(e);if(t&&!Be(s)){if(l+=1,l===1&&S(!0),await H(Math.min(c*l,U)*1e3),n.abandoned)return;continue}E(),_(null),S(!1),h({kind:`message`,text:t?o(`connectAssistantDialog.retryExpired`):e.error});break}if(l>0&&(l=0,S(!1)),e.status===`imported`){if(w.current=null,e.accessOnly){_(null),C(e.assistantId);break}a(e.assistantId);return}if(e.expiresAt!==s&&(_(t=>t&&{...t,expiresAt:e.expiresAt}),v(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,c=e.intervalSeconds,await H(c*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),E(),_(null),S(!1),h({kind:`message`,text:o(`connectAssistantDialog.submitError`)})}f(!1)};return re==null?(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,V.jsxs)(b.Content,{size:`md`,children:[(0,V.jsxs)(b.Header,{icon:F,children:[(0,V.jsx)(b.Title,{children:o(`connectAssistantDialog.title`)}),(0,V.jsx)(b.Description,{children:o(`connectAssistantDialog.instruction`)})]}),(0,V.jsx)(b.Body,{children:(0,V.jsxs)(`div`,{className:`space-y-4`,children:[r&&(0,V.jsx)(t,{tone:`info`,children:o(r===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),g?(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:g.userCode}),(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`connectAssistantDialog.approveOnHost`)}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,V.jsx)(`span`,{className:y?`text-[color:var(--system-warning-strong)]`:void 0,children:o(y?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,V.jsx)(`span`,{children:o(`connectAssistantDialog.expiresIn`,{time:Ne(ne)})})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:o(`connectAssistantDialog.addressLabel`)}),(0,V.jsx)(p,{id:`connect-assistant-address`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:o(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:o(`connectAssistantDialog.nameLabel`)}),(0,V.jsx)(p,{id:`connect-assistant-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?j(m.rejection,m.address):m.text})]})}),(0,V.jsxs)(b.Footer,{children:[(0,V.jsx)(x,{variant:`ghost`,onClick:i,children:o(`actions.cancel`)}),!g&&(0,V.jsx)(x,{variant:`primary`,onClick:()=>void oe(),disabled:!s.trim()||d,children:o(d?`actions.connecting`:`actions.connect`)})]})]})}):(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,V.jsxs)(b.Content,{size:`sm`,children:[(0,V.jsx)(b.Header,{icon:F,children:(0,V.jsx)(b.Title,{children:o(`connectAssistantDialog.importedTitle`)})}),(0,V.jsx)(b.Body,{children:(0,V.jsx)(t,{tone:`warning`,children:o(`connectAssistantDialog.importedBody`)})}),(0,V.jsx)(b.Footer,{children:(0,V.jsx)(x,{variant:`primary`,onClick:()=>a(re),children:o(`actions.continue`)})})]})})}function He({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=N(`onboarding`),[c,l]=(0,B.useState)(`menu`);(0,B.useEffect)(()=>{e&&l(`menu`)},[e]);let u=r?(0,V.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,V.jsx)(v,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,V.jsxs)(V.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),u]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,V.jsx)(f,{open:e,isPending:n,extraMessage:u,onConfirm:o,onCancel:()=>l(`menu`)}):(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,V.jsxs)(b.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,V.jsx)(b.Header,{children:(0,V.jsx)(b.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,V.jsxs)(b.Body,{children:[(0,V.jsx)(b.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),u,(0,V.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,V.jsx)(x,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,V.jsx)(x,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,V.jsx)(x,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ue(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function W(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function G(e,t){let n=e.isPaired?D(e.runtimeUrl):e.isLocal?h()?`On this computer`:W(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${s(e.hatchedAt)}`:n}function We(e){return new URL(e.url).hostname}function Ge(e){return e.name??We(e)}function K(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=N(`onboarding`),t=Se(),s=be(),[c,u]=xe(),d=c.get(`fromLogin`)===`1`,ee=c.get(`noAutoSkip`)===`1`,f=n(),p=h(),m=i(),te=_e.use.assistants(),_=r.use.currentOrganizationId(),v=R.use.origins(),b=R.use.hydrated(),S=oe(),{loading:C,error:ie,login:w,cancel:ae}=ue(),[D,le]=(0,B.useState)(null),O=D===null?null:{url:D,name:`Vellum Cloud`},k=O!==null,ye=e=>e.isPaired||e.isLocal&&p||m,A=te.filter(ge),j=A.filter(ye),Ce=j.length>0||v.length>0||O!==null,P=me(),Ee=!m&&P,[I,L]=(0,B.useState)(null),[z,Ne]=(0,B.useState)(!1),[Pe,Le]=(0,B.useState)(!1),[Re,H]=(0,B.useState)(null),[U,Be]=(0,B.useState)(null),[W,G]=(0,B.useState)(!1),[We,J]=(0,B.useState)(null),[Y,X]=(0,B.useState)(null),[Ze,Qe]=(0,B.useState)(!1),[$e,Z]=(0,B.useState)(null),[et,tt]=(0,B.useState)(!1),[Q,nt]=(0,B.useState)(null),[rt,it]=(0,B.useState)(!1),[at,ot]=(0,B.useState)(null),st=M.use.open(),ct=M.use.initialAddress(),lt=M.use.guidanceKind(),ut=M.use.deepLinkDrainSettled(),$=(0,B.useRef)(!1);(0,B.useEffect)(()=>{de()},[]),(0,B.useEffect)(()=>{Me(),R.getState().hydrate()},[]),(0,B.useEffect)(()=>{if(!S)return;let e=!1;return Ae().then(t=>{e||le(t)}),()=>{e=!0}},[S]);let dt=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>u(Ke,{replace:!0}),n=ke(e);if(n===null){t();return}R.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[c,u]),(0,B.useEffect)(()=>{if(I===q&&k||I!=null&&v.some(e=>K(e)===I))return;if(j.length===0){let e=v[0],t=e?K(e):k?q:null;I!==t&&L(t);return}if(I!=null&&j.some(e=>e.id===I))return;let e=ne(_);L(j.find(t=>t.id===e)?.id??j[0].id)},[I,j,_,v,k]);let ft=async e=>{Ne(!0),H(null);try{await ve(e),t(y.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&me()&&(T(t)||pe(t)||t instanceof fe)&&a(e.id)?Be(e):e.isPaired&&T(t)?H(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):H(`Failed to connect. Please try again.`),Ne(!1)}},pt=()=>{Be(null),G(!1),J(null),Le(!1)},mt=async()=>{if(!(!U||W)){G(!0),J(null);try{let e=await E(U.id,{repairGuardian:!0});if(e.ok){ce(),pt(),ft(U);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}G(!1)}},ht=async()=>{if(!(!U||W)){G(!0),J(null);try{let e=await o(s,U.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}G(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await se(s,Y.id);e.ok?($.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await re(Y.id);if(e.ok){let e=_e.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),he(s,Y.id),$.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await R.getState().removeOrigin(Q.url),R.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):($.current=!0,nt(null)),it(!1))},bt=e=>{M.getState().closeConnectDialog(),ft(_e.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Fe(e,t??void 0)};(0,B.useEffect)(()=>{d||ee||$.current||p&&b&&(v.length>0||f&&!ut||z||Pe||st||A.length!==0&&A.length===1&&j.length===1&&(Le(!0),ft(j[0])))},[A.length,j.length,ut,p,v.length,b]);let St=()=>{if(I===q){je(null).then(e=>{!e&&D!==null&&window.location.assign(D)});return}let e=v.find(e=>K(e)===I);if(e){Ie(e)?t(y.assistant,{replace:!0}):Fe(e);return}let n=A.find(e=>e.id===I);n&&ft(n)},Ct=()=>{t(p?y.welcome:y.assistant)},wt=ie??Re;return Pe&&!wt&&!U?(0,V.jsx)(qe,{}):(0,V.jsxs)(l,{avatarWave:`beside`,children:[(0,V.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${f?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,V.jsxs)(`div`,{className:`flex w-full flex-col items-center ${f?``:`flex-1 justify-center`}`,children:[(0,V.jsx)(`h1`,{className:`text-center text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`selectAssistantScreen.title`)}),wt&&(0,V.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,V.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Oe,className:`flex w-full flex-col ${f?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[A.map(t=>{let n=ye(t);return(0,V.jsx)(Ye,{assistant:t,selected:I===t.id,locked:!n,tabStop:I==null?j[0]?.id===t.id:I===t.id,onSelect:()=>{n&&L(t.id)},loginLabel:e(C?`actions.cancel`:`actions.loginToUse`),loginDisabled:z,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?C?ae:()=>void w():void 0,onRemove:t.isPlatformHosted&&Ee||t.isPaired&&P?()=>X(t):void 0},t.id)}),v.map((e,t)=>{let n=K(e),r=Ie(e);return(0,V.jsx)(Xe,{origin:e,selected:I===n,current:r,tabStop:I==null?j.length===0&&t===0:I===n,onSelect:()=>L(n),onRemove:r&&S?void 0:()=>nt(e)},e.url)}),O&&(0,V.jsx)(Xe,{origin:O,icon:(0,V.jsx)(De,{className:`h-5 w-5`}),selected:I===q,current:!1,tabStop:I==null?j.length===0&&v.length===0:I===q,onSelect:()=>L(q)}),p&&(0,V.jsx)(Je,{icon:(0,V.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:z||C,onClick:()=>void t(`${y.onboarding.hosting}?from=select-assistant`)}),P&&(0,V.jsx)(Je,{icon:(0,V.jsx)(F,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:z||C,onClick:()=>M.getState().openConnectDialog()}),!P&&(0,V.jsx)(Je,{icon:(0,V.jsx)(Te,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:z||C,onClick:()=>tt(!0)})]}),Ce&&(0,V.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,V.jsx)(x,{variant:`primary`,size:`regular`,fullWidth:!0,className:f?void 0:`h-11 text-base`,onClick:St,disabled:!I||z,children:e(z?`actions.connecting`:`actions.continue`)})}),(0,V.jsx)(`div`,{className:Ce?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,V.jsx)(x,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:z||C,children:e(`actions.back`)})})]})}),(0,V.jsx)(ze,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,V.jsx)(Ve,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,V.jsx)(He,{open:U!=null,assistantName:U?Ue(U):``,isPending:W,errorMessage:We??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,V.jsx)(g,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ue(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,V.jsx)(g,{open:Q!=null,kind:`origin`,assistantName:Q?Ge(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=N(`onboarding`);return(0,V.jsx)(l,{avatarWave:`beside`,children:(0,V.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:r,onClick:i}){let a=n();return(0,V.jsxs)(`button`,{type:`button`,onClick:i,disabled:r,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,a?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,V.jsx)(`span`,{className:a?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:n}=N(`onboarding`);return(0,V.jsxs)(A.Root,{children:[(0,V.jsx)(A.Trigger,{asChild:!0,children:(0,V.jsx)(x,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,V.jsx)(L,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,V.jsx)(A.Content,{align:`end`,sideOffset:4,children:(0,V.jsx)(A.Item,{onSelect:t,className:le.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:r,selected:i,locked:a=!1,tabStop:o,onSelect:s,action:c,removeMenu:l}){let u=n();return(0,V.jsxs)(`div`,{role:a?void 0:`radio`,"aria-checked":a?void 0:i,tabIndex:a?void 0:o?0:-1,onClick:a?void 0:s,onKeyDown:a?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s())},className:[`group flex w-full items-center border text-left`,u?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,a?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,a?``:i?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,V.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,i&&!a?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,V.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${u?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:r})]}),(0,V.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c,l&&(a?l:(0,V.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:l})),!a&&(0,V.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,i?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:i&&(0,V.jsx)(I,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=N(`onboarding`),u=Ue(e),{traits:d,imageUrl:ee,onImageError:f}=k(e);return(0,V.jsx)(X,{icon:(0,V.jsx)(Le,{traits:d,imageUrl:ee,fallback:e.isPaired?(0,V.jsx)(F,{className:`h-5 w-5`}):e.isLocal?(0,V.jsx)(Ee,{className:`h-5 w-5`}):(0,V.jsx)(De,{className:`h-5 w-5`}),decorative:!0,onImageError:f}),title:u,subtitle:G(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,V.jsx)(x,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,V.jsx)(Y,{label:u,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=N(`onboarding`),c=Ge(e);return(0,V.jsx)(X,{icon:t??(0,V.jsx)(Te,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:We(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,V.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bx as t,Eb as n,Eh as r,Ep as i,Ey as a,Fa as o,Ft as s,Gr as c,Hr as l,Ih as u,Km as d,Ly as ee,Na as f,Nx as p,Ny as m,Oy as h,Pa as g,Py as te,Qb as _,Sh as ne,Sx as v,Tb as y,Tx as b,Ux as x,Wn as S,Wy as re,Xb as C,Xy as ie,Zb as w,ab as T,cb as E,dy as ae,eh as oe,es as se,ex as D,fb as ce,gx as le,hs as ue,ju as de,ly as fe,mb as pe,nb as me,os as he,oy as ge,pm as O,ss as k,sy as _e,ts as ve,vb as ye,vx as A,yb as j,yu as M}from"./app-p4YU9h0P.js";import{er as be,j as N}from"./vendor-DYOeoIwg.js";import{_ as xe,f as Se,t as Ce,x as P}from"./react-B9IgSVeK.js";import{$n as F,It as we,Sr as Te,ar as Ee,gi as De,qi as I}from"./icons-QG1KAFmx.js";import{t as L}from"./ellipsis-vertical-Dbz00Lo-.js";import{t as Oe}from"./radio-card-nav-BtZq6gZp.js";import{a as ke,i as Ae,n as je,o as R,r as z,t as Me}from"./self-hosted-servers-BmfZpV_S.js";import{t as Ne}from"./format-countdown-BEyU91h0.js";var B=e(P(),1),Pe=y.remotePair.slice(`${y.assistant}/`.length);async function Fe(e,t){let n=t?ye(e.url,t):null,r=t&&n!==null?`${Pe}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${y.assistant}`);if(!d()){i();return}(r===null?await je(e.url):await z(e.url,r))||i()}function Ie(e){return ke(m()?u():window.location.origin)===e.url}var V=Ce();function Le({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=N(),l=c();if(e){if(!l)return r;if(O(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,V.jsx)(S,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,V.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,V.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Re(e){let t;try{t=w(e)}catch{return{ok:!1,reason:`unparseable`}}if(C(t))return{ok:!1,reason:`service-website`};let n=ke(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:_(e).deviceCode}}function ze({open:e,onClose:t,onAdded:n}){let{t:r}=N(`onboarding`),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(null);(0,B.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let u=()=>{o||t()},d=async()=>{if(!i.trim()||o)return;let e=Re(i);if(!e.ok){l(j(e.reason,i));return}s(!0),l(null);try{let t=await R.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||u()},children:(0,V.jsxs)(b.Content,{size:`md`,children:[(0,V.jsxs)(b.Header,{icon:Te,children:[(0,V.jsx)(b.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,V.jsx)(b.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,V.jsx)(b.Body,{children:(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,V.jsx)(p,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,V.jsxs)(b.Footer,{children:[(0,V.jsx)(x,{variant:`ghost`,onClick:u,disabled:o,children:r(`actions.cancel`)}),(0,V.jsx)(x,{variant:`primary`,onClick:()=>void d(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var H=e=>new Promise(t=>setTimeout(t,e)),U=30,Be=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Ve({open:e,initialAddress:n,guidanceKind:r,onClose:i,onImported:a}){let{t:o}=N(`onboarding`),[s,c]=(0,B.useState)(``),[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[m,h]=(0,B.useState)(null),[g,_]=(0,B.useState)(null),[ne,v]=(0,B.useState)(0),[y,S]=(0,B.useState)(!1),[re,C]=(0,B.useState)(null),w=(0,B.useRef)(null),T=(0,B.useRef)({abandoned:!1}),E=()=>{let e=w.current;w.current=null,e&&ae(e)};(0,B.useEffect)(()=>{if(!e)return;c(n??``),u(``),f(!1),h(null),_(null),S(!1),C(null);let t={abandoned:!1};return T.current=t,()=>{t.abandoned=!0,E()}},[e,n]),(0,B.useEffect)(()=>{if(!g)return;let e=setInterval(()=>v(Date.parse(g.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[g]);let oe=async()=>{let e=s.trim();if(!e||d)return;f(!0),h(null);let t=l.trim()||void 0,n=T.current;try{let r=await ie(e);if(n.abandoned){r.ok&&ae(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),f(!1);return}w.current=r.handle,r.userCode&&(_({userCode:r.userCode,expiresAt:r.expiresAt}),v(Date.parse(r.expiresAt)-Date.now()));let i=r.userCode!==null,s=r.expiresAt,c=r.intervalSeconds,l=0;for(;;){let e=await ee(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=i&&te(e);if(t&&!Be(s)){if(l+=1,l===1&&S(!0),await H(Math.min(c*l,U)*1e3),n.abandoned)return;continue}E(),_(null),S(!1),h({kind:`message`,text:t?o(`connectAssistantDialog.retryExpired`):e.error});break}if(l>0&&(l=0,S(!1)),e.status===`imported`){if(w.current=null,e.accessOnly){_(null),C(e.assistantId);break}a(e.assistantId);return}if(e.expiresAt!==s&&(_(t=>t&&{...t,expiresAt:e.expiresAt}),v(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,c=e.intervalSeconds,await H(c*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),E(),_(null),S(!1),h({kind:`message`,text:o(`connectAssistantDialog.submitError`)})}f(!1)};return re==null?(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,V.jsxs)(b.Content,{size:`md`,children:[(0,V.jsxs)(b.Header,{icon:F,children:[(0,V.jsx)(b.Title,{children:o(`connectAssistantDialog.title`)}),(0,V.jsx)(b.Description,{children:o(`connectAssistantDialog.instruction`)})]}),(0,V.jsx)(b.Body,{children:(0,V.jsxs)(`div`,{className:`space-y-4`,children:[r&&(0,V.jsx)(t,{tone:`info`,children:o(r===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),g?(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:g.userCode}),(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`connectAssistantDialog.approveOnHost`)}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,V.jsx)(`span`,{className:y?`text-[color:var(--system-warning-strong)]`:void 0,children:o(y?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,V.jsx)(`span`,{children:o(`connectAssistantDialog.expiresIn`,{time:Ne(ne)})})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:o(`connectAssistantDialog.addressLabel`)}),(0,V.jsx)(p,{id:`connect-assistant-address`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:o(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:o(`connectAssistantDialog.nameLabel`)}),(0,V.jsx)(p,{id:`connect-assistant-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?j(m.rejection,m.address):m.text})]})}),(0,V.jsxs)(b.Footer,{children:[(0,V.jsx)(x,{variant:`ghost`,onClick:i,children:o(`actions.cancel`)}),!g&&(0,V.jsx)(x,{variant:`primary`,onClick:()=>void oe(),disabled:!s.trim()||d,children:o(d?`actions.connecting`:`actions.connect`)})]})]})}):(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,V.jsxs)(b.Content,{size:`sm`,children:[(0,V.jsx)(b.Header,{icon:F,children:(0,V.jsx)(b.Title,{children:o(`connectAssistantDialog.importedTitle`)})}),(0,V.jsx)(b.Body,{children:(0,V.jsx)(t,{tone:`warning`,children:o(`connectAssistantDialog.importedBody`)})}),(0,V.jsx)(b.Footer,{children:(0,V.jsx)(x,{variant:`primary`,onClick:()=>a(re),children:o(`actions.continue`)})})]})})}function He({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=N(`onboarding`),[c,l]=(0,B.useState)(`menu`);(0,B.useEffect)(()=>{e&&l(`menu`)},[e]);let u=r?(0,V.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,V.jsx)(v,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,V.jsxs)(V.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),u]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,V.jsx)(f,{open:e,isPending:n,extraMessage:u,onConfirm:o,onCancel:()=>l(`menu`)}):(0,V.jsx)(b.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,V.jsxs)(b.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,V.jsx)(b.Header,{children:(0,V.jsx)(b.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,V.jsxs)(b.Body,{children:[(0,V.jsx)(b.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),u,(0,V.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,V.jsx)(x,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,V.jsx)(x,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,V.jsx)(x,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ue(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function W(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function G(e,t){let n=e.isPaired?D(e.runtimeUrl):e.isLocal?h()?`On this computer`:W(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${s(e.hatchedAt)}`:n}function We(e){return new URL(e.url).hostname}function Ge(e){return e.name??We(e)}function K(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=N(`onboarding`),t=Se(),s=be(),[c,u]=xe(),d=c.get(`fromLogin`)===`1`,ee=c.get(`noAutoSkip`)===`1`,f=n(),p=h(),m=i(),te=_e.use.assistants(),_=r.use.currentOrganizationId(),v=R.use.origins(),b=R.use.hydrated(),S=oe(),{loading:C,error:ie,login:w,cancel:ae}=ue(),[D,le]=(0,B.useState)(null),O=D===null?null:{url:D,name:`Vellum Cloud`},k=O!==null,ye=e=>e.isPaired||e.isLocal&&p||m,A=te.filter(ge),j=A.filter(ye),Ce=j.length>0||v.length>0||O!==null,P=me(),Ee=!m&&P,[I,L]=(0,B.useState)(null),[z,Ne]=(0,B.useState)(!1),[Pe,Le]=(0,B.useState)(!1),[Re,H]=(0,B.useState)(null),[U,Be]=(0,B.useState)(null),[W,G]=(0,B.useState)(!1),[We,J]=(0,B.useState)(null),[Y,X]=(0,B.useState)(null),[Ze,Qe]=(0,B.useState)(!1),[$e,Z]=(0,B.useState)(null),[et,tt]=(0,B.useState)(!1),[Q,nt]=(0,B.useState)(null),[rt,it]=(0,B.useState)(!1),[at,ot]=(0,B.useState)(null),st=M.use.open(),ct=M.use.initialAddress(),lt=M.use.guidanceKind(),ut=M.use.deepLinkDrainSettled(),$=(0,B.useRef)(!1);(0,B.useEffect)(()=>{de()},[]),(0,B.useEffect)(()=>{Me(),R.getState().hydrate()},[]),(0,B.useEffect)(()=>{if(!S)return;let e=!1;return Ae().then(t=>{e||le(t)}),()=>{e=!0}},[S]);let dt=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>u(Ke,{replace:!0}),n=ke(e);if(n===null){t();return}R.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[c,u]),(0,B.useEffect)(()=>{if(I===q&&k||I!=null&&v.some(e=>K(e)===I))return;if(j.length===0){let e=v[0],t=e?K(e):k?q:null;I!==t&&L(t);return}if(I!=null&&j.some(e=>e.id===I))return;let e=ne(_);L(j.find(t=>t.id===e)?.id??j[0].id)},[I,j,_,v,k]);let ft=async e=>{Ne(!0),H(null);try{await ve(e),t(y.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&me()&&(T(t)||pe(t)||t instanceof fe)&&a(e.id)?Be(e):e.isPaired&&T(t)?H(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):H(`Failed to connect. Please try again.`),Ne(!1)}},pt=()=>{Be(null),G(!1),J(null),Le(!1)},mt=async()=>{if(!(!U||W)){G(!0),J(null);try{let e=await E(U.id,{repairGuardian:!0});if(e.ok){ce(),pt(),ft(U);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}G(!1)}},ht=async()=>{if(!(!U||W)){G(!0),J(null);try{let e=await o(s,U.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}G(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await se(s,Y.id);e.ok?($.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await re(Y.id);if(e.ok){let e=_e.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),he(s,Y.id),$.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await R.getState().removeOrigin(Q.url),R.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):($.current=!0,nt(null)),it(!1))},bt=e=>{M.getState().closeConnectDialog(),ft(_e.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Fe(e,t??void 0)};(0,B.useEffect)(()=>{d||ee||$.current||p&&b&&(v.length>0||f&&!ut||z||Pe||st||A.length!==0&&A.length===1&&j.length===1&&(Le(!0),ft(j[0])))},[A.length,j.length,ut,p,v.length,b]);let St=()=>{if(I===q){je(null).then(e=>{!e&&D!==null&&window.location.assign(D)});return}let e=v.find(e=>K(e)===I);if(e){Ie(e)?t(y.assistant,{replace:!0}):Fe(e);return}let n=A.find(e=>e.id===I);n&&ft(n)},Ct=()=>{t(p?y.welcome:y.assistant)},wt=ie??Re;return Pe&&!wt&&!U?(0,V.jsx)(qe,{}):(0,V.jsxs)(l,{avatarWave:`beside`,children:[(0,V.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${f?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,V.jsxs)(`div`,{className:`flex w-full flex-col items-center ${f?``:`flex-1 justify-center`}`,children:[(0,V.jsx)(`h1`,{className:`text-center text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`selectAssistantScreen.title`)}),wt&&(0,V.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,V.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Oe,className:`flex w-full flex-col ${f?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[A.map(t=>{let n=ye(t);return(0,V.jsx)(Ye,{assistant:t,selected:I===t.id,locked:!n,tabStop:I==null?j[0]?.id===t.id:I===t.id,onSelect:()=>{n&&L(t.id)},loginLabel:e(C?`actions.cancel`:`actions.loginToUse`),loginDisabled:z,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?C?ae:()=>void w():void 0,onRemove:t.isPlatformHosted&&Ee||t.isPaired&&P?()=>X(t):void 0},t.id)}),v.map((e,t)=>{let n=K(e),r=Ie(e);return(0,V.jsx)(Xe,{origin:e,selected:I===n,current:r,tabStop:I==null?j.length===0&&t===0:I===n,onSelect:()=>L(n),onRemove:r&&S?void 0:()=>nt(e)},e.url)}),O&&(0,V.jsx)(Xe,{origin:O,icon:(0,V.jsx)(De,{className:`h-5 w-5`}),selected:I===q,current:!1,tabStop:I==null?j.length===0&&v.length===0:I===q,onSelect:()=>L(q)}),p&&(0,V.jsx)(Je,{icon:(0,V.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:z||C,onClick:()=>void t(`${y.onboarding.hosting}?from=select-assistant`)}),P&&(0,V.jsx)(Je,{icon:(0,V.jsx)(F,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:z||C,onClick:()=>M.getState().openConnectDialog()}),!P&&(0,V.jsx)(Je,{icon:(0,V.jsx)(Te,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:z||C,onClick:()=>tt(!0)})]}),Ce&&(0,V.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,V.jsx)(x,{variant:`primary`,size:`regular`,fullWidth:!0,className:f?void 0:`h-11 text-base`,onClick:St,disabled:!I||z,children:e(z?`actions.connecting`:`actions.continue`)})}),(0,V.jsx)(`div`,{className:Ce?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,V.jsx)(x,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:z||C,children:e(`actions.back`)})})]})}),(0,V.jsx)(ze,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,V.jsx)(Ve,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,V.jsx)(He,{open:U!=null,assistantName:U?Ue(U):``,isPending:W,errorMessage:We??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,V.jsx)(g,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ue(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,V.jsx)(g,{open:Q!=null,kind:`origin`,assistantName:Q?Ge(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=N(`onboarding`);return(0,V.jsx)(l,{avatarWave:`beside`,children:(0,V.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:r,onClick:i}){let a=n();return(0,V.jsxs)(`button`,{type:`button`,onClick:i,disabled:r,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,a?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,V.jsx)(`span`,{className:a?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:n}=N(`onboarding`);return(0,V.jsxs)(A.Root,{children:[(0,V.jsx)(A.Trigger,{asChild:!0,children:(0,V.jsx)(x,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,V.jsx)(L,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,V.jsx)(A.Content,{align:`end`,sideOffset:4,children:(0,V.jsx)(A.Item,{onSelect:t,className:le.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:r,selected:i,locked:a=!1,tabStop:o,onSelect:s,action:c,removeMenu:l}){let u=n();return(0,V.jsxs)(`div`,{role:a?void 0:`radio`,"aria-checked":a?void 0:i,tabIndex:a?void 0:o?0:-1,onClick:a?void 0:s,onKeyDown:a?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s())},className:[`group flex w-full items-center border text-left`,u?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,a?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,a?``:i?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,V.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,i&&!a?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,V.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${u?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:r})]}),(0,V.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c,l&&(a?l:(0,V.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:l})),!a&&(0,V.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,i?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:i&&(0,V.jsx)(I,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=N(`onboarding`),u=Ue(e),{traits:d,imageUrl:ee,onImageError:f}=k(e);return(0,V.jsx)(X,{icon:(0,V.jsx)(Le,{traits:d,imageUrl:ee,fallback:e.isPaired?(0,V.jsx)(F,{className:`h-5 w-5`}):e.isLocal?(0,V.jsx)(Ee,{className:`h-5 w-5`}):(0,V.jsx)(De,{className:`h-5 w-5`}),decorative:!0,onImageError:f}),title:u,subtitle:G(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,V.jsx)(x,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,V.jsx)(Y,{label:u,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=N(`onboarding`),c=Ge(e);return(0,V.jsx)(X,{icon:t??(0,V.jsx)(Te,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:We(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,V.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Jb as e,Km as t,Tv as n,tx as r,xh as i}from"./app-
|
|
1
|
+
import{Jb as e,Km as t,Tv as n,tx as r,xh as i}from"./app-p4YU9h0P.js";import{Q as a,k as o}from"./vendor-DYOeoIwg.js";var s=`vellum:remembered-origins`;function c(e){let t=e.trim();if(t===``)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol!==`https:`||n.hostname===``?null:`${n.origin}${n.pathname.replace(/\/+$/,``)}`}function l(e,t){let n=[],r=new Set,i=t??new Date().toISOString();for(let t of e){if(typeof t!=`object`||!t)continue;let{url:e,name:a,addedAt:o}=t;if(typeof e!=`string`)continue;let s=c(e);s===null||r.has(s)||(r.add(s),n.push({url:s,...typeof a==`string`&&a!==``?{name:a}:{},addedAt:typeof o==`string`?o:i}))}return n}function u(e){let t=JSON.parse(e);return Array.isArray(t)?l(t):null}var d=n({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:t=>e(s,t)},p=f,m=null,h=0,g=Promise.resolve(),_=`vellum:remembered-origins:mutate`;async function v(e){let t=typeof navigator>`u`?void 0:navigator.locks;return t?await t.request(_,e):e()}function y(e){let t=()=>v(e),n=g.then(t,t);return g=n.catch(()=>void 0),n}var b=null,x=!1;function S(e){return y(async()=>{try{let t=await p.load();if(e!==h)return;T.getState().hydrated?T.setState({origins:t}):m===null?T.getState().hydrate():x=!0}catch{}})}function C(){b?.();let e=h;b=p.watch?.(()=>void S(e))??null}function w(e){p=e,h+=1,m=null,x=!1,T.setState({hydrated:!1}),C(),T.getState().hydrate()}var T=a()((e,t)=>({origins:[],hydrated:!1,hydrate:()=>(m??=(async()=>{let t=h;await Promise.resolve();try{let n=await p.load();t===h&&(e({origins:n,hydrated:!0}),x&&(x=!1,S(t)))}catch{t===h&&(m=null)}})(),m),addOrigin:async({url:n,name:r})=>{let i=c(n);return i===null?{ok:!1}:y(async()=>{if(await t().hydrate(),!t().hydrated)return{ok:!1};let n=p,a=h,o;try{o=await n.load()}catch{return{ok:!1}}if(a!==h)return{ok:!1};let s=r?.trim(),c=o.find(e=>e.url===i),l=c??{url:i,addedAt:new Date().toISOString()},u=s?{...l,name:s}:l,d=c?o.map(e=>e.url===i?u:e):[...o,u];try{await n.save(d)}catch{return{ok:!1}}return a===h?(e({origins:d}),{ok:!0,origin:u}):{ok:!1}})},removeOrigin:async n=>{let r=c(n);r!==null&&await y(async()=>{if(await t().hydrate(),!t().hydrated)return;let n=p,i=h,a;try{a=await n.load()}catch{return}if(i!==h)return;let o=a.filter(e=>e.url!==r);if(o.length!==a.length)try{await n.save(o)}catch{return}i===h&&e({origins:o})})}}));C();var E=r(T),D=o(`SelfHostedServers`),O=`1970-01-01T00:00:00.000Z`;async function k(){try{return await D.list()}catch(e){return console.debug(`[self-hosted-servers] bridge unavailable:`,e),null}}var A=`vellum:remembered-origins:native-migrated`;function j(){try{return window.localStorage.getItem(A)===`true`}catch{return!0}}function M(){try{window.localStorage.setItem(A,`true`)}catch{}}async function N(e){if(j())return e;let t=[];try{t=await f.load()}catch{t=[]}let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e.url)),i=[];for(let t of r){try{await D.add({url:t.url,...t.name?{name:t.name}:{}})}catch(t){return console.debug(`[self-hosted-servers] migration add failed:`,t),[...e,...i]}i.push(t)}return M(),[...e,...i]}function P(){return{load:async()=>{let e=await k();return e===null?f.load():N(l(e.servers,O))},save:async e=>{let t=await k();if(t===null){await f.save(e);return}let n=new Map(l(t.servers,O).map(e=>[e.url,e.name])),r=new Set(e.map(e=>e.url));for(let e of n.keys())r.has(e)||await D.remove({url:e});for(let t of e)(!n.has(t.url)||t.name&&t.name!==n.get(t.url))&&await D.add({url:t.url,...t.name?{name:t.name}:{}})},watch:f.watch}}var F=!1;function I(){F||!t()||(F=!0,w(P()))}async function L(e,n){if(!t())return!1;await i();try{return await n(),!0}catch(t){return console.debug(`[self-hosted-servers] ${e} unavailable:`,t),!1}}async function R(e){return L(`switchTo`,()=>D.switchTo(e===null?{}:{url:e}))}async function z(e,t){return L(`switchToPath`,()=>D.switchToPath({...e===null?{}:{url:e},path:t}))}async function B(){if(!t())return null;let e=await k();return e===null||!e.activeUrl?null:e.bakedUrl?c(e.bakedUrl):null}export{c as a,B as i,R as n,E as o,z as r,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ux as e}from"./app-
|
|
1
|
+
import{Ux as e}from"./app-p4YU9h0P.js";import{j as t}from"./vendor-DYOeoIwg.js";import{t as n}from"./react-B9IgSVeK.js";import{Xr as r,ur as i}from"./icons-QG1KAFmx.js";import{t as a}from"./detail-card-BpqiAUnN.js";var o=n();function s({id:e,title:t,subtitle:n,children:r}){return(0,o.jsx)(a,{id:e,title:t,subtitle:n,children:(0,o.jsx)(`div`,{className:`mt-4`,children:r})})}function c({onClick:n,disabled:r}){let{t:i}=t();return(0,o.jsx)(e,{onClick:n,disabled:r,children:i(`serviceFormControls.save`)})}function l({onClick:n,filled:r=!1}){let{t:i}=t();return(0,o.jsx)(e,{variant:r?`danger`:`dangerGhost`,onClick:n,children:i(`serviceFormControls.reset`)})}function u({guide:e}){return(0,o.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,o.jsx)(i,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,o.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,o.jsx)(`span`,{children:e.description}),(0,o.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,o.jsx)(r,{className:`h-3 w-3`})]})]})]})}export{s as i,l as n,c as r,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Mx as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Mx as t}from"./app-p4YU9h0P.js";import{t as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1),a=n();function o({label:e,helperText:n,checked:r,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(t,{checked:r,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:n})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[l,u]})}export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Kx as e}from"./app-
|
|
1
|
+
import{Kx as e}from"./app-p4YU9h0P.js";import{t}from"./react-B9IgSVeK.js";var n=t();function r({className:t}){return(0,n.jsx)(`div`,{role:`presentation`,className:e(`h-px w-full bg-[var(--border-base)]`,t)})}export{r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ep as t,Gu as n,Pi as r,Qm as i,Tb as a,hs as o,ks as s,rd as c,sy as l,tn as u,vr as d,xp as f}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ep as t,Gu as n,Pi as r,Qm as i,Tb as a,hs as o,ks as s,rd as c,sy as l,tn as u,vr as d,xp as f}from"./app-p4YU9h0P.js";import{j as p}from"./vendor-DYOeoIwg.js";import{d as m,f as h,i as g,t as _,x as v}from"./react-B9IgSVeK.js";import{Un as y,Wn as b}from"./icons-QG1KAFmx.js";import{n as x,t as S}from"./sidebar-tree-BSRyDJ-e.js";import{t as C}from"./use-supports-credentials-settings-BSQpJ09k.js";var w=e(v(),1),T=_();function E(){let e=c.use.settingsDeveloperNav(),_=c.use.vellumHostedInference(),v=n.use.setWindowsMenuBarSuppressed();(0,w.useEffect)(()=>(v(!0),()=>v(!1)),[v]);let{t:E}=p(`settings`),D=i(),O=l.use.activeAssistantId(),k=u(O),A=C(O),j=r(),M=f(),{pathname:N}=m(),P=h(),F=t(),{login:I}=o(),L=(0,w.useCallback)((e,t)=>{switch(e){case`assistant-status`:return E(`sidebar.general`,`General`);case`model`:return E(`sidebar.model`,`Models & Services`);case`integrations`:return E(`sidebar.integrations`,`Integrations`);case`credentials`:return E(`sidebar.credentials`,`Credentials`);case`notifications`:return E(`sidebar.notifications`,`Notifications`);case`voice`:return E(`sidebar.voice`,`Voice`);case`sounds`:return E(`sidebar.sounds`,`Sounds`);case`privacy`:return E(`sidebar.privacy`,`Permissions & Privacy`);case`bookmarks`:return E(`sidebar.bookmarks`,`Bookmarks`);case`billing`:return M===`full`?E(`sidebar.billingUsage`,`Billing & Usage`):E(`sidebar.usage`,`Usage`);case`community`:return E(`sidebar.community`,`Community`);case`debug`:return E(`sidebar.debug`,`Debug`);case`developer`:return E(`sidebar.developer`,`Developer`);case`personality`:return E(`sidebar.personality`,`Personality`);default:return t}},[E,M]),R=(0,w.useMemo)(()=>d.filter(e=>!(e.id===`notifications`&&!D||e.id===`bookmarks`&&(!k||!j)||e.id===`credentials`&&!A||e.id===`developer`||e.id===`personality`)).map(e=>({...e,label:L(e.id,e.label)})),[D,k,j,A,L]),z=(0,w.useMemo)(()=>{let t=[];return _&&t.push(...d.filter(e=>e.id===`personality`).map(e=>({...e,label:L(e.id,e.label)}))),e&&t.push(...d.filter(e=>e.id===`developer`).map(e=>({...e,label:L(e.id,e.label)}))),t.push(F?{id:`logout`,label:E(`sidebar.logout`,`Log Out`),icon:y,onSelect:()=>void s(P)}:{id:`login`,label:E(`sidebar.login`,`Log In`),icon:b,onSelect:()=>void I()}),t},[e,_,F,P,I,E,L]),B=(0,w.useMemo)(()=>{if(N===a.settings.root)return E(`sidebar.title`,`Settings`);let e=d.find(e=>N===e.href||N.startsWith(e.href+`/`));return e?L(e.id,e.label):E(`sidebar.title`,`Settings`)},[N,E,L]);return(0,T.jsx)(x,{backHref:a.assistant,sidebar:(0,T.jsx)(S,{items:R,bottomItems:z,indexPath:a.settings.root}),title:B,menuReplacesContentOnMobile:!0,children:(0,T.jsx)(g,{})})}export{E as SettingsLayout};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CI79f_VT.js","assets/react-B9IgSVeK.js","assets/rolldown-runtime-BM3Ffeng.js","assets/vendor-DYOeoIwg.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bx as t,Eb as n,Mx as r,Nx as i,Px as a,Ux as o,Vi as s,Wx as c,kr as ee,nm as l,px as u,s_ as d,ub as f,wp as p,yl as te}from"./app-DFXcEvsi.js";import{E as m,Jn as h,N as g,j as _}from"./vendor-DYOeoIwg.js";import{b as v,t as y,v as b,x}from"./react-B9IgSVeK.js";import{An as S,er as C,fa as w,gt as ne,i as re,ni as ie,qn as ae,rn as oe,ur as se,zn as ce}from"./icons-QG1KAFmx.js";var T=e(x(),1),le=e(v(),1),E=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function ue(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:f()},overrides:D()}}var O=y(),de=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,fe=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,pe={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},k=[{value:`bug_report`,icon:w,includesLogsByDefault:!0},{value:`feature_request`,icon:C,includesLogsByDefault:!1},{value:`other`,icon:S,includesLogsByDefault:!1}],A=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],j=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),M=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),N=10,P=50*1024*1024,me={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function he(){if(n())return`electron`;let e=m.getPlatform();return e===`ios`||e===`android`?e:`web`}function ge(e){return typeof e==`object`&&!!e&&`client`in e}function _e(e){if(e.size>P)return!1;if(e.type&&j.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?M.has(t):!1}return!1}var F=8192,I=/^data:([^;,]+);base64,/i,L=/^[A-Za-z0-9+/]+={0,2}$/;function R(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>R(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=R(a,t,n);i=r}return n.delete(e),i}function z(e){return R(e,e=>{if(typeof e!=`string`)return null;let t=I.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=F&&L.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function B(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),R(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function V(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function H(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await d({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function U(){if(!m.isNativePlatform())return null;try{let{App:e}=await b(async()=>{let{App:e}=await import(`./esm-CI79f_VT.js`);return{App:e}},__vite__mapDeps([0,1,2,3])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function ve(e,t,r,i={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:a,doctorSessionId:o,extraLogFiles:s=[]}=i,c=new Date,ee=A.find(t=>t.value===e),u=c.getTime(),d=ee?.cutoffMs==null?null:u-ee.cutoffMs,f=d==null?null:new Date(d).toISOString(),p=null;try{p=a?.()??null}catch{p=null}let te=l(p),m={collected_at:c.toISOString(),time_range:e,cutoff:f,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:r,doctor_session_id:o??null,client_version:null,native_app:await U(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,g=h.encode(JSON.stringify(m,null,2)),_=h.encode(JSON.stringify(te,null,2)),v=[V(`web-client-context.json`,g),V(`web-chat-diagnostics.json`,_)],y=new TextEncoder().encode(JSON.stringify(ue(),null,2));v.push(V(`web-debug-flags.json`,y));for(let e of s){let t=e.contents.trim();t&&v.push(V(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:B(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(z(n),null,2));v.push(V(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(z(t),null,2));v.push(V(`web-sse-liveness-triage.json`,n))}}catch{}if(n()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(V(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(V(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await H(t,{window:{startTime:d,endTime:u},activeConversationId:r});e&&v.push(V(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let b=v.reduce((e,t)=>e+t.length,0),x=new Uint8Array(b),S=0;for(let e of v)x.set(e,S),S+=e.length;let C=new Blob([x.buffer]),w=await new Response(C.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([w],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function W({open:e,onClose:l,initialReason:d,initialMessage:f,onSubmitted:m,assistantId:v,assistantVersion:y,activeConversationId:b,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let{t:w}=_(),E=p.use.user(),D=E?.email,ue=E?.isStaff??!1,A=(0,T.useId)(),j=(0,T.useRef)(null),M=(0,T.useRef)(null),P=(0,T.useRef)(null),F=(0,T.useRef)(null),I=(0,T.useMemo)(()=>[{value:`past_hour`,label:w(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:w(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:w(`shareFeedbackModal.timeRangeAllTime`)}],[w]),[L,R]=(0,T.useState)(d??`bug_report`),[z,B]=(0,T.useState)(``),[V,H]=(0,T.useState)(``),[U,W]=(0,T.useState)(k.find(e=>e.value===(d??`bug_report`))?.includesLogsByDefault??!0),[xe,Se]=(0,T.useState)(!1),[G,K]=(0,T.useState)(`past_hour`),[q,J]=(0,T.useState)([]),[Ce,Y]=(0,T.useState)(null),[we,X]=(0,T.useState)(!1),[Te,Ee]=(0,T.useState)(!1),[Z,De]=(0,T.useState)(!1),Oe=h(te()),[ke,Q]=(0,T.useState)(!1),$=Oe.isPending||ke,Ae=!D,je=(0,T.useMemo)(()=>z.trim().length>0&&V.trim().length>0,[z,V]);(0,T.useEffect)(()=>{if(!e)return;let t=d??`bug_report`;R(t),B(f??``),H(D??``),W(k.find(e=>e.value===t)?.includesLogsByDefault??!0),Se(!1),K(`past_hour`),J([]),Ee(!1),De(!1),Y(null),Q(!1),Oe.reset();let n=setTimeout(()=>{D?P.current?.focus():F.current?.focus()},50);return()=>clearTimeout(n)},[e]),s(e);let Me=e=>{R(e),xe||W(k.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ne=()=>{W(e=>!e),Se(!0)},Pe=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Fe=(0,T.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),l())},[l,$]),Ie=(0,T.useCallback)(e=>{e.target===j.current&&!$&&l()},[l,$]),Le=(0,T.useCallback)(e=>{J(t=>{let n=N-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!_e(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Re=e=>{e.target.files&&Le(Array.from(e.target.files)),e.target.value=``},ze=e=>{e.preventDefault(),X(!1),e.dataTransfer.files?.length&&Le(Array.from(e.dataTransfer.files))},Be=e=>{e.preventDefault(),X(!0)},Ve=e=>{e.preventDefault(),e.currentTarget===e.target&&X(!1)},He=e=>{J(t=>t.filter((t,n)=>n!==e))};return e?(0,le.createPortal)((0,O.jsx)(`div`,{ref:j,role:`dialog`,"aria-modal":`true`,"aria-labelledby":A,className:de,onKeyDown:Fe,onClick:Ie,onDrop:ze,onDragOver:Be,onDragLeave:Ve,children:(0,O.jsxs)(`div`,{className:fe,style:pe,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,O.jsx)(`h2`,{id:A,className:`!m-0 text-title-small text-[var(--content-default)]`,children:w(`shareFeedbackModal.title`)}),(0,O.jsx)(o,{variant:`ghost`,iconOnly:(0,O.jsx)(re,{}),onClick:l,disabled:$,"aria-label":w(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[ue&&(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,O.jsx)(r,{checked:Z,onChange:()=>De(e=>!e),"aria-label":w(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.timeRange`)}),(0,O.jsx)(u,{options:I,value:G,onChange:K,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}):(0,O.jsxs)(O.Fragment,{children:[Ae&&(0,O.jsx)(i,{id:`${A}-email`,ref:F,label:w(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:V,onChange:e=>H(e.target.value),leftIcon:(0,O.jsx)(ce,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.category`)}),(0,O.jsx)(`div`,{className:`flex gap-2`,children:k.map(e=>(0,O.jsx)(ye,{option:e,isSelected:L===e.value,onSelect:()=>Me(e.value)},e.value))})]}),(0,O.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),L===`bug_report`&&(0,O.jsx)(t,{tone:`info`,children:(0,O.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,O.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),L===`feature_request`&&(0,O.jsx)(t,{tone:`info`,children:(0,O.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,O.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),(0,O.jsx)(a,{id:`${A}-message`,ref:P,label:w(L===`bug_report`?`shareFeedbackModal.messageLabelBug`:L===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:w(L===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:L===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:z,onChange:e=>B(e.target.value),fullWidth:!0}),L!==`feature_request`&&(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(r,{checked:U,onChange:Ne,"aria-label":w(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeDiagnostics`)})]}),(0,O.jsx)(c,{content:w(`shareFeedbackModal.diagnosticsTooltip`),children:(0,O.jsx)(`button`,{type:`button`,"aria-label":w(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,O.jsx)(se,{className:`h-3.5 w-3.5`})})})]}),U&&(0,O.jsx)(u,{options:I,value:G,onChange:K,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}),n()&&b&&L!==`feature_request`&&(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(r,{checked:Te,onChange:()=>Ee(e=>!e),"aria-label":w(`shareFeedbackModal.includeConversationAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeConversation`)})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[w(`shareFeedbackModal.attachments`),q.length>0&&(0,O.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,q.length,`/`,N]})]}),(0,O.jsx)(o,{variant:`outlined`,size:`compact`,leftIcon:(0,O.jsx)(oe,{}),onClick:()=>M.current?.click(),disabled:q.length>=N,children:w(`shareFeedbackModal.addFiles`)}),(0,O.jsx)(`input`,{ref:M,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Re,className:`hidden`})]}),q.length>0&&(0,O.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:q.map((e,t)=>(0,O.jsx)(be,{file:e,onRemove:()=>He(t)},`${e.name}-${t}`))}),we&&(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w(`shareFeedbackModal.dropFiles`)})]})]}),Ce&&(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:Ce})]}),(0,O.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,O.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,O.jsx)(ae,{className:`h-4 w-4 animate-spin`}),w(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(o,{variant:`ghost`,onClick:l,children:w(`shareFeedbackModal.cancel`)}),Z?(0,O.jsx)(o,{variant:`primary`,leftIcon:(0,O.jsx)(ie,{}),onClick:async()=>{if(!$){Y(null),Q(!0);try{let e=await ve(G,v??null,n()?Te?b??null:null:b??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Pe});if(!e){Y(`Diagnostics export isn't supported in this browser.`);return}await ee(e,e.name),l()}catch(e){Y(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:w(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,O.jsx)(o,{variant:`primary`,leftIcon:(0,O.jsx)(ne,{}),onClick:async()=>{if(!(!je||$)){Y(null),Q(!0);try{let e=U&&L!==`feature_request`?await ve(G,v??null,n()?Te?b??null:null:b??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Pe}):null,t=he(),r;if(t===`electron`)try{r=(await window.vellum?.app.versionInfo())?.version??r}catch{}let i=t=>Oe.mutateAsync({headers:{"Content-Type":null},body:{message:z.trim(),classification:me[L],email:V.trim(),client:t,client_version:r,...v?{assistant_id:v}:{},...y?{assistant_version:y}:{},...x?{doctor_session_id:x}:{},...e?{logs_file:e}:{},...q.length?{attachments:q}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!ge(e))throw e;await i(`web`)}m?.(),l()}catch(e){Y(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!je,children:w(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function ye({option:e,isSelected:t,onSelect:n}){let{t:r}=_(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,O.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,O.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,O.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function be({file:e,onRemove:t}){let{t:n}=_(),r=e.type.startsWith(`image/`),i=(0,T.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,T.useEffect)(()=>{if(i)return()=>URL.revokeObjectURL(i)},[i]),(0,O.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&i?(0,O.jsx)(`img`,{src:i,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(oe,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,O.jsx)(o,{variant:`ghost`,size:`compact`,iconOnly:(0,O.jsx)(re,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{B as n,z as r,W as t};
|
|
2
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bx as t,Eb as n,Mx as r,Nx as i,Px as a,Ux as o,Vi as s,Wx as c,kr as ee,nm as l,px as u,s_ as d,ub as f,wp as p,yl as te}from"./app-p4YU9h0P.js";import{E as m,Jn as h,N as g,j as _}from"./vendor-DYOeoIwg.js";import{b as v,t as y,v as b,x}from"./react-B9IgSVeK.js";import{An as S,er as C,fa as w,gt as ne,i as re,ni as ie,qn as ae,rn as oe,ur as se,zn as ce}from"./icons-QG1KAFmx.js";var T=e(x(),1),le=e(v(),1),E=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function ue(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:f()},overrides:D()}}var O=y(),de=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,fe=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,pe={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},k=[{value:`bug_report`,icon:w,includesLogsByDefault:!0},{value:`feature_request`,icon:C,includesLogsByDefault:!1},{value:`other`,icon:S,includesLogsByDefault:!1}],A=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],j=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),M=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),N=10,P=50*1024*1024,me={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function he(){if(n())return`electron`;let e=m.getPlatform();return e===`ios`||e===`android`?e:`web`}function ge(e){return typeof e==`object`&&!!e&&`client`in e}function _e(e){if(e.size>P)return!1;if(e.type&&j.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?M.has(t):!1}return!1}var F=8192,I=/^data:([^;,]+);base64,/i,L=/^[A-Za-z0-9+/]+={0,2}$/;function R(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>R(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=R(a,t,n);i=r}return n.delete(e),i}function z(e){return R(e,e=>{if(typeof e!=`string`)return null;let t=I.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=F&&L.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function B(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),R(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function V(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function H(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await d({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function U(){if(!m.isNativePlatform())return null;try{let{App:e}=await b(async()=>{let{App:e}=await import(`./esm-CI79f_VT.js`);return{App:e}},__vite__mapDeps([0,1,2,3])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function ve(e,t,r,i={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:a,doctorSessionId:o,extraLogFiles:s=[]}=i,c=new Date,ee=A.find(t=>t.value===e),u=c.getTime(),d=ee?.cutoffMs==null?null:u-ee.cutoffMs,f=d==null?null:new Date(d).toISOString(),p=null;try{p=a?.()??null}catch{p=null}let te=l(p),m={collected_at:c.toISOString(),time_range:e,cutoff:f,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:r,doctor_session_id:o??null,client_version:null,native_app:await U(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,g=h.encode(JSON.stringify(m,null,2)),_=h.encode(JSON.stringify(te,null,2)),v=[V(`web-client-context.json`,g),V(`web-chat-diagnostics.json`,_)],y=new TextEncoder().encode(JSON.stringify(ue(),null,2));v.push(V(`web-debug-flags.json`,y));for(let e of s){let t=e.contents.trim();t&&v.push(V(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:B(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(z(n),null,2));v.push(V(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(z(t),null,2));v.push(V(`web-sse-liveness-triage.json`,n))}}catch{}if(n()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(V(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(V(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await H(t,{window:{startTime:d,endTime:u},activeConversationId:r});e&&v.push(V(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let b=v.reduce((e,t)=>e+t.length,0),x=new Uint8Array(b),S=0;for(let e of v)x.set(e,S),S+=e.length;let C=new Blob([x.buffer]),w=await new Response(C.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([w],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function W({open:e,onClose:l,initialReason:d,initialMessage:f,onSubmitted:m,assistantId:v,assistantVersion:y,activeConversationId:b,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let{t:w}=_(),E=p.use.user(),D=E?.email,ue=E?.isStaff??!1,A=(0,T.useId)(),j=(0,T.useRef)(null),M=(0,T.useRef)(null),P=(0,T.useRef)(null),F=(0,T.useRef)(null),I=(0,T.useMemo)(()=>[{value:`past_hour`,label:w(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:w(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:w(`shareFeedbackModal.timeRangeAllTime`)}],[w]),[L,R]=(0,T.useState)(d??`bug_report`),[z,B]=(0,T.useState)(``),[V,H]=(0,T.useState)(``),[U,W]=(0,T.useState)(k.find(e=>e.value===(d??`bug_report`))?.includesLogsByDefault??!0),[xe,Se]=(0,T.useState)(!1),[G,K]=(0,T.useState)(`past_hour`),[q,J]=(0,T.useState)([]),[Ce,Y]=(0,T.useState)(null),[we,X]=(0,T.useState)(!1),[Te,Ee]=(0,T.useState)(!1),[Z,De]=(0,T.useState)(!1),Oe=h(te()),[ke,Q]=(0,T.useState)(!1),$=Oe.isPending||ke,Ae=!D,je=(0,T.useMemo)(()=>z.trim().length>0&&V.trim().length>0,[z,V]);(0,T.useEffect)(()=>{if(!e)return;let t=d??`bug_report`;R(t),B(f??``),H(D??``),W(k.find(e=>e.value===t)?.includesLogsByDefault??!0),Se(!1),K(`past_hour`),J([]),Ee(!1),De(!1),Y(null),Q(!1),Oe.reset();let n=setTimeout(()=>{D?P.current?.focus():F.current?.focus()},50);return()=>clearTimeout(n)},[e]),s(e);let Me=e=>{R(e),xe||W(k.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ne=()=>{W(e=>!e),Se(!0)},Pe=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Fe=(0,T.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),l())},[l,$]),Ie=(0,T.useCallback)(e=>{e.target===j.current&&!$&&l()},[l,$]),Le=(0,T.useCallback)(e=>{J(t=>{let n=N-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!_e(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Re=e=>{e.target.files&&Le(Array.from(e.target.files)),e.target.value=``},ze=e=>{e.preventDefault(),X(!1),e.dataTransfer.files?.length&&Le(Array.from(e.dataTransfer.files))},Be=e=>{e.preventDefault(),X(!0)},Ve=e=>{e.preventDefault(),e.currentTarget===e.target&&X(!1)},He=e=>{J(t=>t.filter((t,n)=>n!==e))};return e?(0,le.createPortal)((0,O.jsx)(`div`,{ref:j,role:`dialog`,"aria-modal":`true`,"aria-labelledby":A,className:de,onKeyDown:Fe,onClick:Ie,onDrop:ze,onDragOver:Be,onDragLeave:Ve,children:(0,O.jsxs)(`div`,{className:fe,style:pe,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,O.jsx)(`h2`,{id:A,className:`!m-0 text-title-small text-[var(--content-default)]`,children:w(`shareFeedbackModal.title`)}),(0,O.jsx)(o,{variant:`ghost`,iconOnly:(0,O.jsx)(re,{}),onClick:l,disabled:$,"aria-label":w(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[ue&&(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,O.jsx)(r,{checked:Z,onChange:()=>De(e=>!e),"aria-label":w(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.timeRange`)}),(0,O.jsx)(u,{options:I,value:G,onChange:K,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}):(0,O.jsxs)(O.Fragment,{children:[Ae&&(0,O.jsx)(i,{id:`${A}-email`,ref:F,label:w(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:V,onChange:e=>H(e.target.value),leftIcon:(0,O.jsx)(ce,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.category`)}),(0,O.jsx)(`div`,{className:`flex gap-2`,children:k.map(e=>(0,O.jsx)(ye,{option:e,isSelected:L===e.value,onSelect:()=>Me(e.value)},e.value))})]}),(0,O.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),L===`bug_report`&&(0,O.jsx)(t,{tone:`info`,children:(0,O.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,O.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),L===`feature_request`&&(0,O.jsx)(t,{tone:`info`,children:(0,O.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,O.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),(0,O.jsx)(a,{id:`${A}-message`,ref:P,label:w(L===`bug_report`?`shareFeedbackModal.messageLabelBug`:L===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:w(L===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:L===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:z,onChange:e=>B(e.target.value),fullWidth:!0}),L!==`feature_request`&&(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(r,{checked:U,onChange:Ne,"aria-label":w(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeDiagnostics`)})]}),(0,O.jsx)(c,{content:w(`shareFeedbackModal.diagnosticsTooltip`),children:(0,O.jsx)(`button`,{type:`button`,"aria-label":w(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,O.jsx)(se,{className:`h-3.5 w-3.5`})})})]}),U&&(0,O.jsx)(u,{options:I,value:G,onChange:K,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}),n()&&b&&L!==`feature_request`&&(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(r,{checked:Te,onChange:()=>Ee(e=>!e),"aria-label":w(`shareFeedbackModal.includeConversationAria`)}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeConversation`)})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[w(`shareFeedbackModal.attachments`),q.length>0&&(0,O.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,q.length,`/`,N]})]}),(0,O.jsx)(o,{variant:`outlined`,size:`compact`,leftIcon:(0,O.jsx)(oe,{}),onClick:()=>M.current?.click(),disabled:q.length>=N,children:w(`shareFeedbackModal.addFiles`)}),(0,O.jsx)(`input`,{ref:M,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Re,className:`hidden`})]}),q.length>0&&(0,O.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:q.map((e,t)=>(0,O.jsx)(be,{file:e,onRemove:()=>He(t)},`${e.name}-${t}`))}),we&&(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w(`shareFeedbackModal.dropFiles`)})]})]}),Ce&&(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:Ce})]}),(0,O.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,O.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,O.jsx)(ae,{className:`h-4 w-4 animate-spin`}),w(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(o,{variant:`ghost`,onClick:l,children:w(`shareFeedbackModal.cancel`)}),Z?(0,O.jsx)(o,{variant:`primary`,leftIcon:(0,O.jsx)(ie,{}),onClick:async()=>{if(!$){Y(null),Q(!0);try{let e=await ve(G,v??null,n()?Te?b??null:null:b??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Pe});if(!e){Y(`Diagnostics export isn't supported in this browser.`);return}await ee(e,e.name),l()}catch(e){Y(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:w(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,O.jsx)(o,{variant:`primary`,leftIcon:(0,O.jsx)(ne,{}),onClick:async()=>{if(!(!je||$)){Y(null),Q(!0);try{let e=U&&L!==`feature_request`?await ve(G,v??null,n()?Te?b??null:null:b??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Pe}):null,t=he(),r;if(t===`electron`)try{r=(await window.vellum?.app.versionInfo())?.version??r}catch{}let i=t=>Oe.mutateAsync({headers:{"Content-Type":null},body:{message:z.trim(),classification:me[L],email:V.trim(),client:t,client_version:r,...v?{assistant_id:v}:{},...y?{assistant_version:y}:{},...x?{doctor_session_id:x}:{},...e?{logs_file:e}:{},...q.length?{attachments:q}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!ge(e))throw e;await i(`web`)}m?.(),l()}catch(e){Y(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!je,children:w(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function ye({option:e,isSelected:t,onSelect:n}){let{t:r}=_(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,O.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,O.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,O.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function be({file:e,onRemove:t}){let{t:n}=_(),r=e.type.startsWith(`image/`),i=(0,T.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,T.useEffect)(()=>{if(i)return()=>URL.revokeObjectURL(i)},[i]),(0,O.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&i?(0,O.jsx)(`img`,{src:i,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(oe,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,O.jsx)(o,{variant:`ghost`,size:`compact`,iconOnly:(0,O.jsx)(re,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{B as n,z as r,W as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./share-feedback-modal-Ka1FQwFE.js";export{e as ShareFeedbackModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Eb as t,Hx as n,Km as r,Oi as i,Tb as a,Ux as o,Va as s,_c as c,sx as l}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Eb as t,Hx as n,Km as r,Oi as i,Tb as a,Ux as o,Va as s,_c as c,sx as l}from"./app-p4YU9h0P.js";import{j as u}from"./vendor-DYOeoIwg.js";import{d,f,n as p,t as m,x as h}from"./react-B9IgSVeK.js";import{Ra as g,Wi as _}from"./icons-QG1KAFmx.js";import{t as v}from"./use-edge-swipe-back-D1eHj9sf.js";import{t as y}from"./link-click-BYgcUBN3.js";var b=e(h(),1),x=`data-page-transition`,S=400,C;function w(){return typeof document<`u`&&typeof document.startViewTransition==`function`}function T(){return r()&&w()}function E(e,t,n,r){if(!T()){e(t,r);return}document.documentElement.setAttribute(x,n),C!==void 0&&clearTimeout(C),C=setTimeout(()=>{C=void 0,document.documentElement.removeAttribute(x)},S),e(t,{...r,viewTransition:!0})}var D=m();function O({sidebar:e,children:r,actions:l,backHref:m,title:h=`Settings`,menuRoute:_=a.settings.root,menuReplacesContentOnMobile:y=!1}){let{t:x}=u(),{pathname:S}=d(),C=f(),w=S===_,T=c(),O=T&&w,k=!(O&&y),A=(0,b.useRef)(null),j=(0,b.useRef)(null);(0,b.useLayoutEffect)(()=>{j.current?.scrollTo(0,0)},[S]);let M=w?m:_;v({containerRef:A,onBack:(0,b.useCallback)(()=>{C(M)},[C,M]),enabled:T,navKey:S,prefetchHref:M});let N=t(),P=x(w?`sidebarShell.backFrom`:`sidebarShell.backToMenu`,{title:h}),F=(0,D.jsx)(o,{variant:`ghost`,iconOnly:(0,D.jsx)(g,{}),"aria-label":P,tintColor:`var(--content-secondary)`,onClick:()=>E(C,M,`pop`)}),I=(0,D.jsx)(o,{asChild:!0,variant:`outlined`,"aria-label":x(`sidebarShell.backFrom`,{title:h}),className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,D.jsx)(p,{to:m,className:`flex items-center justify-center no-underline`,children:(0,D.jsx)(g,{size:16,"aria-hidden":`true`})})});return(0,D.jsxs)(`div`,{ref:A,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:N?`3.75rem`:`1rem`},children:[(0,D.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[F,(0,D.jsx)(n,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:h}),(0,D.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),N?(0,D.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,D.jsx)(s,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(i,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,D.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[I,(0,D.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:h})]}),(0,D.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:l})]}),(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[T?null:(0,D.jsx)(`aside`,{className:`w-64 shrink-0 overflow-y-auto`,"aria-label":x(`sidebarShell.navigationAria`,{title:h}),children:e}),O?(0,D.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6`,children:e}):null,k?(0,D.jsx)(`main`,{ref:j,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:px-6 md:pt-0 ${O?`hidden`:`flex`}`,children:r}):null]})]})]})}function k({items:e,bottomItems:t,indexPath:n}){let{t:r}=u(),{pathname:i}=d(),a=f(),o=c(),s=(e,t,r)=>{let{href:s,onSelect:c}=e,u=s!=null&&(i===s||i.startsWith(s+`/`)||!o&&r&&n!=null&&i===n);return(0,D.jsxs)(b.Fragment,{children:[(0,D.jsx)(l.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:s==null?void 0:_,trailingIconClassName:s==null?void 0:`md:hidden`,href:s,onSelect:c,onClick:s==null?void 0:e=>{y(e)||(e.preventDefault(),E(a,s,`push`))}}),!t&&(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,D.jsxs)(`nav`,{"aria-label":r(`sidebarTree.ariaLabel`),className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>s(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`div`,{className:`flex-1`}),(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>s(e,n===t.length-1,!1))]})]})}export{O as n,k as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cs as t,Ss as n,ev as r,on as i}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cs as t,Ss as n,ev as r,on as i}from"./app-p4YU9h0P.js";import{N as a,_ as o,g as s,j as c}from"./vendor-DYOeoIwg.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d,t as f}from"./use-return-to-short-circuit-CkdO0Q2j.js";import{t as p}from"./signup-shell-D9ohM8Rf.js";var m=e(u(),1),h=l();function g({words:e}){let[t,n]=(0,m.useState)(0),r=(0,m.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,m.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,h.jsxs)(`span`,{className:`signup__rotating`,children:[(0,h.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,h.jsx)(o,{mode:`wait`,children:(0,h.jsxs)(s.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var _=[`signupScreen.headlineRoles.personalIntelligence`,`signupScreen.headlineRoles.softwareEngineer`,`signupScreen.headlineRoles.financeOps`,`signupScreen.headlineRoles.householdManager`,`signupScreen.headlineRoles.gtmEngineer`,`signupScreen.headlineRoles.productLead`];function v({returnTo:e}){let{t:o}=c(`account`),s=(0,m.useMemo)(()=>_.map(e=>o(e)),[o]),[l,u]=(0,m.useState)(null),[d,f]=(0,m.useState)(!1),v=(i,a)=>{u(null),f(!0),r(n,t(e,{authIntent:i}),{returnTo:e,intent:i}).catch(e=>{console.error(a,e),u(o(`authErrors.genericFailure`))}).finally(()=>{f(!1)})};return(0,h.jsxs)(p,{children:[(0,h.jsxs)(`h1`,{className:`signup__title`,children:[o(`signupScreen.headlineLead`),(0,h.jsx)(`br`,{}),(0,h.jsx)(g,{words:s})]}),(0,h.jsx)(`p`,{className:`signup__subtitle`,children:o(`signupScreen.subtitle`)}),(0,h.jsx)(`div`,{className:`signup__buttons`,children:(0,h.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{v(`signup`,`[signup] auth flow failed:`)},disabled:d,children:o(`signupScreen.continue`)})}),l&&(0,h.jsx)(`p`,{className:`signup__error`,children:l}),(0,h.jsx)(`p`,{className:`signup__footer`,children:(0,h.jsx)(a,{i18nKey:`signupScreen.haveAccountPrompt`,ns:`account`,components:{signIn:(0,h.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{v(void 0,`[signup] sign-in flow failed:`)},disabled:d})}})}),(0,h.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,h.jsx)(i,{size:16}),o(`signupScreen.downloadMac`)]})]})}function y(){let e=f();return e.kind===`wait`?(0,h.jsx)(p,{children:(0,h.jsx)(d,{})}):e.kind===`redirect`?e.node:(0,h.jsx)(v,{returnTo:e.returnTo})}export{y as SignupPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ur as e}from"./app-
|
|
1
|
+
import{Ur as e}from"./app-p4YU9h0P.js";import{g as t}from"./vendor-DYOeoIwg.js";import{t as n}from"./react-B9IgSVeK.js";var r=n();function i({children:n}){return(0,r.jsxs)(t.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:e(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:n})]}),(0,r.jsx)(t.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:e(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Af as t,Df as n,Dx as r,Ft as i,Hb as a,M_ as o,Of as s,Ox as c,Pb as l,Pt as u,Tb as d,Tn as f,Ux as p,Vx as m,_c as h,ax as g,et as _,is as v,m as y,op as b,p as x,vx as S,wn as C}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Af as t,Df as n,Dx as r,Ft as i,Hb as a,M_ as o,Of as s,Ox as c,Pb as l,Pt as u,Tb as d,Tn as f,Ux as p,Vx as m,_c as h,ax as g,et as _,is as v,m as y,op as b,p as x,vx as S,wn as C}from"./app-p4YU9h0P.js";import{Zn as w,er as T,j as E}from"./vendor-DYOeoIwg.js";import{_ as D,b as O,d as k,f as A,h as j,r as M,t as N,x as P}from"./react-B9IgSVeK.js";import{E as F,Ja as I,Jr as ee,Ki as te,Or as L,Ra as R,Va as z,Wi as ne,Xr as B,k as V,pi as re,qn as H,zr as U}from"./icons-QG1KAFmx.js";import{a as W,n as G,r as K,t as ie}from"./use-skill-actions-Dk64pbQd.js";import{t as ae}from"./diff-rows-Bf-wMfUA.js";import{t as q}from"./skill-icon-DLqnaRMf.js";import{n as J,t as Y}from"./use-skill-detail-files-DmOW_S89.js";import{t as oe}from"./skill-removal-dialog-C91c4ZfS.js";import{t as se}from"./use-edge-swipe-back-D1eHj9sf.js";import{i as ce,n as le,r as ue,t as X}from"./file-editor-gXTdPzcn.js";var de=I(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Z=e(P(),1),Q=N();function $(){return(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Q.jsx)(H,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}var fe=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,pe=/^diff --git a\/(.+) b\/\1$/;function me(e,t){let n=e.replace(/^[ab]\//,``),r=`skills/${t}/`;return n.startsWith(r)?n.slice(r.length):n}function he(e){let t=e.slice(4).replace(/\t$/,``);return t===`/dev/null`?null:t}function ge(e,t){let n=[],r=null,i=0,a=0,o=!1,s=!1;for(let c of e.split(`
|
|
2
2
|
`)){if(c.startsWith(`diff --git `)){r={path:me(pe.exec(c)?.[1]??(c.split(` `).slice(3).join(` `)||``),t),rows:[],added:0,removed:0},n.push(r),i=0,a=0,o=!1,s=!1;continue}if(!r)continue;let e=fe.exec(c);if(e){i=Number(e[1]),a=Number(e[2]),o=!0,r.rows.length>0&&r.rows.push({type:`meta`,text:c});continue}if(!c.startsWith(`\\ No newline`)){if(!o&&(c.startsWith(`+++ `)||c.startsWith(`--- `))){let e=he(c);e!==null&&(c.startsWith(`+++ `)||!s)&&(r.path=me(e,t),s=c.startsWith(`+++ `));continue}!o&&(c.startsWith(`index `)||c.startsWith(`new file mode `)||c.startsWith(`deleted file mode `)||c.startsWith(`similarity index `)||c.startsWith(`rename `)||c.startsWith(`old mode `)||c.startsWith(`new mode `)||c.startsWith(`Binary files `))||(c.startsWith(`+`)?(r.rows.push({type:`add`,text:c.slice(1),newNo:a}),r.added+=1,a+=1):c.startsWith(`-`)?(r.rows.push({type:`del`,text:c.slice(1),oldNo:i}),r.removed+=1,i+=1):c.startsWith(` `)&&(r.rows.push({type:`ctx`,text:c.slice(1),oldNo:i,newNo:a}),i+=1,a+=1))}}return{files:n,added:n.reduce((e,t)=>e+t.added,0),removed:n.reduce((e,t)=>e+t.removed,0)}}async function _e(e,t,n){let{data:r,error:i,response:s}=await o({path:{assistant_id:e,id:t},throwOnError:!1,signal:n});if(!s||!s.ok){if(s?.status===404)return null;throw s?a(i,s):i??Error(`Failed to fetch skill history.`)}return r??null}function ve(e){return e.isLoading?!1:e.isError||e.revisionCount>0}function ye(e,t){let n=!!(e&&t),r=w({queryKey:s({path:{assistant_id:e??``,id:t}}),queryFn:({signal:n})=>_e(e??``,t,n),enabled:n,refetchOnWindowFocus:!1});return{history:r.data??null,revisions:r.data?.revisions??[],truncatedByCompaction:r.data?.truncatedByCompaction??!1,isLoading:r.isLoading,isError:r.isError}}function be({assistantId:e,skillId:t}){let{t:n}=E(`intelligence`),{revisions:r,truncatedByCompaction:i,isLoading:a,isError:o}=ye(e,t);return a?(0,Q.jsx)($,{}):o?(0,Q.jsx)(Se,{children:n(`skillRevisionHistory.loadError`)}):(0,Q.jsx)(xe,{skillId:t,revisions:r,truncatedByCompaction:i})}function xe({skillId:e,revisions:t,truncatedByCompaction:n}){let{t:r}=E(`intelligence`);return t.length===0?(0,Q.jsx)(Se,{children:r(`skillRevisionHistory.noChanges`)}):(0,Q.jsxs)(g.Root,{type:`multiple`,className:`flex flex-col gap-2 p-3`,children:[t.map(t=>(0,Q.jsx)(Ce,{revision:t,skillId:e},t.id)),n&&(0,Q.jsx)(`p`,{className:`px-1 pt-1 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:r(`skillRevisionHistory.truncatedNotice`)})]})}function Se({children:e}){return(0,Q.jsx)(`p`,{className:`px-3 py-10 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})}function Ce({revision:e,skillId:t}){let{t:n}=E(`intelligence`),r=(0,Z.useMemo)(()=>ge(e.diff,t),[e.diff,t]);return(0,Q.jsxs)(g.Item,{value:e.id,className:`overflow-hidden rounded-md border`,style:{borderColor:`var(--border-base)`},children:[(0,Q.jsxs)(g.Trigger,{className:`group flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,Q.jsx)(ne,{className:`h-4 w-4 shrink-0 transition-transform group-data-[state=open]:rotate-90`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:i(e.changedAt)}),(0,Q.jsx)(`span`,{className:`mt-0.5 block truncate text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:e.files.join(` · `)})]}),r.added>0&&(0,Q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-positive-strong)`},children:[`+`,r.added]}),r.removed>0&&(0,Q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-negative-strong)`},children:[`−`,r.removed]})]}),(0,Q.jsxs)(g.Content,{className:`border-t`,style:{borderColor:`var(--border-base)`},children:[(0,Q.jsx)(`p`,{className:`px-3 py-2 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:u(e.changedAt)}),r.files.length===0?(0,Q.jsx)(`p`,{className:`px-3 pb-3 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:n(`skillRevisionHistory.noPreviewForChange`)}):r.files.map(e=>(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`border-t px-3 py-1.5 font-mono text-body-small-default`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:e.path}),(0,Q.jsx)(`div`,{className:`py-1`,children:(0,Q.jsx)(ae,{rows:e.rows})})]},e.path))]})]})}function we(e){return e===`history`?`history`:`files`}function Te({assistantId:e,skill:t,tab:n,onTabChange:r,onBack:i,backToConversation:a=!1,onInstall:o,onRemove:s,isInstalling:l=!1,isRemoving:u=!1,sourceConversationId:d}){let{t:f}=E(`intelligence`),h=K(t),g=y(t),{fileEntries:_,setSelectedPath:v,activePath:b,activeFile:x,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=Y(e,t.id),{revisions:D,isLoading:O,isError:k}=ye(e,t.id),A=ve({isLoading:O,isError:k,revisionCount:D.length}),j=A?n:`files`,M=(0,Q.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,Q.jsx)(p,{type:`button`,variant:`ghost`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),"aria-label":f(a?`skillDetail.backToConversationAriaLabel`:`skillDetail.backToSkillsAriaLabel`),onClick:i}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Q.jsx)(q,{skill:t,className:`h-8 w-8 text-3xl`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Q.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,Q.jsx)(W,{origin:t.origin})]}),(0,Q.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,Q.jsx)(J,{skill:{origin:t.origin,sourceConversationId:d},className:`mt-1`})]})]}),h?l?(0,Q.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,Q.jsx)(H,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,Q.jsx)(p,{type:`button`,onClick:o,disabled:!o,leftIcon:(0,Q.jsx)(z,{"aria-hidden":!0}),children:f(`skillDetail.install`)}):(0,Q.jsx)(p,{type:`button`,variant:g?`dangerOutline`:`outlined`,onClick:s,disabled:!g||u||!s,leftIcon:u?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(V,{"aria-hidden":!0}),children:f(`skillDetail.remove`)})]})]}),N=(0,Q.jsx)(m.Root,{asChild:!0,noPadding:!0,children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,Q.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:S?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(H,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):_.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:f(`skillDetail.noFilesAvailable`)}):_.map(e=>{let t=b===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>v(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,Q.jsx)(L,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,Q.jsx)(U,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:T?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(H,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):x?(0,Q.jsx)(Ee,{assistantId:e,skillId:t.id,fileName:x.name,filePath:x.path,content:C,isBinary:w,editable:t.kind===`installed`},`${t.id}/${x.path}`):(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:f(`skillDetail.selectFilePrompt`)})})]})});return(0,Q.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[M,(0,Q.jsxs)(c.Root,{value:j,onValueChange:e=>r(we(e)),className:`flex min-h-0 flex-1 flex-col`,children:[A&&(0,Q.jsxs)(c.List,{className:`mb-3`,children:[(0,Q.jsx)(c.Trigger,{value:`files`,children:f(`skillDetail.filesTab`)}),(0,Q.jsx)(c.Trigger,{value:`history`,children:f(`skillDetail.historyTab`)})]}),(0,Q.jsx)(c.Panel,{value:`files`,forceMount:!0,className:`min-h-0 flex-1 flex-col`,style:{display:j===`files`?`flex`:`none`},children:N}),A&&(0,Q.jsx)(c.Panel,{value:`history`,className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(m.Root,{asChild:!0,noPadding:!0,children:(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,Q.jsx)(be,{assistantId:e,skillId:t.id})})})})]})]})}function Ee({assistantId:e,skillId:t,fileName:n,filePath:r,content:i,isBinary:a,editable:o}){let{t:s}=E(`intelligence`),c=T(),[u,d]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(``),g=`skills/${t}/${r}`,_=b({onSuccess:()=>{d(!1),h(``),c.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),c.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),c.invalidateQueries({queryKey:[{_id:`skillsByIdHistoryGet`}]}),r===`SKILL.md`&&x(c,e)},onError:e=>{l(e,{context:`skill-file-save`,bestEffort:!0})}}),y=u&&m!==(i??``),S=(0,Z.useCallback)(()=>{!y||_.isPending||_.mutate({path:{assistant_id:e},body:{path:g,content:m,encoding:`utf8`}})},[y,_,e,g,m]),w=(0,Z.useCallback)(()=>{d(!0),h(i??``),_.reset()},[i,_]),D=(0,Z.useCallback)(()=>{d(!1),h(``),_.reset()},[_]);if(a)return(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:s(`skillFileContent.binaryFile`)});if(i===null)return(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:s(`skillFileContent.noPreviewAvailable`,{fileName:n})});let O=o?(0,Q.jsx)(p,{variant:`ghost`,size:`regular`,iconOnly:(0,Q.jsx)(B,{"aria-hidden":!0}),onClick:()=>void v(g),"aria-label":s(`skillDetail.openInWorkspaceAriaLabel`),className:`hover:bg-[var(--surface-base)]`}):void 0;return f(n,void 0)&&!u?(0,Q.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,Q.jsx)(X,{content:i,fileName:n,showEdit:o,isEditing:!1,onToggleEdit:w,extraActions:O}),(0,Q.jsx)(C,{content:i})]})}):(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(X,{content:u?m:i,fileName:n,showEdit:o,isEditing:u,onToggleEdit:()=>u?D():w(),extraActions:O}),u?(0,Q.jsx)(ue,{value:m,onChange:h,onSave:S}):(0,Q.jsx)(ce,{content:i,readOnly:!o,onStartEdit:w})]}),u&&(0,Q.jsx)(le,{isDirty:y,isSaving:_.isPending,error:_.isError?s(`skillDetail.saveFailed`):null,onSave:S,onDiscard:D})]})}var De=e(O(),1);function Oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){let{t:i}=E(`intelligence`);return n?(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.binaryFile`)}):t===null?(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.noPreviewAvailable`,{fileName:e})}):f(e,void 0)&&r===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(C,{content:t})}):(0,Q.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function ke({assistantId:e,skill:t,onBack:n,backToConversation:i=!1,onInstall:a,onRemove:o,isInstalling:s=!1,isRemoving:c=!1,swipeContainerRef:l,sourceConversationId:u}){let{t:d}=E(`intelligence`),h=K(t),g=y(t),{fileEntries:_,setSelectedPath:v,activePath:b,activeFile:x,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=Y(e,t.id),[D,O]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{O(`preview`)},[b]);let[k,A]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{A(document.getElementById(`viewport-overlays`))},[]);let j=x?f(x.name,void 0):!1,M=j?D:`raw`,N=(0,Q.jsxs)(`div`,{ref:l,className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(p,{variant:`ghost`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":d(i?`skillDetail.backToConversationAriaLabel`:`skillDetail.backToSkillsAriaLabel`),onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Q.jsx)(Ae,{available:h,removable:g,isInstalling:s,isRemoving:c,onInstall:a,onRemove:o})]}),(0,Q.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(q,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Q.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Q.jsx)(W,{origin:t.origin})]}),(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,Q.jsx)(J,{skill:{origin:t.origin,sourceConversationId:u}})]}),(0,Q.jsx)(m.Root,{asChild:!0,noPadding:!0,children:(0,Q.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Q.jsx)(Me,{fileEntries:_,activePath:b,activeName:x?.name??null,onSelect:v}),(0,Q.jsx)(r,{iconOnly:!0,ariaLabel:d(`skillDetail.fileViewModeAriaLabel`),value:M,onChange:O,items:[{value:`preview`,label:d(`skillDetail.preview`),icon:(0,Q.jsx)(ee,{"aria-hidden":!0}),disabled:!j},{value:`raw`,label:d(`skillDetail.source`),icon:(0,Q.jsx)(re,{"aria-hidden":!0})}]})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S||T?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(H,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):x?(0,Q.jsx)(Oe,{fileName:x.name,content:C,isBinary:w,viewMode:M}):(0,Q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`skillDetail.selectFilePrompt`)})})]})})]});return k?(0,De.createPortal)(N,k):N}function Ae({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:a}){let{t:o}=E(`intelligence`);return n||r?(0,Q.jsx)(p,{variant:`ghost`,iconOnly:(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":o(`skillDetail.pendingAriaLabel`),className:`max-md:bg-[var(--surface-active)]`}):e?(0,Q.jsx)(p,{variant:`ghost`,iconOnly:(0,Q.jsx)(z,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":o(`skillRow.installSkillAriaLabel`),onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Q.jsx)(p,{variant:`dangerGhost`,iconOnly:(0,Q.jsx)(V,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":o(`skillRow.removeSkillAriaLabel`),onClick:a,disabled:!a,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Q.jsx)(p,{variant:`dangerGhost`,iconOnly:(0,Q.jsx)(V,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:o(`skillRow.bundledSkillsCannotBeRemoved`),"aria-label":o(`skillRow.bundledSkillCannotBeRemovedAriaLabel`),className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function je(e){return(e??``).endsWith(`/directory`)}function Me({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let{t:i}=E(`intelligence`),a=n??i(`skillDetail.selectAFile`);return e.length===0?(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Q.jsx)(Ne,{}),(0,Q.jsx)(`span`,{className:`truncate`,children:a})]}):(0,Q.jsxs)(S.Root,{children:[(0,Q.jsx)(S.Trigger,{children:(0,Q.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Q.jsx)(Ne,{}),(0,Q.jsx)(`span`,{className:`truncate`,children:a}),(0,Q.jsx)(te,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Q.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=je(e.mimeType);return(0,Q.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Q.jsx)(L,{}):(0,Q.jsx)(U,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Ne(){return(0,Q.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Q.jsx)(U,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function Pe(){let{t:e}=E(`intelligence`);return(0,Q.jsx)(G,{icon:F,iconColor:`var(--system-danger)`,title:e(`skillsErrorState.title`),subtitle:e(`skillsErrorState.subtitle`)})}function Fe(){let{t:e}=E(`intelligence`),r=_(),{skillId:i}=j(),a=A(),o=k(),{pathname:s}=o,c=h(),l=(0,Z.useRef)(null),u=o.state,f=typeof u?.listSearch==`string`?u.listSearch:``,m=typeof u?.backTo==`string`&&u.backTo.startsWith(`/`)&&!u.backTo.startsWith(`//`)?u.backTo:null,[g,v]=D(),y=we(g.get(`tab`)),b=(0,Z.useCallback)(e=>{let t=new URLSearchParams(g);e===`history`?t.set(`tab`,`history`):t.delete(`tab`),v(t,{replace:!0,state:o.state})},[g,v,o.state]),x=w({...t({path:{assistant_id:r},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),S=m??`${d.superpowers}${f}`,C=(0,Z.useCallback)(()=>{a(S)},[a,S]),T=(0,Z.useCallback)(()=>{a(S,{replace:!0})},[a,S]);se({containerRef:l,onBack:C,enabled:c,navKey:s,prefetchHref:S.split(`?`)[0]??S});let{handleInstall:O,handleRemove:N,isInstallingSkill:P,isRemovingSkill:F,skillPendingRemoval:I,confirmRemove:ee,cancelRemove:te}=ie(r,{onRemoved:T}),L=x.data,z=(0,Z.useMemo)(()=>L?.find(e=>e.id===i)??null,[L,i]),ne=w({...n({path:{assistant_id:r,id:i??``}}),enabled:!!i&&z?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!i)return(0,Q.jsx)(M,{to:d.superpowers,replace:!0});if(x.isLoading)return(0,Q.jsx)($,{});if(x.isError&&!z)return(0,Q.jsx)(Pe,{});if(!z&&x.isFetching)return(0,Q.jsx)($,{});if(!z)return(0,Q.jsx)(G,{icon:de,title:e(`skillDetailPage.notFoundTitle`),subtitle:e(`skillDetailPage.notFoundSubtitle`),children:(0,Q.jsx)(p,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,Q.jsx)(R,{"aria-hidden":!0}),onClick:C,children:e(m?`skillDetailPage.backToConversation`:`skillDetailPage.backToSuperpowers`)})});let B={assistantId:r,skill:z,onBack:C,backToConversation:m!==null,onInstall:()=>O(z),onRemove:()=>N(z),isInstalling:P(z),isRemoving:F(z),sourceConversationId:ne.data??void 0};return(0,Q.jsxs)(Q.Fragment,{children:[c?(0,Q.jsx)(ke,{...B,swipeContainerRef:l}):(0,Q.jsx)(Te,{...B,tab:y,onTabChange:b}),(0,Q.jsx)(oe,{skillName:I?.name??null,onConfirm:ee,onCancel:te})]})}export{Fe as SkillDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Df as t,Hx as n,Jn as r,Pb as i,Tb as a,Ux as o,Xn as s,ap as c,h as l,m as u,p as d,sy as f,vx as p,wn as m}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Df as t,Hx as n,Jn as r,Pb as i,Tb as a,Ux as o,Xn as s,ap as c,h as l,m as u,p as d,sy as f,vx as p,wn as m}from"./app-p4YU9h0P.js";import{Zn as h,er as g,j as _}from"./vendor-DYOeoIwg.js";import{d as v,f as y,t as b,x}from"./react-B9IgSVeK.js";import{Qr as S,k as C,ma as w,qn as T}from"./icons-QG1KAFmx.js";import{n as E,t as D}from"./use-skill-detail-files-DmOW_S89.js";import{t as O}from"./skill-removal-dialog-C91c4ZfS.js";var k=e(x(),1),A=b();function j({skillId:e,onClose:b}){let{t:x}=_(`chat`),j=y(),M=v(),N=g(),P=f.use.activeAssistantId(),[F,I]=(0,k.useState)(!1),L=h({...t({path:{assistant_id:P??``,id:e}}),select:e=>e.skill,enabled:!!P}),R=L.data,{skillMd:z,fileContent:B,isFilesPending:V,isContentPending:H}=D(P,e),U=c({onSuccess:()=>{P&&d(N,P),b()},onError:e=>{i(e,{context:`skill-detail-panel-remove`})}}),W=()=>{P&&(U.mutate({path:{assistant_id:P,id:e}}),I(!1))},G=L.isPending||V||z!=null&&H,K=R!=null&&u(R);return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(r,{icon:R?.emoji?(0,A.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:R.emoji}):void 0,Glyph:w,title:R?.name??x(`skillDetailPanel.titleFallback`),closeLabel:x(`skillDetailPanel.closeDetails`),onClose:b,headerActions:K?(0,A.jsxs)(p.Root,{children:[(0,A.jsx)(p.Trigger,{asChild:!0,children:(0,A.jsx)(o,{variant:`outlined`,iconOnly:(0,A.jsx)(S,{}),"aria-label":x(`skillDetailPanel.actionsAria`),tooltip:x(`skillDetailPanel.moreTooltip`),className:`shrink-0`})}),(0,A.jsx)(p.Content,{side:`bottom`,align:`end`,children:(0,A.jsx)(p.Item,{leftIcon:(0,A.jsx)(C,{size:14}),onSelect:()=>I(!0),children:x(`skillDetailPanel.removeSkill`)})})]}):void 0,footer:(0,A.jsx)(`div`,{className:`flex justify-end`,children:(0,A.jsx)(o,{onClick:()=>{b(),j(a.skills.detail(e),{state:l(M)})},children:x(`skillDetailPanel.goToSkill`)})}),children:L.isError&&!R?(0,A.jsx)(s,{children:x(`skillDetailPanel.loadError`)}):G?(0,A.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,A.jsx)(T,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,A.jsxs)(A.Fragment,{children:[R?.description&&(0,A.jsx)(n,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:R.description}),R&&(0,A.jsx)(E,{skill:R,className:`mb-4`,onNavigate:b}),B&&(0,A.jsx)(m,{content:B})]})}),(0,A.jsx)(O,{skillName:F&&R?R.name:null,onConfirm:W,onCancel:()=>I(!1)})]})}export{j as SkillDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Sx as e}from"./app-
|
|
1
|
+
import{Sx as e}from"./app-p4YU9h0P.js";import{j as t}from"./vendor-DYOeoIwg.js";import{t as n}from"./react-B9IgSVeK.js";var r=n();function i({skillName:n,onConfirm:i,onCancel:a}){let{t:o}=t();return(0,r.jsx)(e,{open:n!==null,title:o(`skillRemovalDialog.title`),message:n?o(`skillRemovalDialog.message`,{name:n}):``,confirmLabel:o(`skillRemovalDialog.remove`),destructive:!0,onConfirm:i,onCancel:a})}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Tb as e}from"./app-
|
|
1
|
+
import{Tb as e}from"./app-p4YU9h0P.js";import{_ as t,r as n,t as r}from"./react-B9IgSVeK.js";var i=r();function a(){let[r]=t(),a=r.get(`skill`);if(a)return(0,i.jsx)(n,{to:e.skills.detail(a),replace:!0});let o=r.toString();return(0,i.jsx)(n,{to:`${e.superpowers}${o?`?${o}`:``}`,replace:!0})}export{a as SkillsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Mf as t,Mx as n,Nf as r,Pf as i,Vx as a,bc as o,et as s,jf as c,vc as l,xc as u,yc as d}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Mf as t,Mx as n,Nf as r,Pf as i,Vx as a,bc as o,et as s,jf as c,vc as l,xc as u,yc as d}from"./app-p4YU9h0P.js";import{Jn as f,Zn as p,er as m,j as h}from"./vendor-DYOeoIwg.js";import{t as g,x as _}from"./react-B9IgSVeK.js";import{Ki as v,Rt as y,k as b}from"./icons-QG1KAFmx.js";var x=e(_(),1),S=g(),C={task_complete:`soundsSections.soundEventTaskComplete`,needs_input:`soundsSections.soundEventNeedsInput`,task_failed:`soundsSections.soundEventTaskFailed`,notification:`soundsSections.soundEventNotification`,new_conversation:`soundsSections.soundEventNewConversation`,message_sent:`soundsSections.soundEventMessageSent`,character_poke:`soundsSections.soundEventCharacterPoke`,random:`soundsSections.soundEventRandom`};function w(e,t){return t(C[e])}function T({label:e,description:t,checked:r,disabled:i,onChange:a}){return(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,S.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,S.jsx)(n,{checked:r,disabled:i,onChange:a,label:e})]})}function E(){return(0,S.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function D({event:e,eventConfig:t,availableSounds:r,globalEnabled:i,onToggle:a,onAddSound:o,onRemoveSound:s,onPreview:c,t:l}){let[d,f]=(0,x.useState)(!1),p=w(e,l),m=r.filter(e=>!t.sounds.includes(e.filename)),h=r.length>0&&m.length===0;return(0,S.jsxs)(`div`,{className:`py-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:p}),(0,S.jsx)(n,{checked:t.enabled,disabled:!i,onChange:a,label:l(`soundsSections.enableEvent`,{eventName:p})})]}),t.enabled&&(0,S.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`soundsSections.defaultBlip`)}):t.sounds.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,S.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:u(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":l(`soundsSections.previewSoundAriaLabel`,{filename:e}),children:(0,S.jsx)(y,{className:`h-3 w-3`})}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>s(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":l(`soundsSections.removeSoundAriaLabel`,{filename:e}),children:(0,S.jsx)(b,{className:`h-3 w-3`})})]})]},e)),r.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:l(`soundsSections.noSoundFiles`)}):h?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:l(`soundsSections.allSoundsAdded`)}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>f(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[l(`soundsSections.addSound`),(0,S.jsx)(v,{className:`h-3 w-3`})]}),d&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>f(!1),children:m.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{o(e.filename),f(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function O(){let{t:e}=h(`settings`),n=m(),u=s(),g=(0,x.useMemo)(()=>t({path:{assistant_id:u}}),[u]),_=(0,x.useMemo)(()=>c({path:{assistant_id:u}}),[u]),{data:v}=p(g),{data:b}=p(_),C=v??o(),w=b?.sounds??[],O=(0,x.useMemo)(()=>({path:{assistant_id:u}}),[u]),k=f({...i(O),onMutate:async e=>{await n.cancelQueries({queryKey:g.queryKey});let t=n.getQueryData(g.queryKey);return r(n,O,e.body),{previous:t}},onError:(e,t,i)=>{i?.previous!==void 0&&r(n,O,i.previous)},onSettled:()=>{n.invalidateQueries({queryKey:g.queryKey})}}),A=(0,x.useCallback)(e=>{let t=e(n.getQueryData(g.queryKey)??o());k.mutate({path:{assistant_id:u},body:t})},[u,g.queryKey,n,k]),j=e=>{A(t=>({...t,globalEnabled:e}))},M=e=>{A(t=>({...t,volume:e}))},[N,P]=(0,x.useState)(null),F=N??C.volume,I=(e,t)=>{A(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},L=(e,t)=>{A(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},R=(e,t)=>{A(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},z=()=>{l().previewFallbackBlip(C.volume)},B=e=>{l().previewSound(e,C.volume)};return(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsxs)(a,{children:[(0,S.jsx)(T,{label:e(`soundsSections.enableSoundEffects`),description:e(`soundsSections.enableSoundEffectsDescription`),checked:C.globalEnabled,onChange:j}),(0,S.jsx)(E,{}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`soundsSections.volume`)}),(0,S.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:F,onChange:e=>P(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);P(null),t!==C.volume&&M(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);P(null),t!==C.volume&&M(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);P(null),t!==C.volume&&M(t)},className:`h-1 w-48 cursor-pointer`,disabled:!C.globalEnabled,"aria-label":e(`soundsSections.volumeAriaLabel`)}),(0,S.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(F*100),`%`]})]}),(0,S.jsx)(E,{}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`soundsSections.previewDefaultBlip`)}),(0,S.jsxs)(`button`,{type:`button`,onClick:z,disabled:!C.globalEnabled,className:`inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] transition-colors hover:bg-[var(--surface-hover)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,S.jsx)(y,{className:`h-3.5 w-3.5`}),e(`soundsSections.preview`)]})]})]}),(0,S.jsxs)(a,{children:[(0,S.jsxs)(`div`,{className:`pb-2`,children:[(0,S.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:e(`soundsSections.soundEventsTitle`)}),(0,S.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`soundsSections.soundEventsDescription`)})]}),(0,S.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:d.map(t=>(0,S.jsx)(D,{event:t,eventConfig:C.events[t]??{enabled:!1,sounds:[]},availableSounds:w,globalEnabled:C.globalEnabled,onToggle:e=>I(t,e),onAddSound:e=>L(t,e),onRemoveSound:e=>R(t,e),onPreview:e=>B(e),t:e},t))})]})]})}function k(){return(0,S.jsx)(O,{})}export{k as SoundsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Hr as e,Kr as t,Tb as n,Ux as r,_v as i}from"./app-
|
|
1
|
+
import{Hr as e,Kr as t,Tb as n,Ux as r,_v as i}from"./app-p4YU9h0P.js";import{j as a}from"./vendor-DYOeoIwg.js";import{f as o,t as s}from"./react-B9IgSVeK.js";var c=s();function l(){let{t:s}=a(`onboarding`),l=o();return(0,c.jsx)(e,{avatarWave:`around`,children:(0,c.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center px-6 pb-40 md:min-h-full md:pb-6 text-[var(--content-default)]`,children:(0,c.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,c.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:s(`welcome.title`)}),(0,c.jsx)(`p`,{className:`mt-3 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:s(`welcome.body`)}),(0,c.jsx)(`div`,{className:`mt-10 flex w-full max-w-sm flex-col`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,c.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>void l(`${n.onboarding.privacy}?${i}=1`,t),children:s(`startScreen.createAssistant`)})})]})})})}export{l as StartScreen};
|
package/dist/assets/{stt-language-picker-modal-Ckz32Oh1.js → stt-language-picker-modal-3iCIcD10.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Tx as e,rt as t}from"./app-
|
|
1
|
+
import{Tx as e,rt as t}from"./app-p4YU9h0P.js";import{j as n}from"./vendor-DYOeoIwg.js";import{t as r}from"./react-B9IgSVeK.js";var i=r();function a({open:r,onOpenChange:a,title:o,currentCode:s,configuredProviderId:c,suggestedCode:l,selectLanguage:u,selecting:d}){let{t:f}=n();return(0,i.jsx)(e.Root,{open:r,onOpenChange:a,children:(0,i.jsxs)(e.Content,{size:`sm`,onOpenAutoFocus:e=>{e.preventDefault(),e.target?.querySelector(`input[role="combobox"]`)?.focus()},children:[(0,i.jsxs)(e.Header,{children:[(0,i.jsx)(e.Title,{children:o}),(0,i.jsx)(e.Description,{children:f(`sttLanguagePickerModal.description`)})]}),(0,i.jsx)(e.Body,{children:(0,i.jsx)(t,{currentCode:s,configuredProviderId:c,suggestedCode:l,selectLanguage:u,selecting:d,onDone:()=>a(!1)})})]})})}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ac as t,An as n,Bn as r,Ct as i,Dc as a,Dt as o,Et as s,Gr as c,Ha as l,Hn as u,Hx as d,Jn as f,Nn as p,Oc as m,Ot as h,Tt as g,Un as _,Ux as v,Vn as y,Wn as b,Xn as x,_t as S,bn as C,bt as w,jn as T,kc as E,kt as D,vt as O,wt as k,xt as A,yt as j,zn as M}from"./app-DFXcEvsi.js";import{_ as N,f as P,g as F,j as I}from"./vendor-DYOeoIwg.js";import{t as L,x as R}from"./react-B9IgSVeK.js";import{Gi as z,Ki as B,Sr as V,Va as H,Wi as U,ba as W,ma as G}from"./icons-QG1KAFmx.js";import{i as K,r as q,t as J}from"./metric-card-Dkx47Ug0.js";import{t as ee}from"./detail-panel-stop-button-BqhRaB6y.js";import{t as Y}from"./status-badge-pill-Dw3L9IOE.js";import{i as te,n as ne,t as re}from"./tool-detail-panel-CNNnmtM6.js";var X=e(R(),1),Z=L();function ie({status:e}){return(0,Z.jsx)(Y,{color:E(e),label:t(e)})}function ae(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?o(n,t):``}`}function Q(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function oe(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function se(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function ce(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return M(n.text)}}function le(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function ue({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,X.useState)(new Set),s=n??a,c=(0,X.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,X.useMemo)(()=>g(e),[e]);return l.length===0?null:(0,Z.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ae(e,n),a=n===l.length-1;return(0,Z.jsx)(de,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var de=(0,X.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:c,onStepDetailClick:u}){let{t:f}=I(`chat`),p=P(),m=s(e.steps),g=m===`running`&&!n?`completed`:m,_=g===`running`||n,v=e.steps[0]?.kind===`thinking`,y=e.steps.length,b=e.label===`Searching the web`,x=b?se(e):void 0,C=y>=2,E=e.steps.some(e=>h(e)||!!u&&!!le(e)),A=g===`running`?``:D(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),L=g===`running`?Q(e):void 0,R=g===`running`&&!b?oe(L,e.label):``,z=b&&(g===`running`||!!x),B=x??e.label,H=v&&_,U=H?ce(e)??e.label:void 0,W=g===`running`||z||H||!!A,K=`${y} step${y===1?``:`s`}`;return(0,Z.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:l(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,Z.jsx)(i,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!E,onClick:E?()=>c(a):void 0,className:l(`flex h-[22px] w-full items-center gap-2 text-left`,E&&`cursor-pointer`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,Z.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,Z.jsx)(k,{status:_?`running`:g,isThinking:v&&!_}),(0,Z.jsx)(d,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),W&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),z?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(V,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:B})]}):H?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(G,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:U??e.label})]}):g===`running`?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(G,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:R})]}):A?(0,Z.jsx)(d,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:f(`subagentPhaseTimeline.workedFor`,{duration:A})}):null,E&&C&&(0,Z.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,Z.jsx)(d,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:K})})]}),(0,Z.jsx)(N,{initial:!1,children:E&&r&&(0,Z.jsx)(F.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:p?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,Z.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=u?le(e):void 0;if(n&&u){if(e.kind===`tool`)return(0,Z.jsx)(j,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:f(`subagentPhaseTimeline.viewToolDetails`),onClick:()=>u(n)},o(e,t));if(e.kind===`thinking`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`brain`,label:M(e.text),ariaLabel:f(`subagentPhaseTimeline.viewReasoning`),onClick:()=>u(n)},o(e,t));if(e.kind===`web_search`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:f(`subagentPhaseTimeline.viewSearchDetails`),onClick:()=>u(n)},o(e,t));if(e.kind===`web_search_error`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:f(`subagentPhaseTimeline.viewSearchError`),onClick:()=>u(n)},o(e,t))}return e.kind===`web_search`?(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,Z.jsx)(d,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,Z.jsx)(O,{step:e})]},o(e,t)):e.kind===`web_search_error`?(0,Z.jsx)(S,{step:e},o(e,t)):(0,Z.jsx)(w,{step:e},o(e,t))})})},`phase-steps`)})]})});function $(e){return new Map(e.map(e=>[e.toolCallId,e]))}function fe(e=p){let t=null,n=[],r=[],i=new Map;function a(a){let o=[],s=[];for(let t of a)e(o,s,t);return t=a,n=o,r=s,i=$(n),i}function o(o){let s=u(t,o);switch(s.kind){case`identity`:return i;case`first`:return a(o);case`append`:{let a=o.length,c=n.slice(),l=r.slice();for(let t=s.from;t<a;t++)e(c,l,o[t]);return t=o,n=c,r=l,i=$(n),i}case`mutate-last`:{let a=o.length,s=n.slice(),c=r.slice(),l=s[s.length-1];return l&&l.kind===`thinking`&&l.toolCallId===o[a-1].id&&(s.pop(),c.pop()),e(s,c,o[a-1]),t=o,n=s,r=c,i=$(n),i}case`fallback`:return a(o)}}return{project:o}}function pe(e){let t=(0,X.useRef)(null);return t.current??=fe(),t.current.project(e)}function me(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:r(e.toolName,e.input).iconName}function he({detail:e}){return e.status===`running`?(0,Z.jsx)(n,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,Z.jsx)(A[me(e)]??W,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function ge({entry:e,onClose:t,onStop:n,onRequestDetail:r,assistantId:i}){let{t:o}=I(`chat`),s=m(e.status),l=P(),u=c(),p=(0,X.useMemo)(()=>_(e.subagentId),[e.subagentId]),{steps:h}=y(e.events),g=pe(e.events),[S,w]=(0,X.useState)(null),T=(0,X.useRef)(g);T.current=g;let E=(0,X.useCallback)(e=>{T.current.has(e)&&w(e)},[]),[D,O]=(0,X.useState)(new Set),[k,A]=(0,X.useState)(!1),[j,M]=(0,X.useState)(!1),N=(0,X.useRef)(null),[L,R]=(0,X.useState)(e.subagentId);L!==e.subagentId&&(R(e.subagentId),A(!1),M(!1),w(null),O(new Set)),(0,X.useLayoutEffect)(()=>{if(k)return;let e=N.current;e&&M(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,k]);let V=a(e);(0,X.useEffect)(()=>{r&&V&&e.events.length===0&&r(e.subagentId)},[e.subagentId,V,e.events.length,r]);let W=S?g.get(S):void 0,G=(0,X.useCallback)(()=>w(null),[]),Y=W?te(W):``,ae=W?Y:e.label,Q=!!(W&&W.kind!==`thinking`);return(0,Z.jsx)(f,{headerAbove:W&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,Z.jsx)(v,{variant:`link`,onClick:G,title:e.label,className:`inline-flex min-w-0 shrink border-0 text-left text-[color:var(--content-default)]`,children:(0,Z.jsx)(d,{variant:`body-small-default`,as:`span`,className:`min-w-0 truncate`,children:e.label})}),(0,Z.jsx)(U,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Z.jsx)(d,{variant:`body-small-default`,as:`span`,title:Y,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:Y})]}),icon:(0,Z.jsxs)(Z.Fragment,{children:[W&&(0,Z.jsx)(v,{variant:`outlined`,iconOnly:(0,Z.jsx)(z,{}),onClick:G,"aria-label":o(`subagentDetailPanel.backToTimelineAria`),tooltip:o(`subagentDetailPanel.backTooltip`),className:`shrink-0`}),W?(0,Z.jsx)(he,{detail:W}):u?(0,Z.jsx)(b,{components:u,bodyShapeId:p.bodyShape,eyeStyleId:p.eyeStyle,colorId:p.color,size:32}):(0,Z.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0})]}),title:Q?void 0:ae,titleNode:Q&&W?(0,Z.jsx)(ne,{detail:W}):void 0,headerTrailing:(0,Z.jsx)(ie,{status:e.status}),headerActions:s&&n?(0,Z.jsx)(ee,{onStop:()=>n(e.subagentId),ariaLabel:o(`subagentDetailPanel.stopSubagentAria`)}):void 0,closeLabel:o(`subagentDetailPanel.closeDetail`),onClose:t,children:(0,Z.jsx)(F.div,{initial:{opacity:0},animate:{opacity:1},transition:l?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:W?(0,Z.jsx)(Z.Fragment,{children:W.kind===`thinking`?(0,Z.jsx)(C,{content:W.thinkingText??``,hardLineBreaks:!0,assistantId:i}):(0,Z.jsx)(re,{detail:W,assistantId:i})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,Z.jsx)(J,{icon:(0,Z.jsx)(H,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>q(Math.round(e)),label:o(`subagentDetailPanel.input`)}),(0,Z.jsx)(J,{icon:(0,Z.jsx)(K,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>q(Math.round(e)),label:o(`subagentDetailPanel.output`)})]}),e.objective&&(0,Z.jsxs)(`div`,{className:`mb-5`,children:[(0,Z.jsx)(d,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:o(`subagentDetailPanel.objective`)}),(0,Z.jsx)(d,{ref:N,variant:`body-medium-lighter`,as:`p`,tabIndex:k?0:void 0,role:k?`region`:void 0,"aria-label":k?o(`subagentDetailPanel.objective`):void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${k?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),j&&(0,Z.jsx)(v,{variant:`link`,onClick:()=>A(e=>!e),"aria-expanded":k,rightIcon:(0,Z.jsx)(B,{className:`h-3.5 w-3.5 transition-transform ${k?`rotate-180`:``}`,"aria-hidden":!0}),className:`mt-1.5 inline-flex gap-1 border-0 text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)] hover:no-underline`,children:(0,Z.jsx)(d,{variant:`label-small-default`,children:o(k?`subagentDetailPanel.showLess`:`subagentDetailPanel.showMore`)})}),(0,Z.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(d,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:o(`subagentDetailPanel.timeline`)}),e.events.length>0?(0,Z.jsx)(ue,{steps:h,expandedKeys:D,onExpandedKeysChange:O,onStepDetailClick:E,isRunning:s},e.subagentId):(0,Z.jsx)(x,{children:o(`subagentDetailPanel.noEventsYet`)})]})]})},W?`detail`:`list`)})}export{ge as SubagentDetailPanel};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ac as t,An as n,Bn as r,Ct as i,Dc as a,Dt as o,Et as s,Gr as c,Ha as l,Hn as u,Hx as d,Jn as f,Nn as p,Oc as m,Ot as h,Tt as g,Un as _,Ux as v,Vn as y,Wn as b,Xn as x,_t as S,bn as C,bt as w,jn as T,kc as E,kt as D,vt as O,wt as k,xt as A,yt as j,zn as M}from"./app-p4YU9h0P.js";import{_ as N,f as P,g as F,j as I}from"./vendor-DYOeoIwg.js";import{t as L,x as R}from"./react-B9IgSVeK.js";import{Gi as z,Ki as B,Sr as V,Va as H,Wi as U,ba as W,ma as G}from"./icons-QG1KAFmx.js";import{i as K,r as q,t as J}from"./metric-card-CRZNAmE4.js";import{t as ee}from"./detail-panel-stop-button-BFDJ5Gir.js";import{t as Y}from"./status-badge-pill-Dw3L9IOE.js";import{i as te,n as ne,t as re}from"./tool-detail-panel-BkWuCCm0.js";var X=e(R(),1),Z=L();function ie({status:e}){return(0,Z.jsx)(Y,{color:E(e),label:t(e)})}function ae(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?o(n,t):``}`}function Q(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function oe(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function se(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function ce(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return M(n.text)}}function le(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function ue({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,X.useState)(new Set),s=n??a,c=(0,X.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,X.useMemo)(()=>g(e),[e]);return l.length===0?null:(0,Z.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ae(e,n),a=n===l.length-1;return(0,Z.jsx)(de,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var de=(0,X.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:c,onStepDetailClick:u}){let{t:f}=I(`chat`),p=P(),m=s(e.steps),g=m===`running`&&!n?`completed`:m,_=g===`running`||n,v=e.steps[0]?.kind===`thinking`,y=e.steps.length,b=e.label===`Searching the web`,x=b?se(e):void 0,C=y>=2,E=e.steps.some(e=>h(e)||!!u&&!!le(e)),A=g===`running`?``:D(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),L=g===`running`?Q(e):void 0,R=g===`running`&&!b?oe(L,e.label):``,z=b&&(g===`running`||!!x),B=x??e.label,H=v&&_,U=H?ce(e)??e.label:void 0,W=g===`running`||z||H||!!A,K=`${y} step${y===1?``:`s`}`;return(0,Z.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:l(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,Z.jsx)(i,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!E,onClick:E?()=>c(a):void 0,className:l(`flex h-[22px] w-full items-center gap-2 text-left`,E&&`cursor-pointer`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,Z.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,Z.jsx)(k,{status:_?`running`:g,isThinking:v&&!_}),(0,Z.jsx)(d,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),W&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),z?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(V,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:B})]}):H?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(G,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:U??e.label})]}):g===`running`?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(G,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(T,{currentStepTitle:``,currentStepInfo:R})]}):A?(0,Z.jsx)(d,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:f(`subagentPhaseTimeline.workedFor`,{duration:A})}):null,E&&C&&(0,Z.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,Z.jsx)(d,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:K})})]}),(0,Z.jsx)(N,{initial:!1,children:E&&r&&(0,Z.jsx)(F.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:p?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,Z.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=u?le(e):void 0;if(n&&u){if(e.kind===`tool`)return(0,Z.jsx)(j,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:f(`subagentPhaseTimeline.viewToolDetails`),onClick:()=>u(n)},o(e,t));if(e.kind===`thinking`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`brain`,label:M(e.text),ariaLabel:f(`subagentPhaseTimeline.viewReasoning`),onClick:()=>u(n)},o(e,t));if(e.kind===`web_search`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:f(`subagentPhaseTimeline.viewSearchDetails`),onClick:()=>u(n)},o(e,t));if(e.kind===`web_search_error`)return(0,Z.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:f(`subagentPhaseTimeline.viewSearchError`),onClick:()=>u(n)},o(e,t))}return e.kind===`web_search`?(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,Z.jsx)(d,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,Z.jsx)(O,{step:e})]},o(e,t)):e.kind===`web_search_error`?(0,Z.jsx)(S,{step:e},o(e,t)):(0,Z.jsx)(w,{step:e},o(e,t))})})},`phase-steps`)})]})});function $(e){return new Map(e.map(e=>[e.toolCallId,e]))}function fe(e=p){let t=null,n=[],r=[],i=new Map;function a(a){let o=[],s=[];for(let t of a)e(o,s,t);return t=a,n=o,r=s,i=$(n),i}function o(o){let s=u(t,o);switch(s.kind){case`identity`:return i;case`first`:return a(o);case`append`:{let a=o.length,c=n.slice(),l=r.slice();for(let t=s.from;t<a;t++)e(c,l,o[t]);return t=o,n=c,r=l,i=$(n),i}case`mutate-last`:{let a=o.length,s=n.slice(),c=r.slice(),l=s[s.length-1];return l&&l.kind===`thinking`&&l.toolCallId===o[a-1].id&&(s.pop(),c.pop()),e(s,c,o[a-1]),t=o,n=s,r=c,i=$(n),i}case`fallback`:return a(o)}}return{project:o}}function pe(e){let t=(0,X.useRef)(null);return t.current??=fe(),t.current.project(e)}function me(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:r(e.toolName,e.input).iconName}function he({detail:e}){return e.status===`running`?(0,Z.jsx)(n,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,Z.jsx)(A[me(e)]??W,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function ge({entry:e,onClose:t,onStop:n,onRequestDetail:r,assistantId:i}){let{t:o}=I(`chat`),s=m(e.status),l=P(),u=c(),p=(0,X.useMemo)(()=>_(e.subagentId),[e.subagentId]),{steps:h}=y(e.events),g=pe(e.events),[S,w]=(0,X.useState)(null),T=(0,X.useRef)(g);T.current=g;let E=(0,X.useCallback)(e=>{T.current.has(e)&&w(e)},[]),[D,O]=(0,X.useState)(new Set),[k,A]=(0,X.useState)(!1),[j,M]=(0,X.useState)(!1),N=(0,X.useRef)(null),[L,R]=(0,X.useState)(e.subagentId);L!==e.subagentId&&(R(e.subagentId),A(!1),M(!1),w(null),O(new Set)),(0,X.useLayoutEffect)(()=>{if(k)return;let e=N.current;e&&M(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,k]);let V=a(e);(0,X.useEffect)(()=>{r&&V&&e.events.length===0&&r(e.subagentId)},[e.subagentId,V,e.events.length,r]);let W=S?g.get(S):void 0,G=(0,X.useCallback)(()=>w(null),[]),Y=W?te(W):``,ae=W?Y:e.label,Q=!!(W&&W.kind!==`thinking`);return(0,Z.jsx)(f,{headerAbove:W&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,Z.jsx)(v,{variant:`link`,onClick:G,title:e.label,className:`inline-flex min-w-0 shrink border-0 text-left text-[color:var(--content-default)]`,children:(0,Z.jsx)(d,{variant:`body-small-default`,as:`span`,className:`min-w-0 truncate`,children:e.label})}),(0,Z.jsx)(U,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Z.jsx)(d,{variant:`body-small-default`,as:`span`,title:Y,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:Y})]}),icon:(0,Z.jsxs)(Z.Fragment,{children:[W&&(0,Z.jsx)(v,{variant:`outlined`,iconOnly:(0,Z.jsx)(z,{}),onClick:G,"aria-label":o(`subagentDetailPanel.backToTimelineAria`),tooltip:o(`subagentDetailPanel.backTooltip`),className:`shrink-0`}),W?(0,Z.jsx)(he,{detail:W}):u?(0,Z.jsx)(b,{components:u,bodyShapeId:p.bodyShape,eyeStyleId:p.eyeStyle,colorId:p.color,size:32}):(0,Z.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0})]}),title:Q?void 0:ae,titleNode:Q&&W?(0,Z.jsx)(ne,{detail:W}):void 0,headerTrailing:(0,Z.jsx)(ie,{status:e.status}),headerActions:s&&n?(0,Z.jsx)(ee,{onStop:()=>n(e.subagentId),ariaLabel:o(`subagentDetailPanel.stopSubagentAria`)}):void 0,closeLabel:o(`subagentDetailPanel.closeDetail`),onClose:t,children:(0,Z.jsx)(F.div,{initial:{opacity:0},animate:{opacity:1},transition:l?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:W?(0,Z.jsx)(Z.Fragment,{children:W.kind===`thinking`?(0,Z.jsx)(C,{content:W.thinkingText??``,hardLineBreaks:!0,assistantId:i}):(0,Z.jsx)(re,{detail:W,assistantId:i})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,Z.jsx)(J,{icon:(0,Z.jsx)(H,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>q(Math.round(e)),label:o(`subagentDetailPanel.input`)}),(0,Z.jsx)(J,{icon:(0,Z.jsx)(K,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>q(Math.round(e)),label:o(`subagentDetailPanel.output`)})]}),e.objective&&(0,Z.jsxs)(`div`,{className:`mb-5`,children:[(0,Z.jsx)(d,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:o(`subagentDetailPanel.objective`)}),(0,Z.jsx)(d,{ref:N,variant:`body-medium-lighter`,as:`p`,tabIndex:k?0:void 0,role:k?`region`:void 0,"aria-label":k?o(`subagentDetailPanel.objective`):void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${k?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),j&&(0,Z.jsx)(v,{variant:`link`,onClick:()=>A(e=>!e),"aria-expanded":k,rightIcon:(0,Z.jsx)(B,{className:`h-3.5 w-3.5 transition-transform ${k?`rotate-180`:``}`,"aria-hidden":!0}),className:`mt-1.5 inline-flex gap-1 border-0 text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)] hover:no-underline`,children:(0,Z.jsx)(d,{variant:`label-small-default`,children:o(k?`subagentDetailPanel.showLess`:`subagentDetailPanel.showMore`)})}),(0,Z.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(d,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:o(`subagentDetailPanel.timeline`)}),e.events.length>0?(0,Z.jsx)(ue,{steps:h,expandedKeys:D,onExpandedKeysChange:O,onStepDetailClick:E,isRunning:s},e.subagentId):(0,Z.jsx)(x,{children:o(`subagentDetailPanel.noEventsYet`)})]})]})},W?`detail`:`list`)})}export{ge as SubagentDetailPanel};
|