@vellumai/web 0.12.4-staging.2 → 0.12.4-staging.3
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-DizlchNv.js → a2a-invite-FVKbTs7U.js} +1 -1
- package/dist/assets/{about-page-Y8a--p-0.js → about-page-BOgOqskJ.js} +1 -1
- package/dist/assets/{account-page-oXqvFuC5.js → account-page-CIpiaQdA.js} +1 -1
- package/dist/assets/{account-shell-BW5fY_u7.js → account-shell-DF353qm4.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-CViUQ4Gg.js → acp-run-detail-panel-AnETmSXc.js} +1 -1
- package/dist/assets/{activation-list-route-swzAPcaY.js → activation-list-route-DD4LlouQ.js} +1 -1
- package/dist/assets/{activity-redirect-page-Wc2DZYeP.js → activity-redirect-page-B3gcwFtq.js} +1 -1
- package/dist/assets/{activity-steps-panel--otugh_6.js → activity-steps-panel-C6t9bncj.js} +1 -1
- package/dist/assets/{add-credits-modal-ZnKmvy6V.js → add-credits-modal-BHp9z7-k.js} +1 -1
- package/dist/assets/add-credits-modal-CFAKrqtS.js +1 -0
- package/dist/assets/{ai-page-BMR6BEti.js → ai-page-BYItH10R.js} +1 -1
- package/dist/assets/{android-billing-handoff-6shikm2k.js → android-billing-handoff-BtlRm2Gd.js} +1 -1
- package/dist/assets/{api-key-screen-CbnUNlGK.js → api-key-screen-ByV-2-g7.js} +1 -1
- package/dist/assets/{app-D8sMVA0h.js → app-DENERwru.js} +15 -15
- package/dist/assets/{app-info-z1hPo0V6.js → app-info-Df8Zh1Ev.js} +1 -1
- package/dist/assets/{archive-redirect-page-DEdZNQal.js → archive-redirect-page-BNPy7AD-.js} +1 -1
- package/dist/assets/{assistant-handle-modal-Rx01AWRM.js → assistant-handle-modal-CdAetGEu.js} +1 -1
- package/dist/assets/{assistant-inbox-page-route-CWfD1nW8.js → assistant-inbox-page-route-B8fD8gXz.js} +1 -1
- package/dist/assets/{assistant-inbox-upgrade-body-DnzMfD6M.js → assistant-inbox-upgrade-body-CXoZZXrZ.js} +1 -1
- package/dist/assets/{assistant-status-panel-Cox-mezz.js → assistant-status-panel-BPk7Kxlr.js} +1 -1
- package/dist/assets/auth-store-CE1eUA2L.js +1 -0
- package/dist/assets/{auth-welcome-screen-Bwm2MF1q.js → auth-welcome-screen-BxOOugV8.js} +1 -1
- package/dist/assets/avatar-bundled-components-zLu_3oxr.js +1 -0
- package/dist/assets/{avatar-random-DenoKEgP.js → avatar-random-BWf-lGuD.js} +2 -2
- package/dist/assets/{await-org-header-settled-BxLRQCmZ.js → await-org-header-settled-5KgElVC2.js} +1 -1
- package/dist/assets/{background-task-detail-panel-COBZw2lg.js → background-task-detail-panel-CoLWVbVP.js} +1 -1
- package/dist/assets/{billing-page-DfUj1I0G.js → billing-page-u3iPL5iM.js} +3 -3
- package/dist/assets/{billing-redirect-page-DKyiR6MR.js → billing-redirect-page-8P-IMyWs.js} +1 -1
- package/dist/assets/{bookmarks-page-CFEE1Uxr.js → bookmarks-page-CMs-USGy.js} +1 -1
- package/dist/assets/{bundle-confirm-page-B-d41LNa.js → bundle-confirm-page-Bivz7uCg.js} +1 -1
- package/dist/assets/{channel-transcript-panel-CmHEsFMk.js → channel-transcript-panel-CoCDuR4w.js} +1 -1
- package/dist/assets/{channels-page-route-CuAKuwQD.js → channels-page-route-CWW2AV7d.js} +1 -1
- package/dist/assets/{chat-info-panel-oH5Oyl38.js → chat-info-panel-DxgKF0-Z.js} +1 -1
- package/dist/assets/{checkout-continuation-C7ALmXXi.js → checkout-continuation-CoIAcRA6.js} +1 -1
- package/dist/assets/{checkout-page-BiKD4JLD.js → checkout-page-v01Qo0gF.js} +1 -1
- package/dist/assets/checkout-return-target-BEXPg1Xm.js +1 -0
- package/dist/assets/{command-palette-BlZE0DtA.js → command-palette-Dr8VDM0a.js} +1 -1
- package/dist/assets/command-palette-mO8-mIXR.js +1 -0
- package/dist/assets/{command-palette-window-page-B_vTgfMk.js → command-palette-window-page-DmpKHCvv.js} +1 -1
- package/dist/assets/{community-page-h4SSKpvs.js → community-page-5Koh1Pf6.js} +1 -1
- package/dist/assets/{companion-accent-CpX6aNlW.js → companion-accent-CUR6gi0-.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-VmKgW5GB.js → companion-dock-zones-page-9SQJH2mx.js} +1 -1
- package/dist/assets/{companion-layout-TXE0PA9f.js → companion-layout-BwBXhmuK.js} +1 -1
- package/dist/assets/{companion-popover-C-jOy9ph.js → companion-popover-CoN3gFAQ.js} +1 -1
- package/dist/assets/{companion-popover-page-BroQfXvM.js → companion-popover-page-xU8NzRUt.js} +1 -1
- package/dist/assets/{companion-surface-DOIgH-bV.js → companion-surface-DciMeSdX.js} +1 -1
- package/dist/assets/{companion-surface-page-DRLXSLvn.js → companion-surface-page-BXNkpFnL.js} +1 -1
- package/dist/assets/{companion-tour-entry-B1IsGYch.js → companion-tour-entry-DpBBpsTm.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-BrtR8aJG.js → companion-watch-frame-page-De2eR--u.js} +1 -1
- package/dist/assets/{connect-page-yTAoyfL3.js → connect-page-BY9XNM70.js} +1 -1
- package/dist/assets/{consent-controls-n1HIl_Qh.js → consent-controls-DA4_WXMW.js} +1 -1
- package/dist/assets/{contacts-gateway-CnUI-BQ8.js → contacts-gateway-CHhmYG8l.js} +1 -1
- package/dist/assets/{contacts-page-route-BeTKJ0wU.js → contacts-page-route-CC0cMZb-.js} +1 -1
- package/dist/assets/{copy-button-zFMI1aRE.js → copy-button-Dqj9pgai.js} +1 -1
- package/dist/assets/{credential-entry-page-BX5tgHs-.js → credential-entry-page-E0skRjEq.js} +1 -1
- package/dist/assets/{credentials-page-DO12GLZa.js → credentials-page-Bbv5IdF2.js} +1 -1
- package/dist/assets/{csv-preview-DTvQhodp.js → csv-preview-BZvGLQt-.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-CKPdbPhO.js → danger-zone-redirect-page-C3qhfYKv.js} +1 -1
- package/dist/assets/{debug-page-KaXTLZ3j.js → debug-page-C-Ywh5nC.js} +1 -1
- package/dist/assets/deploy-dialogs-CZ-O-8sD.js +1 -0
- package/dist/assets/{deploy-dialogs-D1N0Mx60.js → deploy-dialogs-D5Qdi1vH.js} +1 -1
- package/dist/assets/{desktop-preview-content-BGP-Q4ES.js → desktop-preview-content-Xi711BL9.js} +2 -2
- package/dist/assets/{desktop-status-DhhVXu3M.js → desktop-status-BbT1c7b_.js} +1 -1
- package/dist/assets/{desktop-viewer-BS0GRBKw.js → desktop-viewer-lMZgr2r9.js} +1 -1
- package/dist/assets/{detail-card-5ja97d__.js → detail-card-DDxZkd-7.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-C_TanbFS.js → detail-panel-stop-button-DyvekPdW.js} +1 -1
- package/dist/assets/{detail-primitives-DlHfs3NY.js → detail-primitives-xBJj2j5D.js} +1 -1
- package/dist/assets/{developer-page-Ia_M--jA.js → developer-page-BlR6sar3.js} +1 -1
- package/dist/assets/{devices-redirect-page-Dicfe-Xh.js → devices-redirect-page-C8Qz95f9.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DLKil78N.js → dictation-overlay-page-DDxg0QzC.js} +1 -1
- package/dist/assets/document-load-CG8Q8LRf.js +1 -0
- package/dist/assets/{document-load-D7lS0Qam.js → document-load-GN11Lnmr.js} +1 -1
- package/dist/assets/{document-viewer-page-Bvnx2eMP.js → document-viewer-page-B2wKfrx7.js} +1 -1
- package/dist/assets/{emails-page-D3O_HhPG.js → emails-page-Ci9aUWrH.js} +1 -1
- package/dist/assets/{file-diff-view-D1j-t0cs.js → file-diff-view-C4U-n-O9.js} +1 -1
- package/dist/assets/{file-editor-CDuPINUR.js → file-editor--R6096fM.js} +1 -1
- package/dist/assets/{general-page-CsElCUdU.js → general-page-CqCp6Me6.js} +1 -1
- package/dist/assets/{hatching-screen-DAfWJUbK.js → hatching-screen-7pDOoqwh.js} +1 -1
- package/dist/assets/{hosting-screen-AXFQL3em.js → hosting-screen-CHSZgQLi.js} +1 -1
- package/dist/assets/{identity-page-route-DAr3l3g4.js → identity-page-route-DpQvcDHq.js} +1 -1
- package/dist/assets/{inspect-page-EGAIWdPZ.js → inspect-page-b7igjrsV.js} +3 -3
- package/dist/assets/{integrations-page-BOgg6KK3.js → integrations-page-Cz7Y5vMl.js} +1 -1
- package/dist/assets/{intelligence-layout-BPa8zuju.js → intelligence-layout-DnjbMbDE.js} +1 -1
- package/dist/assets/intelligence-layout-slots-store-BfLm_A1U.js +1 -0
- package/dist/assets/{keyboard-shortcuts-redirect-page-3JddlI6I.js → keyboard-shortcuts-redirect-page-BfTGiMBu.js} +1 -1
- package/dist/assets/{latest-assistant-text-fShWplU9.js → latest-assistant-text-rUBCqKvi.js} +1 -1
- package/dist/assets/{library-detail-page-CqqXK7mJ.js → library-detail-page-DNzuWZto.js} +1 -1
- package/dist/assets/{library-page-Db5rMvEu.js → library-page-oq9n8kJD.js} +1 -1
- package/dist/assets/local-mode-BMtnOCcG.js +1 -0
- package/dist/assets/{login-page-BbfY1JYR.js → login-page-CKRIURnO.js} +1 -1
- package/dist/assets/{logout-page-DoibQ_Ri.js → logout-page-DZPABSW1.js} +1 -1
- package/dist/assets/{logs-layout-Dobrj5WD.js → logs-layout-DPlXp8Rh.js} +1 -1
- package/dist/assets/{markdown-preview-CNgPT8Ns.js → markdown-preview-CwbBTBu2.js} +1 -1
- package/dist/assets/{media-preview-BB_3EZbz.js → media-preview-B6tAR_x0.js} +1 -1
- package/dist/assets/{memory-page-route-DLi_ptkl.js → memory-page-route-BUS5CbQs.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DozE3X0H.js → memory-router-playground-page-BFhyMSjo.js} +1 -1
- package/dist/assets/{message-files-panel-BPTDooXh.js → message-files-panel-B694eW_k.js} +1 -1
- package/dist/assets/{metric-card-D0M85__8.js → metric-card-fY2ytHE4.js} +1 -1
- package/dist/assets/native-attachment-pickers-DHZmHnSA.js +1 -0
- package/dist/assets/native-file-CclvrIb0.js +1 -0
- package/dist/assets/{notifications-page-Ysp5efLW.js → notifications-page-C7HhfTeF.js} +1 -1
- package/dist/assets/{oauth-complete-page-CDxvG_L-.js → oauth-complete-page-DFCMLqQ6.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CwJxBm2S.js → oauth-popup-complete-page-DRFAcmAw.js} +1 -1
- package/dist/assets/{old-chats-page-route-BcqodIdi.js → old-chats-page-route-hErpZLlC.js} +1 -1
- package/dist/assets/paired-platform-identity-RifmymbD.js +1 -0
- package/dist/assets/{pairing-page-DIcQb9OJ.js → pairing-page-riPEbJey.js} +1 -1
- package/dist/assets/password-reset-page-CbBkAgmg.js +1 -0
- package/dist/assets/{pdf-file-preview-DX0ZQoVT.js → pdf-file-preview-BtiyDYWM.js} +1 -1
- package/dist/assets/{personality-page-D4cC26jw.js → personality-page-6Gpjy7yv.js} +1 -1
- package/dist/assets/{personality-page-BFiUCJ1L.js → personality-page-DNnwdm8u.js} +1 -1
- package/dist/assets/{personality-sliders-BM4di6t9.js → personality-sliders-CBzy0hBL.js} +1 -1
- package/dist/assets/{plans-page-miRpUo-U.js → plans-page-N7GVXOjn.js} +1 -1
- package/dist/assets/{platform-loopback-page-CCG5On-e.js → platform-loopback-page-BgOWVvMY.js} +1 -1
- package/dist/assets/{plugin-detail-page-Dt5XsCxQ.js → plugin-detail-page-D5JZqJNP.js} +1 -1
- package/dist/assets/{plugins-page-B_d5EVPw.js → plugins-page-Cm6aC5cD.js} +1 -1
- package/dist/assets/plugins-surface-DFlmJdMv.js +1 -0
- package/dist/assets/{preview-error-DoWnZxU0.js → preview-error-72bCczYp.js} +1 -1
- package/dist/assets/{privacy-page-BmyUhMnI.js → privacy-page-OnCEFV_L.js} +1 -1
- package/dist/assets/{privacy-screen-CuOvxzA8.js → privacy-screen-CfWOYhCe.js} +1 -1
- package/dist/assets/{profile-card-DSHsAWzC.js → profile-card-BsnTkBKo.js} +1 -1
- package/dist/assets/{provider-callback-page-BVSe9lzW.js → provider-callback-page-D9yWa1A0.js} +1 -1
- package/dist/assets/{provider-key-Dn1NaLjs.js → provider-key-CZzjiAkE.js} +1 -1
- package/dist/assets/{provider-signup-page-B8wHDvGe.js → provider-signup-page-BvfntdQM.js} +1 -1
- package/dist/assets/{quick-input-page-BcTqo_SA.js → quick-input-page-B83Kz5SJ.js} +1 -1
- package/dist/assets/{referral-modal-CXPg4U-L.js → referral-modal-1pjnqBsD.js} +1 -1
- package/dist/assets/referral-modal-DtcanVzv.js +1 -0
- package/dist/assets/{research-mock-page-lCKcSGWS.js → research-mock-page-CjTYNTUe.js} +1 -1
- package/dist/assets/{research-onboarding-route-CXMe3vp7.js → research-onboarding-route-BJOH_84-.js} +1 -1
- package/dist/assets/{review-terms-screen-CcKEKn6x.js → review-terms-screen-Cx8K_F-E.js} +1 -1
- package/dist/assets/routes-B6d_2LBB.js +1 -0
- package/dist/assets/{schedules-C862mQ95.js → schedules-AatsZCvw.js} +1 -1
- package/dist/assets/{schedules-page-Vm7pjI-3.js → schedules-page-t9TH0x4P.js} +1 -1
- package/dist/assets/{security-redirect-page-Cf6N-pAp.js → security-redirect-page-qJHlofPo.js} +1 -1
- package/dist/assets/{select-assistant-screen-DmC81TOi.js → select-assistant-screen-Cv2HoXMC.js} +1 -1
- package/dist/assets/{self-hosted-servers-CuhcBUtc.js → self-hosted-servers-o6yBM9bM.js} +1 -1
- package/dist/assets/{service-form-controls-Q1QYmu0R.js → service-form-controls-B9ObOv9F.js} +1 -1
- package/dist/assets/{setting-row-bAvkY8qq.js → setting-row-B0LsP9pN.js} +1 -1
- package/dist/assets/{settings-divider-JNNvLiiq.js → settings-divider-Dt6RBWfk.js} +1 -1
- package/dist/assets/{settings-layout-kZQ0T-wh.js → settings-layout-B3ruc4iH.js} +1 -1
- package/dist/assets/share-feedback-modal-BpIQNjHK.js +1 -0
- package/dist/assets/{share-feedback-modal-C1NM5ZQA.js → share-feedback-modal-veiYaAaT.js} +1 -1
- package/dist/assets/{sidebar-tree-C31ptvb9.js → sidebar-tree-DIHisqCB.js} +1 -1
- package/dist/assets/{signup-page-BgeUPiLo.js → signup-page-DYr4nTuo.js} +1 -1
- package/dist/assets/{signup-shell-qd7yOKsi.js → signup-shell-C9bZrGxl.js} +1 -1
- package/dist/assets/{skill-detail-page-Cx1j6Kur.js → skill-detail-page-z8BBDq_s.js} +1 -1
- package/dist/assets/{skill-detail-panel-CEblhGiR.js → skill-detail-panel-DM-_Rsdq.js} +1 -1
- package/dist/assets/{skill-removal-dialog-sFJ2FlXs.js → skill-removal-dialog-BXFlN95X.js} +1 -1
- package/dist/assets/{skills-page-DwaV4t6G.js → skills-page-CRqoCQYQ.js} +1 -1
- package/dist/assets/{sounds-page-DIwns3JM.js → sounds-page-Dl8_dJCl.js} +1 -1
- package/dist/assets/{start-screen-Bhe95rpT.js → start-screen-HN8at0TN.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-6st6DWoq.js → stt-language-picker-modal-B8piSfB-.js} +1 -1
- package/dist/assets/{subagent-detail-panel-zJtzbOlF.js → subagent-detail-panel-DYp4YRs_.js} +1 -1
- package/dist/assets/{superpowers-page-Cpl22-6n.js → superpowers-page-DbUzITGO.js} +1 -1
- package/dist/assets/{system-events-page-C2YAEfJf.js → system-events-page-BTsJ2sdd.js} +1 -1
- package/dist/assets/{system-events-redirect-page-CVuxUaY0.js → system-events-redirect-page-BVFwY_c3.js} +1 -1
- package/dist/assets/{text-preview-BO6RkCx5.js → text-preview-JHCp9h9-.js} +1 -1
- package/dist/assets/{theme-stage-page-DhT0XNI2.js → theme-stage-page-CRKRHAb2.js} +1 -1
- package/dist/assets/{tiptap-document-editor-BcLk_m4Z.js → tiptap-document-editor-CKe5wwrN.js} +1 -1
- package/dist/assets/{tool-detail-panel-DgLms60D.js → tool-detail-panel-41qEO2UV.js} +1 -1
- package/dist/assets/tool-detail-panel-joFGH16p.js +1 -0
- package/dist/assets/{trait-cycle-row-DaQ1Ws3F.js → trait-cycle-row-CjHGJs48.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-CA1adXlD.js → upgrade-cancel-page-DPSwre2I.js} +1 -1
- package/dist/assets/{upgrade-success-page-DQgW1mUo.js → upgrade-success-page-BlBU0-WD.js} +1 -1
- package/dist/assets/{usage-redirect-page-CUIv8k9u.js → usage-redirect-page-BVH_EQJk.js} +1 -1
- package/dist/assets/{use-app-delete-rBDVuftC.js → use-app-delete-D4RAWVu5.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-IZ1p17bP.js → use-assistant-identity-details-C3KGgDiz.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-CPok4Xxh.js → use-checkout-dismiss-refresh-Bn3vk9HQ.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-C6D5cD0V.js → use-edge-swipe-back-CIvyTWTH.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-CQ81x0jZ.js → use-hotkey-recorder-G8nr82pe.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-CEz7AGhb.js → use-invite-link-dialog-UQY5waWL.js} +1 -1
- package/dist/assets/{use-plugins-list-D7kaVDLa.js → use-plugins-list-39Vnyb74.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-B3O40EpG.js → use-return-to-short-circuit-BqroTbAZ.js} +1 -1
- package/dist/assets/{use-side-list-room-jwL301KF.js → use-side-list-room-CPXqXrjy.js} +1 -1
- package/dist/assets/{use-skill-actions-10SaGQ2V.js → use-skill-actions-DPdCCsXT.js} +1 -1
- package/dist/assets/{use-skill-detail-files-OgBPzm48.js → use-skill-detail-files-DzrOeNuu.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-B1wPMmZz.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-Iq7GcnGe.js → use-transcript-message-by-id-DwROz3Zz.js} +1 -1
- package/dist/assets/{voice-page-CaiYChec.js → voice-page-BKNPhRE9.js} +1 -1
- package/dist/assets/{wake-detail-panel-CT3DYLQZ.js → wake-detail-panel-hDNZoZAE.js} +1 -1
- package/dist/assets/{weather-forecast-display-BFdH_k1K.js → weather-forecast-display-yIsnynMo.js} +1 -1
- package/dist/assets/{welcome-screen-CqkJbp4o.js → welcome-screen-DwnVIgZJ.js} +1 -1
- package/dist/assets/{workflow-detail-panel-C-eS7Dvm.js → workflow-detail-panel-t97vD08W.js} +1 -1
- package/dist/assets/{workspace-page-BlTW2cBW.js → workspace-page-D9Wv2-tf.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-8XswoyyE.js +0 -1
- package/dist/assets/auth-store-Cl64mEJk.js +0 -1
- package/dist/assets/avatar-bundled-components-D5UflXXI.js +0 -1
- package/dist/assets/checkout-return-target-DMdfJOOA.js +0 -1
- package/dist/assets/command-palette-w64ApCdQ.js +0 -1
- package/dist/assets/deploy-dialogs-CRJiVPdx.js +0 -1
- package/dist/assets/document-load-DSIq6Sq0.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-BJaDjomF.js +0 -1
- package/dist/assets/local-mode-D_3DvD-d.js +0 -1
- package/dist/assets/native-attachment-pickers-CwbujgDo.js +0 -1
- package/dist/assets/native-file-D0pwPgoW.js +0 -1
- package/dist/assets/paired-platform-identity-T0oJWAAF.js +0 -1
- package/dist/assets/password-reset-page-C7NkRhLd.js +0 -1
- package/dist/assets/plugins-surface-BxV_0iuU.js +0 -1
- package/dist/assets/referral-modal-CI2bBp4q.js +0 -1
- package/dist/assets/routes-QuWxfGvc.js +0 -1
- package/dist/assets/share-feedback-modal-C1e2jpWO.js +0 -1
- package/dist/assets/tool-detail-panel-BmOzPhuv.js +0 -1
- package/dist/assets/use-supports-credentials-settings-DuYuJNsF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,AC as n,Ap as r,Bf as i,Cl as a,EC as o,Gf as s,IS as c,Ip as l,J as u,JS as d,Jf as f,Jn as p,KS as m,Kf as h,Lf as g,Ma as _,Mp as v,Np as y,Pp as b,Q as x,Sl as S,WS as C,XS as w,Y as T,Z as E,Zn as D,_f as O,am as k,ap as A,bC as ee,cC as j,cb as te,eS as M,eh as ne,f as N,gC as P,ip as re,jp as ie,lS as F,m as ae,mC as oe,nC as I,np as se,nt as ce,om as le,pC as L,qS as R,qf as ue,qs as de,rC as fe,rp as pe,tC as me,tm as he,tp as ge,xl as _e,zS as z,zo as ve}from"./app-D8sMVA0h.js";import{I as B,Jn as ye,N as be,Qn as V,Yn as xe,j as H,tr as Se}from"./vendor-DEhKVoiV.js";import{f as U,h as Ce,t as we,x as Te}from"./react-B9IgSVeK.js";import{$i as Ee,A as De,Gi as W,Ui as Oe,Yn as ke,gt as Ae,kt as je,oa as Me,pi as Ne,qi as Pe,wi as Fe,zt as Ie}from"./icons-C0wyat6T.js";import{t as Le}from"./detail-card-5ja97d__.js";import{a as Re,c as ze,d as Be,i as Ve,l as He,n as Ue,o as We,r as Ge,s as Ke,t as qe,u as Je}from"./schedules-C862mQ95.js";import{a as Ye,r as Xe,t as Ze}from"./usage-window-BQhWVCSl.js";var G=e(Te(),1),Qe={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},$e=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],et=[1,2,3,4,5];function K(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function tt(e){let t=Array.from(new Set(e.map(e=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function nt(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${tt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function rt(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function it(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function at(e){let t=tt(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&et.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${$e[t[0]]?.full??`day`}`;let r=t.map(e=>$e[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function ot(e){let t=rt(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${at(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${it(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=we(),st=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),ct=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function lt(e,t){let n=e%12;return t===`PM`?n+12:n}function ut(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function dt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(d.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ft,{assistantId:t,onClose:n,onCreated:r}):null})}function ft({assistantId:e,onClose:t,onCreated:n}){let{t:r}=H(`settings`),i=ve(),[a,s]=(0,G.useState)(``),[c,l]=(0,G.useState)(``),[u,f]=(0,G.useState)(``),[p,m]=(0,G.useState)(`simple`),[h,g]=(0,G.useState)(Qe),[_,v]=(0,G.useState)(``),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(null),C=a.trim(),w=c.trim(),T=u.trim(),E=_.trim(),D=(0,G.useMemo)(()=>p===`simple`?nt(h):E,[p,h,E]),O=(0,G.useMemo)(()=>p===`simple`?ot(h):E||r(`createScheduleModal.cronContinuePrompt`),[p,h,E,r]),k=(0,G.useMemo)(()=>ut(i),[i]),A=C.length>0&&w.length>0&&T.length>0&&D.length>0&&!y;return(0,q.jsxs)(d.Content,{size:`md`,children:[(0,q.jsxs)(d.Header,{children:[(0,q.jsx)(d.Title,{children:r(`createScheduleModal.title`)}),(0,q.jsx)(d.Description,{children:r(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){b(!0),S(null);try{await Ue(e,{name:C,description:w,expression:D,message:T,timezone:i}),b(!1),n()}catch(e){S(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,q.jsx)(d.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(I,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>s(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(fe,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(_t,{label:r(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,q.jsx)(pt,{cadence:h,onChange:g}):(0,q.jsx)(gt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,q.jsx)(yt,{summary:O,mono:p===`advanced`&&E.length>0,timezoneLabel:k}),p===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||nt(h)),m(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(fe,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>f(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,q.jsxs)(d.Footer,{children:[(0,q.jsx)(o,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,q.jsx)(o,{variant:`primary`,type:`submit`,disabled:!A,children:r(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function pt({cadence:e,onChange:t}){let{t:n}=H(`settings`),r=[{value:`hourly`,label:n(`createScheduleModal.frequencyHourly`)},{value:`daily`,label:n(`createScheduleModal.frequencyDaily`)},{value:`weekly`,label:n(`createScheduleModal.frequencyWeekly`)},{value:`monthly`,label:n(`createScheduleModal.frequencyMonthly`)}],i=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:it(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(w,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(C,{options:ct,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":n(`createScheduleModal.minuteAriaLabel`),className:`w-24`})}):null,e.frequency===`weekly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(ht,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(C,{options:i,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":n(`createScheduleModal.dayOfMonthAriaLabel`),className:`w-32`})}):null,e.frequency===`hourly`?null:(0,q.jsx)(vt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(mt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function mt({hour24:e,minute:t,onChange:n}){let{t:r}=H(`settings`),i=e<12?`AM`:`PM`,a=e%12==0?12:e%12,o=[{value:`AM`,label:r(`createScheduleModal.periodAm`)},{value:`PM`,label:r(`createScheduleModal.periodPm`)}];return(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(C,{options:st,value:String(a),onChange:e=>n(lt(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(C,{options:ct,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.jsx)(w,{items:o,value:i,onChange:e=>n(lt(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function ht({value:e,onChange:t}){let r=new Set(e),i=e=>{let n=new Set(r);n.has(e)?n.size>1&&n.delete(e):n.add(e),t([...n].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:$e.map(e=>{let t=r.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:n(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function gt({value:e,onChange:t,onUseSimple:n}){let{t:r}=H(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(I,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.backToSimple`)})]})}function _t({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function vt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function yt({summary:e,mono:t,timezoneLabel:r}){let{t:i}=H(`settings`);return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(Fe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:n(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`createScheduleModal.timezoneNote`,{timezone:r})})]})]})}function bt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:a}=V({...i({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:o}=V({...g({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),s=a?.callSites.find(e=>e.id===t)?.defaultProfile??null;return s==null?{key:null,label:null}:{key:s,label:(o?Ye(o):{})[s]?.displayName??s}}function xt(e,t,n){let{t:r}=H(`settings`),i=bt(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>N(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=xe({mutationFn:t=>We(e,null,t),onSuccess:e=>{o(!1),n(),R.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{F(e,{context:`schedules_rebase_inference_profile`}),R.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:c,offDefaultCount:s,canRebase:s>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:c,offDefaultCount:s,isPending:l.isPending,onConfirm:()=>{i.key&&l.mutate(i.key)},onCancel:()=>o(!1)}}}function St({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=H(`settings`);return(0,q.jsx)(m,{open:e,title:o(`scheduleProfileRebase.dialogTitle`,{profile:t}),message:o(`scheduleProfileRebase.dialogMessage`,{count:n,profile:t}),confirmLabel:o(`scheduleProfileRebase.moveSchedules`),isPending:r,onConfirm:i,onCancel:a})}function Ct(e=ne(),t=Date.now()){return Xe(Ze,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function wt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Tt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Tt.format(e)}function Et(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Dt(e,t=B){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function Ot(e){if(!e)return;let t=new Set,n=[];for(let r of e)for(let e of r.runs)t.has(e.id)||(t.add(e.id),n.push(e));return n}function kt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function At(e){return kt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function jt(e){return e.status===`pending`||e.status===`superseded`}function Mt(e){return e.status!==`skipped`&&e.status!==`missed`&&!jt(e)}var Nt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Pt(e,t,n=B){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=Dt(e.intervalMs,n);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(i+=r?` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00 ${r})`:` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),i}function Ft(e,t=B){return Dt(e.intervalMs,t)}function It(e=B){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Lt(e,t){return N(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Rt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Lt(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function zt(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Re(e,Ct(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Bt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Vt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Mt(e)&&t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function Ht({status:e}){let{t}=H(`settings`);return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??t(`scheduleSharedUi.unknownStatus`)})}function Ut({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=H(`settings`);if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":r(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(z,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(z,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:Et(t.summary.runCount),s=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),c=t.status===`ready`&&t.summary.runCount===0,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":r(`scheduleSharedUi.viewUsageFor`,{name:e}),className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${l}`,children:a}):(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.costFor`,{name:e,cost:a}),className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a}),(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.runsFor`,{name:e,runs:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o})]})}function Wt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=H(`settings`);return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":u(`systemTasksSection.openAriaLabel`,{name:e}),className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsx)(`span`,{children:u(`systemTasksSection.nextRun`,{time:J(r)})}):null,i?(0,q.jsx)(`span`,{children:u(`systemTasksSection.lastRun`,{time:J(i)})}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(Ut,{scheduleName:e,usage:a}),s?(0,q.jsx)(j,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":u(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Gt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:l,onSelectHeartbeat:u,onSelectConsolidation:d,onSelectRetrospective:f}){let{t:p}=H(`settings`),m=e!=null,h=t?.available===!0,g=n?.available===!0,_=m||h||g;if(!o&&!s&&!_)return null;let v=[...m?[r]:[],...h?[i]:[],...g?[a]:[]].filter(e=>e.status===`ready`),y=v.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),b=o?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,q.jsx)(L,{tone:`error`,children:(0,q.jsx)(be,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[m?(0,q.jsx)(Wt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Pt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,q.jsx)(Wt,{name:p(`systemTasksSection.consolidationName`),subtitle:Ft(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,q.jsx)(Wt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:It(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(L,{tone:`error`,children:(0,q.jsx)(be,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Le,{children:(0,q.jsx)(c.Root,{type:`multiple`,children:(0,q.jsxs)(c.Item,{value:`system-jobs`,children:[(0,q.jsxs)(c.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:Y(y)})}):null,(0,q.jsx)(Pe,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(c.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Kt={disabled:`heartbeat is disabled`,outside_active_hours:`outside active hours`,overlap:`previous run was still active`,pre_first_user_message:`waiting for the first conversation`,max_consecutive_runs:`consecutive-run cap reached`,max_daily_runs:`daily run cap reached`,quiesced:`assistant was shutting down`};function qt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Kt[e.skipReason]??e.skipReason}`:null}function Jt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:qt(e),error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt,...`title`in e?{title:e.title}:{}}}function Yt(e){return e.runs.filter(e=>!jt(e)).map(e=>Jt(e,`heartbeat`))}function Xt(e){return e.runs.map(e=>Jt(e,`consolidation`))}function Zt(e){return e.runs.map(e=>Jt(e,`retrospective`))}var Z=1e4;function Qt(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Vt(n,r,i)}}function $t(e,t){let n=Se(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:c,refetch:l}=V({...ge(i),enabled:!!e,staleTime:Z}),{data:u,isLoading:d,isError:p,refetch:m}=V({...s(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:_,refetch:b}=V({...r(i),enabled:!!e,staleTime:Z}),x={path:{assistant_id:e??``},query:{limit:100}},{data:S,isLoading:C,isError:w,refetch:T}=V({...A(x),select:Yt,enabled:!!e&&a!=null,staleTime:Z}),{data:E,isLoading:D,isError:O,refetch:ee}=V({...f(x),select:Xt,enabled:!!e&&u?.available===!0,staleTime:Z}),{data:j,isLoading:te,isError:M,refetch:ne}=V({...y(x),select:Zt,enabled:!!e&&h?.available===!0,staleTime:Z}),N=(0,G.useMemo)(()=>Ct(t),[t]),P=(0,G.useMemo)(()=>Qt(C,w,Nt.heartbeat,S,N),[S,w,C,N]),ie=(0,G.useMemo)(()=>Qt(D,O,Nt.consolidation,E,N),[E,O,D,N]),ae=(0,G.useMemo)(()=>Qt(te,M,Nt.retrospective,j,N),[j,M,te,N]),oe=t=>{if(!e)return;let a={heartbeat:{config:ge(i).queryKey,runs:A(x).queryKey,infinite:re(i)},consolidation:{config:s(i).queryKey,runs:f(x).queryKey,infinite:ue(i)},retrospective:{config:r(i).queryKey,runs:y(x).queryKey,infinite:v(i)}}[t];n.invalidateQueries({queryKey:a.config}),n.invalidateQueries({queryKey:a.runs}),n.invalidateQueries({queryKey:a.infinite})},I=le({onSuccess:e=>{e.ran?R.success(B(`settings:useSystemTasks.heartbeatStarted`)):R.info(B(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{F(e,{context:`heartbeat_run_now`}),R.error(B(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>oe(`heartbeat`)}),ce=he({onSuccess:e=>{e.ran?R.success(B(`settings:useSystemTasks.consolidationQueued`)):R.info(B(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{F(e,{context:`consolidation_run_now`}),R.error(B(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>oe(`consolidation`)}),L=k({onSuccess:e=>{se(n,i,e),R.success(e.enabled?B(`settings:useSystemTasks.heartbeatEnabled`):B(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{F(e,{context:`heartbeat_toggle`}),R.error(B(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:u,retrospectiveConfig:h,heartbeatUsage:P,consolidationUsage:ie,retrospectiveUsage:ae,isLoading:o||d||g,hasError:c||p||_,isHeartbeatRunning:I.isPending,isConsolidationRunning:ce.isPending,isHeartbeatLoading:o,isHeartbeatError:c,isConsolidationLoading:d,isConsolidationError:p,isRetrospectiveLoading:g,isRetrospectiveError:_,refetchHeartbeat:l,refetchConsolidation:m,refetchRetrospective:b,runHeartbeatNow:()=>{e&&I.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&ce.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&L.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{l(),m(),b(),T(),ee(),ne()}}}function en({id:e,title:t,subtitle:r,accessory:i,children:a,className:o}){let s=!!(t||r||i);return(0,q.jsx)(oe,{asChild:!0,className:n(`rounded-lg`,o),children:(0,q.jsxs)(`section`,{id:e,children:[s&&(0,q.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,q.jsx)(P,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),r&&(0,q.jsx)(P,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:r})]}),i&&(0,q.jsx)(`div`,{className:`shrink-0`,children:i})]}),a!=null&&(0,q.jsx)(`div`,{className:s?`mt-3`:``,children:a})]})})}function tn(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var nn={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function rn(e){return e.enabled||!e.disarmReason?null:nn[e.disarmReason]??null}function an(e,t){return t?.[e]?.displayName??e}function on({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=H(`settings`),o=r??a(`modelProfileRow.defaultMainAgent`),s=(e,t)=>{if(e==null)return;if(e.provider!=null||e.model!=null)return a(`modelProfileRow.customCallSiteModel`);let n=e.profile?.trim();return n?a(`modelProfileRow.override`,{name:an(n,t)}):void 0},c=t==null,{data:l}=V({...g({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Ye(l):{},[l]),{label:d}=bt(e,n,{enabled:c}),f=c&&i?s(l?.llm?.callSites?.[n],u):void 0,p=t==null?f??(d==null?o:a(`modelProfileRow.defaultNamed`,{name:d})):an(t,u);return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function sn(e,t,n){let r=te(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...x(r,[t],n).map(e=>{let t=u(e,r,n);return{value:e.name,label:T(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:E(e)}:{}}})]}function cn(e,n){let{data:r}=V({...g({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>sn(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function ln({assistantId:e,value:t,onChange:n,disabled:r=!1,isSaving:i=!1,className:a,includeDefaultOption:o=!0,placeholder:s,variant:c,menuAlign:l}){let{t:u}=H(`settings`);return(0,q.jsx)(C,{value:t,onChange:n,onSelectNone:()=>n(null),options:cn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(Oe,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),...e.reason?{tooltip:e.reason}:{}}:{},value:e.value,label:e.label})),disabled:r||i,placeholder:s,className:a,variant:c,menuAlign:l,"aria-label":u(`modelProfileSelect.ariaLabel`)})}function Q({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function un({schedule:e,assistantId:t,isPast:n}){let{t:r}=H(`schedules`),i=Se(),a=l({path:{assistant_id:t}}),o=xe({mutationFn:n=>He(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:a});let n=i.getQueryData(a)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(a,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,o)=>{let s=o?.previousProfile;s!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),F(t,{context:`schedule_update_inference_profile`}),R.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(on,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(ln,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&o.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:o.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function dn({icon:e,value:t,label:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,q.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-sunken)] text-[var(--content-secondary)]`,children:e}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,q.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function fn({usage:e}){let{t}=H(`schedules`);return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(z,{className:`h-[60px] rounded-lg`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(dn,{icon:(0,q.jsx)(Ne,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(dn,{icon:(0,q.jsx)(je,{className:`h-4 w-4`}),value:Et(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function pn(e){return e.exists&&e.archivedAt==null}function mn({run:e,index:t,isExpanded:r,disableDirectOpen:i,onOpenConversation:a,onToggleDetails:o}){let{t:s}=H(`schedules`),c=_(),l=At(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=X(e.output),f=X(e.error),p=!i&&u.length===1&&pn(u[0])?u[0].id:null,m=!p&&(u.length>0||d||f),h=`schedule-run-details-${t}`,g=!!p||m,v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ht,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[wt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),g?(0,q.jsx)(W,{className:n(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&r?`rotate-90`:``)}):null]}),y=m&&r?(0,q.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>pn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:X(e.title)?e.title:s(`scheduleDetail.conversation`)},e.id):(0,q.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[X(e.title)?e.title:s(`scheduleDetail.conversation`),` `,e.exists?c:s(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,f?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return p?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(p),"aria-label":s(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:v})}):m?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-label":s(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":r,"aria-controls":h,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:v}),y]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:v})}function hn({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=H(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:i(`scheduleDetail.noRunsYet`)}):(0,q.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(mn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function gn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:a}){let{t:s}=H(`schedules`),c=U(),{data:l,isLoading:u}=V({queryKey:b({path:{assistant_id:t,id:e.id}}),queryFn:()=>Ve(t,e.id),staleTime:1e4}),[d,f]=(0,G.useState)(!1),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(!1),[y,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),w=tn(e.sourceKey),T=rn(e),E=e.isOneShot&&!r&&w===null&&e.status!==`firing`,D=w!==null&&!e.enabled,O=async()=>{f(!0);try{await Ke(t,e.id)}catch(e){F(e,{context:`schedule_run_now`}),R.error(s(`scheduleDetail.runFailed`))}finally{f(!1)}},k=async()=>{v(!0);try{await Ge(t,e.id),a()}catch(e){F(e,{context:`schedule_delete`}),R.error(s(`scheduleDetail.deleteFailed`)),v(!1),g(!1)}},A=async()=>{C(!0);try{await qe(t,e.id),a()}catch(e){F(e,{context:`schedule_cancel`}),R.error(s(`scheduleDetail.cancelOneTimeFailed`)),C(!1),x(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(p,{title:e.name,headerActions:w?void 0:(0,q.jsx)(o,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(De,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>g(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(en,{title:s(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:s(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:s(`scheduleDetail.mode`),value:e.mode}),(0,q.jsx)(un,{schedule:e,assistantId:t,isPast:r}),(0,q.jsx)(Q,{label:s(`scheduleDetail.status`),value:e.enabled?s(`scheduleDetail.enabled`):s(`scheduleDetail.disabled`)}),(0,q.jsx)(Q,{label:s(`scheduleDetail.nextRun`),value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:s(`scheduleDetail.lastRun`),value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(Ht,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(fn,{usage:n}),(0,q.jsx)(en,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(hn,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>_e(c,e)})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[w?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:T?s(`scheduleDetail.managedByPluginPaused`,{plugin:w,reason:s(T)}):s(`scheduleDetail.managedByPlugin`,{plugin:w})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(o,{variant:`outlined`,leftIcon:(0,q.jsx)(Ee,{className:`h-3.5 w-3.5`}),onClick:()=>c(M.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),E?(0,q.jsx)(o,{variant:`dangerOutline`,onClick:()=>x(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[D?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(o,{variant:`primary`,loading:d,onClick:()=>void O(),disabled:d||D,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(m,{open:h,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:_,onConfirm:()=>void k(),onCancel:()=>g(!1)}),(0,q.jsx)(m,{open:y,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:S,onConfirm:()=>void A(),onCancel:()=>x(!1)})]})}function _n({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function vn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(z,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(z,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Et(t.runCount)})]})}function yn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${a?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[s?(0,q.jsx)(me,{checked:i,onChange:s,"aria-label":c}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:o,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:n.map((e,t)=>(0,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(D,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[vn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function bn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=H(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=rn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=tn(e.sourceKey);return(0,q.jsx)(yn,{name:e.name,badge:u?(0,q.jsx)(j,{tone:`info`,children:u}):void 0,metaParts:l,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?a(`scheduleRow.toggleAria`,{name:e.name}):void 0})}function xn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:s,onToggle:l,onSelectSchedule:u,selectedScheduleId:d,onStartNewChat:f,onCreateSchedule:p,pastOpen:m,onPastOpenChange:h,onRebaseProfiles:g,defaultProfileLabel:_,systemTasksSlot:v}){let{t:y}=H(`schedules`),b=e=>(0,q.jsx)(bn,{schedule:e,usage:r(e.id),selected:e.id===d,onClick:()=>u(e.id),onToggle:t=>l(e.id,t)},e.id),x=e=>(0,q.jsx)(bn,{schedule:e,usage:r(e.id),selected:e.id===d,onClick:()=>u(e.id)},e.id),S=n.length>0?(0,q.jsx)(c.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:m?`past`:``,onValueChange:e=>h(e===`past`),children:(0,q.jsxs)(c.Item,{value:`past`,children:[(0,q.jsxs)(c.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:y(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(c.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(x)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(z,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(L,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:y(`schedulesPanel.retry`)}),children:y(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(_n,{icon:Me,title:y(`schedulesPanel.emptyTitle`),description:y(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(o,{variant:`primary`,size:`regular`,onClick:f,children:y(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(o,{variant:`outlined`,size:`regular`,onClick:p,children:y(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[g&&_?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:g,className:`max-w-full truncate`,children:y(`schedulesPanel.useProfileForAll`,{profile:_})})}):null,e.map(b),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.oneTimeHeading`)}),t.map(x)]}):null,S]}),v?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:v}):null]})}function Sn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:s}=H(`settings`),c=U(),[l,u]=(0,G.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&a?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:s(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(en,{title:s(`recentRunsCard.title`),children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:d}),f]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=At(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,o=!n&&!a&&(r||i),d=l===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(ee,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Ht,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[wt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>_e(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":o?d:void 0,"aria-controls":o?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),o&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),f]})})}var Cn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function $({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`flex min-w-0 items-center justify-end gap-2 text-right text-[var(--content-default)]`,children:t})]})}function wn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=H(`schedules`),s=U(),{heartbeatConfig:c,consolidationConfig:l,retrospectiveConfig:u}=n,d=c?.effectiveTimezone||c?.timezone||null,f,m,g,_,v,y,b;e===`heartbeat`?(f=a(`systemTaskDetail.nameHeartbeat`),m=c?Pt(c,d):``,g=c?.enabled??!1,_=c?.nextRunAt??null,v=c?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(f=a(`systemTaskDetail.nameConsolidation`),m=l?Ft(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,v=l?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(f=a(`systemTaskDetail.nameRetrospective`),m=It(),g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!g,w=y||C,T=a(x?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&u?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&g&&r,k={path:{assistant_id:t},query:{limit:25}},A=e===`heartbeat`?pe(k):e===`consolidation`?h(k):ie(k),{data:ee,isLoading:j,fetchNextPage:te,hasNextPage:ne,isFetchingNextPage:N}=ye({queryKey:A.queryKey,queryFn:A.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),P=Ot(ee?.pages.map(t=>({runs:t.runs.filter(e=>!jt(e)).map(t=>Jt(t,e))}))),re=P?.find(e=>Mt(e)&&e.status!==`running`),F=v??re?.finishedAt??re?.startedAt??null;return(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(p,{title:f,closeLabel:a(`scheduleDetail.closeAria`),closeTooltip:a(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(en,{title:a(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:a(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,q.jsx)(me,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:f})})]})}),(0,q.jsx)(on,{assistantId:t,defaultCallSite:Cn[e],fallbackLabel:a(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),m?(0,q.jsx)($,{label:a(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:m})}):null,e===`heartbeat`&&d?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:d})}):null,S?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(_)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(F)})})]})}),C?(0,q.jsx)(L,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:()=>s(`${M.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(Sn,{runs:P,isLoading:j,hasMore:ne,isLoadingMore:N,onLoadMore:()=>void te()})]}),O||b?(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,q.jsx)(o,{variant:`outlined`,leftIcon:(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${M.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,b?(0,q.jsx)(o,{variant:`primary`,loading:y,leftIcon:(0,q.jsx)(Ie,{className:`h-3.5 w-3.5`}),onClick:b,disabled:w,children:a(y?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Tn(e){let t=ve(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(ae(e)),{data:s,isLoading:c,isError:l}=V(zt(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Rt(r??[],n);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[n,r]),p=(0,G.useMemo)(()=>new Map((s??[]).map(e=>[e.scheduleId,e])),[s]);return{recurring:u,oneTime:d,pastOneTime:f,usageForSchedule:(0,G.useCallback)(e=>c?{status:`loading`}:l?{status:`error`}:{status:`ready`,summary:p.get(e)??Bt(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await ze(e,t,n),o()}catch(e){F(e,{context:`schedule_toggle`}),R.error(B(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function En(){let e=U(),{scheduleId:t}=Ce(),n=ce(),r=a(),i=ve(),o=Tn(n),s=$t(n,i),c=de(`memoryOptOut`),l=O.use.settingsDeveloperNav(),u=c&&l===!0,[d,f]=(0,G.useState)(!1),p=t??null,[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(!1),v=(0,G.useCallback)(t=>{e(t?M.schedules.detail(t):M.schedules.root)},[e]),y=p?o.recurring.find(e=>e.id===p)??o.oneTime.find(e=>e.id===p)??o.pastOneTime.find(e=>e.id===p)??null:null;(0,G.useEffect)(()=>{p&&!o.isLoading&&!o.isError&&!y&&v(null)},[p,y,o.isLoading,o.isError,v]);let b=m===`heartbeat`?s.heartbeatConfig!=null:m===`consolidation`?s.consolidationConfig?.available===!0:m===`retrospective`?s.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{m&&!s.isLoading&&!b&&h(null)},[m,b,s.isLoading]);let x=(0,G.useCallback)(e=>{h(null),v(e)},[v]),C=(0,G.useCallback)(e=>{p&&v(null),h(e)},[v,p]),w=(0,G.useCallback)(()=>{S(e)},[e]),T=xt(n,(0,G.useMemo)(()=>[...o.recurring,...o.oneTime,...o.pastOneTime],[o.recurring,o.oneTime,o.pastOneTime]),o.refetch),E=(y?(0,q.jsx)(gn,{schedule:y,assistantId:n,usage:o.usageForSchedule(y.id),isPast:o.pastOneTime.some(e=>e.id===y.id),onClose:()=>v(null),onDeleted:()=>{v(null),o.refetch()}}):null)??(m&&b?(0,q.jsx)(wn,{kind:m,assistantId:n,systemTasks:s,canOpenMemorySettings:u,onClose:()=>h(null)}):null),D=(0,q.jsx)(xn,{recurring:o.recurring,oneTime:o.oneTime,pastOneTime:o.pastOneTime,usageForSchedule:o.usageForSchedule,isLoading:o.isLoading,isError:o.isError,refetch:o.refetch,onToggle:o.handleToggle,onSelectSchedule:x,selectedScheduleId:p,onStartNewChat:w,onCreateSchedule:()=>f(!0),pastOpen:g,onPastOpenChange:_,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Gt,{heartbeatConfig:s.heartbeatConfig,consolidationConfig:s.consolidationConfig,retrospectiveConfig:s.retrospectiveConfig,heartbeatUsage:s.heartbeatUsage,consolidationUsage:s.consolidationUsage,retrospectiveUsage:s.retrospectiveUsage,isLoading:s.isLoading,hasError:s.hasError,onRetry:s.refetchAll,onSelectHeartbeat:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),k=(0,q.jsx)(St,{...T.dialogProps});return E&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Be,{children:E}),k]}):(0,q.jsxs)(q.Fragment,{children:[E&&!r?(0,q.jsx)(Je,{storageKey:`schedulesDetailDrawerWidth`,detailKey:p??m??void 0,section:D,detail:E}):D,(0,q.jsx)(dt,{isOpen:d,assistantId:n,onClose:()=>f(!1),onCreated:()=>{f(!1),o.refetch()}}),k]})}export{En as SchedulesPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,AC as n,Ap as r,Bf as i,Cl as a,EC as o,Gf as s,IS as c,Ip as l,J as u,JS as d,Jf as f,Jn as p,KS as m,Kf as h,Lf as g,Ma as _,Mp as v,Np as y,Pp as b,Q as x,Sl as S,WS as C,XS as w,Y as T,Z as E,Zn as D,_f as O,am as k,ap as A,bC as ee,cC as j,cb as te,eS as M,eh as ne,f as N,gC as P,ip as re,jp as ie,lS as F,m as ae,mC as oe,nC as I,np as se,nt as ce,om as le,pC as L,qS as R,qf as ue,qs as de,rC as fe,rp as pe,tC as me,tm as he,tp as ge,xl as _e,zS as z,zo as ve}from"./app-DENERwru.js";import{I as B,Jn as ye,N as be,Qn as V,Yn as xe,j as H,tr as Se}from"./vendor-DEhKVoiV.js";import{f as U,h as Ce,t as we,x as Te}from"./react-B9IgSVeK.js";import{$i as Ee,A as De,Gi as W,Ui as Oe,Yn as ke,gt as Ae,kt as je,oa as Me,pi as Ne,qi as Pe,wi as Fe,zt as Ie}from"./icons-C0wyat6T.js";import{t as Le}from"./detail-card-DDxZkd-7.js";import{a as Re,c as ze,d as Be,i as Ve,l as He,n as Ue,o as We,r as Ge,s as Ke,t as qe,u as Je}from"./schedules-AatsZCvw.js";import{a as Ye,r as Xe,t as Ze}from"./usage-window-BQhWVCSl.js";var G=e(Te(),1),Qe={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},$e=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],et=[1,2,3,4,5];function K(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function tt(e){let t=Array.from(new Set(e.map(e=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function nt(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${tt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function rt(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function it(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function at(e){let t=tt(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&et.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${$e[t[0]]?.full??`day`}`;let r=t.map(e=>$e[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function ot(e){let t=rt(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${at(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${it(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=we(),st=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),ct=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function lt(e,t){let n=e%12;return t===`PM`?n+12:n}function ut(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function dt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(d.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ft,{assistantId:t,onClose:n,onCreated:r}):null})}function ft({assistantId:e,onClose:t,onCreated:n}){let{t:r}=H(`settings`),i=ve(),[a,s]=(0,G.useState)(``),[c,l]=(0,G.useState)(``),[u,f]=(0,G.useState)(``),[p,m]=(0,G.useState)(`simple`),[h,g]=(0,G.useState)(Qe),[_,v]=(0,G.useState)(``),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(null),C=a.trim(),w=c.trim(),T=u.trim(),E=_.trim(),D=(0,G.useMemo)(()=>p===`simple`?nt(h):E,[p,h,E]),O=(0,G.useMemo)(()=>p===`simple`?ot(h):E||r(`createScheduleModal.cronContinuePrompt`),[p,h,E,r]),k=(0,G.useMemo)(()=>ut(i),[i]),A=C.length>0&&w.length>0&&T.length>0&&D.length>0&&!y;return(0,q.jsxs)(d.Content,{size:`md`,children:[(0,q.jsxs)(d.Header,{children:[(0,q.jsx)(d.Title,{children:r(`createScheduleModal.title`)}),(0,q.jsx)(d.Description,{children:r(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){b(!0),S(null);try{await Ue(e,{name:C,description:w,expression:D,message:T,timezone:i}),b(!1),n()}catch(e){S(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,q.jsx)(d.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(I,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>s(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(fe,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(_t,{label:r(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,q.jsx)(pt,{cadence:h,onChange:g}):(0,q.jsx)(gt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,q.jsx)(yt,{summary:O,mono:p===`advanced`&&E.length>0,timezoneLabel:k}),p===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||nt(h)),m(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(fe,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>f(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,q.jsxs)(d.Footer,{children:[(0,q.jsx)(o,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,q.jsx)(o,{variant:`primary`,type:`submit`,disabled:!A,children:r(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function pt({cadence:e,onChange:t}){let{t:n}=H(`settings`),r=[{value:`hourly`,label:n(`createScheduleModal.frequencyHourly`)},{value:`daily`,label:n(`createScheduleModal.frequencyDaily`)},{value:`weekly`,label:n(`createScheduleModal.frequencyWeekly`)},{value:`monthly`,label:n(`createScheduleModal.frequencyMonthly`)}],i=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:it(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(w,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(C,{options:ct,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":n(`createScheduleModal.minuteAriaLabel`),className:`w-24`})}):null,e.frequency===`weekly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(ht,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(vt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(C,{options:i,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":n(`createScheduleModal.dayOfMonthAriaLabel`),className:`w-32`})}):null,e.frequency===`hourly`?null:(0,q.jsx)(vt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(mt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function mt({hour24:e,minute:t,onChange:n}){let{t:r}=H(`settings`),i=e<12?`AM`:`PM`,a=e%12==0?12:e%12,o=[{value:`AM`,label:r(`createScheduleModal.periodAm`)},{value:`PM`,label:r(`createScheduleModal.periodPm`)}];return(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(C,{options:st,value:String(a),onChange:e=>n(lt(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(C,{options:ct,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.jsx)(w,{items:o,value:i,onChange:e=>n(lt(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function ht({value:e,onChange:t}){let r=new Set(e),i=e=>{let n=new Set(r);n.has(e)?n.size>1&&n.delete(e):n.add(e),t([...n].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:$e.map(e=>{let t=r.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:n(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function gt({value:e,onChange:t,onUseSimple:n}){let{t:r}=H(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(I,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.backToSimple`)})]})}function _t({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function vt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function yt({summary:e,mono:t,timezoneLabel:r}){let{t:i}=H(`settings`);return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(Fe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:n(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`createScheduleModal.timezoneNote`,{timezone:r})})]})]})}function bt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:a}=V({...i({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:o}=V({...g({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),s=a?.callSites.find(e=>e.id===t)?.defaultProfile??null;return s==null?{key:null,label:null}:{key:s,label:(o?Ye(o):{})[s]?.displayName??s}}function xt(e,t,n){let{t:r}=H(`settings`),i=bt(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>N(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=xe({mutationFn:t=>We(e,null,t),onSuccess:e=>{o(!1),n(),R.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{F(e,{context:`schedules_rebase_inference_profile`}),R.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:c,offDefaultCount:s,canRebase:s>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:c,offDefaultCount:s,isPending:l.isPending,onConfirm:()=>{i.key&&l.mutate(i.key)},onCancel:()=>o(!1)}}}function St({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=H(`settings`);return(0,q.jsx)(m,{open:e,title:o(`scheduleProfileRebase.dialogTitle`,{profile:t}),message:o(`scheduleProfileRebase.dialogMessage`,{count:n,profile:t}),confirmLabel:o(`scheduleProfileRebase.moveSchedules`),isPending:r,onConfirm:i,onCancel:a})}function Ct(e=ne(),t=Date.now()){return Xe(Ze,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function wt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Tt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Tt.format(e)}function Et(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Dt(e,t=B){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function Ot(e){if(!e)return;let t=new Set,n=[];for(let r of e)for(let e of r.runs)t.has(e.id)||(t.add(e.id),n.push(e));return n}function kt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function At(e){return kt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function jt(e){return e.status===`pending`||e.status===`superseded`}function Mt(e){return e.status!==`skipped`&&e.status!==`missed`&&!jt(e)}var Nt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Pt(e,t,n=B){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=Dt(e.intervalMs,n);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(i+=r?` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00 ${r})`:` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),i}function Ft(e,t=B){return Dt(e.intervalMs,t)}function It(e=B){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Lt(e,t){return N(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Rt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Lt(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function zt(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Re(e,Ct(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Bt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Vt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Mt(e)&&t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function Ht({status:e}){let{t}=H(`settings`);return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??t(`scheduleSharedUi.unknownStatus`)})}function Ut({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=H(`settings`);if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":r(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(z,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(z,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:Et(t.summary.runCount),s=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),c=t.status===`ready`&&t.summary.runCount===0,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":r(`scheduleSharedUi.viewUsageFor`,{name:e}),className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${l}`,children:a}):(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.costFor`,{name:e,cost:a}),className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a}),(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.runsFor`,{name:e,runs:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o})]})}function Wt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=H(`settings`);return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":u(`systemTasksSection.openAriaLabel`,{name:e}),className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsx)(`span`,{children:u(`systemTasksSection.nextRun`,{time:J(r)})}):null,i?(0,q.jsx)(`span`,{children:u(`systemTasksSection.lastRun`,{time:J(i)})}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(Ut,{scheduleName:e,usage:a}),s?(0,q.jsx)(j,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":u(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Gt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:l,onSelectHeartbeat:u,onSelectConsolidation:d,onSelectRetrospective:f}){let{t:p}=H(`settings`),m=e!=null,h=t?.available===!0,g=n?.available===!0,_=m||h||g;if(!o&&!s&&!_)return null;let v=[...m?[r]:[],...h?[i]:[],...g?[a]:[]].filter(e=>e.status===`ready`),y=v.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),b=o?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,q.jsx)(L,{tone:`error`,children:(0,q.jsx)(be,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[m?(0,q.jsx)(Wt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Pt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,q.jsx)(Wt,{name:p(`systemTasksSection.consolidationName`),subtitle:Ft(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,q.jsx)(Wt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:It(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(L,{tone:`error`,children:(0,q.jsx)(be,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Le,{children:(0,q.jsx)(c.Root,{type:`multiple`,children:(0,q.jsxs)(c.Item,{value:`system-jobs`,children:[(0,q.jsxs)(c.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:Y(y)})}):null,(0,q.jsx)(Pe,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(c.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Kt={disabled:`heartbeat is disabled`,outside_active_hours:`outside active hours`,overlap:`previous run was still active`,pre_first_user_message:`waiting for the first conversation`,max_consecutive_runs:`consecutive-run cap reached`,max_daily_runs:`daily run cap reached`,quiesced:`assistant was shutting down`};function qt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Kt[e.skipReason]??e.skipReason}`:null}function Jt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:qt(e),error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt,...`title`in e?{title:e.title}:{}}}function Yt(e){return e.runs.filter(e=>!jt(e)).map(e=>Jt(e,`heartbeat`))}function Xt(e){return e.runs.map(e=>Jt(e,`consolidation`))}function Zt(e){return e.runs.map(e=>Jt(e,`retrospective`))}var Z=1e4;function Qt(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Vt(n,r,i)}}function $t(e,t){let n=Se(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:c,refetch:l}=V({...ge(i),enabled:!!e,staleTime:Z}),{data:u,isLoading:d,isError:p,refetch:m}=V({...s(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:_,refetch:b}=V({...r(i),enabled:!!e,staleTime:Z}),x={path:{assistant_id:e??``},query:{limit:100}},{data:S,isLoading:C,isError:w,refetch:T}=V({...A(x),select:Yt,enabled:!!e&&a!=null,staleTime:Z}),{data:E,isLoading:D,isError:O,refetch:ee}=V({...f(x),select:Xt,enabled:!!e&&u?.available===!0,staleTime:Z}),{data:j,isLoading:te,isError:M,refetch:ne}=V({...y(x),select:Zt,enabled:!!e&&h?.available===!0,staleTime:Z}),N=(0,G.useMemo)(()=>Ct(t),[t]),P=(0,G.useMemo)(()=>Qt(C,w,Nt.heartbeat,S,N),[S,w,C,N]),ie=(0,G.useMemo)(()=>Qt(D,O,Nt.consolidation,E,N),[E,O,D,N]),ae=(0,G.useMemo)(()=>Qt(te,M,Nt.retrospective,j,N),[j,M,te,N]),oe=t=>{if(!e)return;let a={heartbeat:{config:ge(i).queryKey,runs:A(x).queryKey,infinite:re(i)},consolidation:{config:s(i).queryKey,runs:f(x).queryKey,infinite:ue(i)},retrospective:{config:r(i).queryKey,runs:y(x).queryKey,infinite:v(i)}}[t];n.invalidateQueries({queryKey:a.config}),n.invalidateQueries({queryKey:a.runs}),n.invalidateQueries({queryKey:a.infinite})},I=le({onSuccess:e=>{e.ran?R.success(B(`settings:useSystemTasks.heartbeatStarted`)):R.info(B(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{F(e,{context:`heartbeat_run_now`}),R.error(B(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>oe(`heartbeat`)}),ce=he({onSuccess:e=>{e.ran?R.success(B(`settings:useSystemTasks.consolidationQueued`)):R.info(B(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{F(e,{context:`consolidation_run_now`}),R.error(B(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>oe(`consolidation`)}),L=k({onSuccess:e=>{se(n,i,e),R.success(e.enabled?B(`settings:useSystemTasks.heartbeatEnabled`):B(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{F(e,{context:`heartbeat_toggle`}),R.error(B(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:u,retrospectiveConfig:h,heartbeatUsage:P,consolidationUsage:ie,retrospectiveUsage:ae,isLoading:o||d||g,hasError:c||p||_,isHeartbeatRunning:I.isPending,isConsolidationRunning:ce.isPending,isHeartbeatLoading:o,isHeartbeatError:c,isConsolidationLoading:d,isConsolidationError:p,isRetrospectiveLoading:g,isRetrospectiveError:_,refetchHeartbeat:l,refetchConsolidation:m,refetchRetrospective:b,runHeartbeatNow:()=>{e&&I.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&ce.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&L.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{l(),m(),b(),T(),ee(),ne()}}}function en({id:e,title:t,subtitle:r,accessory:i,children:a,className:o}){let s=!!(t||r||i);return(0,q.jsx)(oe,{asChild:!0,className:n(`rounded-lg`,o),children:(0,q.jsxs)(`section`,{id:e,children:[s&&(0,q.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,q.jsx)(P,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),r&&(0,q.jsx)(P,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:r})]}),i&&(0,q.jsx)(`div`,{className:`shrink-0`,children:i})]}),a!=null&&(0,q.jsx)(`div`,{className:s?`mt-3`:``,children:a})]})})}function tn(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var nn={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function rn(e){return e.enabled||!e.disarmReason?null:nn[e.disarmReason]??null}function an(e,t){return t?.[e]?.displayName??e}function on({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=H(`settings`),o=r??a(`modelProfileRow.defaultMainAgent`),s=(e,t)=>{if(e==null)return;if(e.provider!=null||e.model!=null)return a(`modelProfileRow.customCallSiteModel`);let n=e.profile?.trim();return n?a(`modelProfileRow.override`,{name:an(n,t)}):void 0},c=t==null,{data:l}=V({...g({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Ye(l):{},[l]),{label:d}=bt(e,n,{enabled:c}),f=c&&i?s(l?.llm?.callSites?.[n],u):void 0,p=t==null?f??(d==null?o:a(`modelProfileRow.defaultNamed`,{name:d})):an(t,u);return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function sn(e,t,n){let r=te(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...x(r,[t],n).map(e=>{let t=u(e,r,n);return{value:e.name,label:T(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:E(e)}:{}}})]}function cn(e,n){let{data:r}=V({...g({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>sn(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function ln({assistantId:e,value:t,onChange:n,disabled:r=!1,isSaving:i=!1,className:a,includeDefaultOption:o=!0,placeholder:s,variant:c,menuAlign:l}){let{t:u}=H(`settings`);return(0,q.jsx)(C,{value:t,onChange:n,onSelectNone:()=>n(null),options:cn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(Oe,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),...e.reason?{tooltip:e.reason}:{}}:{},value:e.value,label:e.label})),disabled:r||i,placeholder:s,className:a,variant:c,menuAlign:l,"aria-label":u(`modelProfileSelect.ariaLabel`)})}function Q({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function un({schedule:e,assistantId:t,isPast:n}){let{t:r}=H(`schedules`),i=Se(),a=l({path:{assistant_id:t}}),o=xe({mutationFn:n=>He(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:a});let n=i.getQueryData(a)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(a,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,o)=>{let s=o?.previousProfile;s!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),F(t,{context:`schedule_update_inference_profile`}),R.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(on,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(ln,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&o.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:o.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function dn({icon:e,value:t,label:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,q.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-sunken)] text-[var(--content-secondary)]`,children:e}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,q.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function fn({usage:e}){let{t}=H(`schedules`);return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(z,{className:`h-[60px] rounded-lg`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(dn,{icon:(0,q.jsx)(Ne,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(dn,{icon:(0,q.jsx)(je,{className:`h-4 w-4`}),value:Et(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function pn(e){return e.exists&&e.archivedAt==null}function mn({run:e,index:t,isExpanded:r,disableDirectOpen:i,onOpenConversation:a,onToggleDetails:o}){let{t:s}=H(`schedules`),c=_(),l=At(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=X(e.output),f=X(e.error),p=!i&&u.length===1&&pn(u[0])?u[0].id:null,m=!p&&(u.length>0||d||f),h=`schedule-run-details-${t}`,g=!!p||m,v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ht,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[wt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),g?(0,q.jsx)(W,{className:n(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&r?`rotate-90`:``)}):null]}),y=m&&r?(0,q.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>pn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:X(e.title)?e.title:s(`scheduleDetail.conversation`)},e.id):(0,q.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[X(e.title)?e.title:s(`scheduleDetail.conversation`),` `,e.exists?c:s(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,f?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return p?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(p),"aria-label":s(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:v})}):m?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-label":s(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":r,"aria-controls":h,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:v}),y]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:v})}function hn({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=H(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:i(`scheduleDetail.noRunsYet`)}):(0,q.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(mn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function gn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:a}){let{t:s}=H(`schedules`),c=U(),{data:l,isLoading:u}=V({queryKey:b({path:{assistant_id:t,id:e.id}}),queryFn:()=>Ve(t,e.id),staleTime:1e4}),[d,f]=(0,G.useState)(!1),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(!1),[y,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),w=tn(e.sourceKey),T=rn(e),E=e.isOneShot&&!r&&w===null&&e.status!==`firing`,D=w!==null&&!e.enabled,O=async()=>{f(!0);try{await Ke(t,e.id)}catch(e){F(e,{context:`schedule_run_now`}),R.error(s(`scheduleDetail.runFailed`))}finally{f(!1)}},k=async()=>{v(!0);try{await Ge(t,e.id),a()}catch(e){F(e,{context:`schedule_delete`}),R.error(s(`scheduleDetail.deleteFailed`)),v(!1),g(!1)}},A=async()=>{C(!0);try{await qe(t,e.id),a()}catch(e){F(e,{context:`schedule_cancel`}),R.error(s(`scheduleDetail.cancelOneTimeFailed`)),C(!1),x(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(p,{title:e.name,headerActions:w?void 0:(0,q.jsx)(o,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(De,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>g(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(en,{title:s(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:s(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:s(`scheduleDetail.mode`),value:e.mode}),(0,q.jsx)(un,{schedule:e,assistantId:t,isPast:r}),(0,q.jsx)(Q,{label:s(`scheduleDetail.status`),value:e.enabled?s(`scheduleDetail.enabled`):s(`scheduleDetail.disabled`)}),(0,q.jsx)(Q,{label:s(`scheduleDetail.nextRun`),value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:s(`scheduleDetail.lastRun`),value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(Ht,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(fn,{usage:n}),(0,q.jsx)(en,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(hn,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>_e(c,e)})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[w?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:T?s(`scheduleDetail.managedByPluginPaused`,{plugin:w,reason:s(T)}):s(`scheduleDetail.managedByPlugin`,{plugin:w})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(o,{variant:`outlined`,leftIcon:(0,q.jsx)(Ee,{className:`h-3.5 w-3.5`}),onClick:()=>c(M.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),E?(0,q.jsx)(o,{variant:`dangerOutline`,onClick:()=>x(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[D?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(o,{variant:`primary`,loading:d,onClick:()=>void O(),disabled:d||D,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(m,{open:h,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:_,onConfirm:()=>void k(),onCancel:()=>g(!1)}),(0,q.jsx)(m,{open:y,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:S,onConfirm:()=>void A(),onCancel:()=>x(!1)})]})}function _n({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function vn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(z,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(z,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Et(t.runCount)})]})}function yn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${a?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[s?(0,q.jsx)(me,{checked:i,onChange:s,"aria-label":c}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:o,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:n.map((e,t)=>(0,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(D,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[vn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function bn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=H(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=rn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=tn(e.sourceKey);return(0,q.jsx)(yn,{name:e.name,badge:u?(0,q.jsx)(j,{tone:`info`,children:u}):void 0,metaParts:l,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?a(`scheduleRow.toggleAria`,{name:e.name}):void 0})}function xn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:s,onToggle:l,onSelectSchedule:u,selectedScheduleId:d,onStartNewChat:f,onCreateSchedule:p,pastOpen:m,onPastOpenChange:h,onRebaseProfiles:g,defaultProfileLabel:_,systemTasksSlot:v}){let{t:y}=H(`schedules`),b=e=>(0,q.jsx)(bn,{schedule:e,usage:r(e.id),selected:e.id===d,onClick:()=>u(e.id),onToggle:t=>l(e.id,t)},e.id),x=e=>(0,q.jsx)(bn,{schedule:e,usage:r(e.id),selected:e.id===d,onClick:()=>u(e.id)},e.id),S=n.length>0?(0,q.jsx)(c.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:m?`past`:``,onValueChange:e=>h(e===`past`),children:(0,q.jsxs)(c.Item,{value:`past`,children:[(0,q.jsxs)(c.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:y(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(c.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(x)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(z,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(L,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:y(`schedulesPanel.retry`)}),children:y(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(_n,{icon:Me,title:y(`schedulesPanel.emptyTitle`),description:y(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(o,{variant:`primary`,size:`regular`,onClick:f,children:y(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(o,{variant:`outlined`,size:`regular`,onClick:p,children:y(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[g&&_?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:g,className:`max-w-full truncate`,children:y(`schedulesPanel.useProfileForAll`,{profile:_})})}):null,e.map(b),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.oneTimeHeading`)}),t.map(x)]}):null,S]}),v?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:v}):null]})}function Sn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:s}=H(`settings`),c=U(),[l,u]=(0,G.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&a?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:s(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(en,{title:s(`recentRunsCard.title`),children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(ke,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:d}),f]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=At(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,o=!n&&!a&&(r||i),d=l===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(ee,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Ht,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[wt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>_e(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":o?d:void 0,"aria-controls":o?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),o&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),f]})})}var Cn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function $({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`flex min-w-0 items-center justify-end gap-2 text-right text-[var(--content-default)]`,children:t})]})}function wn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=H(`schedules`),s=U(),{heartbeatConfig:c,consolidationConfig:l,retrospectiveConfig:u}=n,d=c?.effectiveTimezone||c?.timezone||null,f,m,g,_,v,y,b;e===`heartbeat`?(f=a(`systemTaskDetail.nameHeartbeat`),m=c?Pt(c,d):``,g=c?.enabled??!1,_=c?.nextRunAt??null,v=c?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(f=a(`systemTaskDetail.nameConsolidation`),m=l?Ft(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,v=l?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(f=a(`systemTaskDetail.nameRetrospective`),m=It(),g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!g,w=y||C,T=a(x?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&u?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&g&&r,k={path:{assistant_id:t},query:{limit:25}},A=e===`heartbeat`?pe(k):e===`consolidation`?h(k):ie(k),{data:ee,isLoading:j,fetchNextPage:te,hasNextPage:ne,isFetchingNextPage:N}=ye({queryKey:A.queryKey,queryFn:A.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),P=Ot(ee?.pages.map(t=>({runs:t.runs.filter(e=>!jt(e)).map(t=>Jt(t,e))}))),re=P?.find(e=>Mt(e)&&e.status!==`running`),F=v??re?.finishedAt??re?.startedAt??null;return(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(p,{title:f,closeLabel:a(`scheduleDetail.closeAria`),closeTooltip:a(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(en,{title:a(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:a(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,q.jsx)(me,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:f})})]})}),(0,q.jsx)(on,{assistantId:t,defaultCallSite:Cn[e],fallbackLabel:a(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),m?(0,q.jsx)($,{label:a(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:m})}):null,e===`heartbeat`&&d?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:d})}):null,S?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(_)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(F)})})]})}),C?(0,q.jsx)(L,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(o,{variant:`outlined`,size:`compact`,onClick:()=>s(`${M.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(Sn,{runs:P,isLoading:j,hasMore:ne,isLoadingMore:N,onLoadMore:()=>void te()})]}),O||b?(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,q.jsx)(o,{variant:`outlined`,leftIcon:(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${M.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,b?(0,q.jsx)(o,{variant:`primary`,loading:y,leftIcon:(0,q.jsx)(Ie,{className:`h-3.5 w-3.5`}),onClick:b,disabled:w,children:a(y?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Tn(e){let t=ve(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(ae(e)),{data:s,isLoading:c,isError:l}=V(zt(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Rt(r??[],n);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[n,r]),p=(0,G.useMemo)(()=>new Map((s??[]).map(e=>[e.scheduleId,e])),[s]);return{recurring:u,oneTime:d,pastOneTime:f,usageForSchedule:(0,G.useCallback)(e=>c?{status:`loading`}:l?{status:`error`}:{status:`ready`,summary:p.get(e)??Bt(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await ze(e,t,n),o()}catch(e){F(e,{context:`schedule_toggle`}),R.error(B(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function En(){let e=U(),{scheduleId:t}=Ce(),n=ce(),r=a(),i=ve(),o=Tn(n),s=$t(n,i),c=de(`memoryOptOut`),l=O.use.settingsDeveloperNav(),u=c&&l===!0,[d,f]=(0,G.useState)(!1),p=t??null,[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(!1),v=(0,G.useCallback)(t=>{e(t?M.schedules.detail(t):M.schedules.root)},[e]),y=p?o.recurring.find(e=>e.id===p)??o.oneTime.find(e=>e.id===p)??o.pastOneTime.find(e=>e.id===p)??null:null;(0,G.useEffect)(()=>{p&&!o.isLoading&&!o.isError&&!y&&v(null)},[p,y,o.isLoading,o.isError,v]);let b=m===`heartbeat`?s.heartbeatConfig!=null:m===`consolidation`?s.consolidationConfig?.available===!0:m===`retrospective`?s.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{m&&!s.isLoading&&!b&&h(null)},[m,b,s.isLoading]);let x=(0,G.useCallback)(e=>{h(null),v(e)},[v]),C=(0,G.useCallback)(e=>{p&&v(null),h(e)},[v,p]),w=(0,G.useCallback)(()=>{S(e)},[e]),T=xt(n,(0,G.useMemo)(()=>[...o.recurring,...o.oneTime,...o.pastOneTime],[o.recurring,o.oneTime,o.pastOneTime]),o.refetch),E=(y?(0,q.jsx)(gn,{schedule:y,assistantId:n,usage:o.usageForSchedule(y.id),isPast:o.pastOneTime.some(e=>e.id===y.id),onClose:()=>v(null),onDeleted:()=>{v(null),o.refetch()}}):null)??(m&&b?(0,q.jsx)(wn,{kind:m,assistantId:n,systemTasks:s,canOpenMemorySettings:u,onClose:()=>h(null)}):null),D=(0,q.jsx)(xn,{recurring:o.recurring,oneTime:o.oneTime,pastOneTime:o.pastOneTime,usageForSchedule:o.usageForSchedule,isLoading:o.isLoading,isError:o.isError,refetch:o.refetch,onToggle:o.handleToggle,onSelectSchedule:x,selectedScheduleId:p,onStartNewChat:w,onCreateSchedule:()=>f(!0),pastOpen:g,onPastOpenChange:_,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Gt,{heartbeatConfig:s.heartbeatConfig,consolidationConfig:s.consolidationConfig,retrospectiveConfig:s.retrospectiveConfig,heartbeatUsage:s.heartbeatUsage,consolidationUsage:s.consolidationUsage,retrospectiveUsage:s.retrospectiveUsage,isLoading:s.isLoading,hasError:s.hasError,onRetry:s.refetchAll,onSelectHeartbeat:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),k=(0,q.jsx)(St,{...T.dialogProps});return E&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Be,{children:E}),k]}):(0,q.jsxs)(q.Fragment,{children:[E&&!r?(0,q.jsx)(Je,{storageKey:`schedulesDetailDrawerWidth`,detailKey:p??m??void 0,section:D,detail:E}):D,(0,q.jsx)(dt,{isOpen:d,assistantId:n,onClose:()=>f(!1),onCreated:()=>{f(!1),o.refetch()}}),k]})}export{En as SchedulesPage};
|
package/dist/assets/{security-redirect-page-Cf6N-pAp.js → security-redirect-page-qJHlofPo.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{eS as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{eS as t}from"./app-DENERwru.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.general,{replace:!0})},[e]),null}export{a as SecurityRedirectPage};
|
package/dist/assets/{select-assistant-screen-DmC81TOi.js → select-assistant-screen-Cv2HoXMC.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ah as t,Ao as n,Bb as r,DS as i,EC as a,ES as o,Fb as s,Ht as c,Ib as l,JS as u,Jx as d,KS as f,Lx as p,Px as m,Rb as h,Rm as g,TS as _,Tx as ee,Ud as v,Un as y,Ux as te,Vx as b,Zg as ne,_g as x,ac as re,bc as ie,cx as S,dc as ae,eS as C,fc as w,fx as T,jd as E,jo as oe,jx as se,kS as D,ko as ce,lg as le,lx as ue,nC as O,oc as de,pC as fe,qg as pe,qx as k,rx as me,s_ as A,tS as he,tx as ge,vi as _e,xC as j,xi as M,yC as N,yx as ve}from"./app-D8sMVA0h.js";import{j as P,tr as ye}from"./vendor-DEhKVoiV.js";import{_ as be,f as xe,t as Se,x as F}from"./react-B9IgSVeK.js";import{Cr as Ce,Ji as we,Lt as Te,_i as Ee,sr as I,tr as L}from"./icons-C0wyat6T.js";import{t as R}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as De}from"./radio-card-nav-CuptkxL2.js";import{a as Oe,i as ke,n as Ae,o as z,r as B,t as je}from"./self-hosted-servers-CuhcBUtc.js";import{t as Me}from"./format-countdown-D18PVUfL.js";var V=e(F(),1),Ne=C.remotePair.slice(`${C.assistant}/`.length);async function Pe(e,t){let n=t?k(e.url,t):null,r=t&&n!==null?`${Ne}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${C.assistant}`);if(!le()){i();return}(r===null?await Ae(e.url):await B(e.url,r))||i()}function Fe(e){return Oe(S()?A():window.location.origin)===e.url}var H=Se();function Ie({traits:e,imageUrl:n,size:r=48,fallback:i,className:a,decorative:o=!1,onImageError:s}){let{t:c}=P(),l=M();if(e){if(!l)return i;if(t(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,H.jsx)(y,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:r,className:a});return o?(0,H.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return n?(0,H.jsx)(`img`,{src:n,alt:o?``:c(`chooserAvatarChip.alt`),width:r,height:r,className:`rounded-full object-cover ${a??``}`.trim(),style:{width:r,height:r,flexShrink:0},onError:s}):i}function Le(e){let t;try{t=o(e)}catch{return{ok:!1,reason:`unparseable`}}if(_(t))return{ok:!1,reason:`service-website`};let n=Oe(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:i(e).deviceCode}}function Re({open:e,onClose:t,onAdded:n}){let{t:r}=P(`onboarding`),[i,o]=(0,V.useState)(``),[s,c]=(0,V.useState)(!1),[l,f]=(0,V.useState)(null);(0,V.useEffect)(()=>{e&&(o(``),c(!1),f(null))},[e]);let p=()=>{s||t()},m=async()=>{if(!i.trim()||s)return;let e=Le(i);if(!e.ok){f(d(e.reason,i));return}c(!0),f(null);try{let t=await z.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}f(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),f(r(`addRemoteOriginDialog.addFailed`))}c(!1)};return(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||p()},children:(0,H.jsxs)(u.Content,{size:`md`,children:[(0,H.jsxs)(u.Header,{icon:Ce,children:[(0,H.jsx)(u.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,H.jsx)(u.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,H.jsx)(u.Body,{children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,H.jsx)(O,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>o(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),l&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l})]})}),(0,H.jsxs)(u.Footer,{children:[(0,H.jsx)(a,{variant:`ghost`,onClick:p,disabled:s,children:r(`actions.cancel`)}),(0,H.jsx)(a,{variant:`primary`,onClick:()=>void m(),disabled:!i.trim()||s,children:r(s?`actions.adding`:`actions.add`)})]})]})})}var U=e=>new Promise(t=>setTimeout(t,e)),W=30,ze=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Be({open:e,initialAddress:t,guidanceKind:n,onClose:i,onImported:o}){let{t:s}=P(`onboarding`),[c,l]=(0,V.useState)(``),[f,p]=(0,V.useState)(``),[m,h]=(0,V.useState)(!1),[g,_]=(0,V.useState)(null),[v,y]=(0,V.useState)(null),[te,b]=(0,V.useState)(0),[ne,x]=(0,V.useState)(!1),[re,ie]=(0,V.useState)(null),S=(0,V.useRef)(null),ae=(0,V.useRef)({abandoned:!1}),C=()=>{let e=S.current;S.current=null,e&&r(e)};(0,V.useEffect)(()=>{if(!e)return;l(t??``),p(``),h(!1),_(null),y(null),x(!1),ie(null);let n={abandoned:!1};return ae.current=n,()=>{n.abandoned=!0,C()}},[e,t]),(0,V.useEffect)(()=>{if(!v)return;let e=setInterval(()=>b(Date.parse(v.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[v]);let w=async()=>{let e=c.trim();if(!e||m)return;h(!0),_(null);let t=f.trim()||void 0,n=ae.current;try{let i=await ee(e);if(n.abandoned){i.ok&&r(i.handle);return}if(!i.ok){_(i.rejection?{kind:`rejected-address`,rejection:i.rejection,address:e}:{kind:`message`,text:i.error}),h(!1);return}S.current=i.handle,i.userCode&&(y({userCode:i.userCode,expiresAt:i.expiresAt}),b(Date.parse(i.expiresAt)-Date.now()));let a=i.userCode!==null,c=i.expiresAt,l=i.intervalSeconds,u=0;for(;;){let e=await T(i.handle,t);if(n.abandoned)return;if(!e.ok){let t=a&&ue(e);if(t&&!ze(c)){if(u+=1,u===1&&x(!0),await U(Math.min(l*u,W)*1e3),n.abandoned)return;continue}C(),y(null),x(!1),_({kind:`message`,text:t?s(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,x(!1)),e.status===`imported`){if(S.current=null,e.accessOnly){y(null),ie(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==c&&(y(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),c=e.expiresAt,l=e.intervalSeconds,await U(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),C(),y(null),x(!1),_({kind:`message`,text:s(`connectAssistantDialog.submitError`)})}h(!1)};return re==null?(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,H.jsxs)(u.Content,{size:`md`,children:[(0,H.jsxs)(u.Header,{icon:L,children:[(0,H.jsx)(u.Title,{children:s(`connectAssistantDialog.title`)}),(0,H.jsx)(u.Description,{children:s(`connectAssistantDialog.instruction`)})]}),(0,H.jsx)(u.Body,{children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,H.jsx)(fe,{tone:`info`,children:s(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),v?(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.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:v.userCode}),(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`connectAssistantDialog.approveOnHost`)}),(0,H.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,H.jsx)(`span`,{className:ne?`text-[color:var(--system-mid-strong)]`:void 0,children:s(ne?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,H.jsx)(`span`,{children:s(`connectAssistantDialog.expiresIn`,{time:Me(te)})})]})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:s(`connectAssistantDialog.addressLabel`)}),(0,H.jsx)(O,{id:`connect-assistant-address`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:s(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:s(`connectAssistantDialog.nameLabel`)}),(0,H.jsx)(O,{id:`connect-assistant-name`,type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),g&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:g.kind===`rejected-address`?d(g.rejection,g.address):g.text})]})}),(0,H.jsxs)(u.Footer,{children:[(0,H.jsx)(a,{variant:`ghost`,onClick:i,children:s(`actions.cancel`)}),!v&&(0,H.jsx)(a,{variant:`primary`,onClick:()=>void w(),disabled:!c.trim()||m,children:s(m?`actions.connecting`:`actions.connect`)})]})]})}):(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,H.jsxs)(u.Content,{size:`sm`,children:[(0,H.jsx)(u.Header,{icon:L,children:(0,H.jsx)(u.Title,{children:s(`connectAssistantDialog.importedTitle`)})}),(0,H.jsx)(u.Body,{children:(0,H.jsx)(fe,{tone:`warning`,children:s(`connectAssistantDialog.importedBody`)})}),(0,H.jsx)(u.Footer,{children:(0,H.jsx)(a,{variant:`primary`,onClick:()=>o(re),children:s(`actions.continue`)})})]})})}function Ve({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:o,onRetire:s}){let{t:c}=P(`onboarding`),[l,d]=(0,V.useState)(`menu`);(0,V.useEffect)(()=>{e&&d(`menu`)},[e]);let p=r?(0,H.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return l===`confirm-repair`?(0,H.jsx)(f,{open:e,title:c(`connectRecoveryDialog.repairTitle`),message:(0,H.jsxs)(H.Fragment,{children:[c(`connectRecoveryDialog.repairBody`),p]}),confirmLabel:c(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:o,onCancel:()=>d(`menu`)}):l===`confirm-retire`?(0,H.jsx)(ce,{open:e,isPending:n,extraMessage:p,onConfirm:s,onCancel:()=>d(`menu`)}):(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,H.jsxs)(u.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,H.jsx)(u.Header,{children:(0,H.jsx)(u.Title,{children:c(`connectRecoveryDialog.authFailedTitle`)})}),(0,H.jsxs)(u.Body,{children:[(0,H.jsx)(u.Description,{children:c(`connectRecoveryDialog.authFailedBody`,{name:t})}),p,(0,H.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,H.jsx)(a,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>d(`confirm-repair`),children:c(`connectRecoveryDialog.wakeAndRepair`)}),(0,H.jsx)(a,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>d(`confirm-retire`),children:c(`connectRecoveryDialog.retire`)}),(0,H.jsx)(a,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:c(`actions.cancel`)})]})]})]})})}function He(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function G(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function K(e,t){let n=e.isPaired?D(e.runtimeUrl):e.isLocal?me()?`On this computer`:G(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${c(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function q(e){return`origin:${e.url}`}var J=`origin:vellum-cloud`;function Ge(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function Y(){let{t:e}=P(`onboarding`),t=xe(),r=ye(),[i,o]=be(),c=i.get(`fromLogin`)===`1`,u=i.get(`noAutoSkip`)===`1`,d=he(),f=me(),_=g(),ee=l.use.assistants(),y=ne.use.currentOrganizationId(),S=z.use.origins(),w=z.use.hydrated(),T=x(),{loading:D,error:ce,login:le,cancel:ue}=ie(),[O,fe]=(0,V.useState)(null),k=O===null?null:{url:O,name:`Vellum Cloud`},A=k!==null,j=e=>e.isPaired||e.isLocal&&f||_,M=ee.filter(s),N=M.filter(j),Se=N.length>0||S.length>0||k!==null,F=se(),we=!_&&F,[I,R]=(0,V.useState)(null),[B,Me]=(0,V.useState)(!1),[Ne,Ie]=(0,V.useState)(!1),[Le,U]=(0,V.useState)(null),[W,ze]=(0,V.useState)(null),[G,K]=(0,V.useState)(!1),[Ue,Y]=(0,V.useState)(null),[X,Z]=(0,V.useState)(null),[Xe,Ze]=(0,V.useState)(!1),[Qe,Q]=(0,V.useState)(null),[$e,et]=(0,V.useState)(!1),[$,tt]=(0,V.useState)(null),[nt,rt]=(0,V.useState)(!1),[it,at]=(0,V.useState)(null),ot=E.use.open(),st=E.use.initialAddress(),ct=E.use.guidanceKind(),lt=E.use.deepLinkDrainSettled(),ut=(0,V.useRef)(!1);(0,V.useEffect)(()=>{v()},[]),(0,V.useEffect)(()=>{je(),z.getState().hydrate()},[]),(0,V.useEffect)(()=>{if(!T)return;let e=!1;return ke().then(t=>{e||fe(t)}),()=>{e=!0}},[T]);let dt=(0,V.useRef)(!1);(0,V.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=i.get(`register`);if(e===null)return;let t=()=>o(Ge,{replace:!0}),n=Oe(e);if(n===null){t();return}z.getState().addOrigin({url:n,name:i.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[i,o]),(0,V.useEffect)(()=>{if(I===J&&A||I!=null&&S.some(e=>q(e)===I))return;if(N.length===0){let e=S[0],t=e?q(e):A?J:null;I!==t&&R(t);return}if(I!=null&&N.some(e=>e.id===I))return;let e=pe(y);R(N.find(t=>t.id===e)?.id??N[0].id)},[I,N,y,S,A]);let ft=async e=>{Me(!0),U(null);try{await de(e),t(C.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&se()&&(m(t)||te(t)||t instanceof h)&&ge(e.id)?ze(e):e.isPaired&&m(t)?U(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):U(`Failed to connect. Please try again.`),Me(!1)}},pt=()=>{ze(null),K(!1),Y(null),Ie(!1)},mt=async()=>{if(!(!W||G)){K(!0),Y(null);try{let e=await p(W.id,{repairGuardian:!0});if(e.ok){b(),pt(),ft(W);return}Y(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),Y(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!W||G)){K(!0),Y(null);try{let e=await oe(r,W.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}Y(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),Y(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Xe||(Z(null),Q(null))},_t=async()=>{if(!(!X||Xe)){if(Ze(!0),Q(null),X.isPaired){let e=await re(r,X.id);e.ok?(ut.current=!0,Z(null)):Q(e.error),Ze(!1);return}try{let e=await ve(X.id);if(e.ok){let e=l.getState();e.activeAssistantId===X.id&&e.setActiveAssistantId(null),ae(r,X.id),ut.current=!0,Z(null)}else Q(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Q(`Failed to remove. Please try again.`)}Ze(!1)}},vt=()=>{nt||(tt(null),at(null))},yt=async()=>{!$||nt||(rt(!0),at(null),await z.getState().removeOrigin($.url),z.getState().origins.some(e=>e.url===$.url)?at(`Failed to remove. Please try again.`):(ut.current=!0,tt(null)),rt(!1))},bt=e=>{E.getState().closeConnectDialog(),ft(l.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{et(!1),Pe(e,t??void 0)};(0,V.useEffect)(()=>{c||u||ut.current||f&&w&&(S.length>0||d&&!lt||B||Ne||ot||M.length!==0&&M.length===1&&N.length===1&&(Ie(!0),ft(N[0])))},[M.length,N.length,lt,f,S.length,w]);let St=()=>{if(I===J){Ae(null).then(e=>{!e&&O!==null&&window.location.assign(O)});return}let e=S.find(e=>q(e)===I);if(e){Fe(e)?t(C.assistant,{replace:!0}):Pe(e);return}let n=M.find(e=>e.id===I);n&&ft(n)},Ct=()=>{t(f?C.welcome:C.assistant)},wt=ce??Le;return Ne&&!wt&&!W?(0,H.jsx)(Ke,{}):(0,H.jsxs)(_e,{avatarWave:`beside`,children:[(0,H.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${d?`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,H.jsxs)(`div`,{className:`flex w-full flex-col items-center ${d?``:`flex-1 justify-center`}`,children:[(0,H.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,H.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,H.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:De,className:`flex w-full flex-col ${d?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[M.map(t=>{let n=j(t);return(0,H.jsx)(Je,{assistant:t,selected:I===t.id,locked:!n,tabStop:I==null?N[0]?.id===t.id:I===t.id,onSelect:()=>{n&&R(t.id)},loginLabel:e(D?`actions.cancel`:`actions.loginToUse`),loginDisabled:B,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?D?ue:()=>void le():void 0,onRemove:t.isPlatformHosted&&we||t.isPaired&&F?()=>Z(t):void 0},t.id)}),S.map((e,t)=>{let n=q(e),r=Fe(e);return(0,H.jsx)(Ye,{origin:e,selected:I===n,current:r,tabStop:I==null?N.length===0&&t===0:I===n,onSelect:()=>R(n),onRemove:r&&T?void 0:()=>tt(e)},e.url)}),k&&(0,H.jsx)(Ye,{origin:k,icon:(0,H.jsx)(Ee,{className:`h-5 w-5`}),selected:I===J,current:!1,tabStop:I==null?N.length===0&&S.length===0:I===J,onSelect:()=>R(J)}),f&&(0,H.jsx)(qe,{icon:(0,H.jsx)(Te,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:B||D,onClick:()=>void t(`${C.onboarding.hosting}?from=select-assistant`)}),F&&(0,H.jsx)(qe,{icon:(0,H.jsx)(L,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:B||D,onClick:()=>E.getState().openConnectDialog()}),!F&&(0,H.jsx)(qe,{icon:(0,H.jsx)(Ce,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:B||D,onClick:()=>et(!0)})]}),Se&&(0,H.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,H.jsx)(a,{variant:`primary`,size:d?`regular`:`large`,fullWidth:!0,onClick:St,disabled:!I||B,children:e(B?`actions.connecting`:`actions.continue`)})}),(0,H.jsx)(`div`,{className:Se?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,H.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:B||D,children:e(`actions.back`)})})]})}),(0,H.jsx)(Re,{open:$e,onClose:()=>et(!1),onAdded:xt}),(0,H.jsx)(Be,{open:ot,initialAddress:st??void 0,guidanceKind:ct??void 0,onClose:()=>E.getState().closeConnectDialog(),onImported:bt}),(0,H.jsx)(Ve,{open:W!=null,assistantName:W?He(W):``,isPending:G,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,H.jsx)(n,{open:X!=null,kind:X?.isPaired?`paired`:`platform`,assistantName:X?He(X):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Qe??void 0,isPending:Xe,onConfirm:()=>void _t(),onCancel:gt}),(0,H.jsx)(n,{open:$!=null,kind:`origin`,assistantName:$?We($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:it??void 0,isPending:nt,onConfirm:()=>void yt(),onCancel:vt})]})}function Ke(){let{t:e}=P(`onboarding`);return(0,H.jsx)(_e,{avatarWave:`beside`,children:(0,H.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,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function qe({icon:e,label:t,disabled:n,onClick:r}){let i=he();return(0,H.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`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,H.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function X({label:e,onRemove:t}){let{t:n}=P(`onboarding`);return(0,H.jsxs)(j.Root,{children:[(0,H.jsx)(j.Trigger,{asChild:!0,children:(0,H.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,H.jsx)(R,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,H.jsx)(j.Content,{align:`end`,sideOffset:4,children:(0,H.jsx)(j.Item,{onSelect:t,className:N.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function Z({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=he();return(0,H.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`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)]`,i?``:r?`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,H.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,H.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,H.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,H.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,H.jsx)(we,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Je({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:o,loginDisabled:s,onLogin:c,onRemove:l}){let{t:u}=P(`onboarding`),d=He(e),{traits:f,imageUrl:p,onImageError:m}=w(e);return(0,H.jsx)(Z,{icon:(0,H.jsx)(Ie,{traits:f,imageUrl:p,fallback:e.isPaired?(0,H.jsx)(L,{className:`h-5 w-5`}):e.isLocal?(0,H.jsx)(I,{className:`h-5 w-5`}):(0,H.jsx)(Ee,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:K(e,u),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&c?(0,H.jsx)(a,{variant:`primary`,size:`regular`,onClick:c,disabled:s,children:o}):void 0,removeMenu:l&&(0,H.jsx)(X,{label:d,onRemove:l})})}function Ye({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=P(`onboarding`),c=We(e);return(0,H.jsx)(Z,{icon:t??(0,H.jsx)(Ce,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Ue(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,H.jsx)(X,{label:c,onRemove:o})})}export{Y as SelectAssistantScreen};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ah as t,Ao as n,Bb as r,DS as i,EC as a,ES as o,Fb as s,Ht as c,Ib as l,JS as u,Jx as d,KS as f,Lx as p,Px as m,Rb as h,Rm as g,TS as _,Tx as ee,Ud as v,Un as y,Ux as te,Vx as b,Zg as ne,_g as x,ac as re,bc as ie,cx as S,dc as ae,eS as C,fc as w,fx as T,jd as E,jo as oe,jx as se,kS as D,ko as ce,lg as le,lx as ue,nC as O,oc as de,pC as fe,qg as pe,qx as k,rx as me,s_ as A,tS as he,tx as ge,vi as _e,xC as j,xi as M,yC as N,yx as ve}from"./app-DENERwru.js";import{j as P,tr as ye}from"./vendor-DEhKVoiV.js";import{_ as be,f as xe,t as Se,x as F}from"./react-B9IgSVeK.js";import{Cr as Ce,Ji as we,Lt as Te,_i as Ee,sr as I,tr as L}from"./icons-C0wyat6T.js";import{t as R}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as De}from"./radio-card-nav-CuptkxL2.js";import{a as Oe,i as ke,n as Ae,o as z,r as B,t as je}from"./self-hosted-servers-o6yBM9bM.js";import{t as Me}from"./format-countdown-D18PVUfL.js";var V=e(F(),1),Ne=C.remotePair.slice(`${C.assistant}/`.length);async function Pe(e,t){let n=t?k(e.url,t):null,r=t&&n!==null?`${Ne}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${C.assistant}`);if(!le()){i();return}(r===null?await Ae(e.url):await B(e.url,r))||i()}function Fe(e){return Oe(S()?A():window.location.origin)===e.url}var H=Se();function Ie({traits:e,imageUrl:n,size:r=48,fallback:i,className:a,decorative:o=!1,onImageError:s}){let{t:c}=P(),l=M();if(e){if(!l)return i;if(t(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,H.jsx)(y,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:r,className:a});return o?(0,H.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return n?(0,H.jsx)(`img`,{src:n,alt:o?``:c(`chooserAvatarChip.alt`),width:r,height:r,className:`rounded-full object-cover ${a??``}`.trim(),style:{width:r,height:r,flexShrink:0},onError:s}):i}function Le(e){let t;try{t=o(e)}catch{return{ok:!1,reason:`unparseable`}}if(_(t))return{ok:!1,reason:`service-website`};let n=Oe(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:i(e).deviceCode}}function Re({open:e,onClose:t,onAdded:n}){let{t:r}=P(`onboarding`),[i,o]=(0,V.useState)(``),[s,c]=(0,V.useState)(!1),[l,f]=(0,V.useState)(null);(0,V.useEffect)(()=>{e&&(o(``),c(!1),f(null))},[e]);let p=()=>{s||t()},m=async()=>{if(!i.trim()||s)return;let e=Le(i);if(!e.ok){f(d(e.reason,i));return}c(!0),f(null);try{let t=await z.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}f(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),f(r(`addRemoteOriginDialog.addFailed`))}c(!1)};return(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||p()},children:(0,H.jsxs)(u.Content,{size:`md`,children:[(0,H.jsxs)(u.Header,{icon:Ce,children:[(0,H.jsx)(u.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,H.jsx)(u.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,H.jsx)(u.Body,{children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,H.jsx)(O,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>o(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),l&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l})]})}),(0,H.jsxs)(u.Footer,{children:[(0,H.jsx)(a,{variant:`ghost`,onClick:p,disabled:s,children:r(`actions.cancel`)}),(0,H.jsx)(a,{variant:`primary`,onClick:()=>void m(),disabled:!i.trim()||s,children:r(s?`actions.adding`:`actions.add`)})]})]})})}var U=e=>new Promise(t=>setTimeout(t,e)),W=30,ze=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Be({open:e,initialAddress:t,guidanceKind:n,onClose:i,onImported:o}){let{t:s}=P(`onboarding`),[c,l]=(0,V.useState)(``),[f,p]=(0,V.useState)(``),[m,h]=(0,V.useState)(!1),[g,_]=(0,V.useState)(null),[v,y]=(0,V.useState)(null),[te,b]=(0,V.useState)(0),[ne,x]=(0,V.useState)(!1),[re,ie]=(0,V.useState)(null),S=(0,V.useRef)(null),ae=(0,V.useRef)({abandoned:!1}),C=()=>{let e=S.current;S.current=null,e&&r(e)};(0,V.useEffect)(()=>{if(!e)return;l(t??``),p(``),h(!1),_(null),y(null),x(!1),ie(null);let n={abandoned:!1};return ae.current=n,()=>{n.abandoned=!0,C()}},[e,t]),(0,V.useEffect)(()=>{if(!v)return;let e=setInterval(()=>b(Date.parse(v.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[v]);let w=async()=>{let e=c.trim();if(!e||m)return;h(!0),_(null);let t=f.trim()||void 0,n=ae.current;try{let i=await ee(e);if(n.abandoned){i.ok&&r(i.handle);return}if(!i.ok){_(i.rejection?{kind:`rejected-address`,rejection:i.rejection,address:e}:{kind:`message`,text:i.error}),h(!1);return}S.current=i.handle,i.userCode&&(y({userCode:i.userCode,expiresAt:i.expiresAt}),b(Date.parse(i.expiresAt)-Date.now()));let a=i.userCode!==null,c=i.expiresAt,l=i.intervalSeconds,u=0;for(;;){let e=await T(i.handle,t);if(n.abandoned)return;if(!e.ok){let t=a&&ue(e);if(t&&!ze(c)){if(u+=1,u===1&&x(!0),await U(Math.min(l*u,W)*1e3),n.abandoned)return;continue}C(),y(null),x(!1),_({kind:`message`,text:t?s(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,x(!1)),e.status===`imported`){if(S.current=null,e.accessOnly){y(null),ie(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==c&&(y(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),c=e.expiresAt,l=e.intervalSeconds,await U(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),C(),y(null),x(!1),_({kind:`message`,text:s(`connectAssistantDialog.submitError`)})}h(!1)};return re==null?(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,H.jsxs)(u.Content,{size:`md`,children:[(0,H.jsxs)(u.Header,{icon:L,children:[(0,H.jsx)(u.Title,{children:s(`connectAssistantDialog.title`)}),(0,H.jsx)(u.Description,{children:s(`connectAssistantDialog.instruction`)})]}),(0,H.jsx)(u.Body,{children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,H.jsx)(fe,{tone:`info`,children:s(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),v?(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.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:v.userCode}),(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`connectAssistantDialog.approveOnHost`)}),(0,H.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,H.jsx)(`span`,{className:ne?`text-[color:var(--system-mid-strong)]`:void 0,children:s(ne?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,H.jsx)(`span`,{children:s(`connectAssistantDialog.expiresIn`,{time:Me(te)})})]})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:s(`connectAssistantDialog.addressLabel`)}),(0,H.jsx)(O,{id:`connect-assistant-address`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:s(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,H.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,H.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:s(`connectAssistantDialog.nameLabel`)}),(0,H.jsx)(O,{id:`connect-assistant-name`,type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),g&&(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:g.kind===`rejected-address`?d(g.rejection,g.address):g.text})]})}),(0,H.jsxs)(u.Footer,{children:[(0,H.jsx)(a,{variant:`ghost`,onClick:i,children:s(`actions.cancel`)}),!v&&(0,H.jsx)(a,{variant:`primary`,onClick:()=>void w(),disabled:!c.trim()||m,children:s(m?`actions.connecting`:`actions.connect`)})]})]})}):(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{e||i()},children:(0,H.jsxs)(u.Content,{size:`sm`,children:[(0,H.jsx)(u.Header,{icon:L,children:(0,H.jsx)(u.Title,{children:s(`connectAssistantDialog.importedTitle`)})}),(0,H.jsx)(u.Body,{children:(0,H.jsx)(fe,{tone:`warning`,children:s(`connectAssistantDialog.importedBody`)})}),(0,H.jsx)(u.Footer,{children:(0,H.jsx)(a,{variant:`primary`,onClick:()=>o(re),children:s(`actions.continue`)})})]})})}function Ve({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:o,onRetire:s}){let{t:c}=P(`onboarding`),[l,d]=(0,V.useState)(`menu`);(0,V.useEffect)(()=>{e&&d(`menu`)},[e]);let p=r?(0,H.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return l===`confirm-repair`?(0,H.jsx)(f,{open:e,title:c(`connectRecoveryDialog.repairTitle`),message:(0,H.jsxs)(H.Fragment,{children:[c(`connectRecoveryDialog.repairBody`),p]}),confirmLabel:c(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:o,onCancel:()=>d(`menu`)}):l===`confirm-retire`?(0,H.jsx)(ce,{open:e,isPending:n,extraMessage:p,onConfirm:s,onCancel:()=>d(`menu`)}):(0,H.jsx)(u.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,H.jsxs)(u.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,H.jsx)(u.Header,{children:(0,H.jsx)(u.Title,{children:c(`connectRecoveryDialog.authFailedTitle`)})}),(0,H.jsxs)(u.Body,{children:[(0,H.jsx)(u.Description,{children:c(`connectRecoveryDialog.authFailedBody`,{name:t})}),p,(0,H.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,H.jsx)(a,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>d(`confirm-repair`),children:c(`connectRecoveryDialog.wakeAndRepair`)}),(0,H.jsx)(a,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>d(`confirm-retire`),children:c(`connectRecoveryDialog.retire`)}),(0,H.jsx)(a,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:c(`actions.cancel`)})]})]})]})})}function He(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function G(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function K(e,t){let n=e.isPaired?D(e.runtimeUrl):e.isLocal?me()?`On this computer`:G(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${c(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function q(e){return`origin:${e.url}`}var J=`origin:vellum-cloud`;function Ge(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function Y(){let{t:e}=P(`onboarding`),t=xe(),r=ye(),[i,o]=be(),c=i.get(`fromLogin`)===`1`,u=i.get(`noAutoSkip`)===`1`,d=he(),f=me(),_=g(),ee=l.use.assistants(),y=ne.use.currentOrganizationId(),S=z.use.origins(),w=z.use.hydrated(),T=x(),{loading:D,error:ce,login:le,cancel:ue}=ie(),[O,fe]=(0,V.useState)(null),k=O===null?null:{url:O,name:`Vellum Cloud`},A=k!==null,j=e=>e.isPaired||e.isLocal&&f||_,M=ee.filter(s),N=M.filter(j),Se=N.length>0||S.length>0||k!==null,F=se(),we=!_&&F,[I,R]=(0,V.useState)(null),[B,Me]=(0,V.useState)(!1),[Ne,Ie]=(0,V.useState)(!1),[Le,U]=(0,V.useState)(null),[W,ze]=(0,V.useState)(null),[G,K]=(0,V.useState)(!1),[Ue,Y]=(0,V.useState)(null),[X,Z]=(0,V.useState)(null),[Xe,Ze]=(0,V.useState)(!1),[Qe,Q]=(0,V.useState)(null),[$e,et]=(0,V.useState)(!1),[$,tt]=(0,V.useState)(null),[nt,rt]=(0,V.useState)(!1),[it,at]=(0,V.useState)(null),ot=E.use.open(),st=E.use.initialAddress(),ct=E.use.guidanceKind(),lt=E.use.deepLinkDrainSettled(),ut=(0,V.useRef)(!1);(0,V.useEffect)(()=>{v()},[]),(0,V.useEffect)(()=>{je(),z.getState().hydrate()},[]),(0,V.useEffect)(()=>{if(!T)return;let e=!1;return ke().then(t=>{e||fe(t)}),()=>{e=!0}},[T]);let dt=(0,V.useRef)(!1);(0,V.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=i.get(`register`);if(e===null)return;let t=()=>o(Ge,{replace:!0}),n=Oe(e);if(n===null){t();return}z.getState().addOrigin({url:n,name:i.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[i,o]),(0,V.useEffect)(()=>{if(I===J&&A||I!=null&&S.some(e=>q(e)===I))return;if(N.length===0){let e=S[0],t=e?q(e):A?J:null;I!==t&&R(t);return}if(I!=null&&N.some(e=>e.id===I))return;let e=pe(y);R(N.find(t=>t.id===e)?.id??N[0].id)},[I,N,y,S,A]);let ft=async e=>{Me(!0),U(null);try{await de(e),t(C.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&se()&&(m(t)||te(t)||t instanceof h)&&ge(e.id)?ze(e):e.isPaired&&m(t)?U(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):U(`Failed to connect. Please try again.`),Me(!1)}},pt=()=>{ze(null),K(!1),Y(null),Ie(!1)},mt=async()=>{if(!(!W||G)){K(!0),Y(null);try{let e=await p(W.id,{repairGuardian:!0});if(e.ok){b(),pt(),ft(W);return}Y(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),Y(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!W||G)){K(!0),Y(null);try{let e=await oe(r,W.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}Y(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),Y(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Xe||(Z(null),Q(null))},_t=async()=>{if(!(!X||Xe)){if(Ze(!0),Q(null),X.isPaired){let e=await re(r,X.id);e.ok?(ut.current=!0,Z(null)):Q(e.error),Ze(!1);return}try{let e=await ve(X.id);if(e.ok){let e=l.getState();e.activeAssistantId===X.id&&e.setActiveAssistantId(null),ae(r,X.id),ut.current=!0,Z(null)}else Q(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Q(`Failed to remove. Please try again.`)}Ze(!1)}},vt=()=>{nt||(tt(null),at(null))},yt=async()=>{!$||nt||(rt(!0),at(null),await z.getState().removeOrigin($.url),z.getState().origins.some(e=>e.url===$.url)?at(`Failed to remove. Please try again.`):(ut.current=!0,tt(null)),rt(!1))},bt=e=>{E.getState().closeConnectDialog(),ft(l.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{et(!1),Pe(e,t??void 0)};(0,V.useEffect)(()=>{c||u||ut.current||f&&w&&(S.length>0||d&&!lt||B||Ne||ot||M.length!==0&&M.length===1&&N.length===1&&(Ie(!0),ft(N[0])))},[M.length,N.length,lt,f,S.length,w]);let St=()=>{if(I===J){Ae(null).then(e=>{!e&&O!==null&&window.location.assign(O)});return}let e=S.find(e=>q(e)===I);if(e){Fe(e)?t(C.assistant,{replace:!0}):Pe(e);return}let n=M.find(e=>e.id===I);n&&ft(n)},Ct=()=>{t(f?C.welcome:C.assistant)},wt=ce??Le;return Ne&&!wt&&!W?(0,H.jsx)(Ke,{}):(0,H.jsxs)(_e,{avatarWave:`beside`,children:[(0,H.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${d?`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,H.jsxs)(`div`,{className:`flex w-full flex-col items-center ${d?``:`flex-1 justify-center`}`,children:[(0,H.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,H.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,H.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:De,className:`flex w-full flex-col ${d?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[M.map(t=>{let n=j(t);return(0,H.jsx)(Je,{assistant:t,selected:I===t.id,locked:!n,tabStop:I==null?N[0]?.id===t.id:I===t.id,onSelect:()=>{n&&R(t.id)},loginLabel:e(D?`actions.cancel`:`actions.loginToUse`),loginDisabled:B,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?D?ue:()=>void le():void 0,onRemove:t.isPlatformHosted&&we||t.isPaired&&F?()=>Z(t):void 0},t.id)}),S.map((e,t)=>{let n=q(e),r=Fe(e);return(0,H.jsx)(Ye,{origin:e,selected:I===n,current:r,tabStop:I==null?N.length===0&&t===0:I===n,onSelect:()=>R(n),onRemove:r&&T?void 0:()=>tt(e)},e.url)}),k&&(0,H.jsx)(Ye,{origin:k,icon:(0,H.jsx)(Ee,{className:`h-5 w-5`}),selected:I===J,current:!1,tabStop:I==null?N.length===0&&S.length===0:I===J,onSelect:()=>R(J)}),f&&(0,H.jsx)(qe,{icon:(0,H.jsx)(Te,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:B||D,onClick:()=>void t(`${C.onboarding.hosting}?from=select-assistant`)}),F&&(0,H.jsx)(qe,{icon:(0,H.jsx)(L,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:B||D,onClick:()=>E.getState().openConnectDialog()}),!F&&(0,H.jsx)(qe,{icon:(0,H.jsx)(Ce,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:B||D,onClick:()=>et(!0)})]}),Se&&(0,H.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,H.jsx)(a,{variant:`primary`,size:d?`regular`:`large`,fullWidth:!0,onClick:St,disabled:!I||B,children:e(B?`actions.connecting`:`actions.continue`)})}),(0,H.jsx)(`div`,{className:Se?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,H.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:B||D,children:e(`actions.back`)})})]})}),(0,H.jsx)(Re,{open:$e,onClose:()=>et(!1),onAdded:xt}),(0,H.jsx)(Be,{open:ot,initialAddress:st??void 0,guidanceKind:ct??void 0,onClose:()=>E.getState().closeConnectDialog(),onImported:bt}),(0,H.jsx)(Ve,{open:W!=null,assistantName:W?He(W):``,isPending:G,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,H.jsx)(n,{open:X!=null,kind:X?.isPaired?`paired`:`platform`,assistantName:X?He(X):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Qe??void 0,isPending:Xe,onConfirm:()=>void _t(),onCancel:gt}),(0,H.jsx)(n,{open:$!=null,kind:`origin`,assistantName:$?We($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:it??void 0,isPending:nt,onConfirm:()=>void yt(),onCancel:vt})]})}function Ke(){let{t:e}=P(`onboarding`);return(0,H.jsx)(_e,{avatarWave:`beside`,children:(0,H.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,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function qe({icon:e,label:t,disabled:n,onClick:r}){let i=he();return(0,H.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`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,H.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function X({label:e,onRemove:t}){let{t:n}=P(`onboarding`);return(0,H.jsxs)(j.Root,{children:[(0,H.jsx)(j.Trigger,{asChild:!0,children:(0,H.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,H.jsx)(R,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,H.jsx)(j.Content,{align:`end`,sideOffset:4,children:(0,H.jsx)(j.Item,{onSelect:t,className:N.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function Z({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=he();return(0,H.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`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)]`,i?``:r?`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,H.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,H.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,H.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,H.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,H.jsx)(we,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Je({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:o,loginDisabled:s,onLogin:c,onRemove:l}){let{t:u}=P(`onboarding`),d=He(e),{traits:f,imageUrl:p,onImageError:m}=w(e);return(0,H.jsx)(Z,{icon:(0,H.jsx)(Ie,{traits:f,imageUrl:p,fallback:e.isPaired?(0,H.jsx)(L,{className:`h-5 w-5`}):e.isLocal?(0,H.jsx)(I,{className:`h-5 w-5`}):(0,H.jsx)(Ee,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:K(e,u),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&c?(0,H.jsx)(a,{variant:`primary`,size:`regular`,onClick:c,disabled:s,children:o}):void 0,removeMenu:l&&(0,H.jsx)(X,{label:d,onRemove:l})})}function Ye({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=P(`onboarding`),c=We(e);return(0,H.jsx)(Z,{icon:t??(0,H.jsx)(Ce,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Ue(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,H.jsx)(X,{label:c,onRemove:o})})}export{Y as SelectAssistantScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{AS as e,CS as t,Kg as n,Qy as r,lg as i}from"./app-
|
|
1
|
+
import{AS as e,CS as t,Kg as n,Qy as r,lg as i}from"./app-DENERwru.js";import{$ as a,k as o}from"./vendor-DEhKVoiV.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=r({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:e=>t(s,e)},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=e(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||!i()||(F=!0,w(P()))}async function L(e,t){if(!i())return!1;await n();try{return await t(),!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(!i())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{EC as e,by as t}from"./app-
|
|
1
|
+
import{EC as e,by as t}from"./app-DENERwru.js";import{j as n}from"./vendor-DEhKVoiV.js";import{t as r}from"./react-B9IgSVeK.js";import{Zr as i,fr as a}from"./icons-C0wyat6T.js";import{t as o}from"./detail-card-DDxZkd-7.js";var s=r();function c({id:e,title:t,subtitle:n,children:r}){return(0,s.jsx)(o,{id:e,title:t,subtitle:n,children:(0,s.jsx)(`div`,{className:`mt-4`,children:r})})}function l({onClick:t,disabled:r}){let{t:i}=n();return(0,s.jsx)(e,{onClick:t,disabled:r,children:i(`serviceFormControls.save`)})}function u({onClick:t,filled:r=!1}){let{t:i}=n();return(0,s.jsx)(e,{variant:r?`danger`:`dangerGhost`,onClick:t,children:i(`serviceFormControls.reset`)})}function d({guide:e}){return(0,s.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,s.jsx)(a,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,s.jsx)(`span`,{children:e.description}),(0,s.jsxs)(t,{href:e.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e.linkLabel,(0,s.jsx)(i,{className:`h-3 w-3`})]})]})]})}export{c as i,u as n,l as r,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{tC as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{tC as t}from"./app-DENERwru.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{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AC as t,Tn as n,nS as r}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AC as t,Tn as n,nS as r}from"./app-DENERwru.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=3e4;function c(e){let[,t]=(0,o.useState)(0);(0,o.useEffect)(()=>{if(!e)return;let n=setInterval(()=>t(e=>e+1),s);return()=>clearInterval(n)},[e])}function l(e){return n(typeof e==`string`?new Date(e).getTime():e,{locale:r(),minimumUnit:`minute`})}var u=i();function d({className:e}){return(0,u.jsx)(`div`,{role:`presentation`,className:t(`h-px w-full bg-[var(--border-base)]`,e)})}export{l as n,c as r,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ib as t,Nm as n,Pc as r,Rm as i,_f as a,bc as o,eS as s,hg as c,ka as l,rf as u,un as d,yr as f}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ib as t,Nm as n,Pc as r,Rm as i,_f as a,bc as o,eS as s,hg as c,ka as l,rf as u,un as d,yr as f}from"./app-DENERwru.js";import{j as p}from"./vendor-DEhKVoiV.js";import{d as m,f as h,i as g,t as _,x as v}from"./react-B9IgSVeK.js";import{Gn as y,Kn as b}from"./icons-C0wyat6T.js";import{n as x,t as S}from"./sidebar-tree-DIHisqCB.js";import{t as C}from"./use-supports-credentials-settings-B1wPMmZz.js";var w=e(v(),1),T=_();function E(){let e=a.use.settingsDeveloperNav(),_=a.use.vellumHostedInference(),v=u.use.setWindowsMenuBarSuppressed();(0,w.useEffect)(()=>(v(!0),()=>v(!1)),[v]);let{t:E}=p(`settings`),D=c(),O=t.use.activeAssistantId(),k=d(O),A=C(O),j=l(),M=n(),{pathname:N}=m(),P=h(),F=i(),{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)(()=>f.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(...f.filter(e=>e.id===`personality`).map(e=>({...e,label:L(e.id,e.label)}))),e&&t.push(...f.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 r(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===s.settings.root)return E(`sidebar.title`,`Settings`);let e=f.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:s.assistant,sidebar:(0,T.jsx)(S,{items:R,bottomItems:z,indexPath:s.settings.root}),title:B,menuReplacesContentOnMobile:!0,children:(0,T.jsx)(g,{})})}export{E as SettingsLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./share-feedback-modal-veiYaAaT.js";export{e as ShareFeedbackModal};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-DwZucAaM.js","assets/react-B9IgSVeK.js","assets/rolldown-runtime-BM3Ffeng.js","assets/vendor-DEhKVoiV.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ar as t,Au as n,EC as r,Fv as i,Im as a,OC as o,WS as s,by as c,cf as l,nC as u,pC as d,rC as ee,tC as f,tS as p,yh as te,za as ne,zx as m}from"./app-D8sMVA0h.js";import{E as h,N as g,Yn as re,j as _,tr as ie}from"./vendor-DEhKVoiV.js";import{b as v,t as y,v as b,x}from"./react-B9IgSVeK.js";import{Mn as S,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as C,pa as w,ri as de}from"./icons-C0wyat6T.js";var T=e(x(),1),fe=e(v(),1),pe=`vellum:debug:`;function E(){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(pe))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function me(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:m()},overrides:E()}}var D=y(),he=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,ge=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,_e={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},O=[{value:`bug_report`,icon:w,includesLogsByDefault:!0},{value:`feature_request`,icon:C,includesLogsByDefault:!1},{value:`other`,icon:S,includesLogsByDefault:!1}],k=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],A=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),j=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),M=10,N=50*1024*1024,ve={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ye(){if(p())return`electron`;let e=h.getPlatform();return e===`ios`||e===`android`?e:`web`}function be(e){return typeof e==`object`&&!!e&&`client`in e}function xe(e){if(e.size>N)return!1;if(e.type&&A.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?j.has(t):!1}return!1}var P=8192,F=/^data:([^;,]+);base64,/i,I=/^[A-Za-z0-9+/]+={0,2}$/;function L(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=>L(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=L(a,t,n);i=r}return n.delete(e),i}function R(e){return L(e,e=>{if(typeof e!=`string`)return null;let t=F.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=P&&I.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function z(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}`)}}),L(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 B(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 V(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:a}=await i({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(a||!(r instanceof Blob))return null;let o=await r.arrayBuffer();return new Uint8Array(o)}catch{return null}}async function H(){if(!h.isNativePlatform())return null;try{let{App:e}=await b(async()=>{let{App:e}=await import(`./esm-DwZucAaM.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 Se(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=k.find(t=>t.value===e),u=s.getTime(),d=c?.cutoffMs==null?null:u-c.cutoffMs,ee=d==null?null:new Date(d).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let ne=te(f),m={collected_at:s.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await H(),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)),re=h.encode(JSON.stringify(ne,null,2)),_=[B(`web-client-context.json`,g),B(`web-chat-diagnostics.json`,re)];if(r.queryClient)try{_.push(B(`web-asset-diagnostics.json`,h.encode(JSON.stringify(l(r.queryClient),null,2))))}catch{}let ie=new TextEncoder().encode(JSON.stringify(me(),null,2));_.push(B(`web-debug-flags.json`,ie));for(let e of o){let t=e.contents.trim();t&&_.push(B(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:z(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(R(n),null,2));_.push(B(`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(R(t),null,2));_.push(B(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));_.push(B(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);_.push(B(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await V(t,{window:{startTime:d,endTime:u},activeConversationId:n});e&&_.push(B(`platform-logs.tar.gz`,e))}_.push(new Uint8Array(1024));let v=_.reduce((e,t)=>e+t.length,0),y=new Uint8Array(v),b=0;for(let e of _)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),S=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([S],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function U({open:e,onClose:i,initialReason:l,initialMessage:te,onSubmitted:m,assistantId:h,assistantVersion:v,activeConversationId:y,doctorSessionId:b,doctorSessionLog:x,getDiagnosticsSnapshot:S}){let{t:C}=_(),w=ie(),pe=a.use.user(),E=pe?.email,me=pe?.isStaff??!1,k=(0,T.useId)(),A=(0,T.useRef)(null),j=(0,T.useRef)(null),N=(0,T.useRef)(null),P=(0,T.useRef)(null),F=(0,T.useMemo)(()=>[{value:`past_hour`,label:C(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:C(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:C(`shareFeedbackModal.timeRangeAllTime`)}],[C]),[I,L]=(0,T.useState)(l??`bug_report`),[R,z]=(0,T.useState)(``),[B,V]=(0,T.useState)(``),[H,U]=(0,T.useState)(O.find(e=>e.value===(l??`bug_report`))?.includesLogsByDefault??!0),[Te,Ee]=(0,T.useState)(!1),[W,G]=(0,T.useState)(`past_hour`),[K,q]=(0,T.useState)([]),[De,J]=(0,T.useState)(null),[Oe,Y]=(0,T.useState)(!1),[X,ke]=(0,T.useState)(!1),[Z,Ae]=(0,T.useState)(!1),je=re(n()),[Me,Q]=(0,T.useState)(!1),$=je.isPending||Me,Ne=!E,Pe=(0,T.useMemo)(()=>R.trim().length>0&&B.trim().length>0,[R,B]);(0,T.useEffect)(()=>{if(!e)return;let t=l??`bug_report`;L(t),z(te??``),V(E??``),U(O.find(e=>e.value===t)?.includesLogsByDefault??!0),Ee(!1),G(`past_hour`),q([]),ke(!1),Ae(!1),J(null),Q(!1),je.reset();let n=setTimeout(()=>{E?N.current?.focus():P.current?.focus()},50);return()=>clearTimeout(n)},[e]),ne(e);let Fe=e=>{L(e),Te||U(O.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ie=()=>{U(e=>!e),Ee(!0)},Le=x?.trim()?[{filename:`doctor-session.txt`,contents:x}]:[],Re=(0,T.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),i())},[i,$]),ze=(0,T.useCallback)(e=>{e.target===A.current&&!$&&i()},[i,$]),Be=(0,T.useCallback)(e=>{q(t=>{let n=M-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(!xe(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Ve=e=>{e.target.files&&Be(Array.from(e.target.files)),e.target.value=``},He=e=>{e.preventDefault(),Y(!1),e.dataTransfer.files?.length&&Be(Array.from(e.dataTransfer.files))},Ue=e=>{e.preventDefault(),Y(!0)},We=e=>{e.preventDefault(),e.currentTarget===e.target&&Y(!1)},Ge=e=>{q(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,D.jsx)(`div`,{ref:A,role:`dialog`,"aria-modal":`true`,"aria-labelledby":k,className:he,onKeyDown:Re,onClick:ze,onDrop:He,onDragOver:Ue,onDragLeave:We,children:(0,D.jsxs)(`div`,{className:ge,style:_e,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,D.jsx)(`h2`,{id:k,className:`!m-0 text-title-small text-[var(--content-default)]`,children:C(`shareFeedbackModal.title`)}),(0,D.jsx)(r,{variant:`ghost`,iconOnly:(0,D.jsx)(le,{}),onClick:i,disabled:$,"aria-label":C(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[me&&(0,D.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,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,D.jsx)(f,{checked:Z,onChange:()=>Ae(e=>!e),"aria-label":C(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:C(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:C(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,D.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:C(`shareFeedbackModal.timeRange`)}),(0,D.jsx)(s,{options:F,value:W,onChange:G,"aria-label":C(`shareFeedbackModal.timeRangeAria`)})]}):(0,D.jsxs)(D.Fragment,{children:[Ne&&(0,D.jsx)(u,{id:`${k}-email`,ref:P,label:C(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>V(e.target.value),leftIcon:(0,D.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:C(`shareFeedbackModal.category`)}),(0,D.jsx)(`div`,{className:`flex gap-2`,children:O.map(e=>(0,D.jsx)(Ce,{option:e,isSelected:I===e.value,onSelect:()=>Fe(e.value)},e.value))})]}),(0,D.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),I===`bug_report`&&(0,D.jsx)(d,{tone:`info`,children:(0,D.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,D.jsx)(c,{href:`https://vellum.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),I===`feature_request`&&(0,D.jsx)(d,{tone:`info`,children:(0,D.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,D.jsx)(c,{href:`https://vellum.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,D.jsx)(ee,{id:`${k}-message`,ref:N,label:C(I===`bug_report`?`shareFeedbackModal.messageLabelBug`:I===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:C(I===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:I===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:R,onChange:e=>z(e.target.value),fullWidth:!0}),I!==`feature_request`&&(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:H,onChange:Ie,"aria-label":C(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:C(`shareFeedbackModal.includeDiagnostics`)})]}),(0,D.jsx)(o,{content:C(`shareFeedbackModal.diagnosticsTooltip`),children:(0,D.jsx)(`button`,{type:`button`,"aria-label":C(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,D.jsx)(ce,{className:`h-3.5 w-3.5`})})})]}),H&&(0,D.jsx)(s,{options:F,value:W,onChange:G,"aria-label":C(`shareFeedbackModal.timeRangeAria`)})]}),p()&&y&&I!==`feature_request`&&(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:X,onChange:()=>ke(e=>!e),"aria-label":C(`shareFeedbackModal.includeConversationAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:C(`shareFeedbackModal.includeConversation`)})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[C(`shareFeedbackModal.attachments`),K.length>0&&(0,D.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,K.length,`/`,M]})]}),(0,D.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,D.jsx)(ue,{}),onClick:()=>j.current?.click(),disabled:K.length>=M,children:C(`shareFeedbackModal.addFiles`)}),(0,D.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Ve,className:`hidden`})]}),K.length>0&&(0,D.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:K.map((e,t)=>(0,D.jsx)(we,{file:e,onRemove:()=>Ge(t)},`${e.name}-${t}`))}),Oe&&(0,D.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:C(`shareFeedbackModal.dropFiles`)})]})]}),De&&(0,D.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:De})]}),(0,D.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,D.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,D.jsx)(oe,{className:`h-4 w-4 animate-spin`}),C(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(r,{variant:`ghost`,onClick:i,children:C(`shareFeedbackModal.cancel`)}),Z?(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(de,{}),onClick:async()=>{if(!$){J(null),Q(!0);try{let e=await Se(W,h??null,p()?X?y??null:null:y??null,{diagnosticsProvider:S,queryClient:w,doctorSessionId:b,extraLogFiles:Le});if(!e){J(`Diagnostics export isn't supported in this browser.`);return}await t(e,e.name),i()}catch(e){J(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:C(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(se,{}),onClick:async()=>{if(!(!Pe||$)){J(null),Q(!0);try{let e=H&&I!==`feature_request`?await Se(W,h??null,p()?X?y??null:null:y??null,{diagnosticsProvider:S,queryClient:w,doctorSessionId:b,extraLogFiles:Le}):null,t=ye(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let r=t=>je.mutateAsync({headers:{"Content-Type":null},body:{message:R.trim(),classification:ve[I],email:B.trim(),client:t,client_version:n,...h?{assistant_id:h}:{},...v?{assistant_version:v}:{},...b?{doctor_session_id:b}:{},...e?{logs_file:e}:{},...K.length?{attachments:K}:{}},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 r(t)}catch(e){if(t!==`android`||!be(e))throw e;await r(`web`)}m?.(),i()}catch(e){J(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Pe,children:C(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Ce({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,D.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,D.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,D.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function we({file:e,onRemove:t}){let{t:n}=_(),i=e.type.startsWith(`image/`),a=(0,T.useMemo)(()=>i?URL.createObjectURL(e):null,[e,i]);return(0,T.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,D.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:[i&&a?(0,D.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,D.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,D.jsx)(r,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{z as n,R as r,U as t};
|
|
2
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ar as t,Au as n,EC as r,Fv as i,Im as a,OC as o,WS as s,by as c,cf as l,nC as u,pC as d,rC as ee,tC as f,tS as p,yh as te,za as ne,zx as m}from"./app-DENERwru.js";import{E as h,N as g,Yn as re,j as _,tr as ie}from"./vendor-DEhKVoiV.js";import{b as v,t as y,v as b,x}from"./react-B9IgSVeK.js";import{Mn as S,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as C,pa as w,ri as de}from"./icons-C0wyat6T.js";var T=e(x(),1),fe=e(v(),1),pe=`vellum:debug:`;function E(){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(pe))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function me(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:m()},overrides:E()}}var D=y(),he=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,ge=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,_e={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},O=[{value:`bug_report`,icon:w,includesLogsByDefault:!0},{value:`feature_request`,icon:C,includesLogsByDefault:!1},{value:`other`,icon:S,includesLogsByDefault:!1}],k=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],A=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),j=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),M=10,N=50*1024*1024,ve={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ye(){if(p())return`electron`;let e=h.getPlatform();return e===`ios`||e===`android`?e:`web`}function be(e){return typeof e==`object`&&!!e&&`client`in e}function xe(e){if(e.size>N)return!1;if(e.type&&A.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?j.has(t):!1}return!1}var P=8192,F=/^data:([^;,]+);base64,/i,I=/^[A-Za-z0-9+/]+={0,2}$/;function L(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=>L(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=L(a,t,n);i=r}return n.delete(e),i}function R(e){return L(e,e=>{if(typeof e!=`string`)return null;let t=F.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=P&&I.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function z(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}`)}}),L(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 B(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 V(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:a}=await i({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(a||!(r instanceof Blob))return null;let o=await r.arrayBuffer();return new Uint8Array(o)}catch{return null}}async function H(){if(!h.isNativePlatform())return null;try{let{App:e}=await b(async()=>{let{App:e}=await import(`./esm-DwZucAaM.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 Se(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=k.find(t=>t.value===e),u=s.getTime(),d=c?.cutoffMs==null?null:u-c.cutoffMs,ee=d==null?null:new Date(d).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let ne=te(f),m={collected_at:s.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await H(),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)),re=h.encode(JSON.stringify(ne,null,2)),_=[B(`web-client-context.json`,g),B(`web-chat-diagnostics.json`,re)];if(r.queryClient)try{_.push(B(`web-asset-diagnostics.json`,h.encode(JSON.stringify(l(r.queryClient),null,2))))}catch{}let ie=new TextEncoder().encode(JSON.stringify(me(),null,2));_.push(B(`web-debug-flags.json`,ie));for(let e of o){let t=e.contents.trim();t&&_.push(B(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:z(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(R(n),null,2));_.push(B(`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(R(t),null,2));_.push(B(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));_.push(B(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);_.push(B(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await V(t,{window:{startTime:d,endTime:u},activeConversationId:n});e&&_.push(B(`platform-logs.tar.gz`,e))}_.push(new Uint8Array(1024));let v=_.reduce((e,t)=>e+t.length,0),y=new Uint8Array(v),b=0;for(let e of _)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),S=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([S],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function U({open:e,onClose:i,initialReason:l,initialMessage:te,onSubmitted:m,assistantId:h,assistantVersion:v,activeConversationId:y,doctorSessionId:b,doctorSessionLog:x,getDiagnosticsSnapshot:S}){let{t:C}=_(),w=ie(),pe=a.use.user(),E=pe?.email,me=pe?.isStaff??!1,k=(0,T.useId)(),A=(0,T.useRef)(null),j=(0,T.useRef)(null),N=(0,T.useRef)(null),P=(0,T.useRef)(null),F=(0,T.useMemo)(()=>[{value:`past_hour`,label:C(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:C(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:C(`shareFeedbackModal.timeRangeAllTime`)}],[C]),[I,L]=(0,T.useState)(l??`bug_report`),[R,z]=(0,T.useState)(``),[B,V]=(0,T.useState)(``),[H,U]=(0,T.useState)(O.find(e=>e.value===(l??`bug_report`))?.includesLogsByDefault??!0),[Te,Ee]=(0,T.useState)(!1),[W,G]=(0,T.useState)(`past_hour`),[K,q]=(0,T.useState)([]),[De,J]=(0,T.useState)(null),[Oe,Y]=(0,T.useState)(!1),[X,ke]=(0,T.useState)(!1),[Z,Ae]=(0,T.useState)(!1),je=re(n()),[Me,Q]=(0,T.useState)(!1),$=je.isPending||Me,Ne=!E,Pe=(0,T.useMemo)(()=>R.trim().length>0&&B.trim().length>0,[R,B]);(0,T.useEffect)(()=>{if(!e)return;let t=l??`bug_report`;L(t),z(te??``),V(E??``),U(O.find(e=>e.value===t)?.includesLogsByDefault??!0),Ee(!1),G(`past_hour`),q([]),ke(!1),Ae(!1),J(null),Q(!1),je.reset();let n=setTimeout(()=>{E?N.current?.focus():P.current?.focus()},50);return()=>clearTimeout(n)},[e]),ne(e);let Fe=e=>{L(e),Te||U(O.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ie=()=>{U(e=>!e),Ee(!0)},Le=x?.trim()?[{filename:`doctor-session.txt`,contents:x}]:[],Re=(0,T.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),i())},[i,$]),ze=(0,T.useCallback)(e=>{e.target===A.current&&!$&&i()},[i,$]),Be=(0,T.useCallback)(e=>{q(t=>{let n=M-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(!xe(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Ve=e=>{e.target.files&&Be(Array.from(e.target.files)),e.target.value=``},He=e=>{e.preventDefault(),Y(!1),e.dataTransfer.files?.length&&Be(Array.from(e.dataTransfer.files))},Ue=e=>{e.preventDefault(),Y(!0)},We=e=>{e.preventDefault(),e.currentTarget===e.target&&Y(!1)},Ge=e=>{q(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,D.jsx)(`div`,{ref:A,role:`dialog`,"aria-modal":`true`,"aria-labelledby":k,className:he,onKeyDown:Re,onClick:ze,onDrop:He,onDragOver:Ue,onDragLeave:We,children:(0,D.jsxs)(`div`,{className:ge,style:_e,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,D.jsx)(`h2`,{id:k,className:`!m-0 text-title-small text-[var(--content-default)]`,children:C(`shareFeedbackModal.title`)}),(0,D.jsx)(r,{variant:`ghost`,iconOnly:(0,D.jsx)(le,{}),onClick:i,disabled:$,"aria-label":C(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[me&&(0,D.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,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,D.jsx)(f,{checked:Z,onChange:()=>Ae(e=>!e),"aria-label":C(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:C(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:C(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,D.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:C(`shareFeedbackModal.timeRange`)}),(0,D.jsx)(s,{options:F,value:W,onChange:G,"aria-label":C(`shareFeedbackModal.timeRangeAria`)})]}):(0,D.jsxs)(D.Fragment,{children:[Ne&&(0,D.jsx)(u,{id:`${k}-email`,ref:P,label:C(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>V(e.target.value),leftIcon:(0,D.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:C(`shareFeedbackModal.category`)}),(0,D.jsx)(`div`,{className:`flex gap-2`,children:O.map(e=>(0,D.jsx)(Ce,{option:e,isSelected:I===e.value,onSelect:()=>Fe(e.value)},e.value))})]}),(0,D.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),I===`bug_report`&&(0,D.jsx)(d,{tone:`info`,children:(0,D.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,D.jsx)(c,{href:`https://vellum.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),I===`feature_request`&&(0,D.jsx)(d,{tone:`info`,children:(0,D.jsx)(g,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,D.jsx)(c,{href:`https://vellum.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,D.jsx)(ee,{id:`${k}-message`,ref:N,label:C(I===`bug_report`?`shareFeedbackModal.messageLabelBug`:I===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:C(I===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:I===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:R,onChange:e=>z(e.target.value),fullWidth:!0}),I!==`feature_request`&&(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:H,onChange:Ie,"aria-label":C(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:C(`shareFeedbackModal.includeDiagnostics`)})]}),(0,D.jsx)(o,{content:C(`shareFeedbackModal.diagnosticsTooltip`),children:(0,D.jsx)(`button`,{type:`button`,"aria-label":C(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,D.jsx)(ce,{className:`h-3.5 w-3.5`})})})]}),H&&(0,D.jsx)(s,{options:F,value:W,onChange:G,"aria-label":C(`shareFeedbackModal.timeRangeAria`)})]}),p()&&y&&I!==`feature_request`&&(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:X,onChange:()=>ke(e=>!e),"aria-label":C(`shareFeedbackModal.includeConversationAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:C(`shareFeedbackModal.includeConversation`)})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[C(`shareFeedbackModal.attachments`),K.length>0&&(0,D.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,K.length,`/`,M]})]}),(0,D.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,D.jsx)(ue,{}),onClick:()=>j.current?.click(),disabled:K.length>=M,children:C(`shareFeedbackModal.addFiles`)}),(0,D.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Ve,className:`hidden`})]}),K.length>0&&(0,D.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:K.map((e,t)=>(0,D.jsx)(we,{file:e,onRemove:()=>Ge(t)},`${e.name}-${t}`))}),Oe&&(0,D.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:C(`shareFeedbackModal.dropFiles`)})]})]}),De&&(0,D.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:De})]}),(0,D.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,D.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,D.jsx)(oe,{className:`h-4 w-4 animate-spin`}),C(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(r,{variant:`ghost`,onClick:i,children:C(`shareFeedbackModal.cancel`)}),Z?(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(de,{}),onClick:async()=>{if(!$){J(null),Q(!0);try{let e=await Se(W,h??null,p()?X?y??null:null:y??null,{diagnosticsProvider:S,queryClient:w,doctorSessionId:b,extraLogFiles:Le});if(!e){J(`Diagnostics export isn't supported in this browser.`);return}await t(e,e.name),i()}catch(e){J(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:C(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(se,{}),onClick:async()=>{if(!(!Pe||$)){J(null),Q(!0);try{let e=H&&I!==`feature_request`?await Se(W,h??null,p()?X?y??null:null:y??null,{diagnosticsProvider:S,queryClient:w,doctorSessionId:b,extraLogFiles:Le}):null,t=ye(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let r=t=>je.mutateAsync({headers:{"Content-Type":null},body:{message:R.trim(),classification:ve[I],email:B.trim(),client:t,client_version:n,...h?{assistant_id:h}:{},...v?{assistant_version:v}:{},...b?{doctor_session_id:b}:{},...e?{logs_file:e}:{},...K.length?{attachments:K}:{}},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 r(t)}catch(e){if(t!==`android`||!be(e))throw e;await r(`web`)}m?.(),i()}catch(e){J(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Pe,children:C(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Ce({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,D.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,D.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,D.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function we({file:e,onRemove:t}){let{t:n}=_(),i=e.type.startsWith(`image/`),a=(0,T.useMemo)(()=>i?URL.createObjectURL(e):null,[e,i]);return(0,T.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,D.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:[i&&a?(0,D.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,D.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,D.jsx)(r,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{z as n,R as r,U as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ca as t,Cl as n,EC as r,Lo as i,RS as a,eS as o,gC as s,lg as c,tS as l}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ca as t,Cl as n,EC as r,Lo as i,RS as a,eS as o,gC as s,lg as c,tS as l}from"./app-DENERwru.js";import{j as u}from"./vendor-DEhKVoiV.js";import{d,f,n as p,t as m,x as h}from"./react-B9IgSVeK.js";import{Gi as g,za as _}from"./icons-C0wyat6T.js";import{t as v}from"./link-click-IkiMmOF_.js";import{t as y}from"./use-edge-swipe-back-CIvyTWTH.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 c()&&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:a,actions:c,backHref:m,title:h=`Settings`,menuRoute:g=o.settings.root,menuReplacesContentOnMobile:v=!1}){let{t:x}=u(),{pathname:S}=d(),C=f(),w=S===g,T=n(),O=T&&w,k=!(O&&v),A=(0,b.useRef)(null),j=(0,b.useRef)(null);(0,b.useLayoutEffect)(()=>{j.current?.scrollTo(0,0)},[S]);let M=w?m:g;y({containerRef:A,onBack:(0,b.useCallback)(()=>{C(M)},[C,M]),enabled:T,navKey:S,prefetchHref:M});let N=l(),P=x(w?`sidebarShell.backFrom`:`sidebarShell.backToMenu`,{title:h}),F=(0,D.jsx)(r,{variant:`ghost`,iconOnly:(0,D.jsx)(_,{}),"aria-label":P,tintColor:`var(--content-secondary)`,onClick:()=>E(C,M,`pop`)}),I=(0,D.jsx)(r,{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)(_,{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)(s,{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)(i,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(t,{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:c})]}),(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:a}):null]})]})]})}function k({items:e,bottomItems:t,indexPath:r}){let{t:i}=u(),{pathname:o}=d(),s=f(),c=n(),l=(e,t,n)=>{let{href:i,onSelect:l}=e,u=i!=null&&(o===i||o.startsWith(i+`/`)||!c&&n&&r!=null&&o===r);return(0,D.jsxs)(b.Fragment,{children:[(0,D.jsx)(a.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:i==null?void 0:g,trailingIconClassName:i==null?void 0:`md:hidden`,href:i,onSelect:l,onClick:i==null?void 0:e=>{v(e)||(e.preventDefault(),E(s,i,`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":i(`sidebarTree.ariaLabel`),className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>l(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)=>l(e,n===t.length-1,!1))]})]})}export{O as n,k as t};
|