@vellumai/web 0.12.2-dev.202609182015.188de8a → 0.12.2-dev.202609182114.335fa56
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-BkJsiMCk.js → a2a-invite-Ci3O-UuB.js} +1 -1
- package/dist/assets/{about-page-DKz6hc6m.js → about-page-B-7lyYEB.js} +1 -1
- package/dist/assets/{account-page-D2086vlm.js → account-page-CGtIVDfJ.js} +1 -1
- package/dist/assets/{account-shell-BzbAvUcW.js → account-shell-DLy0Ad5J.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-D1q28OPn.js → acp-run-detail-panel-D1WXDwZ3.js} +1 -1
- package/dist/assets/{activation-list-route-CymK18w2.js → activation-list-route-B5Ewg5yz.js} +1 -1
- package/dist/assets/{activity-redirect-page-DCcfRUi_.js → activity-redirect-page-2lUB6VgV.js} +1 -1
- package/dist/assets/{activity-steps-panel-BYjkiE5D.js → activity-steps-panel-Ba9xwFXj.js} +1 -1
- package/dist/assets/add-credits-modal-DqL2PtAm.js +1 -0
- package/dist/assets/{add-credits-modal-4Etl1PAt.js → add-credits-modal-xD_fI3hc.js} +1 -1
- package/dist/assets/{ai-page-CkrearYq.js → ai-page-BBz-BfyC.js} +1 -1
- package/dist/assets/{android-billing-handoff-B_bu7Rr8.js → android-billing-handoff-BBh13NBZ.js} +1 -1
- package/dist/assets/{api-key-screen-STe5cIxn.js → api-key-screen-DLdU9-qN.js} +1 -1
- package/dist/assets/{app-BfK0IQIk.js → app-BBUxTj9g.js} +65 -65
- package/dist/assets/{app-info-mmyV2q32.js → app-info-CtXHTQ8I.js} +1 -1
- package/dist/assets/{archive-redirect-page-BB3zYu05.js → archive-redirect-page-CR1hXS8u.js} +1 -1
- package/dist/assets/{assistant-handle-modal-CgnaRG-5.js → assistant-handle-modal-BAfB5jfI.js} +1 -1
- package/dist/assets/{assistant-inbox-page-route-CZEp6qpH.js → assistant-inbox-page-route-BCzsw_dR.js} +1 -1
- package/dist/assets/{assistant-inbox-upgrade-body-gHf4cLXK.js → assistant-inbox-upgrade-body-DqRg_E8P.js} +1 -1
- package/dist/assets/{assistant-status-panel-BTvZ573v.js → assistant-status-panel-CXtpB-3s.js} +1 -1
- package/dist/assets/auth-store-VfQBlZjf.js +1 -0
- package/dist/assets/{auth-welcome-screen-BTwCPZYQ.js → auth-welcome-screen-eEmmCa7a.js} +1 -1
- package/dist/assets/avatar-bundled-components-CBxBRJHT.js +1 -0
- package/dist/assets/{avatar-random-Bu1JUc-m.js → avatar-random-CmFgdVYy.js} +2 -2
- package/dist/assets/{await-org-header-settled-DIoy1_Jd.js → await-org-header-settled-rFkQnSY1.js} +1 -1
- package/dist/assets/{background-task-detail-panel-DJsB3oAn.js → background-task-detail-panel-CujUAl64.js} +1 -1
- package/dist/assets/{billing-page-KdEbDnk2.js → billing-page-C3fvhOOQ.js} +3 -3
- package/dist/assets/{billing-redirect-page-B0JXbuDV.js → billing-redirect-page-CKl8d4sb.js} +1 -1
- package/dist/assets/{bookmarks-page-VALGfihg.js → bookmarks-page-B2YSfE6-.js} +1 -1
- package/dist/assets/{bundle-confirm-page-CaLFi7ku.js → bundle-confirm-page-gJCzHRKr.js} +1 -1
- package/dist/assets/{channel-transcript-panel-D4KVRmwh.js → channel-transcript-panel-D5L38TzO.js} +1 -1
- package/dist/assets/{channels-page-route-COc0hysG.js → channels-page-route-afqHw3N0.js} +1 -1
- package/dist/assets/{chat-info-panel-pW2_d9mO.js → chat-info-panel-DTA_-olk.js} +1 -1
- package/dist/assets/{checkout-continuation-9qrV5c78.js → checkout-continuation-5Jtm_JrA.js} +1 -1
- package/dist/assets/{checkout-page-DxpEqYIc.js → checkout-page-DULnZwd9.js} +1 -1
- package/dist/assets/checkout-return-target-DWik-led.js +1 -0
- package/dist/assets/{command-palette-E9QrPenm.js → command-palette-BD0yvfbb.js} +1 -1
- package/dist/assets/command-palette-CVX6w4zo.js +1 -0
- package/dist/assets/{command-palette-window-page-CZXCfB57.js → command-palette-window-page-Bk5U7P1e.js} +1 -1
- package/dist/assets/common-2tBLDaGA.js +1 -0
- package/dist/assets/common-BbH8TVsn.js +1 -0
- package/dist/assets/common-CLiCbaO-.js +1 -0
- package/dist/assets/{common-c9S--s7Z.js → common-WxNH1jIH.js} +1 -1
- package/dist/assets/{community-page-Cj2Wd0lm.js → community-page-CUQ3qu-V.js} +1 -1
- package/dist/assets/{companion-accent-DDGqoGt7.js → companion-accent-BYoVCdU1.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-DTi3NZqD.js → companion-dock-zones-page-sX6B3NE_.js} +1 -1
- package/dist/assets/{companion-layout-oDK2JvY4.js → companion-layout-33AE1gia.js} +1 -1
- package/dist/assets/{companion-popover-DbIXR8Bk.js → companion-popover-TujVt-Ar.js} +1 -1
- package/dist/assets/{companion-popover-page-BSLD45sw.js → companion-popover-page-ByBb4sHd.js} +1 -1
- package/dist/assets/{companion-surface-page-BO8ktCPi.js → companion-surface-page-BbWzCHgm.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-DFn5w5vu.js → companion-watch-frame-page-BIETd4hp.js} +1 -1
- package/dist/assets/{connect-page-Do1DxTJR.js → connect-page-BO1XQJwf.js} +1 -1
- package/dist/assets/{consent-controls-D99GwSSN.js → consent-controls-DZjKfsjW.js} +1 -1
- package/dist/assets/{contacts-gateway-BC6WaVFg.js → contacts-gateway-B5O7Ne74.js} +1 -1
- package/dist/assets/{contacts-page-route-CXW0fKwC.js → contacts-page-route-CWQ8xq2e.js} +1 -1
- package/dist/assets/{copy-button-CmwoARVB.js → copy-button-BIeybJYd.js} +1 -1
- package/dist/assets/{credential-entry-page-DfXFeMIN.js → credential-entry-page-BRvUcU5-.js} +1 -1
- package/dist/assets/{credentials-page-DRVB3E60.js → credentials-page-BCpKSirx.js} +1 -1
- package/dist/assets/{csv-preview-CiaeYC20.js → csv-preview-sSdnMx-6.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-B4c2l_0r.js → danger-zone-redirect-page-521j5Kuo.js} +1 -1
- package/dist/assets/{debug-page-CvyE149B.js → debug-page-Ci2myxA0.js} +1 -1
- package/dist/assets/deploy-dialogs-pkluahDA.js +1 -0
- package/dist/assets/{deploy-dialogs-mEenw05v.js → deploy-dialogs-u3yfw8HJ.js} +1 -1
- package/dist/assets/{desktop-preview-content-DWlmtZ40.js → desktop-preview-content-DYVVZr2w.js} +2 -2
- package/dist/assets/{desktop-status-u4hV53HS.js → desktop-status-B4ofrNCE.js} +1 -1
- package/dist/assets/{desktop-viewer-CFOGac24.js → desktop-viewer-CxxkXSPF.js} +1 -1
- package/dist/assets/{detail-card-CZVSMSNs.js → detail-card-BhMBZjzu.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-CoA_583J.js → detail-panel-stop-button-BXvuwM0g.js} +1 -1
- package/dist/assets/detail-primitives-Bh6NmCv7.js +1 -0
- package/dist/assets/{developer-page-Co9T6jqJ.js → developer-page-CC5VjRqN.js} +1 -1
- package/dist/assets/{devices-redirect-page-CbXvqz4V.js → devices-redirect-page-sytJWmif.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DohFzjtT.js → dictation-overlay-page-wEGaipQM.js} +1 -1
- package/dist/assets/document-load-C91qCZur.js +1 -0
- package/dist/assets/{document-load-DGt33NFw.js → document-load-Cxy5V3Q3.js} +1 -1
- package/dist/assets/{document-viewer-page-DMRNTqY7.js → document-viewer-page-CF5Qsyn0.js} +1 -1
- package/dist/assets/{emails-page-CgbmlG_-.js → emails-page-CF5E8gMK.js} +1 -1
- package/dist/assets/{file-diff-view-D0X_TuVO.js → file-diff-view-DeCwZxAs.js} +1 -1
- package/dist/assets/{file-editor-vMWOc28f.js → file-editor-kOM9p3-b.js} +1 -1
- package/dist/assets/{general-page-DRoY1Iej.js → general-page-CHuT-gI-.js} +1 -1
- package/dist/assets/{hatching-screen-BNJtdwkK.js → hatching-screen-CRUvQYM3.js} +1 -1
- package/dist/assets/{hosting-screen-BZRT7l7I.js → hosting-screen-cKl8LkVn.js} +1 -1
- package/dist/assets/{identity-page-route-CFrCh_KE.js → identity-page-route-A6PcJJKj.js} +1 -1
- package/dist/assets/{inspect-page-BHkl8Ibk.js → inspect-page-C98uAPdc.js} +3 -3
- package/dist/assets/{integrations-page-BYqa4ZWD.js → integrations-page-C8x-gkb9.js} +1 -1
- package/dist/assets/{intelligence-layout-eis9JaHj.js → intelligence-layout-ChW1oIoj.js} +1 -1
- package/dist/assets/intelligence-layout-slots-store-D8qMofvo.js +1 -0
- package/dist/assets/{keyboard-shortcuts-redirect-page-Lb1SQwRg.js → keyboard-shortcuts-redirect-page-BYcDZHs7.js} +1 -1
- package/dist/assets/{latest-assistant-text-T4hNgVuv.js → latest-assistant-text-Dnh6k0g4.js} +1 -1
- package/dist/assets/{library-detail-page-CWDBsQis.js → library-detail-page-DRUffaFd.js} +1 -1
- package/dist/assets/{library-page-Mg60THux.js → library-page-dNnf_D2k.js} +1 -1
- package/dist/assets/local-mode-DI-seN56.js +1 -0
- package/dist/assets/{login-page-DQCXCIr1.js → login-page-BPkEvkFD.js} +1 -1
- package/dist/assets/{logout-page-7dYOYnPb.js → logout-page-D3opSUZI.js} +1 -1
- package/dist/assets/{logs-layout-CY2j2fvO.js → logs-layout-ZkvUiVsu.js} +1 -1
- package/dist/assets/{markdown-preview-CfEjiWNm.js → markdown-preview-MnyvCMa3.js} +1 -1
- package/dist/assets/{media-preview-BaQUTRiQ.js → media-preview-BQxdPaMe.js} +1 -1
- package/dist/assets/{memory-page-route-C03izhfJ.js → memory-page-route-6Xr4vUpi.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DdjGQ-b9.js → memory-router-playground-page-CaTWoBrm.js} +1 -1
- package/dist/assets/{message-files-panel-DCFWS80s.js → message-files-panel-CL8oaeEs.js} +1 -1
- package/dist/assets/{metric-card-BPdD5GIY.js → metric-card-Bk5HVUSj.js} +1 -1
- package/dist/assets/native-attachment-pickers-DSMoNnpj.js +1 -0
- package/dist/assets/native-file-BsIX0824.js +1 -0
- package/dist/assets/{notifications-page-BrufA0ep.js → notifications-page-BwawEEVb.js} +1 -1
- package/dist/assets/{oauth-complete-page-CU0ZFKgo.js → oauth-complete-page-E8VFzbV8.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CWV5_KjG.js → oauth-popup-complete-page-BPruZqf-.js} +1 -1
- package/dist/assets/paired-platform-identity-DC-PSt-z.js +1 -0
- package/dist/assets/{pairing-page-BWvSec2z.js → pairing-page-pUxc_Q6w.js} +1 -1
- package/dist/assets/password-reset-page-D_XJ_720.js +1 -0
- package/dist/assets/{pdf-file-preview-BDNFrYwL.js → pdf-file-preview-CcYLZEEX.js} +1 -1
- package/dist/assets/{personality-page-BeDOP0Yx.js → personality-page-D7ltEpyD.js} +1 -1
- package/dist/assets/{personality-page-BgCVuORF.js → personality-page-DJ8ZQNex.js} +1 -1
- package/dist/assets/{personality-sliders-DPrI9-Un.js → personality-sliders-B_qi0jNr.js} +1 -1
- package/dist/assets/{plans-page-Dulw9Q1k.js → plans-page-DjMkYu8P.js} +1 -1
- package/dist/assets/{platform-loopback-page-SyOClPdC.js → platform-loopback-page-B7YadjAM.js} +1 -1
- package/dist/assets/{plugin-detail-page-ycy32YsM.js → plugin-detail-page-DJHgAPt-.js} +1 -1
- package/dist/assets/{plugins-page-6VvPNQ_q.js → plugins-page-t9j6WJsi.js} +1 -1
- package/dist/assets/plugins-surface-DY7rojgP.js +1 -0
- package/dist/assets/{preview-error-CYKkv16g.js → preview-error-CTmJUZ1U.js} +1 -1
- package/dist/assets/{privacy-page-CFrLoQuJ.js → privacy-page-CcVYTYFw.js} +1 -1
- package/dist/assets/{privacy-screen-BuIFw79d.js → privacy-screen-D6KWda_d.js} +1 -1
- package/dist/assets/{profile-card-DOKegb-a.js → profile-card-B0q-4VDK.js} +1 -1
- package/dist/assets/{provider-callback-page-CPnDutdc.js → provider-callback-page-DUPzWdsn.js} +1 -1
- package/dist/assets/{provider-key-AVs0qMXM.js → provider-key-Bt_1m-Ip.js} +1 -1
- package/dist/assets/{provider-signup-page-DTPzoL0u.js → provider-signup-page-Dyube2uE.js} +1 -1
- package/dist/assets/{quick-input-page-B0ICyEgU.js → quick-input-page-phOYFcWE.js} +1 -1
- package/dist/assets/{referral-modal-1zPoMtxP.js → referral-modal-BpEe6RfT.js} +1 -1
- package/dist/assets/referral-modal-YlLIteDB.js +1 -0
- package/dist/assets/{research-mock-page-D-e9x0aU.js → research-mock-page-3sH3Ojod.js} +1 -1
- package/dist/assets/{research-onboarding-route-DtHB29VX.js → research-onboarding-route-W8ZOplPi.js} +1 -1
- package/dist/assets/{review-terms-screen-BbXyCCa7.js → review-terms-screen-p7rIoNoi.js} +1 -1
- package/dist/assets/routes-vi064rNI.js +1 -0
- package/dist/assets/{schedules-DfRCZ1RP.js → schedules-G-fQS88Z.js} +1 -1
- package/dist/assets/{schedules-page-Dcpdy1n1.js → schedules-page-Bz8dQuZ9.js} +1 -1
- package/dist/assets/{security-redirect-page-BqN7nDmC.js → security-redirect-page-nqyQ-l9I.js} +1 -1
- package/dist/assets/{select-assistant-screen-D7lOSn8K.js → select-assistant-screen-DTbgqPJ8.js} +1 -1
- package/dist/assets/{self-hosted-servers-mfRYC3V6.js → self-hosted-servers-TGCgx_Zl.js} +1 -1
- package/dist/assets/{service-form-controls-yfiFapqu.js → service-form-controls-BYas0Fj1.js} +1 -1
- package/dist/assets/{setting-row-hz10CsiO.js → setting-row-DeKbamTb.js} +1 -1
- package/dist/assets/{settings-divider-BTsvGg8f.js → settings-divider-fX1al4v0.js} +1 -1
- package/dist/assets/{settings-layout-CJfkUjGu.js → settings-layout-_uQXbZvN.js} +1 -1
- package/dist/assets/share-feedback-modal-BbfX56Tb.js +1 -0
- package/dist/assets/{share-feedback-modal-CxxySevk.js → share-feedback-modal-Bgjk4m6g.js} +1 -1
- package/dist/assets/{sidebar-tree-Bu-uVPbk.js → sidebar-tree-BxII4vqO.js} +1 -1
- package/dist/assets/{signup-page-NLKt0-kE.js → signup-page--iXCz-aP.js} +1 -1
- package/dist/assets/{signup-shell-DU-HQ4Is.js → signup-shell-D2m_KGDx.js} +1 -1
- package/dist/assets/{skill-detail-page-D2ynj5TG.js → skill-detail-page-DApsFagl.js} +1 -1
- package/dist/assets/{skill-detail-panel-CkzKPc65.js → skill-detail-panel-D2ghwCqP.js} +1 -1
- package/dist/assets/{skill-removal-dialog-Cf4V-l2v.js → skill-removal-dialog-C3KKFPCH.js} +1 -1
- package/dist/assets/{skills-page-q_IVfLb3.js → skills-page-CMueiEEK.js} +1 -1
- package/dist/assets/{sounds-page-CtaSO0c4.js → sounds-page-CaRGElXh.js} +1 -1
- package/dist/assets/{start-screen-DeowChgG.js → start-screen-C380uTIT.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-MgMG4vnJ.js → stt-language-picker-modal-wNybXxLn.js} +1 -1
- package/dist/assets/{subagent-detail-panel-CkE-6d0V.js → subagent-detail-panel--lLPuYen.js} +1 -1
- package/dist/assets/{superpowers-page-11wxZ3sf.js → superpowers-page-CwGBMECu.js} +1 -1
- package/dist/assets/{system-events-page-NUG1UJD3.js → system-events-page-CbQnTv1L.js} +1 -1
- package/dist/assets/{system-events-redirect-page-DbsB8RE5.js → system-events-redirect-page-DRZUqIqZ.js} +1 -1
- package/dist/assets/{text-preview-qkNRFUQt.js → text-preview-CYUN4rc9.js} +1 -1
- package/dist/assets/{theme-stage-page-Vy0XYtTa.js → theme-stage-page-ic-Boi69.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D3VgM1Ce.js → tiptap-document-editor-SsIwSFSZ.js} +1 -1
- package/dist/assets/tool-detail-panel-CKZ_M0Qj.js +1 -0
- package/dist/assets/{tool-detail-panel-kkHVCqRn.js → tool-detail-panel-XwRKFU13.js} +3 -3
- package/dist/assets/{trait-cycle-row-BlgCseYI.js → trait-cycle-row-DNn4F74m.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-s6e4nG1l.js → upgrade-cancel-page-DqQHOlQ0.js} +1 -1
- package/dist/assets/{upgrade-success-page-D6SM1pxp.js → upgrade-success-page-tVasRCy_.js} +1 -1
- package/dist/assets/{usage-redirect-page-BNYnnsnf.js → usage-redirect-page-D3aVssCL.js} +1 -1
- package/dist/assets/{use-app-delete-CQbN9rtt.js → use-app-delete-DtftSu08.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CrhYb7qF.js → use-assistant-identity-details-BHojBIzM.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-q4n835g5.js → use-checkout-dismiss-refresh-DbSG9nq4.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-CeKk6gy9.js → use-edge-swipe-back-Dx2dMUF5.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-BA2YaGIX.js → use-hotkey-recorder-DHnuMF6T.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-6IXyqacJ.js → use-invite-link-dialog-DNFvVMTr.js} +1 -1
- package/dist/assets/{use-plugins-list-CHpcMGs_.js → use-plugins-list-D0KJteNK.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-2kdbf5Q4.js → use-return-to-short-circuit-CFPNKSTK.js} +1 -1
- package/dist/assets/{use-side-list-room-BhFIS5Le.js → use-side-list-room-BEt4nE6h.js} +1 -1
- package/dist/assets/{use-skill-actions-Kdf5x1HU.js → use-skill-actions-C7qa2xLE.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DAyyrFN5.js → use-skill-detail-files-_1GQxDTx.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-ChozdHJ0.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-D3l5WRCF.js → use-transcript-message-by-id-BaIMdiwS.js} +1 -1
- package/dist/assets/{voice-page-faAl_Nti.js → voice-page-BJ51XPpw.js} +1 -1
- package/dist/assets/{wake-detail-panel-WzSOhew8.js → wake-detail-panel-DkAaJeZE.js} +1 -1
- package/dist/assets/{weather-forecast-display-DIwophHB.js → weather-forecast-display-ty6o7LuP.js} +1 -1
- package/dist/assets/{welcome-screen-DCDAeMA9.js → welcome-screen-B9BqQr5N.js} +1 -1
- package/dist/assets/{workflow-detail-panel-CtBcOGfQ.js → workflow-detail-panel--kczknYa.js} +1 -1
- package/dist/assets/{workspace-page-DBInjaOS.js → workspace-page-G1xUhgr7.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-DNsSoNjD.js +0 -1
- package/dist/assets/auth-store-EAev0DJN.js +0 -1
- package/dist/assets/avatar-bundled-components-DhB1DyLm.js +0 -1
- package/dist/assets/checkout-return-target-CI8LVYVE.js +0 -1
- package/dist/assets/command-palette-Cmcx1U8W.js +0 -1
- package/dist/assets/common-B1Nsu-f_.js +0 -1
- package/dist/assets/common-BOcNovqr.js +0 -1
- package/dist/assets/common-B_WI9sIg.js +0 -1
- package/dist/assets/deploy-dialogs-DCxRLpl7.js +0 -1
- package/dist/assets/detail-primitives-f9ovBHes.js +0 -1
- package/dist/assets/document-load-D5E61ZgQ.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-Cg1S2hhY.js +0 -1
- package/dist/assets/local-mode-C2LpbCQF.js +0 -1
- package/dist/assets/native-attachment-pickers-CenfaGLR.js +0 -1
- package/dist/assets/native-file-L8dxZeiL.js +0 -1
- package/dist/assets/paired-platform-identity-6K-FDEvo.js +0 -1
- package/dist/assets/password-reset-page-GkXM4m0d.js +0 -1
- package/dist/assets/plugins-surface-BKEqqJBL.js +0 -1
- package/dist/assets/referral-modal-C-PDjzho.js +0 -1
- package/dist/assets/routes-PhQIek7i.js +0 -1
- package/dist/assets/share-feedback-modal-yqSXIF2c.js +0 -1
- package/dist/assets/tool-detail-panel-DSA9JyHJ.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CRzbQVNd.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$f as t,CS as n,Cp as r,DS as i,Hc as a,IS as o,Jf as s,K as c,NS as l,Pd as u,SS as d,Sf as f,Sp as p,Uc as m,Wc as h,X as g,Xf as _,Xx as v,Y as y,Yf as b,Z as x,Zf as S,_m as C,aS as w,bf as T,by as E,cf as D,df as O,ef as k,et as A,f as ee,fS as te,fx as j,gS as M,iS as N,ir as ne,lf as P,mS as re,pS as F,q as ie,qf as ae,qx as I,rS as L,rf as oe,sS as se,tS as R,tr as ce,u as le,uf as ue,uo as de,vf as fe,vp as pe,vs as me,xS as he,xf as ge,xx as z,yf as _e}from"./app-BfK0IQIk.js";import{I as B,Jn as ve,N as ye,Zn as V,er as be,j as H,qn as xe}from"./vendor-ajttH1pP.js";import{f as Se,h as Ce,t as we,x as Te}from"./react-B9IgSVeK.js";import{$i as Ee,A as De,Gi as U,Ui as Oe,Yn as W,gt as ke,kt as Ae,oa as je,pi as Me,qi as Ne,wi as Pe,zt as Fe}from"./icons-C0wyat6T.js";import{t as Ie}from"./detail-card-CZVSMSNs.js";import{a as Le,c as Re,d as ze,i as Be,l as Ve,n as He,o as Ue,r as We,s as Ge,t as Ke,u as qe}from"./schedules-DfRCZ1RP.js";import{a as Je,r as Ye,t as Xe}from"./usage-window-ClzDdz34.js";var G=e(Te(),1),Ze={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},Qe=[{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`}],$e=[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 et(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 tt(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} * * ${et(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function nt(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 rt(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function it(e){let t=et(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&$e.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 ${Qe[t[0]]?.full??`day`}`;let r=t.map(e=>Qe[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function at(e){let t=nt(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 ${it(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${rt(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=we(),ot=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),st=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ct(e,t){let n=e%12;return t===`PM`?n+12:n}function lt(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 ut({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(w.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(dt,{assistantId:t,onClose:n,onCreated:r}):null})}function dt({assistantId:e,onClose:t,onCreated:n}){let{t:r}=H(`settings`),i=de(),[a,o]=(0,G.useState)(``),[s,c]=(0,G.useState)(``),[u,d]=(0,G.useState)(``),[f,p]=(0,G.useState)(`simple`),[m,h]=(0,G.useState)(Ze),[g,_]=(0,G.useState)(``),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(null),S=a.trim(),C=s.trim(),T=u.trim(),E=g.trim(),D=(0,G.useMemo)(()=>f===`simple`?tt(m):E,[f,m,E]),O=(0,G.useMemo)(()=>f===`simple`?at(m):E||r(`createScheduleModal.cronContinuePrompt`),[f,m,E,r]),k=(0,G.useMemo)(()=>lt(i),[i]),A=S.length>0&&C.length>0&&T.length>0&&D.length>0&&!v;return(0,q.jsxs)(w.Content,{size:`md`,children:[(0,q.jsxs)(w.Header,{children:[(0,q.jsx)(w.Title,{children:r(`createScheduleModal.title`)}),(0,q.jsx)(w.Description,{children:r(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){y(!0),x(null);try{await He(e,{name:S,description:C,expression:D,message:T,timezone:i}),y(!1),n()}catch(e){x(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),y(!1)}}},children:[(0,q.jsx)(w.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(F,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(re,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(gt,{label:r(`createScheduleModal.repeatLabel`),children:f===`simple`?(0,q.jsx)(ft,{cadence:m,onChange:h}):(0,q.jsx)(ht,{value:g,onChange:_,onUseSimple:()=>p(`simple`)})}),(0,q.jsx)(vt,{summary:O,mono:f===`advanced`&&E.length>0,timezoneLabel:k}),f===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{_(e=>e||tt(m)),p(`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)(re,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:4}),b?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:b}):null]})}),(0,q.jsxs)(w.Footer,{children:[(0,q.jsx)(l,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,q.jsx)(l,{variant:`primary`,type:`submit`,disabled:!A,children:r(v?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function ft({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:rt(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(se,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(_t,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(R,{options:st,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)(_t,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(mt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(_t,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(R,{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)(_t,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(pt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function pt({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)(R,{options:ot,value:String(a),onChange:e=>n(ct(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)(R,{options:st,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)(se,{items:o,value:i,onChange:e=>n(ct(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function mt({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:Qe.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:o(`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 ht({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)(F,{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 gt({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 _t({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 vt({summary:e,mono:t,timezoneLabel:n}){let{t:r}=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)(Pe,{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:o(`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:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function yt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=V({...oe({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=V({...k({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),o=i?.callSites.find(e=>e.id===t)?.defaultProfile??null;return o==null?{key:null,label:null}:{key:o,label:(a?Je(a):{})[o]?.displayName??o}}function bt(e,t,n){let{t:r}=H(`settings`),i=yt(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>le(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=ve({mutationFn:t=>Ue(e,null,t),onSuccess:e=>{o(!1),n(),N.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{z(e,{context:`schedules_rebase_inference_profile`}),N.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 xt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=H(`settings`);return(0,q.jsx)(L,{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 St(e=C(),t=Date.now()){return Ye(Xe,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 Ct(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var wt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:wt.format(e)}function Tt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Et(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 Dt(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 Ot(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function kt(e){return Ot(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function At(e){return e.status===`pending`||e.status===`superseded`}function jt(e){return e.status!==`skipped`&&e.status!==`missed`&&!At(e)}var Mt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Nt(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=Et(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 Pt(e,t=B){return Et(e.intervalMs,t)}function Ft(e=B){return e(`scheduleFormatters.retrospectiveSubtitle`)}function It(e,t){return le(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Lt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?It(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 Rt(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Le(e,St(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function zt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Bt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return jt(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 Vt({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 Ht({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)(v,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(v,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:Tt(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 Ut({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)(Ht,{scheduleName:e,usage:a}),s?(0,q.jsx)(M,{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)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Wt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:l,onSelectConsolidation:u,onSelectRetrospective:d}){let{t:f}=H(`settings`),p=e!=null,m=t?.available===!0,h=n?.available===!0,g=p||m||h;if(!o&&!s&&!g)return null;let _=[...p?[r]:[],...m?[i]:[],...h?[a]:[]].filter(e=>e.status===`ready`),v=_.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),y=o?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(W,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!g?(0,q.jsx)(he,{tone:`error`,children:(0,q.jsx)(ye,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[p?(0,q.jsx)(Ut,{name:f(`systemTasksSection.heartbeatName`),subtitle:Nt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,m?(0,q.jsx)(Ut,{name:f(`systemTasksSection.consolidationName`),subtitle:Pt(t),enabled:t.enabled,helperText:t.enabled?void 0:f(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:f(`systemTasksSection.paused`),statusTone:`warning`,onClick:u}):null,h?(0,q.jsx)(Ut,{name:f(`systemTasksSection.retrospectiveName`),subtitle:Ft(),enabled:n.enabled,helperText:n.enabled?void 0:f(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:f(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(he,{tone:`error`,children:(0,q.jsx)(ye,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Ie,{children:(0,q.jsx)(I.Root,{type:`multiple`,children:(0,q.jsxs)(I.Item,{value:`system-jobs`,children:[(0,q.jsxs)(I.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:f(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:f(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[_.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:f(`systemTasksSection.cost7d`,{cost:Y(v)})}):null,(0,q.jsx)(Ne,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(I.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}var Gt={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 Kt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Gt[e.skipReason]??e.skipReason}`:null}function qt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Kt(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 Jt(e){return e.runs.filter(e=>!At(e)).map(e=>qt(e,`heartbeat`))}function Yt(e){return e.runs.map(e=>qt(e,`consolidation`))}function Xt(e){return e.runs.map(e=>qt(e,`retrospective`))}var Z=1e4;function Zt(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Bt(n,r,i)}}function Qt(e,t){let n=be(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:c}=V({...fe(i),enabled:!!e,staleTime:Z}),{data:l,isLoading:u,isError:d,refetch:m}=V({...D(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:v,refetch:y}=V({...ae(i),enabled:!!e,staleTime:Z}),x={path:{assistant_id:e??``},query:{limit:100}},{data:S,isLoading:C,isError:w,refetch:T}=V({...f(x),select:Jt,enabled:!!e&&a!=null,staleTime:Z}),{data:E,isLoading:k,isError:A,refetch:ee}=V({...O(x),select:Yt,enabled:!!e&&l?.available===!0,staleTime:Z}),{data:te,isLoading:j,isError:M,refetch:ne}=V({..._(x),select:Xt,enabled:!!e&&h?.available===!0,staleTime:Z}),P=(0,G.useMemo)(()=>St(t),[t]),re=(0,G.useMemo)(()=>Zt(C,w,Mt.heartbeat,S,P),[S,w,C,P]),F=(0,G.useMemo)(()=>Zt(k,A,Mt.consolidation,E,P),[E,A,k,P]),ie=(0,G.useMemo)(()=>Zt(j,M,Mt.retrospective,te,P),[te,M,j,P]),I=t=>{if(!e)return;let r={heartbeat:{config:fe(i).queryKey,runs:f(x).queryKey,infinite:ge(i)},consolidation:{config:D(i).queryKey,runs:O(x).queryKey,infinite:ue(i)},retrospective:{config:ae(i).queryKey,runs:_(x).queryKey,infinite:b(i)}}[t];n.invalidateQueries({queryKey:r.config}),n.invalidateQueries({queryKey:r.runs}),n.invalidateQueries({queryKey:r.infinite})},L=r({onSuccess:e=>{e.ran?N.success(B(`settings:useSystemTasks.heartbeatStarted`)):N.info(B(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{z(e,{context:`heartbeat_run_now`}),N.error(B(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>I(`heartbeat`)}),oe=pe({onSuccess:e=>{e.ran?N.success(B(`settings:useSystemTasks.consolidationQueued`)):N.info(B(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{z(e,{context:`consolidation_run_now`}),N.error(B(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>I(`consolidation`)}),se=p({onSuccess:e=>{_e(n,i,e),N.success(e.enabled?B(`settings:useSystemTasks.heartbeatEnabled`):B(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{z(e,{context:`heartbeat_toggle`}),N.error(B(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:l,retrospectiveConfig:h,heartbeatUsage:re,consolidationUsage:F,retrospectiveUsage:ie,isLoading:o||u||g,hasError:s||d||v,isHeartbeatRunning:L.isPending,isConsolidationRunning:oe.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:u,isConsolidationError:d,isRetrospectiveLoading:g,isRetrospectiveError:v,refetchHeartbeat:c,refetchConsolidation:m,refetchRetrospective:y,runHeartbeatNow:()=>{e&&L.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&oe.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&se.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),m(),y(),T(),ee(),ne()}}}function $t({id:e,title:t,subtitle:r,accessory:i,children:a,className:s}){let c=!!(t||r||i);return(0,q.jsx)(d,{asChild:!0,className:o(`rounded-lg`,s),children:(0,q.jsxs)(`section`,{id:e,children:[c&&(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)(n,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),r&&(0,q.jsx)(n,{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:c?`mt-3`:``,children:a})]})})}function en(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var tn={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function nn(e){return e.enabled||!e.disarmReason?null:tn[e.disarmReason]??null}function rn(e,t){return t?.[e]?.displayName??e}function an({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:rn(n,t)}):void 0},c=t==null,{data:l}=V({...k({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Je(l):{},[l]),{label:d}=yt(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})):rn(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 on(e,t,n){let r=E(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...g(r,[t],n).map(e=>{let t=c(e,r,n);return{value:e.name,label:ie(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:y(e)}:{}}})]}function sn(e,t){let{data:n}=V({...k({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),r=x();return(0,G.useMemo)(()=>on(n?.llm,t,{requireOwnProviderAndModel:r}),[n?.llm,t,r])}function cn({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)(R,{value:t,onChange:n,onSelectNone:()=>n(null),options:sn(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 ln({schedule:e,assistantId:n,isPast:r}){let{t:i}=H(`schedules`),a=be(),o=t({path:{assistant_id:n}}),s=ve({mutationFn:t=>Ve(n,e.id,{inferenceProfile:t}),onMutate:async t=>{await a.cancelQueries({queryKey:o});let n=a.getQueryData(o)?.find(t=>t.id===e.id)?.inferenceProfile;return a.setQueryData(o,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,r)=>{let s=r?.previousProfile;s!==void 0&&a.setQueryData(o,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),z(t,{context:`schedule_update_inference_profile`}),N.error(i(`scheduleDetail.modelChangeFailed`))},onSettled:()=>a.invalidateQueries({queryKey:o})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:i(`scheduleDetail.modelProfile`),value:i(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`scheduleDetail.modelProfileWorkflowNote`)})]}):r?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(an,{assistantId:n,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:i(`scheduleDetail.modelProfile`),value:(0,q.jsx)(cn,{assistantId:n,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&s.mutate(t)},includeDefaultOption:!1,placeholder:i(`scheduleDetail.chooseModel`),isSaving:s.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function un({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 dn({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)(v,{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)(un,{icon:(0,q.jsx)(Me,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(un,{icon:(0,q.jsx)(Ae,{className:`h-4 w-4`}),value:Tt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function fn(e){return e.exists&&e.archivedAt==null}function pn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:s}=H(`schedules`),c=kt(e),l=e.conversations??(c?[{id:c,title:null,exists:!0,archivedAt:null}]:[]),u=X(e.output),d=X(e.error),f=!r&&l.length===1&&fn(l[0])?l[0].id:null,p=!f&&(l.length>0||u||d),m=`schedule-run-details-${t}`,h=!!f||p,g=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Vt,{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:[Ct(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]}),h?(0,q.jsx)(U,{className:o(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,p&&n?`rotate-90`:``)}):null]}),_=p&&n?(0,q.jsx)(`div`,{id:m,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:[l.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:l.map(e=>fn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(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?s(`scheduleDetail.conversationArchived`):s(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,u?(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,d?(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 f?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(f),"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`,children:g})}):p?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":s(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":m,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`,children:g}),_]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:g})}function mn({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)(W,{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)(pn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function hn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:o}){let{t:s}=H(`schedules`),c=Se(),{data:u,isLoading:d}=V({queryKey:S({path:{assistant_id:t,id:e.id}}),queryFn:()=>Be(t,e.id),staleTime:1e4}),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),C=en(e.sourceKey),w=nn(e),T=e.isOneShot&&!r&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{p(!0);try{await Ge(t,e.id)}catch(e){z(e,{context:`schedule_run_now`}),N.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},O=async()=>{_(!0);try{await We(t,e.id),o()}catch(e){z(e,{context:`schedule_delete`}),N.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},k=async()=>{x(!0);try{await Ke(t,e.id),o()}catch(e){z(e,{context:`schedule_cancel`}),N.error(s(`scheduleDetail.cancelOneTimeFailed`)),x(!1),y(!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)(ce,{title:e.name,headerActions:C?void 0:(0,q.jsx)(l,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(De,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!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)($t,{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)(ln,{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)(Vt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(dn,{usage:n}),(0,q.jsx)($t,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(mn,{runs:u?.runs,isLoading:d,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>a(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:[C?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w?s(`scheduleDetail.managedByPluginPaused`,{plugin:C,reason:s(w)}):s(`scheduleDetail.managedByPlugin`,{plugin:C})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(l,{variant:`outlined`,leftIcon:(0,q.jsx)(Ee,{className:`h-3.5 w-3.5`}),onClick:()=>c(j.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),T?(0,q.jsx)(l,{variant:`dangerOutline`,onClick:()=>y(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[E?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(l,{variant:`primary`,leftIcon:f?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void D(),disabled:f||E,children:s(f?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(L,{open:m,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:g,onConfirm:()=>void O(),onCancel:()=>h(!1)}),(0,q.jsx)(L,{open:v,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:b,onConfirm:()=>void k(),onCancel:()=>y(!1)})]})}function gn({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 _n(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(v,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(v,{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:Tt(t.runCount)})]})}function vn({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)(te,{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)(ne,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[_n(r),(0,q.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function yn({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=nn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=en(e.sourceKey);return(0,q.jsx)(vn,{name:e.name,badge:u?(0,q.jsx)(M,{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 bn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:o,onToggle:s,onSelectSchedule:c,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:y}=H(`schedules`),b=e=>(0,q.jsx)(yn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>c(e.id),onToggle:t=>s(e.id,t)},e.id),x=e=>(0,q.jsx)(yn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>c(e.id)},e.id),S=n.length>0?(0,q.jsx)(I.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(I.Item,{value:`past`,children:[(0,q.jsxs)(I.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(U,{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)(I.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)(v,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(he,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:o,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)(gn,{icon:je,title:y(`schedulesPanel.emptyTitle`),description:y(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{variant:`primary`,size:`regular`,onClick:d,children:y(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(l,{variant:`outlined`,size:`regular`,onClick:f,children:y(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[h&&g?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:y(`schedulesPanel.useProfileForAll`,{profile:g})})}):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]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function xn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:o=!1,onLoadMore:s}){let{t:c}=H(`settings`),u=Se(),[d,f]=(0,G.useState)(null),p=n??c(`recentRunsCard.emptyDefault`),m=r&&s?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:s,disabled:o,leftIcon:o?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:c(o?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)($t,{title:c(`recentRunsCard.title`),children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(W,{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:p}),m]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=kt(e),r=X(e.output),o=X(e.error),s=e.status===`skipped`||e.status===`missed`,l=!n&&!s&&(r||o),p=d===e.id,m=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(i,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Vt,{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)} · `:``,s?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?c(`recentRunsCard.missed`):c(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Ct(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||l?(0,q.jsx)(U,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${p?`rotate-90`:``}`}):null]}),onSelect:n?()=>a(u,n):l?()=>f(p?null:e.id):void 0,"aria-label":c(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":l?p:void 0,"aria-controls":l?m:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),l&&p?(0,q.jsx)(`div`,{id:m,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:c(`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,o?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:c(`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)}),m]})})}var Sn={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 Cn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=H(`schedules`),o=Se(),{heartbeatConfig:c,consolidationConfig:u,retrospectiveConfig:d}=n,f=c?.effectiveTimezone||c?.timezone||null,p,m,h,g,_,v,y;e===`heartbeat`?(p=a(`systemTaskDetail.nameHeartbeat`),m=c?Nt(c,f):``,h=c?.enabled??!1,g=c?.nextRunAt??null,_=c?.lastRunAt??null,v=n.isHeartbeatRunning,y=n.runHeartbeatNow):e===`consolidation`?(p=a(`systemTaskDetail.nameConsolidation`),m=u?Pt(u):``,h=u?.enabled??!1,g=u?.nextRunAt??null,_=u?.lastRunAt??null,v=n.isConsolidationRunning,y=n.runConsolidationNow):(p=a(`systemTaskDetail.nameRetrospective`),m=Ft(),h=d?.enabled??!1,g=d?.nextRunAt??null,_=d?.lastRunAt??null,v=!1,y=void 0);let b=e!==`heartbeat`,x=e===`retrospective`,S=b&&!h,C=v||S,w=a(b?h?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:h?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=x&&d?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:x?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=b&&h&&r,k={path:{assistant_id:t},query:{limit:25}},A=e===`heartbeat`?T(k):e===`consolidation`?P(k):s(k),{data:ee,isLoading:M,fetchNextPage:N,hasNextPage:ne,isFetchingNextPage:re}=xe({queryKey:A.queryKey,queryFn:A.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),F=Dt(ee?.pages.map(t=>({runs:t.runs.filter(e=>!At(e)).map(t=>qt(t,e))}))),ie=F?.find(e=>jt(e)&&e.status!==`running`),ae=_??ie?.finishedAt??ie?.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)(ce,{title:p,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)($t,{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:w}),b?null:(0,q.jsx)(te,{size:`sm`,checked:h,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:p})})]})}),(0,q.jsx)(an,{assistantId:t,defaultCallSite:Sn[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`&&f?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:f})}):null,x?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(g)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(ae)})})]})}),S?(0,q.jsx)(he,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:()=>o(`${j.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(xn,{runs:F,isLoading:M,hasMore:ne,isLoadingMore:re,onLoadMore:()=>void N()})]}),O||y?(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)(l,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>o(`${j.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,y?(0,q.jsx)(l,{variant:`primary`,leftIcon:v?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`}),onClick:y,disabled:C,children:a(v?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function wn(e){let t=de(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(ee(e)),{data:s,isLoading:c,isError:l}=V(Rt(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Lt(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)??zt(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await Re(e,t,n),o()}catch(e){z(e,{context:`schedule_toggle`}),N.error(B(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function Tn(){let e=Se(),{scheduleId:t}=Ce(),n=A(),r=h(),i=de(),a=wn(n),o=Qt(n,i),s=me(`memoryOptOut`),c=u.use.settingsDeveloperNav(),l=s&&c===!0,[d,f]=(0,G.useState)(!1),p=t??null,[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(!1),b=(0,G.useCallback)(t=>{e(t?j.schedules.detail(t):j.schedules.root)},[e]),x=p?a.recurring.find(e=>e.id===p)??a.oneTime.find(e=>e.id===p)??a.pastOneTime.find(e=>e.id===p)??null:null;(0,G.useEffect)(()=>{p&&!a.isLoading&&!a.isError&&!x&&b(null)},[p,x,a.isLoading,a.isError,b]);let S=g===`heartbeat`?o.heartbeatConfig!=null:g===`consolidation`?o.consolidationConfig?.available===!0:g===`retrospective`?o.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{g&&!o.isLoading&&!S&&_(null)},[g,S,o.isLoading]);let C=(0,G.useCallback)(e=>{_(null),b(e)},[b]),w=(0,G.useCallback)(e=>{p&&b(null),_(e)},[b,p]),T=(0,G.useCallback)(()=>{m(e)},[e]),E=bt(n,(0,G.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),D=(x?(0,q.jsx)(hn,{schedule:x,assistantId:n,usage:a.usageForSchedule(x.id),isPast:a.pastOneTime.some(e=>e.id===x.id),onClose:()=>b(null),onDeleted:()=>{b(null),a.refetch()}}):null)??(g&&S?(0,q.jsx)(Cn,{kind:g,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>_(null)}):null),O=(0,q.jsx)(bn,{recurring:a.recurring,oneTime:a.oneTime,pastOneTime:a.pastOneTime,usageForSchedule:a.usageForSchedule,isLoading:a.isLoading,isError:a.isError,refetch:a.refetch,onToggle:a.handleToggle,onSelectSchedule:C,selectedScheduleId:p,onStartNewChat:T,onCreateSchedule:()=>f(!0),pastOpen:v,onPastOpenChange:y,onRebaseProfiles:E.canRebase?E.requestRebase:void 0,defaultProfileLabel:E.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Wt,{heartbeatConfig:o.heartbeatConfig,consolidationConfig:o.consolidationConfig,retrospectiveConfig:o.retrospectiveConfig,heartbeatUsage:o.heartbeatUsage,consolidationUsage:o.consolidationUsage,retrospectiveUsage:o.retrospectiveUsage,isLoading:o.isLoading,hasError:o.hasError,onRetry:o.refetchAll,onSelectHeartbeat:()=>w(`heartbeat`),onSelectConsolidation:()=>w(`consolidation`),onSelectRetrospective:()=>w(`retrospective`)})}),k=(0,q.jsx)(xt,{...E.dialogProps});return D&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ze,{children:D}),k]}):(0,q.jsxs)(q.Fragment,{children:[D&&!r?(0,q.jsx)(qe,{storageKey:`schedulesDetailDrawerWidth`,detailKey:p??g??void 0,section:O,detail:D}):O,(0,q.jsx)(ut,{isOpen:d,assistantId:n,onClose:()=>f(!1),onCreated:()=>{f(!1),a.refetch()}}),k]})}export{Tn as SchedulesPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$f as t,CS as n,Cp as r,DS as i,Hc as a,IS as o,Jf as s,K as c,NS as l,Pd as u,SS as d,Sf as f,Sp as p,Uc as m,Wc as h,X as g,Xf as _,Xx as v,Y as y,Yf as b,Z as x,Zf as S,_m as C,aS as w,bf as T,by as E,cf as D,df as O,ef as k,et as A,f as ee,fS as te,fx as j,gS as M,iS as N,ir as ne,lf as P,mS as re,pS as F,q as ie,qf as ae,qx as I,rS as L,rf as oe,sS as se,tS as R,tr as ce,u as le,uf as ue,uo as de,vf as fe,vp as pe,vs as me,xS as he,xf as ge,xx as z,yf as _e}from"./app-BBUxTj9g.js";import{I as B,Jn as ve,N as ye,Zn as V,er as be,j as H,qn as xe}from"./vendor-ajttH1pP.js";import{f as Se,h as Ce,t as we,x as Te}from"./react-B9IgSVeK.js";import{$i as Ee,A as De,Gi as U,Ui as Oe,Yn as W,gt as ke,kt as Ae,oa as je,pi as Me,qi as Ne,wi as Pe,zt as Fe}from"./icons-C0wyat6T.js";import{t as Ie}from"./detail-card-BhMBZjzu.js";import{a as Le,c as Re,d as ze,i as Be,l as Ve,n as He,o as Ue,r as We,s as Ge,t as Ke,u as qe}from"./schedules-G-fQS88Z.js";import{a as Je,r as Ye,t as Xe}from"./usage-window-ClzDdz34.js";var G=e(Te(),1),Ze={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},Qe=[{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`}],$e=[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 et(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 tt(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} * * ${et(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function nt(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 rt(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function it(e){let t=et(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&$e.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 ${Qe[t[0]]?.full??`day`}`;let r=t.map(e=>Qe[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function at(e){let t=nt(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 ${it(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${rt(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=we(),ot=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),st=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ct(e,t){let n=e%12;return t===`PM`?n+12:n}function lt(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 ut({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(w.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(dt,{assistantId:t,onClose:n,onCreated:r}):null})}function dt({assistantId:e,onClose:t,onCreated:n}){let{t:r}=H(`settings`),i=de(),[a,o]=(0,G.useState)(``),[s,c]=(0,G.useState)(``),[u,d]=(0,G.useState)(``),[f,p]=(0,G.useState)(`simple`),[m,h]=(0,G.useState)(Ze),[g,_]=(0,G.useState)(``),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(null),S=a.trim(),C=s.trim(),T=u.trim(),E=g.trim(),D=(0,G.useMemo)(()=>f===`simple`?tt(m):E,[f,m,E]),O=(0,G.useMemo)(()=>f===`simple`?at(m):E||r(`createScheduleModal.cronContinuePrompt`),[f,m,E,r]),k=(0,G.useMemo)(()=>lt(i),[i]),A=S.length>0&&C.length>0&&T.length>0&&D.length>0&&!v;return(0,q.jsxs)(w.Content,{size:`md`,children:[(0,q.jsxs)(w.Header,{children:[(0,q.jsx)(w.Title,{children:r(`createScheduleModal.title`)}),(0,q.jsx)(w.Description,{children:r(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){y(!0),x(null);try{await He(e,{name:S,description:C,expression:D,message:T,timezone:i}),y(!1),n()}catch(e){x(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),y(!1)}}},children:[(0,q.jsx)(w.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(F,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(re,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(gt,{label:r(`createScheduleModal.repeatLabel`),children:f===`simple`?(0,q.jsx)(ft,{cadence:m,onChange:h}):(0,q.jsx)(ht,{value:g,onChange:_,onUseSimple:()=>p(`simple`)})}),(0,q.jsx)(vt,{summary:O,mono:f===`advanced`&&E.length>0,timezoneLabel:k}),f===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{_(e=>e||tt(m)),p(`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)(re,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:4}),b?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:b}):null]})}),(0,q.jsxs)(w.Footer,{children:[(0,q.jsx)(l,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,q.jsx)(l,{variant:`primary`,type:`submit`,disabled:!A,children:r(v?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function ft({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:rt(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(se,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(_t,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(R,{options:st,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)(_t,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(mt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(_t,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(R,{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)(_t,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(pt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function pt({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)(R,{options:ot,value:String(a),onChange:e=>n(ct(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)(R,{options:st,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)(se,{items:o,value:i,onChange:e=>n(ct(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function mt({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:Qe.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:o(`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 ht({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)(F,{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 gt({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 _t({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 vt({summary:e,mono:t,timezoneLabel:n}){let{t:r}=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)(Pe,{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:o(`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:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function yt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=V({...oe({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=V({...k({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),o=i?.callSites.find(e=>e.id===t)?.defaultProfile??null;return o==null?{key:null,label:null}:{key:o,label:(a?Je(a):{})[o]?.displayName??o}}function bt(e,t,n){let{t:r}=H(`settings`),i=yt(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>le(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=ve({mutationFn:t=>Ue(e,null,t),onSuccess:e=>{o(!1),n(),N.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{z(e,{context:`schedules_rebase_inference_profile`}),N.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 xt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=H(`settings`);return(0,q.jsx)(L,{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 St(e=C(),t=Date.now()){return Ye(Xe,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 Ct(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var wt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:wt.format(e)}function Tt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Et(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 Dt(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 Ot(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function kt(e){return Ot(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function At(e){return e.status===`pending`||e.status===`superseded`}function jt(e){return e.status!==`skipped`&&e.status!==`missed`&&!At(e)}var Mt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Nt(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=Et(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 Pt(e,t=B){return Et(e.intervalMs,t)}function Ft(e=B){return e(`scheduleFormatters.retrospectiveSubtitle`)}function It(e,t){return le(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Lt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?It(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 Rt(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Le(e,St(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function zt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Bt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return jt(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 Vt({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 Ht({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)(v,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(v,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:Tt(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 Ut({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)(Ht,{scheduleName:e,usage:a}),s?(0,q.jsx)(M,{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)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Wt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:l,onSelectConsolidation:u,onSelectRetrospective:d}){let{t:f}=H(`settings`),p=e!=null,m=t?.available===!0,h=n?.available===!0,g=p||m||h;if(!o&&!s&&!g)return null;let _=[...p?[r]:[],...m?[i]:[],...h?[a]:[]].filter(e=>e.status===`ready`),v=_.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),y=o?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(W,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!g?(0,q.jsx)(he,{tone:`error`,children:(0,q.jsx)(ye,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[p?(0,q.jsx)(Ut,{name:f(`systemTasksSection.heartbeatName`),subtitle:Nt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,m?(0,q.jsx)(Ut,{name:f(`systemTasksSection.consolidationName`),subtitle:Pt(t),enabled:t.enabled,helperText:t.enabled?void 0:f(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:f(`systemTasksSection.paused`),statusTone:`warning`,onClick:u}):null,h?(0,q.jsx)(Ut,{name:f(`systemTasksSection.retrospectiveName`),subtitle:Ft(),enabled:n.enabled,helperText:n.enabled?void 0:f(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:f(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(he,{tone:`error`,children:(0,q.jsx)(ye,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Ie,{children:(0,q.jsx)(I.Root,{type:`multiple`,children:(0,q.jsxs)(I.Item,{value:`system-jobs`,children:[(0,q.jsxs)(I.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:f(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:f(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[_.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:f(`systemTasksSection.cost7d`,{cost:Y(v)})}):null,(0,q.jsx)(Ne,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(I.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}var Gt={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 Kt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Gt[e.skipReason]??e.skipReason}`:null}function qt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Kt(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 Jt(e){return e.runs.filter(e=>!At(e)).map(e=>qt(e,`heartbeat`))}function Yt(e){return e.runs.map(e=>qt(e,`consolidation`))}function Xt(e){return e.runs.map(e=>qt(e,`retrospective`))}var Z=1e4;function Zt(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Bt(n,r,i)}}function Qt(e,t){let n=be(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:c}=V({...fe(i),enabled:!!e,staleTime:Z}),{data:l,isLoading:u,isError:d,refetch:m}=V({...D(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:v,refetch:y}=V({...ae(i),enabled:!!e,staleTime:Z}),x={path:{assistant_id:e??``},query:{limit:100}},{data:S,isLoading:C,isError:w,refetch:T}=V({...f(x),select:Jt,enabled:!!e&&a!=null,staleTime:Z}),{data:E,isLoading:k,isError:A,refetch:ee}=V({...O(x),select:Yt,enabled:!!e&&l?.available===!0,staleTime:Z}),{data:te,isLoading:j,isError:M,refetch:ne}=V({..._(x),select:Xt,enabled:!!e&&h?.available===!0,staleTime:Z}),P=(0,G.useMemo)(()=>St(t),[t]),re=(0,G.useMemo)(()=>Zt(C,w,Mt.heartbeat,S,P),[S,w,C,P]),F=(0,G.useMemo)(()=>Zt(k,A,Mt.consolidation,E,P),[E,A,k,P]),ie=(0,G.useMemo)(()=>Zt(j,M,Mt.retrospective,te,P),[te,M,j,P]),I=t=>{if(!e)return;let r={heartbeat:{config:fe(i).queryKey,runs:f(x).queryKey,infinite:ge(i)},consolidation:{config:D(i).queryKey,runs:O(x).queryKey,infinite:ue(i)},retrospective:{config:ae(i).queryKey,runs:_(x).queryKey,infinite:b(i)}}[t];n.invalidateQueries({queryKey:r.config}),n.invalidateQueries({queryKey:r.runs}),n.invalidateQueries({queryKey:r.infinite})},L=r({onSuccess:e=>{e.ran?N.success(B(`settings:useSystemTasks.heartbeatStarted`)):N.info(B(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{z(e,{context:`heartbeat_run_now`}),N.error(B(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>I(`heartbeat`)}),oe=pe({onSuccess:e=>{e.ran?N.success(B(`settings:useSystemTasks.consolidationQueued`)):N.info(B(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{z(e,{context:`consolidation_run_now`}),N.error(B(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>I(`consolidation`)}),se=p({onSuccess:e=>{_e(n,i,e),N.success(e.enabled?B(`settings:useSystemTasks.heartbeatEnabled`):B(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{z(e,{context:`heartbeat_toggle`}),N.error(B(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:l,retrospectiveConfig:h,heartbeatUsage:re,consolidationUsage:F,retrospectiveUsage:ie,isLoading:o||u||g,hasError:s||d||v,isHeartbeatRunning:L.isPending,isConsolidationRunning:oe.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:u,isConsolidationError:d,isRetrospectiveLoading:g,isRetrospectiveError:v,refetchHeartbeat:c,refetchConsolidation:m,refetchRetrospective:y,runHeartbeatNow:()=>{e&&L.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&oe.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&se.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),m(),y(),T(),ee(),ne()}}}function $t({id:e,title:t,subtitle:r,accessory:i,children:a,className:s}){let c=!!(t||r||i);return(0,q.jsx)(d,{asChild:!0,className:o(`rounded-lg`,s),children:(0,q.jsxs)(`section`,{id:e,children:[c&&(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)(n,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),r&&(0,q.jsx)(n,{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:c?`mt-3`:``,children:a})]})})}function en(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var tn={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function nn(e){return e.enabled||!e.disarmReason?null:tn[e.disarmReason]??null}function rn(e,t){return t?.[e]?.displayName??e}function an({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:rn(n,t)}):void 0},c=t==null,{data:l}=V({...k({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Je(l):{},[l]),{label:d}=yt(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})):rn(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 on(e,t,n){let r=E(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...g(r,[t],n).map(e=>{let t=c(e,r,n);return{value:e.name,label:ie(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:y(e)}:{}}})]}function sn(e,t){let{data:n}=V({...k({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),r=x();return(0,G.useMemo)(()=>on(n?.llm,t,{requireOwnProviderAndModel:r}),[n?.llm,t,r])}function cn({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)(R,{value:t,onChange:n,onSelectNone:()=>n(null),options:sn(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 ln({schedule:e,assistantId:n,isPast:r}){let{t:i}=H(`schedules`),a=be(),o=t({path:{assistant_id:n}}),s=ve({mutationFn:t=>Ve(n,e.id,{inferenceProfile:t}),onMutate:async t=>{await a.cancelQueries({queryKey:o});let n=a.getQueryData(o)?.find(t=>t.id===e.id)?.inferenceProfile;return a.setQueryData(o,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,r)=>{let s=r?.previousProfile;s!==void 0&&a.setQueryData(o,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),z(t,{context:`schedule_update_inference_profile`}),N.error(i(`scheduleDetail.modelChangeFailed`))},onSettled:()=>a.invalidateQueries({queryKey:o})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:i(`scheduleDetail.modelProfile`),value:i(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`scheduleDetail.modelProfileWorkflowNote`)})]}):r?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(an,{assistantId:n,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:i(`scheduleDetail.modelProfile`),value:(0,q.jsx)(cn,{assistantId:n,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&s.mutate(t)},includeDefaultOption:!1,placeholder:i(`scheduleDetail.chooseModel`),isSaving:s.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function un({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 dn({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)(v,{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)(un,{icon:(0,q.jsx)(Me,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(un,{icon:(0,q.jsx)(Ae,{className:`h-4 w-4`}),value:Tt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function fn(e){return e.exists&&e.archivedAt==null}function pn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:s}=H(`schedules`),c=kt(e),l=e.conversations??(c?[{id:c,title:null,exists:!0,archivedAt:null}]:[]),u=X(e.output),d=X(e.error),f=!r&&l.length===1&&fn(l[0])?l[0].id:null,p=!f&&(l.length>0||u||d),m=`schedule-run-details-${t}`,h=!!f||p,g=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Vt,{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:[Ct(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]}),h?(0,q.jsx)(U,{className:o(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,p&&n?`rotate-90`:``)}):null]}),_=p&&n?(0,q.jsx)(`div`,{id:m,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:[l.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:l.map(e=>fn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(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?s(`scheduleDetail.conversationArchived`):s(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,u?(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,d?(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 f?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(f),"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`,children:g})}):p?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":s(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":m,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`,children:g}),_]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:g})}function mn({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)(W,{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)(pn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function hn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:o}){let{t:s}=H(`schedules`),c=Se(),{data:u,isLoading:d}=V({queryKey:S({path:{assistant_id:t,id:e.id}}),queryFn:()=>Be(t,e.id),staleTime:1e4}),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),C=en(e.sourceKey),w=nn(e),T=e.isOneShot&&!r&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{p(!0);try{await Ge(t,e.id)}catch(e){z(e,{context:`schedule_run_now`}),N.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},O=async()=>{_(!0);try{await We(t,e.id),o()}catch(e){z(e,{context:`schedule_delete`}),N.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},k=async()=>{x(!0);try{await Ke(t,e.id),o()}catch(e){z(e,{context:`schedule_cancel`}),N.error(s(`scheduleDetail.cancelOneTimeFailed`)),x(!1),y(!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)(ce,{title:e.name,headerActions:C?void 0:(0,q.jsx)(l,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(De,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!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)($t,{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)(ln,{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)(Vt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(dn,{usage:n}),(0,q.jsx)($t,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(mn,{runs:u?.runs,isLoading:d,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>a(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:[C?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w?s(`scheduleDetail.managedByPluginPaused`,{plugin:C,reason:s(w)}):s(`scheduleDetail.managedByPlugin`,{plugin:C})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(l,{variant:`outlined`,leftIcon:(0,q.jsx)(Ee,{className:`h-3.5 w-3.5`}),onClick:()=>c(j.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),T?(0,q.jsx)(l,{variant:`dangerOutline`,onClick:()=>y(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[E?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(l,{variant:`primary`,leftIcon:f?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void D(),disabled:f||E,children:s(f?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(L,{open:m,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:g,onConfirm:()=>void O(),onCancel:()=>h(!1)}),(0,q.jsx)(L,{open:v,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:b,onConfirm:()=>void k(),onCancel:()=>y(!1)})]})}function gn({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 _n(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(v,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(v,{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:Tt(t.runCount)})]})}function vn({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)(te,{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)(ne,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[_n(r),(0,q.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function yn({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=nn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=en(e.sourceKey);return(0,q.jsx)(vn,{name:e.name,badge:u?(0,q.jsx)(M,{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 bn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:o,onToggle:s,onSelectSchedule:c,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:y}=H(`schedules`),b=e=>(0,q.jsx)(yn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>c(e.id),onToggle:t=>s(e.id,t)},e.id),x=e=>(0,q.jsx)(yn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>c(e.id)},e.id),S=n.length>0?(0,q.jsx)(I.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(I.Item,{value:`past`,children:[(0,q.jsxs)(I.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(U,{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)(I.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)(v,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(he,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:o,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)(gn,{icon:je,title:y(`schedulesPanel.emptyTitle`),description:y(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{variant:`primary`,size:`regular`,onClick:d,children:y(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:y(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(l,{variant:`outlined`,size:`regular`,onClick:f,children:y(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[h&&g?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:y(`schedulesPanel.useProfileForAll`,{profile:g})})}):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]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function xn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:o=!1,onLoadMore:s}){let{t:c}=H(`settings`),u=Se(),[d,f]=(0,G.useState)(null),p=n??c(`recentRunsCard.emptyDefault`),m=r&&s?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:s,disabled:o,leftIcon:o?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:c(o?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)($t,{title:c(`recentRunsCard.title`),children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(W,{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:p}),m]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=kt(e),r=X(e.output),o=X(e.error),s=e.status===`skipped`||e.status===`missed`,l=!n&&!s&&(r||o),p=d===e.id,m=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(i,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Vt,{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)} · `:``,s?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?c(`recentRunsCard.missed`):c(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Ct(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||l?(0,q.jsx)(U,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${p?`rotate-90`:``}`}):null]}),onSelect:n?()=>a(u,n):l?()=>f(p?null:e.id):void 0,"aria-label":c(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":l?p:void 0,"aria-controls":l?m:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),l&&p?(0,q.jsx)(`div`,{id:m,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:c(`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,o?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:c(`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)}),m]})})}var Sn={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 Cn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=H(`schedules`),o=Se(),{heartbeatConfig:c,consolidationConfig:u,retrospectiveConfig:d}=n,f=c?.effectiveTimezone||c?.timezone||null,p,m,h,g,_,v,y;e===`heartbeat`?(p=a(`systemTaskDetail.nameHeartbeat`),m=c?Nt(c,f):``,h=c?.enabled??!1,g=c?.nextRunAt??null,_=c?.lastRunAt??null,v=n.isHeartbeatRunning,y=n.runHeartbeatNow):e===`consolidation`?(p=a(`systemTaskDetail.nameConsolidation`),m=u?Pt(u):``,h=u?.enabled??!1,g=u?.nextRunAt??null,_=u?.lastRunAt??null,v=n.isConsolidationRunning,y=n.runConsolidationNow):(p=a(`systemTaskDetail.nameRetrospective`),m=Ft(),h=d?.enabled??!1,g=d?.nextRunAt??null,_=d?.lastRunAt??null,v=!1,y=void 0);let b=e!==`heartbeat`,x=e===`retrospective`,S=b&&!h,C=v||S,w=a(b?h?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:h?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=x&&d?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:x?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=b&&h&&r,k={path:{assistant_id:t},query:{limit:25}},A=e===`heartbeat`?T(k):e===`consolidation`?P(k):s(k),{data:ee,isLoading:M,fetchNextPage:N,hasNextPage:ne,isFetchingNextPage:re}=xe({queryKey:A.queryKey,queryFn:A.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),F=Dt(ee?.pages.map(t=>({runs:t.runs.filter(e=>!At(e)).map(t=>qt(t,e))}))),ie=F?.find(e=>jt(e)&&e.status!==`running`),ae=_??ie?.finishedAt??ie?.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)(ce,{title:p,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)($t,{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:w}),b?null:(0,q.jsx)(te,{size:`sm`,checked:h,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:p})})]})}),(0,q.jsx)(an,{assistantId:t,defaultCallSite:Sn[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`&&f?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:f})}):null,x?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(g)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(ae)})})]})}),S?(0,q.jsx)(he,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(l,{variant:`outlined`,size:`compact`,onClick:()=>o(`${j.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(xn,{runs:F,isLoading:M,hasMore:ne,isLoadingMore:re,onLoadMore:()=>void N()})]}),O||y?(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)(l,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>o(`${j.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,y?(0,q.jsx)(l,{variant:`primary`,leftIcon:v?(0,q.jsx)(W,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`}),onClick:y,disabled:C,children:a(v?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function wn(e){let t=de(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(ee(e)),{data:s,isLoading:c,isError:l}=V(Rt(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Lt(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)??zt(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await Re(e,t,n),o()}catch(e){z(e,{context:`schedule_toggle`}),N.error(B(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function Tn(){let e=Se(),{scheduleId:t}=Ce(),n=A(),r=h(),i=de(),a=wn(n),o=Qt(n,i),s=me(`memoryOptOut`),c=u.use.settingsDeveloperNav(),l=s&&c===!0,[d,f]=(0,G.useState)(!1),p=t??null,[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(!1),b=(0,G.useCallback)(t=>{e(t?j.schedules.detail(t):j.schedules.root)},[e]),x=p?a.recurring.find(e=>e.id===p)??a.oneTime.find(e=>e.id===p)??a.pastOneTime.find(e=>e.id===p)??null:null;(0,G.useEffect)(()=>{p&&!a.isLoading&&!a.isError&&!x&&b(null)},[p,x,a.isLoading,a.isError,b]);let S=g===`heartbeat`?o.heartbeatConfig!=null:g===`consolidation`?o.consolidationConfig?.available===!0:g===`retrospective`?o.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{g&&!o.isLoading&&!S&&_(null)},[g,S,o.isLoading]);let C=(0,G.useCallback)(e=>{_(null),b(e)},[b]),w=(0,G.useCallback)(e=>{p&&b(null),_(e)},[b,p]),T=(0,G.useCallback)(()=>{m(e)},[e]),E=bt(n,(0,G.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),D=(x?(0,q.jsx)(hn,{schedule:x,assistantId:n,usage:a.usageForSchedule(x.id),isPast:a.pastOneTime.some(e=>e.id===x.id),onClose:()=>b(null),onDeleted:()=>{b(null),a.refetch()}}):null)??(g&&S?(0,q.jsx)(Cn,{kind:g,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>_(null)}):null),O=(0,q.jsx)(bn,{recurring:a.recurring,oneTime:a.oneTime,pastOneTime:a.pastOneTime,usageForSchedule:a.usageForSchedule,isLoading:a.isLoading,isError:a.isError,refetch:a.refetch,onToggle:a.handleToggle,onSelectSchedule:C,selectedScheduleId:p,onStartNewChat:T,onCreateSchedule:()=>f(!0),pastOpen:v,onPastOpenChange:y,onRebaseProfiles:E.canRebase?E.requestRebase:void 0,defaultProfileLabel:E.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Wt,{heartbeatConfig:o.heartbeatConfig,consolidationConfig:o.consolidationConfig,retrospectiveConfig:o.retrospectiveConfig,heartbeatUsage:o.heartbeatUsage,consolidationUsage:o.consolidationUsage,retrospectiveUsage:o.retrospectiveUsage,isLoading:o.isLoading,hasError:o.hasError,onRetry:o.refetchAll,onSelectHeartbeat:()=>w(`heartbeat`),onSelectConsolidation:()=>w(`consolidation`),onSelectRetrospective:()=>w(`retrospective`)})}),k=(0,q.jsx)(xt,{...E.dialogProps});return D&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ze,{children:D}),k]}):(0,q.jsxs)(q.Fragment,{children:[D&&!r?(0,q.jsx)(qe,{storageKey:`schedulesDetailDrawerWidth`,detailKey:p??g??void 0,section:O,detail:D}):O,(0,q.jsx)(ut,{isOpen:d,assistantId:n,onClose:()=>f(!1),onCreated:()=>{f(!1),a.refetch()}}),k]})}export{Tn as SchedulesPage};
|
package/dist/assets/{security-redirect-page-BqN7nDmC.js → security-redirect-page-nqyQ-l9I.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fx as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fx as t}from"./app-BBUxTj9g.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-D7lOSn8K.js → select-assistant-screen-DTbgqPJ8.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,ES as n,Eh as r,Hs as i,Ju as a,Jy as o,Kb as s,Lb as c,Lx as l,NS as u,Ns as d,OS as f,Os as p,Ph as m,Ps as h,Qy as g,Rx as _,Ub as v,Vx as y,Xn as b,Xy as ee,Yb as x,aS as S,ax as C,bb as w,bg as T,eo as E,fi as D,fx as O,hb as te,jb as ne,ks as re,li as ie,no as ae,od as oe,og as se,ox as ce,pS as k,pb as le,px as ue,qm as A,qy as de,rS as fe,tm as pe,to as me,tx as he,ug as ge,wb as j,xS as M,xb as _e,zt as N,zx as P}from"./app-BfK0IQIk.js";import{er as ve,j as F}from"./vendor-ajttH1pP.js";import{_ as ye,f as be,t as xe,x as I}from"./react-B9IgSVeK.js";import{Cr as Se,Ji as Ce,Lt as we,_i as Te,sr as L,tr as R}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as Ee}from"./radio-card-nav-DkCS-TkI.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-mfRYC3V6.js";import{t as je}from"./format-countdown-V7kp5VfL.js";var H=e(I(),1),Me=O.remotePair.slice(`${O.assistant}/`.length);async function Ne(e,t){let n=t?C(e.url,t):null,i=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,a=()=>window.location.assign(n??`${e.url}${O.assistant}`);if(!r()){a();return}(i===null?await ke(e.url):await V(e.url,i))||a()}function Pe(e){return De(w()?T():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),c=D();if(e){if(!c)return r;if(A(c,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(b,{components:c,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let t;try{t=_(e)}catch{return{ok:!1,reason:`unparseable`}}if(l(t))return{ok:!1,reason:`service-website`};let n=De(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:P(e).deviceCode}}function Le({open:e,onClose:t,onAdded:n}){let{t:r}=F(`onboarding`),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let d=()=>{o||t()},f=async()=>{if(!i.trim()||o)return;let e=Ie(i);if(!e.ok){l(ce(e.reason,i));return}s(!0),l(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||d()},children:(0,U.jsxs)(S.Content,{size:`md`,children:[(0,U.jsxs)(S.Header,{icon:Se,children:[(0,U.jsx)(S.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,U.jsx)(S.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(S.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(k,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,U.jsxs)(S.Footer,{children:[(0,U.jsx)(u,{variant:`ghost`,onClick:d,disabled:o,children:r(`actions.cancel`)}),(0,U.jsx)(u,{variant:`primary`,onClick:()=>void f(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:i}){let{t:a}=F(`onboarding`),[o,s]=(0,H.useState)(``),[l,d]=(0,H.useState)(``),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[_,v]=(0,H.useState)(null),[y,b]=(0,H.useState)(0),[ee,x]=(0,H.useState)(!1),[C,w]=(0,H.useState)(null),T=(0,H.useRef)(null),E=(0,H.useRef)({abandoned:!1}),D=()=>{let e=T.current;T.current=null,e&&g(e)};(0,H.useEffect)(()=>{if(!e)return;s(t??``),d(``),p(!1),h(null),v(null),x(!1),w(null);let n={abandoned:!1};return E.current=n,()=>{n.abandoned=!0,D()}},[e,t]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>b(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let O=async()=>{let e=o.trim();if(!e||f)return;p(!0),h(null);let t=l.trim()||void 0,n=E.current;try{let r=await c(e);if(n.abandoned){r.ok&&g(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),p(!1);return}T.current=r.handle,r.userCode&&(v({userCode:r.userCode,expiresAt:r.expiresAt}),b(Date.parse(r.expiresAt)-Date.now()));let o=r.userCode!==null,s=r.expiresAt,l=r.intervalSeconds,u=0;for(;;){let e=await j(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=o&&_e(e);if(t&&!Re(s)){if(u+=1,u===1&&x(!0),await W(Math.min(l*u,G)*1e3),n.abandoned)return;continue}D(),v(null),x(!1),h({kind:`message`,text:t?a(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,x(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),w(e.assistantId);break}i(e.assistantId);return}if(e.expiresAt!==s&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),D(),v(null),x(!1),h({kind:`message`,text:a(`connectAssistantDialog.submitError`)})}p(!1)};return C==null?(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(S.Content,{size:`md`,children:[(0,U.jsxs)(S.Header,{icon:R,children:[(0,U.jsx)(S.Title,{children:a(`connectAssistantDialog.title`)}),(0,U.jsx)(S.Description,{children:a(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(S.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,U.jsx)(M,{tone:`info`,children:a(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.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:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:a(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:ee?`text-[color:var(--system-warning-strong)]`:void 0,children:a(ee?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:a(`connectAssistantDialog.expiresIn`,{time:je(y)})})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:a(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(k,{id:`connect-assistant-address`,type:`text`,value:o,onChange:e=>s(e.target.value),placeholder:a(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:a(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(k,{id:`connect-assistant-name`,type:`text`,value:l,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?ce(m.rejection,m.address):m.text})]})}),(0,U.jsxs)(S.Footer,{children:[(0,U.jsx)(u,{variant:`ghost`,onClick:r,children:a(`actions.cancel`)}),!_&&(0,U.jsx)(u,{variant:`primary`,onClick:()=>void O(),disabled:!o.trim()||f,children:a(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(S.Content,{size:`sm`,children:[(0,U.jsx)(S.Header,{icon:R,children:(0,U.jsx)(S.Title,{children:a(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(S.Body,{children:(0,U.jsx)(M,{tone:`warning`,children:a(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(S.Footer,{children:(0,U.jsx)(u,{variant:`primary`,onClick:()=>i(C),children:a(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=F(`onboarding`),[c,l]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&l(`menu`)},[e]);let d=r?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,U.jsx)(fe,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),d]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,U.jsx)(E,{open:e,isPending:n,extraMessage:d,onConfirm:o,onCancel:()=>l(`menu`)}):(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,U.jsxs)(S.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,U.jsx)(S.Header,{children:(0,U.jsx)(S.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(S.Body,{children:[(0,U.jsx)(S.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),d,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(u,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(u,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,U.jsx)(u,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function He(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?y(e.runtimeUrl):e.isLocal?te()?`On this computer`:He(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${N(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function Ge(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=F(`onboarding`),n=be(),r=ve(),[c,l]=ye(),f=c.get(`fromLogin`)===`1`,h=c.get(`noAutoSkip`)===`1`,g=ue(),_=te(),y=pe(),b=o.use.assistants(),S=ge.use.currentOrganizationId(),C=B.use.origins(),w=B.use.hydrated(),T=m(),{loading:E,error:D,login:ce,cancel:k}=i(),[A,fe]=(0,H.useState)(null),j=A===null?null:{url:A,name:`Vellum Cloud`},M=j!==null,_e=e=>e.isPaired||e.isLocal&&_||y,N=b.filter(de),P=N.filter(_e),xe=P.length>0||C.length>0||j!==null,I=v(),Ce=!y&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[He,K]=(0,H.useState)(!1),[Ue,J]=(0,H.useState)(null),[Y,X]=(0,H.useState)(null),[Ze,Qe]=(0,H.useState)(!1),[$e,Z]=(0,H.useState)(null),[et,tt]=(0,H.useState)(!1),[Q,nt]=(0,H.useState)(null),[rt,it]=(0,H.useState)(!1),[at,ot]=(0,H.useState)(null),st=a.use.open(),ct=a.use.initialAddress(),lt=a.use.guidanceKind(),ut=a.use.deepLinkDrainSettled(),dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{oe()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!T)return;let e=!1;return Oe().then(t=>{e||fe(t)}),()=>{e=!0}},[T]);let ft=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(ft.current)return;ft.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>l(Ke,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():ft.current=!1}).catch(()=>{ft.current=!1})},[c,l]),(0,H.useEffect)(()=>{if(L===q&&M||L!=null&&C.some(e=>Ge(e)===L))return;if(P.length===0){let e=C[0],t=e?Ge(e):M?q:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=se(S);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,S,C,M]);let $=async e=>{je(!0),W(null);try{await re(e),n(O.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&v()&&(s(t)||he(t)||t instanceof ee)&&le(e.id)?Re(e):e.isPaired&&s(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),K(!1),J(null),Fe(!1)},mt=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await x(G.id,{repairGuardian:!0});if(e.ok){t(),pt(),$(G);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await ae(r,G.id);if(e.ok){pt(),n(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await p(r,Y.id);e.ok?(dt.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await ne(Y.id);if(e.ok){let e=o.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),d(r,Y.id),dt.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await B.getState().removeOrigin(Q.url),B.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):(dt.current=!0,nt(null)),it(!1))},bt=e=>{a.getState().closeConnectDialog(),$(o.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{f||h||dt.current||_&&w&&(C.length>0||g&&!ut||V||Me||st||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),$(P[0])))},[N.length,P.length,ut,_,C.length,w]);let St=()=>{if(L===q){ke(null).then(e=>{!e&&A!==null&&window.location.assign(A)});return}let e=C.find(e=>Ge(e)===L);if(e){Pe(e)?n(O.assistant,{replace:!0}):Ne(e);return}let t=N.find(e=>e.id===L);t&&$(t)},Ct=()=>{n(_?O.welcome:O.assistant)},wt=D??Ie;return Me&&!wt&&!G?(0,U.jsx)(qe,{}):(0,U.jsxs)(ie,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${g?`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,U.jsxs)(`div`,{className:`flex w-full flex-col items-center ${g?``:`flex-1 justify-center`}`,children:[(0,U.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,U.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,U.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ee,className:`flex w-full flex-col ${g?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[N.map(t=>{let n=_e(t);return(0,U.jsx)(Ye,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(E?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?E?k:()=>void ce():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>X(t):void 0},t.id)}),C.map((e,t)=>{let n=Ge(e),r=Pe(e);return(0,U.jsx)(Xe,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&T?void 0:()=>nt(e)},e.url)}),j&&(0,U.jsx)(Xe,{origin:j,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===q,current:!1,tabStop:L==null?P.length===0&&C.length===0:L===q,onSelect:()=>z(q)}),_&&(0,U.jsx)(Je,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||E,onClick:()=>void n(`${O.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||E,onClick:()=>a.getState().openConnectDialog()}),!I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||E,onClick:()=>tt(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(u,{variant:`primary`,size:`regular`,fullWidth:!0,className:g?void 0:`h-11 text-base`,onClick:St,disabled:!L||V,children:e(V?`actions.connecting`:`actions.continue`)})}),(0,U.jsx)(`div`,{className:xe?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,U.jsx)(u,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||E,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,U.jsx)(ze,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>a.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:He,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(me,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ve(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(me,{open:Q!=null,kind:`origin`,assistantName:Q?We(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=F(`onboarding`);return(0,U.jsx)(ie,{avatarWave:`beside`,children:(0,U.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,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:n,onClick:r}){let i=ue();return(0,U.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,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:r}=F(`onboarding`);return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Trigger,{asChild:!0,children:(0,U.jsx)(u,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":r(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(f.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(f.Item,{onSelect:t,className:n.anchored,children:r(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=ue();return(0,U.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,U.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,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.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,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=F(`onboarding`),d=Ve(e),{traits:f,imageUrl:p,onImageError:m}=h(e);return(0,U.jsx)(X,{icon:(0,U.jsx)(Fe,{traits:f,imageUrl:p,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:K(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,U.jsx)(u,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,U.jsx)(Y,{label:d,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=We(e);return(0,U.jsx)(X,{icon:t??(0,U.jsx)(Se,{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,U.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,ES as n,Eh as r,Hs as i,Ju as a,Jy as o,Kb as s,Lb as c,Lx as l,NS as u,Ns as d,OS as f,Os as p,Ph as m,Ps as h,Qy as g,Rx as _,Ub as v,Vx as y,Xn as b,Xy as ee,Yb as x,aS as S,ax as C,bb as w,bg as T,eo as E,fi as D,fx as O,hb as te,jb as ne,ks as re,li as ie,no as ae,od as oe,og as se,ox as ce,pS as k,pb as le,px as ue,qm as A,qy as de,rS as fe,tm as pe,to as me,tx as he,ug as ge,wb as j,xS as M,xb as _e,zt as N,zx as P}from"./app-BBUxTj9g.js";import{er as ve,j as F}from"./vendor-ajttH1pP.js";import{_ as ye,f as be,t as xe,x as I}from"./react-B9IgSVeK.js";import{Cr as Se,Ji as Ce,Lt as we,_i as Te,sr as L,tr as R}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as Ee}from"./radio-card-nav-DkCS-TkI.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-TGCgx_Zl.js";import{t as je}from"./format-countdown-V7kp5VfL.js";var H=e(I(),1),Me=O.remotePair.slice(`${O.assistant}/`.length);async function Ne(e,t){let n=t?C(e.url,t):null,i=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,a=()=>window.location.assign(n??`${e.url}${O.assistant}`);if(!r()){a();return}(i===null?await ke(e.url):await V(e.url,i))||a()}function Pe(e){return De(w()?T():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),c=D();if(e){if(!c)return r;if(A(c,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(b,{components:c,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let t;try{t=_(e)}catch{return{ok:!1,reason:`unparseable`}}if(l(t))return{ok:!1,reason:`service-website`};let n=De(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:P(e).deviceCode}}function Le({open:e,onClose:t,onAdded:n}){let{t:r}=F(`onboarding`),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let d=()=>{o||t()},f=async()=>{if(!i.trim()||o)return;let e=Ie(i);if(!e.ok){l(ce(e.reason,i));return}s(!0),l(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||d()},children:(0,U.jsxs)(S.Content,{size:`md`,children:[(0,U.jsxs)(S.Header,{icon:Se,children:[(0,U.jsx)(S.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,U.jsx)(S.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(S.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(k,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,U.jsxs)(S.Footer,{children:[(0,U.jsx)(u,{variant:`ghost`,onClick:d,disabled:o,children:r(`actions.cancel`)}),(0,U.jsx)(u,{variant:`primary`,onClick:()=>void f(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:i}){let{t:a}=F(`onboarding`),[o,s]=(0,H.useState)(``),[l,d]=(0,H.useState)(``),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[_,v]=(0,H.useState)(null),[y,b]=(0,H.useState)(0),[ee,x]=(0,H.useState)(!1),[C,w]=(0,H.useState)(null),T=(0,H.useRef)(null),E=(0,H.useRef)({abandoned:!1}),D=()=>{let e=T.current;T.current=null,e&&g(e)};(0,H.useEffect)(()=>{if(!e)return;s(t??``),d(``),p(!1),h(null),v(null),x(!1),w(null);let n={abandoned:!1};return E.current=n,()=>{n.abandoned=!0,D()}},[e,t]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>b(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let O=async()=>{let e=o.trim();if(!e||f)return;p(!0),h(null);let t=l.trim()||void 0,n=E.current;try{let r=await c(e);if(n.abandoned){r.ok&&g(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),p(!1);return}T.current=r.handle,r.userCode&&(v({userCode:r.userCode,expiresAt:r.expiresAt}),b(Date.parse(r.expiresAt)-Date.now()));let o=r.userCode!==null,s=r.expiresAt,l=r.intervalSeconds,u=0;for(;;){let e=await j(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=o&&_e(e);if(t&&!Re(s)){if(u+=1,u===1&&x(!0),await W(Math.min(l*u,G)*1e3),n.abandoned)return;continue}D(),v(null),x(!1),h({kind:`message`,text:t?a(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,x(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),w(e.assistantId);break}i(e.assistantId);return}if(e.expiresAt!==s&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),D(),v(null),x(!1),h({kind:`message`,text:a(`connectAssistantDialog.submitError`)})}p(!1)};return C==null?(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(S.Content,{size:`md`,children:[(0,U.jsxs)(S.Header,{icon:R,children:[(0,U.jsx)(S.Title,{children:a(`connectAssistantDialog.title`)}),(0,U.jsx)(S.Description,{children:a(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(S.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,U.jsx)(M,{tone:`info`,children:a(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.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:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:a(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:ee?`text-[color:var(--system-warning-strong)]`:void 0,children:a(ee?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:a(`connectAssistantDialog.expiresIn`,{time:je(y)})})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:a(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(k,{id:`connect-assistant-address`,type:`text`,value:o,onChange:e=>s(e.target.value),placeholder:a(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:a(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(k,{id:`connect-assistant-name`,type:`text`,value:l,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?ce(m.rejection,m.address):m.text})]})}),(0,U.jsxs)(S.Footer,{children:[(0,U.jsx)(u,{variant:`ghost`,onClick:r,children:a(`actions.cancel`)}),!_&&(0,U.jsx)(u,{variant:`primary`,onClick:()=>void O(),disabled:!o.trim()||f,children:a(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(S.Content,{size:`sm`,children:[(0,U.jsx)(S.Header,{icon:R,children:(0,U.jsx)(S.Title,{children:a(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(S.Body,{children:(0,U.jsx)(M,{tone:`warning`,children:a(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(S.Footer,{children:(0,U.jsx)(u,{variant:`primary`,onClick:()=>i(C),children:a(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=F(`onboarding`),[c,l]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&l(`menu`)},[e]);let d=r?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,U.jsx)(fe,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),d]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,U.jsx)(E,{open:e,isPending:n,extraMessage:d,onConfirm:o,onCancel:()=>l(`menu`)}):(0,U.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,U.jsxs)(S.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,U.jsx)(S.Header,{children:(0,U.jsx)(S.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(S.Body,{children:[(0,U.jsx)(S.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),d,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(u,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(u,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,U.jsx)(u,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function He(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?y(e.runtimeUrl):e.isLocal?te()?`On this computer`:He(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${N(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function Ge(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=F(`onboarding`),n=be(),r=ve(),[c,l]=ye(),f=c.get(`fromLogin`)===`1`,h=c.get(`noAutoSkip`)===`1`,g=ue(),_=te(),y=pe(),b=o.use.assistants(),S=ge.use.currentOrganizationId(),C=B.use.origins(),w=B.use.hydrated(),T=m(),{loading:E,error:D,login:ce,cancel:k}=i(),[A,fe]=(0,H.useState)(null),j=A===null?null:{url:A,name:`Vellum Cloud`},M=j!==null,_e=e=>e.isPaired||e.isLocal&&_||y,N=b.filter(de),P=N.filter(_e),xe=P.length>0||C.length>0||j!==null,I=v(),Ce=!y&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[He,K]=(0,H.useState)(!1),[Ue,J]=(0,H.useState)(null),[Y,X]=(0,H.useState)(null),[Ze,Qe]=(0,H.useState)(!1),[$e,Z]=(0,H.useState)(null),[et,tt]=(0,H.useState)(!1),[Q,nt]=(0,H.useState)(null),[rt,it]=(0,H.useState)(!1),[at,ot]=(0,H.useState)(null),st=a.use.open(),ct=a.use.initialAddress(),lt=a.use.guidanceKind(),ut=a.use.deepLinkDrainSettled(),dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{oe()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!T)return;let e=!1;return Oe().then(t=>{e||fe(t)}),()=>{e=!0}},[T]);let ft=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(ft.current)return;ft.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>l(Ke,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():ft.current=!1}).catch(()=>{ft.current=!1})},[c,l]),(0,H.useEffect)(()=>{if(L===q&&M||L!=null&&C.some(e=>Ge(e)===L))return;if(P.length===0){let e=C[0],t=e?Ge(e):M?q:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=se(S);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,S,C,M]);let $=async e=>{je(!0),W(null);try{await re(e),n(O.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&v()&&(s(t)||he(t)||t instanceof ee)&&le(e.id)?Re(e):e.isPaired&&s(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),K(!1),J(null),Fe(!1)},mt=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await x(G.id,{repairGuardian:!0});if(e.ok){t(),pt(),$(G);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await ae(r,G.id);if(e.ok){pt(),n(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await p(r,Y.id);e.ok?(dt.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await ne(Y.id);if(e.ok){let e=o.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),d(r,Y.id),dt.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await B.getState().removeOrigin(Q.url),B.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):(dt.current=!0,nt(null)),it(!1))},bt=e=>{a.getState().closeConnectDialog(),$(o.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{f||h||dt.current||_&&w&&(C.length>0||g&&!ut||V||Me||st||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),$(P[0])))},[N.length,P.length,ut,_,C.length,w]);let St=()=>{if(L===q){ke(null).then(e=>{!e&&A!==null&&window.location.assign(A)});return}let e=C.find(e=>Ge(e)===L);if(e){Pe(e)?n(O.assistant,{replace:!0}):Ne(e);return}let t=N.find(e=>e.id===L);t&&$(t)},Ct=()=>{n(_?O.welcome:O.assistant)},wt=D??Ie;return Me&&!wt&&!G?(0,U.jsx)(qe,{}):(0,U.jsxs)(ie,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${g?`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,U.jsxs)(`div`,{className:`flex w-full flex-col items-center ${g?``:`flex-1 justify-center`}`,children:[(0,U.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,U.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,U.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ee,className:`flex w-full flex-col ${g?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[N.map(t=>{let n=_e(t);return(0,U.jsx)(Ye,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(E?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?E?k:()=>void ce():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>X(t):void 0},t.id)}),C.map((e,t)=>{let n=Ge(e),r=Pe(e);return(0,U.jsx)(Xe,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&T?void 0:()=>nt(e)},e.url)}),j&&(0,U.jsx)(Xe,{origin:j,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===q,current:!1,tabStop:L==null?P.length===0&&C.length===0:L===q,onSelect:()=>z(q)}),_&&(0,U.jsx)(Je,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||E,onClick:()=>void n(`${O.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||E,onClick:()=>a.getState().openConnectDialog()}),!I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||E,onClick:()=>tt(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(u,{variant:`primary`,size:`regular`,fullWidth:!0,className:g?void 0:`h-11 text-base`,onClick:St,disabled:!L||V,children:e(V?`actions.connecting`:`actions.continue`)})}),(0,U.jsx)(`div`,{className:xe?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,U.jsx)(u,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||E,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,U.jsx)(ze,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>a.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:He,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(me,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ve(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(me,{open:Q!=null,kind:`origin`,assistantName:Q?We(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=F(`onboarding`);return(0,U.jsx)(ie,{avatarWave:`beside`,children:(0,U.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,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:n,onClick:r}){let i=ue();return(0,U.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,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:r}=F(`onboarding`);return(0,U.jsxs)(f.Root,{children:[(0,U.jsx)(f.Trigger,{asChild:!0,children:(0,U.jsx)(u,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":r(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(f.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(f.Item,{onSelect:t,className:n.anchored,children:r(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=ue();return(0,U.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,U.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,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.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,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=F(`onboarding`),d=Ve(e),{traits:f,imageUrl:p,onImageError:m}=h(e);return(0,U.jsx)(X,{icon:(0,U.jsx)(Fe,{traits:f,imageUrl:p,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:K(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,U.jsx)(u,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,U.jsx)(Y,{label:d,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=We(e);return(0,U.jsx)(X,{icon:t??(0,U.jsx)(Se,{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,U.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Eh as e,Fx as t,Hx as n,ag as r,dy as i}from"./app-
|
|
1
|
+
import{Eh as e,Fx as t,Hx as n,ag as r,dy as i}from"./app-BBUxTj9g.js";import{Q as a,k as o}from"./vendor-ajttH1pP.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=i({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=n(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||!e()||(F=!0,w(P()))}async function L(t,n){if(!e())return!1;await r();try{return await n(),!0}catch(e){return console.debug(`[self-hosted-servers] ${t} unavailable:`,e),!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(!e())return null;let t=await k();return t===null||!t.activeUrl?null:t.bakedUrl?c(t.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{NS as e}from"./app-
|
|
1
|
+
import{NS as e}from"./app-BBUxTj9g.js";import{j as t}from"./vendor-ajttH1pP.js";import{t as n}from"./react-B9IgSVeK.js";import{Zr as r,fr as i}from"./icons-C0wyat6T.js";import{t as a}from"./detail-card-BhMBZjzu.js";var o=n();function s({id:e,title:t,subtitle:n,children:r}){return(0,o.jsx)(a,{id:e,title:t,subtitle:n,children:(0,o.jsx)(`div`,{className:`mt-4`,children:r})})}function c({onClick:n,disabled:r}){let{t:i}=t();return(0,o.jsx)(e,{onClick:n,disabled:r,children:i(`serviceFormControls.save`)})}function l({onClick:n,filled:r=!1}){let{t:i}=t();return(0,o.jsx)(e,{variant:r?`danger`:`dangerGhost`,onClick:n,children:i(`serviceFormControls.reset`)})}function u({guide:e}){return(0,o.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,o.jsx)(i,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,o.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,o.jsx)(`span`,{children:e.description}),(0,o.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,o.jsx)(r,{className:`h-3 w-3`})]})]})]})}export{s as i,l as n,c as r,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fS as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fS as t}from"./app-BBUxTj9g.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{IS as t,Sn as n,mx as r}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{IS as t,Sn as n,mx as r}from"./app-BBUxTj9g.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{Hs as t,Jy as n,Mh as r,Pd as i,Xp as a,bd as o,fx as s,nc as c,oa as l,sn as u,tm as d,wr as f}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Hs as t,Jy as n,Mh as r,Pd as i,Xp as a,bd as o,fx as s,nc as c,oa as l,sn as u,tm as d,wr as f}from"./app-BBUxTj9g.js";import{j as p}from"./vendor-ajttH1pP.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-BxII4vqO.js";import{t as C}from"./use-supports-credentials-settings-ChozdHJ0.js";var w=e(v(),1),T=_();function E(){let e=i.use.settingsDeveloperNav(),_=i.use.vellumHostedInference(),v=o.use.setWindowsMenuBarSuppressed();(0,w.useEffect)(()=>(v(!0),()=>v(!1)),[v]);let{t:E}=p(`settings`),D=r(),O=n.use.activeAssistantId(),k=u(O),A=C(O),j=l(),M=a(),{pathname:N}=m(),P=h(),F=d(),{login:I}=t(),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 c(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-Bgjk4m6g.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-NbBYK6B4.js","assets/react-B9IgSVeK.js","assets/rolldown-runtime-BM3Ffeng.js","assets/vendor-ajttH1pP.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,Fr as n,Im as r,NS as i,PS as a,Td as o,Zb as s,fS as c,mS as l,pS as u,pa as d,px as f,q_ as p,ql as ee,tS as m,xS as h}from"./app-BfK0IQIk.js";import{E as g,Jn as _,N as te,er as ne,j as v}from"./vendor-ajttH1pP.js";import{b as y,t as b,v as x,x as S}from"./react-B9IgSVeK.js";import{Mn as C,Vn as re,Yn as ie,_t as ae,fr as oe,i as se,in as ce,nr as w,pa as T,ri as le}from"./icons-C0wyat6T.js";var E=e(S(),1),ue=e(y(),1),D=`vellum:debug:`;function O(){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(D))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function de(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:s()},overrides:O()}}var k=b(),fe=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,pe=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,me={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},A=[{value:`bug_report`,icon:T,includesLogsByDefault:!0},{value:`feature_request`,icon:w,includesLogsByDefault:!1},{value:`other`,icon:C,includesLogsByDefault:!1}],j=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],M=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),N=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),P=10,F=50*1024*1024,he={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ge(){if(f())return`electron`;let e=g.getPlatform();return e===`ios`||e===`android`?e:`web`}function _e(e){return typeof e==`object`&&!!e&&`client`in e}function ve(e){if(e.size>F)return!1;if(e.type&&M.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?N.has(t):!1}return!1}var I=8192,L=/^data:([^;,]+);base64,/i,R=/^[A-Za-z0-9+/]+={0,2}$/;function z(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=>z(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=z(a,t,n);i=r}return n.delete(e),i}function B(e){return z(e,e=>{if(typeof e!=`string`)return null;let t=L.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=I&&R.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function V(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}`)}}),z(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 H(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 U(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await p({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function W(){if(!g.isNativePlatform())return null;try{let{App:e}=await x(async()=>{let{App:e}=await import(`./esm-NbBYK6B4.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 ye(e,t,n,i={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:a,doctorSessionId:s,extraLogFiles:c=[]}=i,l=new Date,u=j.find(t=>t.value===e),d=l.getTime(),p=u?.cutoffMs==null?null:d-u.cutoffMs,ee=p==null?null:new Date(p).toISOString(),m=null;try{m=a?.()??null}catch{m=null}let h=r(m),g={collected_at:l.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:p,end_time_ms:d},assistant_id:t,active_conversation_id:n,doctor_session_id:s??null,client_version:null,native_app:await W(),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},_=new TextEncoder,te=_.encode(JSON.stringify(g,null,2)),ne=_.encode(JSON.stringify(h,null,2)),v=[H(`web-client-context.json`,te),H(`web-chat-diagnostics.json`,ne)];if(i.queryClient)try{v.push(H(`web-asset-diagnostics.json`,_.encode(JSON.stringify(o(i.queryClient),null,2))))}catch{}let y=new TextEncoder().encode(JSON.stringify(de(),null,2));v.push(H(`web-debug-flags.json`,y));for(let e of c){let t=e.contents.trim();t&&v.push(H(e.filename,_.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:V(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(B(n),null,2));v.push(H(`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(B(t),null,2));v.push(H(`web-sse-liveness-triage.json`,n))}}catch{}if(f()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(H(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(H(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await U(t,{window:{startTime:p,endTime:d},activeConversationId:n});e&&v.push(H(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let b=v.reduce((e,t)=>e+t.length,0),x=new Uint8Array(b),S=0;for(let e of v)x.set(e,S),S+=e.length;let C=new Blob([x.buffer]),re=await new Response(C.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([re],`web-client-logs-${l.getTime()}.tar.gz`,{type:`application/gzip`})}function G({open:e,onClose:r,initialReason:o,initialMessage:s,onSubmitted:p,assistantId:g,assistantVersion:y,activeConversationId:b,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let{t:w}=v(),T=ne(),D=t.use.user(),O=D?.email,de=D?.isStaff??!1,j=(0,E.useId)(),M=(0,E.useRef)(null),N=(0,E.useRef)(null),F=(0,E.useRef)(null),I=(0,E.useRef)(null),L=(0,E.useMemo)(()=>[{value:`past_hour`,label:w(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:w(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:w(`shareFeedbackModal.timeRangeAllTime`)}],[w]),[R,z]=(0,E.useState)(o??`bug_report`),[B,V]=(0,E.useState)(``),[H,U]=(0,E.useState)(``),[W,G]=(0,E.useState)(A.find(e=>e.value===(o??`bug_report`))?.includesLogsByDefault??!0),[Se,Ce]=(0,E.useState)(!1),[K,q]=(0,E.useState)(`past_hour`),[J,Y]=(0,E.useState)([]),[we,X]=(0,E.useState)(null),[Te,Ee]=(0,E.useState)(!1),[De,Oe]=(0,E.useState)(!1),[Z,ke]=(0,E.useState)(!1),Ae=_(ee()),[je,Q]=(0,E.useState)(!1),$=Ae.isPending||je,Me=!O,Ne=(0,E.useMemo)(()=>B.trim().length>0&&H.trim().length>0,[B,H]);(0,E.useEffect)(()=>{if(!e)return;let t=o??`bug_report`;z(t),V(s??``),U(O??``),G(A.find(e=>e.value===t)?.includesLogsByDefault??!0),Ce(!1),q(`past_hour`),Y([]),Oe(!1),ke(!1),X(null),Q(!1),Ae.reset();let n=setTimeout(()=>{O?F.current?.focus():I.current?.focus()},50);return()=>clearTimeout(n)},[e]),d(e);let Pe=e=>{z(e),Se||G(A.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{G(e=>!e),Ce(!0)},Ie=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Le=(0,E.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),r())},[r,$]),Re=(0,E.useCallback)(e=>{e.target===M.current&&!$&&r()},[r,$]),ze=(0,E.useCallback)(e=>{Y(t=>{let n=P-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(!ve(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Be=e=>{e.target.files&&ze(Array.from(e.target.files)),e.target.value=``},Ve=e=>{e.preventDefault(),Ee(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),Ee(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&Ee(!1)},We=e=>{Y(t=>t.filter((t,n)=>n!==e))};return e?(0,ue.createPortal)((0,k.jsx)(`div`,{ref:M,role:`dialog`,"aria-modal":`true`,"aria-labelledby":j,className:fe,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,k.jsxs)(`div`,{className:pe,style:me,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,k.jsx)(`h2`,{id:j,className:`!m-0 text-title-small text-[var(--content-default)]`,children:w(`shareFeedbackModal.title`)}),(0,k.jsx)(i,{variant:`ghost`,iconOnly:(0,k.jsx)(se,{}),onClick:r,disabled:$,"aria-label":w(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[de&&(0,k.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,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,k.jsx)(c,{checked:Z,onChange:()=>ke(e=>!e),"aria-label":w(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,k.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.timeRange`)}),(0,k.jsx)(m,{options:L,value:K,onChange:q,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}):(0,k.jsxs)(k.Fragment,{children:[Me&&(0,k.jsx)(u,{id:`${j}-email`,ref:I,label:w(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:H,onChange:e=>U(e.target.value),leftIcon:(0,k.jsx)(re,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.category`)}),(0,k.jsx)(`div`,{className:`flex gap-2`,children:A.map(e=>(0,k.jsx)(be,{option:e,isSelected:R===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,k.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),R===`bug_report`&&(0,k.jsx)(h,{tone:`info`,children:(0,k.jsx)(te,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,k.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),R===`feature_request`&&(0,k.jsx)(h,{tone:`info`,children:(0,k.jsx)(te,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,k.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),(0,k.jsx)(l,{id:`${j}-message`,ref:F,label:w(R===`bug_report`?`shareFeedbackModal.messageLabelBug`:R===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:w(R===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:R===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:B,onChange:e=>V(e.target.value),fullWidth:!0}),R!==`feature_request`&&(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(c,{checked:W,onChange:Fe,"aria-label":w(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeDiagnostics`)})]}),(0,k.jsx)(a,{content:w(`shareFeedbackModal.diagnosticsTooltip`),children:(0,k.jsx)(`button`,{type:`button`,"aria-label":w(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,k.jsx)(oe,{className:`h-3.5 w-3.5`})})})]}),W&&(0,k.jsx)(m,{options:L,value:K,onChange:q,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}),f()&&b&&R!==`feature_request`&&(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(c,{checked:De,onChange:()=>Oe(e=>!e),"aria-label":w(`shareFeedbackModal.includeConversationAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeConversation`)})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[w(`shareFeedbackModal.attachments`),J.length>0&&(0,k.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,J.length,`/`,P]})]}),(0,k.jsx)(i,{variant:`outlined`,size:`compact`,leftIcon:(0,k.jsx)(ce,{}),onClick:()=>N.current?.click(),disabled:J.length>=P,children:w(`shareFeedbackModal.addFiles`)}),(0,k.jsx)(`input`,{ref:N,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),J.length>0&&(0,k.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:J.map((e,t)=>(0,k.jsx)(xe,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),Te&&(0,k.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w(`shareFeedbackModal.dropFiles`)})]})]}),we&&(0,k.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:we})]}),(0,k.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,k.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,k.jsx)(ie,{className:`h-4 w-4 animate-spin`}),w(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(i,{variant:`ghost`,onClick:r,children:w(`shareFeedbackModal.cancel`)}),Z?(0,k.jsx)(i,{variant:`primary`,leftIcon:(0,k.jsx)(le,{}),onClick:async()=>{if(!$){X(null),Q(!0);try{let e=await ye(K,g??null,f()?De?b??null:null:b??null,{diagnosticsProvider:C,queryClient:T,doctorSessionId:x,extraLogFiles:Ie});if(!e){X(`Diagnostics export isn't supported in this browser.`);return}await n(e,e.name),r()}catch(e){X(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:w(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,k.jsx)(i,{variant:`primary`,leftIcon:(0,k.jsx)(ae,{}),onClick:async()=>{if(!(!Ne||$)){X(null),Q(!0);try{let e=W&&R!==`feature_request`?await ye(K,g??null,f()?De?b??null:null:b??null,{diagnosticsProvider:C,queryClient:T,doctorSessionId:x,extraLogFiles:Ie}):null,t=ge(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let i=t=>Ae.mutateAsync({headers:{"Content-Type":null},body:{message:B.trim(),classification:he[R],email:H.trim(),client:t,client_version:n,...g?{assistant_id:g}:{},...y?{assistant_version:y}:{},...x?{doctor_session_id:x}:{},...e?{logs_file:e}:{},...J.length?{attachments:J}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!_e(e))throw e;await i(`web`)}p?.(),r()}catch(e){X(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:w(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function be({option:e,isSelected:t,onSelect:n}){let{t:r}=v(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,k.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,k.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,k.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function xe({file:e,onRemove:t}){let{t:n}=v(),r=e.type.startsWith(`image/`),a=(0,E.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,E.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,k.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&a?(0,k.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,k.jsx)(ce,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,k.jsx)(i,{variant:`ghost`,size:`compact`,iconOnly:(0,k.jsx)(se,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{V as n,B as r,G as t};
|
|
2
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,Fr as n,Im as r,NS as i,PS as a,Td as o,Zb as s,fS as c,mS as l,pS as u,pa as d,px as f,q_ as p,ql as ee,tS as m,xS as h}from"./app-BBUxTj9g.js";import{E as g,Jn as _,N as te,er as ne,j as v}from"./vendor-ajttH1pP.js";import{b as y,t as b,v as x,x as S}from"./react-B9IgSVeK.js";import{Mn as C,Vn as re,Yn as ie,_t as ae,fr as oe,i as se,in as ce,nr as w,pa as T,ri as le}from"./icons-C0wyat6T.js";var E=e(S(),1),ue=e(y(),1),D=`vellum:debug:`;function O(){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(D))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function de(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:s()},overrides:O()}}var k=b(),fe=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,pe=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,me={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},A=[{value:`bug_report`,icon:T,includesLogsByDefault:!0},{value:`feature_request`,icon:w,includesLogsByDefault:!1},{value:`other`,icon:C,includesLogsByDefault:!1}],j=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],M=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),N=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),P=10,F=50*1024*1024,he={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ge(){if(f())return`electron`;let e=g.getPlatform();return e===`ios`||e===`android`?e:`web`}function _e(e){return typeof e==`object`&&!!e&&`client`in e}function ve(e){if(e.size>F)return!1;if(e.type&&M.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?N.has(t):!1}return!1}var I=8192,L=/^data:([^;,]+);base64,/i,R=/^[A-Za-z0-9+/]+={0,2}$/;function z(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=>z(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=z(a,t,n);i=r}return n.delete(e),i}function B(e){return z(e,e=>{if(typeof e!=`string`)return null;let t=L.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=I&&R.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function V(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}`)}}),z(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 H(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 U(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await p({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function W(){if(!g.isNativePlatform())return null;try{let{App:e}=await x(async()=>{let{App:e}=await import(`./esm-NbBYK6B4.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 ye(e,t,n,i={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:a,doctorSessionId:s,extraLogFiles:c=[]}=i,l=new Date,u=j.find(t=>t.value===e),d=l.getTime(),p=u?.cutoffMs==null?null:d-u.cutoffMs,ee=p==null?null:new Date(p).toISOString(),m=null;try{m=a?.()??null}catch{m=null}let h=r(m),g={collected_at:l.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:p,end_time_ms:d},assistant_id:t,active_conversation_id:n,doctor_session_id:s??null,client_version:null,native_app:await W(),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},_=new TextEncoder,te=_.encode(JSON.stringify(g,null,2)),ne=_.encode(JSON.stringify(h,null,2)),v=[H(`web-client-context.json`,te),H(`web-chat-diagnostics.json`,ne)];if(i.queryClient)try{v.push(H(`web-asset-diagnostics.json`,_.encode(JSON.stringify(o(i.queryClient),null,2))))}catch{}let y=new TextEncoder().encode(JSON.stringify(de(),null,2));v.push(H(`web-debug-flags.json`,y));for(let e of c){let t=e.contents.trim();t&&v.push(H(e.filename,_.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:V(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(B(n),null,2));v.push(H(`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(B(t),null,2));v.push(H(`web-sse-liveness-triage.json`,n))}}catch{}if(f()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(H(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(H(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await U(t,{window:{startTime:p,endTime:d},activeConversationId:n});e&&v.push(H(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let b=v.reduce((e,t)=>e+t.length,0),x=new Uint8Array(b),S=0;for(let e of v)x.set(e,S),S+=e.length;let C=new Blob([x.buffer]),re=await new Response(C.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([re],`web-client-logs-${l.getTime()}.tar.gz`,{type:`application/gzip`})}function G({open:e,onClose:r,initialReason:o,initialMessage:s,onSubmitted:p,assistantId:g,assistantVersion:y,activeConversationId:b,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let{t:w}=v(),T=ne(),D=t.use.user(),O=D?.email,de=D?.isStaff??!1,j=(0,E.useId)(),M=(0,E.useRef)(null),N=(0,E.useRef)(null),F=(0,E.useRef)(null),I=(0,E.useRef)(null),L=(0,E.useMemo)(()=>[{value:`past_hour`,label:w(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:w(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:w(`shareFeedbackModal.timeRangeAllTime`)}],[w]),[R,z]=(0,E.useState)(o??`bug_report`),[B,V]=(0,E.useState)(``),[H,U]=(0,E.useState)(``),[W,G]=(0,E.useState)(A.find(e=>e.value===(o??`bug_report`))?.includesLogsByDefault??!0),[Se,Ce]=(0,E.useState)(!1),[K,q]=(0,E.useState)(`past_hour`),[J,Y]=(0,E.useState)([]),[we,X]=(0,E.useState)(null),[Te,Ee]=(0,E.useState)(!1),[De,Oe]=(0,E.useState)(!1),[Z,ke]=(0,E.useState)(!1),Ae=_(ee()),[je,Q]=(0,E.useState)(!1),$=Ae.isPending||je,Me=!O,Ne=(0,E.useMemo)(()=>B.trim().length>0&&H.trim().length>0,[B,H]);(0,E.useEffect)(()=>{if(!e)return;let t=o??`bug_report`;z(t),V(s??``),U(O??``),G(A.find(e=>e.value===t)?.includesLogsByDefault??!0),Ce(!1),q(`past_hour`),Y([]),Oe(!1),ke(!1),X(null),Q(!1),Ae.reset();let n=setTimeout(()=>{O?F.current?.focus():I.current?.focus()},50);return()=>clearTimeout(n)},[e]),d(e);let Pe=e=>{z(e),Se||G(A.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{G(e=>!e),Ce(!0)},Ie=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Le=(0,E.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),r())},[r,$]),Re=(0,E.useCallback)(e=>{e.target===M.current&&!$&&r()},[r,$]),ze=(0,E.useCallback)(e=>{Y(t=>{let n=P-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(!ve(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Be=e=>{e.target.files&&ze(Array.from(e.target.files)),e.target.value=``},Ve=e=>{e.preventDefault(),Ee(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),Ee(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&Ee(!1)},We=e=>{Y(t=>t.filter((t,n)=>n!==e))};return e?(0,ue.createPortal)((0,k.jsx)(`div`,{ref:M,role:`dialog`,"aria-modal":`true`,"aria-labelledby":j,className:fe,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,k.jsxs)(`div`,{className:pe,style:me,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,k.jsx)(`h2`,{id:j,className:`!m-0 text-title-small text-[var(--content-default)]`,children:w(`shareFeedbackModal.title`)}),(0,k.jsx)(i,{variant:`ghost`,iconOnly:(0,k.jsx)(se,{}),onClick:r,disabled:$,"aria-label":w(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[de&&(0,k.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,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,k.jsx)(c,{checked:Z,onChange:()=>ke(e=>!e),"aria-label":w(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,k.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:w(`shareFeedbackModal.timeRange`)}),(0,k.jsx)(m,{options:L,value:K,onChange:q,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}):(0,k.jsxs)(k.Fragment,{children:[Me&&(0,k.jsx)(u,{id:`${j}-email`,ref:I,label:w(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:H,onChange:e=>U(e.target.value),leftIcon:(0,k.jsx)(re,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:w(`shareFeedbackModal.category`)}),(0,k.jsx)(`div`,{className:`flex gap-2`,children:A.map(e=>(0,k.jsx)(be,{option:e,isSelected:R===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,k.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),R===`bug_report`&&(0,k.jsx)(h,{tone:`info`,children:(0,k.jsx)(te,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,k.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),R===`feature_request`&&(0,k.jsx)(h,{tone:`info`,children:(0,k.jsx)(te,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,k.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`})}})}),(0,k.jsx)(l,{id:`${j}-message`,ref:F,label:w(R===`bug_report`?`shareFeedbackModal.messageLabelBug`:R===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:w(R===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:R===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:B,onChange:e=>V(e.target.value),fullWidth:!0}),R!==`feature_request`&&(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(c,{checked:W,onChange:Fe,"aria-label":w(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeDiagnostics`)})]}),(0,k.jsx)(a,{content:w(`shareFeedbackModal.diagnosticsTooltip`),children:(0,k.jsx)(`button`,{type:`button`,"aria-label":w(`shareFeedbackModal.aboutDiagnosticsAria`),className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,k.jsx)(oe,{className:`h-3.5 w-3.5`})})})]}),W&&(0,k.jsx)(m,{options:L,value:K,onChange:q,"aria-label":w(`shareFeedbackModal.timeRangeAria`)})]}),f()&&b&&R!==`feature_request`&&(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(c,{checked:De,onChange:()=>Oe(e=>!e),"aria-label":w(`shareFeedbackModal.includeConversationAria`)}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:w(`shareFeedbackModal.includeConversation`)})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[w(`shareFeedbackModal.attachments`),J.length>0&&(0,k.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,J.length,`/`,P]})]}),(0,k.jsx)(i,{variant:`outlined`,size:`compact`,leftIcon:(0,k.jsx)(ce,{}),onClick:()=>N.current?.click(),disabled:J.length>=P,children:w(`shareFeedbackModal.addFiles`)}),(0,k.jsx)(`input`,{ref:N,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),J.length>0&&(0,k.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:J.map((e,t)=>(0,k.jsx)(xe,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),Te&&(0,k.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w(`shareFeedbackModal.dropFiles`)})]})]}),we&&(0,k.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:we})]}),(0,k.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,k.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,k.jsx)(ie,{className:`h-4 w-4 animate-spin`}),w(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(i,{variant:`ghost`,onClick:r,children:w(`shareFeedbackModal.cancel`)}),Z?(0,k.jsx)(i,{variant:`primary`,leftIcon:(0,k.jsx)(le,{}),onClick:async()=>{if(!$){X(null),Q(!0);try{let e=await ye(K,g??null,f()?De?b??null:null:b??null,{diagnosticsProvider:C,queryClient:T,doctorSessionId:x,extraLogFiles:Ie});if(!e){X(`Diagnostics export isn't supported in this browser.`);return}await n(e,e.name),r()}catch(e){X(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:w(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,k.jsx)(i,{variant:`primary`,leftIcon:(0,k.jsx)(ae,{}),onClick:async()=>{if(!(!Ne||$)){X(null),Q(!0);try{let e=W&&R!==`feature_request`?await ye(K,g??null,f()?De?b??null:null:b??null,{diagnosticsProvider:C,queryClient:T,doctorSessionId:x,extraLogFiles:Ie}):null,t=ge(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let i=t=>Ae.mutateAsync({headers:{"Content-Type":null},body:{message:B.trim(),classification:he[R],email:H.trim(),client:t,client_version:n,...g?{assistant_id:g}:{},...y?{assistant_version:y}:{},...x?{doctor_session_id:x}:{},...e?{logs_file:e}:{},...J.length?{attachments:J}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!_e(e))throw e;await i(`web`)}p?.(),r()}catch(e){X(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:w(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function be({option:e,isSelected:t,onSelect:n}){let{t:r}=v(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,k.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,k.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,k.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function xe({file:e,onRemove:t}){let{t:n}=v(),r=e.type.startsWith(`image/`),a=(0,E.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,E.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,k.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&a?(0,k.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,k.jsx)(ce,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,k.jsx)(i,{variant:`ghost`,size:`compact`,iconOnly:(0,k.jsx)(se,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{V as n,B as r,G as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{CS as t,Eh as n,NS as r,Wc as i,Yx as a,co as o,ea as s,fx as c,px as l}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{CS as t,Eh as n,NS as r,Wc as i,Yx as a,co as o,ea as s,fx as c,px as l}from"./app-BBUxTj9g.js";import{j as u}from"./vendor-ajttH1pP.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"./use-edge-swipe-back-Dx2dMUF5.js";import{t as y}from"./link-click-27buRLLI.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 n()&&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:n,actions:a,backHref:m,title:h=`Settings`,menuRoute:g=c.settings.root,menuReplacesContentOnMobile:y=!1}){let{t:x}=u(),{pathname:S}=d(),C=f(),w=S===g,T=i(),O=T&&w,k=!(O&&y),A=(0,b.useRef)(null),j=(0,b.useRef)(null);(0,b.useLayoutEffect)(()=>{j.current?.scrollTo(0,0)},[S]);let M=w?m:g;v({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)(t,{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)(o,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(s,{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:a})]}),(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:n}):null]})]})]})}function k({items:e,bottomItems:t,indexPath:n}){let{t:r}=u(),{pathname:o}=d(),s=f(),c=i(),l=(e,t,r)=>{let{href:i,onSelect:l}=e,u=i!=null&&(o===i||o.startsWith(i+`/`)||!c&&r&&n!=null&&o===n);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=>{y(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":r(`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};
|