@mycadet/web 0.12.8 → 0.12.9
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-S74k5mzP.js → a2a-invite-QwLkdzoC.js} +1 -1
- package/dist/assets/{about-page-DyXvah3b.js → about-page-B_JVAkzb.js} +1 -1
- package/dist/assets/{account-page-Bto5XueR.js → account-page-CogcrHfl.js} +1 -1
- package/dist/assets/{account-shell-CcrYy1Gi.js → account-shell-CaNt5YTy.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-6rMAmeGf.js → acp-run-detail-panel-CP2w6xWq.js} +1 -1
- package/dist/assets/{activation-list-route-DEc7Nydy.js → activation-list-route-DhFybN08.js} +1 -1
- package/dist/assets/{activity-redirect-page-Fj-SvRGq.js → activity-redirect-page-CXQh1ANc.js} +1 -1
- package/dist/assets/{activity-steps-panel-CPMerTsn.js → activity-steps-panel-B_e7fo5d.js} +1 -1
- package/dist/assets/{add-credits-modal-zPPHPAJC.js → add-credits-modal-9QAiKkzN.js} +1 -1
- package/dist/assets/add-credits-modal-Ix6EeRaW.js +1 -0
- package/dist/assets/{ai-page-DpOLL1Cf.js → ai-page-B2OQRNjs.js} +1 -1
- package/dist/assets/{all-chats-page-route-C-XHiLQy.js → all-chats-page-route-DyAsat0t.js} +1 -1
- package/dist/assets/{android-billing-handoff-DKLezn_S.js → android-billing-handoff-CNDHANI3.js} +1 -1
- package/dist/assets/{animated-stat-square-BU2cZ2yE.js → animated-stat-square-dwxhuRgk.js} +1 -1
- package/dist/assets/{api-key-screen-DjKTR4Wr.js → api-key-screen-sXJo9h2L.js} +1 -1
- package/dist/assets/{app-CGffgaON.js → app-BNxKtvfM.js} +33 -33
- package/dist/assets/{app-info-Dzir1MF3.js → app-info-BWhtZVwd.js} +1 -1
- package/dist/assets/{archive-redirect-page-B35h0qMl.js → archive-redirect-page-8VfIdYbY.js} +1 -1
- package/dist/assets/{assistant-handle-modal-CCjfVewp.js → assistant-handle-modal-BEF0aNRE.js} +1 -1
- package/dist/assets/{assistant-inbox-page-route-gDwC5zAt.js → assistant-inbox-page-route-C2cqOdmg.js} +1 -1
- package/dist/assets/{assistant-status-panel-B4KyLsgX.js → assistant-status-panel-DCxA9DDF.js} +1 -1
- package/dist/assets/auth-store-CDCjQtV1.js +1 -0
- package/dist/assets/{auth-welcome-screen-D3ES6d_K.js → auth-welcome-screen-EpKCTMv_.js} +1 -1
- package/dist/assets/avatar-bundled-components-DjgVURNE.js +1 -0
- package/dist/assets/{avatar-random-GdFF3KT1.js → avatar-random-BnJhjNyL.js} +1 -1
- package/dist/assets/{await-org-header-settled-B8OULI5x.js → await-org-header-settled-DIN659KU.js} +1 -1
- package/dist/assets/{background-task-detail-panel-D-gfV8cA.js → background-task-detail-panel-CK5CkHAh.js} +1 -1
- package/dist/assets/{billing-page-DpBwQzdt.js → billing-page-DxzuCWv_.js} +3 -3
- package/dist/assets/{billing-redirect-page-eAiiFN78.js → billing-redirect-page-3KVpziky.js} +1 -1
- package/dist/assets/{bookmarks-page-CSlXo0sR.js → bookmarks-page-DU4zQI88.js} +1 -1
- package/dist/assets/{bundle-confirm-page-Bcm9pKNZ.js → bundle-confirm-page-BF_TkeTV.js} +1 -1
- package/dist/assets/camera-capture-overlay-T0uYBvOu.js +1 -0
- package/dist/assets/{channel-transcript-panel-DPuZkTwm.js → channel-transcript-panel-B1TEFqiF.js} +1 -1
- package/dist/assets/{channels-page-route-Cny62l_j.js → channels-page-route-DeocXDqs.js} +1 -1
- package/dist/assets/{chat-info-panel-D17faG13.js → chat-info-panel-lH_eTIGQ.js} +1 -1
- package/dist/assets/{checkout-continuation-7dEznmik.js → checkout-continuation-syD1rPaq.js} +1 -1
- package/dist/assets/{checkout-page-p7LdgQze.js → checkout-page-CDxb2TKu.js} +1 -1
- package/dist/assets/checkout-return-target-Kr5OSzWN.js +1 -0
- package/dist/assets/{cloud-export-97vA7Pm2.js → cloud-export-BomC8LTr.js} +1 -1
- package/dist/assets/{cloud-loopback-page-D2BotkZe.js → cloud-loopback-page-CKanLlm2.js} +1 -1
- package/dist/assets/command-palette-B7s1-xLZ.js +1 -0
- package/dist/assets/{command-palette-BT_juy2T.js → command-palette-CCerSENn.js} +1 -1
- package/dist/assets/{command-palette-window-page-BEOnIIIB.js → command-palette-window-page-DB4W1uBp.js} +1 -1
- package/dist/assets/{community-page-DSFCzNlP.js → community-page-JCjpT273.js} +1 -1
- package/dist/assets/{companion-accent-BnQ_HHAs.js → companion-accent-DNqagkeK.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-Cwk-m5lx.js → companion-dock-zones-page-B5FQh1TR.js} +1 -1
- package/dist/assets/{companion-layout-C8BAml92.js → companion-layout-BJ70ZoB6.js} +1 -1
- package/dist/assets/{companion-popover-9C2r1GyG.js → companion-popover-ojFFv5gc.js} +1 -1
- package/dist/assets/{companion-popover-page-Slqq_QRZ.js → companion-popover-page-CcjHgR5K.js} +1 -1
- package/dist/assets/{companion-surface-2FTY6hzz.js → companion-surface-BheNXy_6.js} +1 -1
- package/dist/assets/{companion-surface-page-BCDuCzpC.js → companion-surface-page-BxYp5tfL.js} +1 -1
- package/dist/assets/{companion-tour-entry-BdZ_ZZY5.js → companion-tour-entry-Cv7pdZrq.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-BXLCktNV.js → companion-watch-frame-page-3M8uEp9f.js} +1 -1
- package/dist/assets/{connect-page-DqXNWB3e.js → connect-page-B3uUGMgH.js} +1 -1
- package/dist/assets/{consent-controls-VUQpPjpF.js → consent-controls-C5hiZrsf.js} +1 -1
- package/dist/assets/{contacts-gateway-M0SEA0Ls.js → contacts-gateway-FWhhciZa.js} +1 -1
- package/dist/assets/{contacts-page-route-ciiisSbk.js → contacts-page-route-GziPFmXf.js} +1 -1
- package/dist/assets/{copy-button-06ZBxF-g.js → copy-button-SNK3X3Q6.js} +1 -1
- package/dist/assets/{credential-entry-page-CZTFQmW3.js → credential-entry-page-SwWWNGX8.js} +1 -1
- package/dist/assets/{credentials-page-bcb6LbyX.js → credentials-page-DRfwESO-.js} +1 -1
- package/dist/assets/{csv-preview-B8vxTOAh.js → csv-preview-U7XwAhlX.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-C-53yyHV.js → danger-zone-redirect-page-BV0lGnl_.js} +1 -1
- package/dist/assets/{debug-page-2DthUX8Q.js → debug-page-DwtjfO0H.js} +1 -1
- package/dist/assets/deploy-dialogs-7b-AY3wa.js +1 -0
- package/dist/assets/{deploy-dialogs-CaZCOLcW.js → deploy-dialogs-DDe4zOdX.js} +1 -1
- package/dist/assets/{desktop-preview-content-Bx5_gQqm.js → desktop-preview-content-_pIEbVde.js} +2 -2
- package/dist/assets/{desktop-status-L9sA78zU.js → desktop-status-DmWWnzqE.js} +1 -1
- package/dist/assets/{desktop-viewer-Gsp9ciNF.js → desktop-viewer-B9Vcq1Ei.js} +1 -1
- package/dist/assets/{detail-card-DXYh92lS.js → detail-card-DF9nj6Gj.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-JQH92FSa.js → detail-panel-stop-button-D3b4nxcG.js} +1 -1
- package/dist/assets/{detail-primitives-PCZSBjkS.js → detail-primitives-LOD0kRZ4.js} +1 -1
- package/dist/assets/{developer-page-f8SdDLWI.js → developer-page-BQ5bGk-4.js} +1 -1
- package/dist/assets/{devices-redirect-page-rOcV02dL.js → devices-redirect-page-Bn2y0m1x.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BPYJcuF5.js → dictation-overlay-page-DPR2rDDh.js} +1 -1
- package/dist/assets/document-load-BTXflX5D.js +1 -0
- package/dist/assets/{document-load-Cx6SmMsX.js → document-load-BziXWGTc.js} +1 -1
- package/dist/assets/{document-viewer-page-buw3L7Qh.js → document-viewer-page-B-2c3m5R.js} +1 -1
- package/dist/assets/{emails-page-CRcIGJMH.js → emails-page-CgiQD0Sv.js} +1 -1
- package/dist/assets/{file-diff-view-BPGy665x.js → file-diff-view-8ciHw9A7.js} +1 -1
- package/dist/assets/{file-view-mode-BjICMrIT.js → file-view-mode-BjjBnpYU.js} +1 -1
- package/dist/assets/{general-page-CtS_CU7C.js → general-page-DIQRLvou.js} +1 -1
- package/dist/assets/{hatching-screen-SRp857Tl.js → hatching-screen-Dbp76r0P.js} +1 -1
- package/dist/assets/{hosting-screen-BBK1bOi2.js → hosting-screen-fTZt7kCM.js} +1 -1
- package/dist/assets/{identity-page-route-BjuOZBNC.js → identity-page-route-CHM3oI-k.js} +1 -1
- package/dist/assets/{inspect-page-yQXS977E.js → inspect-page-BHs6vilE.js} +3 -3
- package/dist/assets/{integrations-page-8saNghxG.js → integrations-page-CeK7nrkI.js} +1 -1
- package/dist/assets/{intelligence-layout-C4fUSmw1.js → intelligence-layout-UKSuU3yD.js} +1 -1
- package/dist/assets/{intelligence-layout-slots-store-CdCFMdty.js → intelligence-layout-slots-store-yq8xZ_lC.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page-6vmXYM08.js → keyboard-shortcuts-redirect-page-BfgCJJ8W.js} +1 -1
- package/dist/assets/{latest-assistant-text-Dp8nFLYg.js → latest-assistant-text-BbUF-ZjG.js} +1 -1
- package/dist/assets/{library-detail-page-BHsng9gW.js → library-detail-page-DCVP6Thc.js} +1 -1
- package/dist/assets/{library-page-EGcuUr9r.js → library-page-DemxnENP.js} +1 -1
- package/dist/assets/{login-page-CjFFBEfP.js → login-page-DJCWMJPS.js} +1 -1
- package/dist/assets/{logout-page-CTk1D8H1.js → logout-page-rrrf5aYw.js} +1 -1
- package/dist/assets/{logs-layout-DcUsHX4i.js → logs-layout-CU-5OL3A.js} +1 -1
- package/dist/assets/{markdown-preview-BVK8h-Vm.js → markdown-preview-h2xJTbi7.js} +1 -1
- package/dist/assets/{media-preview-DMvBX4tR.js → media-preview-6Dw68M9L.js} +1 -1
- package/dist/assets/{memory-page-route-DmcTly3j.js → memory-page-route-BZYeOOeW.js} +1 -1
- package/dist/assets/{memory-router-playground-page-BKIKjicw.js → memory-router-playground-page-CsN1IIJA.js} +1 -1
- package/dist/assets/{message-files-panel-ffUSMnCt.js → message-files-panel-CNC5v1w7.js} +1 -1
- package/dist/assets/mutation-error-CAyH2x36.js +1 -0
- package/dist/assets/native-attachment-pickers-BjVoKEUQ.js +1 -0
- package/dist/assets/native-file-CYAEPXYN.js +1 -0
- package/dist/assets/{notifications-page-uL-24dgJ.js → notifications-page-B3Em-VQu.js} +1 -1
- package/dist/assets/{oauth-complete-page-CeSrrc5l.js → oauth-complete-page-BJObwKje.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-B2YWDBhK.js → oauth-popup-complete-page-dpJtFUH5.js} +1 -1
- package/dist/assets/paired-cloud-identity-D6ABqHK-.js +1 -0
- package/dist/assets/{pairing-page-BKpPzHgF.js → pairing-page-dZeno0_m.js} +1 -1
- package/dist/assets/password-reset-page-IPvSLWAz.js +1 -0
- package/dist/assets/{pdf-file-preview-yZHctfTY.js → pdf-file-preview-C68i9dU6.js} +1 -1
- package/dist/assets/{permission-guide-page-BiIbMRw2.js → permission-guide-page-BTU82Ybk.js} +1 -1
- package/dist/assets/{permission-setup-C3D0R4tU.js → permission-setup-DohBLdCl.js} +1 -1
- package/dist/assets/{personality-page-C9zAoDC4.js → personality-page-BIMzWgMh.js} +1 -1
- package/dist/assets/{personality-page-B0t7PCzh.js → personality-page-_k2z41Bt.js} +1 -1
- package/dist/assets/{personality-sliders-Cz11kvVy.js → personality-sliders-DGNY8Rnd.js} +1 -1
- package/dist/assets/{plans-page-Cyy_VAfs.js → plans-page-pq5hy60L.js} +1 -1
- package/dist/assets/{plugin-detail-page-MHjzhIjU.js → plugin-detail-page-BbA4_EQi.js} +1 -1
- package/dist/assets/{plugins-page-CGd4eA0h.js → plugins-page-DxdhU21Z.js} +1 -1
- package/dist/assets/plugins-surface-DQ6HNFGt.js +1 -0
- package/dist/assets/{preview-error-B_SkKxgl.js → preview-error-DhG_s3C0.js} +1 -1
- package/dist/assets/{privacy-page-BH7VrzNO.js → privacy-page-BqiHHg7j.js} +1 -1
- package/dist/assets/{privacy-screen-DRUImDBf.js → privacy-screen-Dq4eUoIO.js} +1 -1
- package/dist/assets/{profile-card-eeDPrAqN.js → profile-card-CkTa3Y8i.js} +1 -1
- package/dist/assets/{provider-callback-page-C25nZdj2.js → provider-callback-page-Bmu6iHxa.js} +1 -1
- package/dist/assets/{provider-key-DCXewaJg.js → provider-key-DBdqn0Gt.js} +1 -1
- package/dist/assets/{provider-signup-page-BFYxSU4D.js → provider-signup-page-JIh0XKV5.js} +1 -1
- package/dist/assets/{quick-input-page-BWyYCc6N.js → quick-input-page-ALtrRR05.js} +1 -1
- package/dist/assets/{research-mock-page-DT6p-Af5.js → research-mock-page-C8n5xPsy.js} +1 -1
- package/dist/assets/{research-onboarding-route-B3KTgEuk.js → research-onboarding-route-BgMvaYdY.js} +1 -1
- package/dist/assets/{review-terms-screen-CBbhXbba.js → review-terms-screen-CnIUYPfa.js} +1 -1
- package/dist/assets/routes-Ct3akvBN.js +1 -0
- package/dist/assets/{schedules-BklxG5oV.js → schedules-D8f5wsZc.js} +1 -1
- package/dist/assets/{schedules-page-D_2A6U2f.js → schedules-page-B8PnXfuh.js} +1 -1
- package/dist/assets/{security-redirect-page-424yJDDE.js → security-redirect-page-L5VVUkhf.js} +1 -1
- package/dist/assets/{select-assistant-screen-B2waFR5c.js → select-assistant-screen-Bm0waz2L.js} +1 -1
- package/dist/assets/{self-hosted-servers-Du7ejILs.js → self-hosted-servers-BxHLMpeP.js} +1 -1
- package/dist/assets/{service-form-controls-BzzepR1w.js → service-form-controls-BcaLg3mN.js} +1 -1
- package/dist/assets/{setting-row-Har-4ZuZ.js → setting-row-3-QGMKbV.js} +1 -1
- package/dist/assets/{settings-divider-fXUzEDBM.js → settings-divider-D1gYuSPt.js} +1 -1
- package/dist/assets/{settings-layout-Bh6Tfq82.js → settings-layout-Cuol1Jld.js} +1 -1
- package/dist/assets/share-feedback-modal-CdzyF0gl.js +1 -0
- package/dist/assets/{share-feedback-modal-q27kCbAf.js → share-feedback-modal-O62ToKHM.js} +1 -1
- package/dist/assets/{sidebar-tree-DpyD-Fdr.js → sidebar-tree-D1pphm3H.js} +1 -1
- package/dist/assets/{signup-page-B2QNQ-OW.js → signup-page-6gPB7H4i.js} +1 -1
- package/dist/assets/{signup-shell-BJfIr9N8.js → signup-shell-I1tsWrB2.js} +1 -1
- package/dist/assets/{skill-detail-page-DWc5Pj07.js → skill-detail-page-CaaPoNXG.js} +1 -1
- package/dist/assets/{skill-detail-panel-DOpFqxJk.js → skill-detail-panel-CVrIAGi1.js} +1 -1
- package/dist/assets/{skill-removal-dialog-B-Hb8zf4.js → skill-removal-dialog-DVzlADbq.js} +1 -1
- package/dist/assets/{skills-page-COVvjwYi.js → skills-page-BjmHcl-i.js} +1 -1
- package/dist/assets/{sounds-page-DB5YcVc4.js → sounds-page-DM_LZFsH.js} +1 -1
- package/dist/assets/{start-screen-FL2Ia1Ar.js → start-screen-Dh8Xc1ux.js} +1 -1
- package/dist/assets/{step-detail-header-CuTbSKtU.js → step-detail-header-C1U-HS14.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-BjXK4fmX.js → stt-language-picker-modal-BWPQXHbg.js} +1 -1
- package/dist/assets/{subagent-detail-panel-DLgSr_E8.js → subagent-detail-panel-BEHD2vOf.js} +1 -1
- package/dist/assets/{superpowers-page-CscgKzE0.js → superpowers-page-Civ1dred.js} +1 -1
- package/dist/assets/{system-events-page-CNdWB8DB.js → system-events-page-DQQD-yh4.js} +1 -1
- package/dist/assets/{system-events-redirect-page-CRcNF9hG.js → system-events-redirect-page-CMQWTWeS.js} +1 -1
- package/dist/assets/{tabular-grid-CejyLbWr.js → tabular-grid-Crdhci1a.js} +1 -1
- package/dist/assets/{teleport-gateway-client-CnEsY6jD.js → teleport-gateway-client-zRxDIHvy.js} +1 -1
- package/dist/assets/{text-preview-CNTf9DBr.js → text-preview-CCRT6NMb.js} +1 -1
- package/dist/assets/{theme-stage-page-CYKLJ4g7.js → theme-stage-page-BKDKhybd.js} +1 -1
- package/dist/assets/{tiptap-document-editor-B7WZaMjw.js → tiptap-document-editor-DMBoEpva.js} +1 -1
- package/dist/assets/{tool-detail-panel-DlHI8dvX.js → tool-detail-panel-BR7h2ROn.js} +1 -1
- package/dist/assets/tool-detail-panel-DCdX_SBO.js +1 -0
- package/dist/assets/{trait-cycle-row-BctewJVE.js → trait-cycle-row-Lgkm9R8c.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-jDoqH3zX.js → upgrade-cancel-page-DEIK5f2e.js} +1 -1
- package/dist/assets/{upgrade-success-page-CaUf2wkq.js → upgrade-success-page-Dt9lxhGP.js} +1 -1
- package/dist/assets/{usage-redirect-page-BAgziC1P.js → usage-redirect-page-BMvSf6Bj.js} +1 -1
- package/dist/assets/{use-app-delete-DeDK3zNm.js → use-app-delete-NTNPyRFw.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-Ku8Yexur.js → use-assistant-identity-details-20XTojNX.js} +1 -1
- package/dist/assets/{use-channel-trust-floors-Dw7093F3.js → use-channel-trust-floors-sx-Gm1Em.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-D-DceYdb.js → use-checkout-dismiss-refresh-C7kMkxS1.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-C9BhPjNd.js → use-edge-swipe-back-D92U2q-N.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-CaKGUrs_.js → use-hotkey-recorder-BRdHU8pS.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-DwZSXJdy.js → use-invite-link-dialog-CbFJAi4C.js} +1 -1
- package/dist/assets/{use-plugins-list-PsghpbJo.js → use-plugins-list-BQG0kv-t.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-oXJVLQ5r.js → use-return-to-short-circuit-Dqo3POFE.js} +1 -1
- package/dist/assets/{use-side-list-room-BPMo-0-m.js → use-side-list-room-BL6BAMEB.js} +1 -1
- package/dist/assets/{use-skill-actions-DdykFGoL.js → use-skill-actions-Ch-wHH29.js} +1 -1
- package/dist/assets/{use-skill-detail-files-Cx9IY9kI.js → use-skill-detail-files-Chj_ePZG.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-Dv49IKbZ.js +1 -0
- package/dist/assets/{voice-page-DUXZHnnu.js → voice-page-CcybrzXj.js} +1 -1
- package/dist/assets/{wake-detail-panel-qrpIcnpA.js → wake-detail-panel-BNA47SoV.js} +1 -1
- package/dist/assets/{weather-forecast-display-Bjrjg54J.js → weather-forecast-display-BGKTfbzy.js} +1 -1
- package/dist/assets/{welcome-screen-C-7GbST1.js → welcome-screen-nz_FAiGA.js} +1 -1
- package/dist/assets/{workflow-detail-panel-BAeI7O0P.js → workflow-detail-panel-DRoeaq6c.js} +1 -1
- package/dist/assets/{workspace-page-WKaE0JcI.js → workspace-page-ClGrsRBZ.js} +1 -1
- package/dist/assets/{xlsx-preview-HzWjwDAj.js → xlsx-preview-z2rPKBuW.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-DD_BJhmr.js +0 -1
- package/dist/assets/auth-store-BVApYFfc.js +0 -1
- package/dist/assets/avatar-bundled-components-Drkl7JyC.js +0 -1
- package/dist/assets/camera-capture-overlay-BF2ncbf2.js +0 -1
- package/dist/assets/checkout-return-target-CSJF-o8i.js +0 -1
- package/dist/assets/command-palette-2v-4uw_p.js +0 -1
- package/dist/assets/deploy-dialogs-BXmWQL7g.js +0 -1
- package/dist/assets/document-load-dMbILFST.js +0 -1
- package/dist/assets/mutation-error-oXzAul2s.js +0 -1
- package/dist/assets/native-attachment-pickers-D94Qe9-T.js +0 -1
- package/dist/assets/native-file-BAJbUfaG.js +0 -1
- package/dist/assets/paired-cloud-identity-B45tIpgK.js +0 -1
- package/dist/assets/password-reset-page-B9xxvNOh.js +0 -1
- package/dist/assets/plugins-surface-CxIHR2Dv.js +0 -1
- package/dist/assets/routes-D5cM5I_f.js +0 -1
- package/dist/assets/share-feedback-modal-B12QCt5f.js +0 -1
- package/dist/assets/tool-detail-panel-uk4Ie38C.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CaBKQ60M.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$S as n,BS as r,CC as i,Cp as a,Cr as o,Da as s,Dr as c,Er as l,Fp as u,G as d,Gx as f,HS as p,IS as m,Ih as h,Ip as g,Jn as _,Kn as v,Lm as y,Lp as b,Nm as x,Np as S,OC as C,OS as w,Pp as T,QS as E,Qo as D,RS as O,Rm as k,Sp as A,TS as j,Tb as M,Xn as N,ZS as ee,cm as te,dm as ne,eS as P,eu as F,f as I,fC as L,fm as re,gC as ie,gp as ae,iC as oe,jS as R,lC as z,lc as se,lm as ce,m as le,mm as ue,nu as de,pp as fe,qf as pe,qn as me,tu as he,uC as ge,um as _e,wp as ve,wr as ye,xp as be,zS as B}from"./app-CGffgaON.js";import{f as xe,h as Se,t as Ce,x as we}from"./react-BJ4PZBJN.js";import{E as Te,Jn as Ee,Zn as V,er as De,k as H,qn as Oe,w as U}from"./vendor-CezcraPH.js";import{$i as ke,A as Ae,Gi as W,Ui as je,Yn as Me,gt as Ne,kt as Pe,oa as Fe,pi as Ie,qi as Le,wi as Re,zt as ze}from"./icons-Dwi7aA1Y.js";import{t as Be}from"./detail-card-DXYh92lS.js";import{a as Ve,c as He,d as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"./schedules-BklxG5oV.js";import{a as Qe,r as $e,t as et}from"./usage-window-Dk_XVv4Y.js";var G=e(we(),1),tt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},nt=[{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`}],rt=[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 it(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 at(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} * * ${it(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function ot(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 st(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function ct(e){let t=it(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&rt.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 ${nt[t[0]]?.full??`day`}`;let r=t.map(e=>nt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function lt(e){let t=ot(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 ${ct(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${st(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=Ce(),ut=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),dt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ft(e,t){let n=e%12;return t===`PM`?n+12:n}function pt(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 mt({isOpen:e,assistantId:t,onClose:n,onCreated:i}){return(0,q.jsx)(r.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ht,{assistantId:t,onClose:n,onCreated:i}):null})}function ht({assistantId:e,onClose:t,onCreated:a}){let{t:o}=U(`settings`),s=D(),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(``),[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(`simple`),[g,_]=(0,G.useState)(tt),[v,y]=(0,G.useState)(``),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(null),w=c.trim(),T=u.trim(),O=f.trim(),k=v.trim(),A=(0,G.useMemo)(()=>m===`simple`?at(g):k,[m,g,k]),j=(0,G.useMemo)(()=>m===`simple`?lt(g):k||o(`createScheduleModal.cronContinuePrompt`),[m,g,k,o]),M=(0,G.useMemo)(()=>pt(s),[s]),N=w.length>0&&T.length>0&&O.length>0&&A.length>0&&!b;return(0,q.jsxs)(r.Content,{size:`md`,children:[(0,q.jsxs)(r.Header,{children:[(0,q.jsx)(r.Title,{children:o(`createScheduleModal.title`)}),(0,q.jsx)(r.Description,{children:o(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),N){x(!0),C(null);try{await Ke(e,{name:w,description:T,expression:A,message:O,timezone:s}),x(!1),a()}catch(e){C(e instanceof Error?e.message:o(`createScheduleModal.createFailed`)),x(!1)}}},children:[(0,q.jsx)(r.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(E,{label:o(`createScheduleModal.nameLabel`),placeholder:o(`createScheduleModal.namePlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(n,{label:o(`createScheduleModal.descriptionLabel`),placeholder:o(`createScheduleModal.descriptionPlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(bt,{label:o(`createScheduleModal.repeatLabel`),children:m===`simple`?(0,q.jsx)(gt,{cadence:g,onChange:_}):(0,q.jsx)(yt,{value:v,onChange:y,onUseSimple:()=>h(`simple`)})}),(0,q.jsx)(St,{summary:j,mono:m===`advanced`&&k.length>0,timezoneLabel:M}),m===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{y(e=>e||at(g)),h(`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:o(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(n,{label:o(`createScheduleModal.messageLabel`),placeholder:o(`createScheduleModal.messagePlaceholder`),value:f,onChange:e=>p(e.target.value),required:!0,fullWidth:!0,rows:4}),S?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:S}):null]})}),(0,q.jsxs)(r.Footer,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:t,type:`button`,children:o(`createScheduleModal.cancel`)}),(0,q.jsx)(i,{variant:`primary`,type:`submit`,disabled:!N,children:o(b?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function gt({cadence:e,onChange:t}){let{t:n}=U(`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:st(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(p,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(m,{options:dt,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)(xt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(m,{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)(xt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(_t,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function _t({hour24:e,minute:t,onChange:n}){let{t:r}=U(`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)(m,{options:ut,value:String(a),onChange:e=>n(ft(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)(m,{options:dt,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)(p,{items:o,value:i,onChange:e=>n(ft(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function vt({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:nt.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:C(`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 yt({value:e,onChange:t,onUseSimple:n}){let{t:r}=U(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(E,{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 bt({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 xt({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 St({summary:e,mono:t,timezoneLabel:n}){let{t:r}=U(`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)(Re,{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:C(`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 Ct(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=V({...ae({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=V({...fe({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?Qe(a):{})[o]?.displayName??o}}function wt(e,t,n){let{t:r}=U(`settings`),i=Ct(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>I(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=Ee({mutationFn:t=>qe(e,null,t),onSuccess:e=>{o(!1),n(),B.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{P(e,{context:`schedules_rebase_inference_profile`}),B.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 Tt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=U(`settings`);return(0,q.jsx)(O,{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 Et(e=h(),t=Date.now()){return $e(et,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 Dt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Ot=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Ot.format(e)}function kt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function At(e,t=H){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function jt(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 Mt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Nt(e){return Mt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function Pt(e){return e.status===`pending`||e.status===`superseded`}function Ft(e){return e.status!==`skipped`&&e.status!==`missed`&&!Pt(e)}var It={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Lt(e,t,n=H){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=At(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 Rt(e,t=H){return At(e.intervalMs,t)}function zt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Bt(e,t){return I(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Vt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Bt(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 Ht(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Ve(e,Et(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Ut(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Wt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Ft(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 Gt({status:e}){let{t}=U(`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 Kt({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=U(`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)(R,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(R,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:kt(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 qt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=U(`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)(Kt,{scheduleName:e,usage:a}),s?(0,q.jsx)(oe,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":u(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Jt({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}=U(`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)(Me,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!g?(0,q.jsx)(z,{tone:`error`,children:(0,q.jsx)(Te,{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)(qt,{name:f(`systemTasksSection.heartbeatName`),subtitle:Lt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,m?(0,q.jsx)(qt,{name:f(`systemTasksSection.consolidationName`),subtitle:Rt(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)(qt,{name:f(`systemTasksSection.retrospectiveName`),subtitle:zt(),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)(z,{tone:`error`,children:(0,q.jsx)(Te,{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)(Be,{children:(0,q.jsx)(w.Root,{type:`multiple`,children:(0,q.jsxs)(w.Item,{value:`system-jobs`,children:[(0,q.jsxs)(w.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)(Le,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(w.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}var Yt={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 Xt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Yt[e.skipReason]??e.skipReason}`:null}function Zt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Xt(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 Qt(e){return e.runs.filter(e=>!Pt(e)).map(e=>Zt(e,`heartbeat`))}function $t(e){return e.runs.map(e=>Zt(e,`consolidation`))}function en(e){return e.runs.map(e=>Zt(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Wt(n,r,i)}}function nn(e,t){let n=De(),r={path:{assistant_id:e??``}},{data:i,isLoading:o,isError:s,refetch:c}=V({...S(r),enabled:!!e,staleTime:Z}),{data:l,isLoading:u,isError:d,refetch:f}=V({...be(r),enabled:!!e,staleTime:Z}),{data:p,isLoading:m,isError:h,refetch:_}=V({...te(r),enabled:!!e,staleTime:Z}),v={path:{assistant_id:e??``},query:{limit:100}},{data:C,isLoading:w,isError:E,refetch:D}=V({...b(v),select:Qt,enabled:!!e&&i!=null,staleTime:Z}),{data:O,isLoading:A,isError:j,refetch:M}=V({...ve(v),select:$t,enabled:!!e&&l?.available===!0,staleTime:Z}),{data:N,isLoading:ee,isError:F,refetch:I}=V({...ne(v),select:en,enabled:!!e&&p?.available===!0,staleTime:Z}),L=(0,G.useMemo)(()=>Et(t),[t]),re=(0,G.useMemo)(()=>tn(w,E,It.heartbeat,C,L),[C,E,w,L]),ie=(0,G.useMemo)(()=>tn(A,j,It.consolidation,O,L),[O,j,A,L]),ae=(0,G.useMemo)(()=>tn(ee,F,It.retrospective,N,L),[N,F,ee,L]),oe=t=>{if(!e)return;let i={heartbeat:{config:S(r).queryKey,runs:b(v).queryKey,infinite:g(r)},consolidation:{config:be(r).queryKey,runs:ve(v).queryKey,infinite:a(r)},retrospective:{config:te(r).queryKey,runs:ne(v).queryKey,infinite:_e(r)}}[t];n.invalidateQueries({queryKey:i.config}),n.invalidateQueries({queryKey:i.runs}),n.invalidateQueries({queryKey:i.infinite})},R=k({onSuccess:e=>{e.ran?B.success(H(`settings:useSystemTasks.heartbeatStarted`)):B.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{P(e,{context:`heartbeat_run_now`}),B.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>oe(`heartbeat`)}),z=x({onSuccess:e=>{e.ran?B.success(H(`settings:useSystemTasks.consolidationQueued`)):B.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{P(e,{context:`consolidation_run_now`}),B.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>oe(`consolidation`)}),se=y({onSuccess:e=>{T(n,r,e),B.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{P(e,{context:`heartbeat_toggle`}),B.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:i,consolidationConfig:l,retrospectiveConfig:p,heartbeatUsage:re,consolidationUsage:ie,retrospectiveUsage:ae,isLoading:o||u||m,hasError:s||d||h,isHeartbeatRunning:R.isPending,isConsolidationRunning:z.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:u,isConsolidationError:d,isRetrospectiveLoading:m,isRetrospectiveError:h,refetchHeartbeat:c,refetchConsolidation:f,refetchRetrospective:_,runHeartbeatNow:()=>{e&&R.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&z.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&se.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),f(),_(),D(),M(),I()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:i,className:a}){let o=!!(t||n||r);return(0,q.jsx)(ge,{asChild:!0,className:C(`rounded-lg`,a),children:(0,q.jsxs)(`section`,{id:e,children:[o&&(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)(L,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,q.jsx)(L,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,q.jsx)(`div`,{className:`shrink-0`,children:r})]}),i!=null&&(0,q.jsx)(`div`,{className:o?`mt-3`:``,children:i})]})})}function an(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var on={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function sn(e){return e.enabled||!e.disarmReason?null:on[e.disarmReason]??null}function cn(e,t){return t?.[e]?.displayName??e}function ln({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=U(`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:cn(n,t)}):void 0},c=t==null,{data:l}=V({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Qe(l):{},[l]),{label:d}=Ct(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})):cn(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 un(e,t,n){let r=M(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...c(r,[t],n).map(e=>{let t=o(e,r,n);return{value:e.name,label:ye(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:l(e)}:{}}})]}function dn(e,n){let{data:r}=V({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>un(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function fn({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}=U(`settings`);return(0,q.jsx)(m,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(je,{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 pn({schedule:e,assistantId:t,isPast:n}){let{t:r}=U(`schedules`),i=De(),a=ue({path:{assistant_id:t}}),o=Ee({mutationFn:n=>Ge(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:a});let n=i.getQueryData(a)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(a,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,o)=>{let s=o?.previousProfile;s!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),P(t,{context:`schedule_update_inference_profile`}),B.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(fn,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&o.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:o.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function mn({usage:e}){let{t}=U(`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)(R,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(j,{icon:(0,q.jsx)(Ie,{}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(j,{icon:(0,q.jsx)(Pe,{}),value:kt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function hn(e){return e.exists&&e.archivedAt==null}function gn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:o}=U(`schedules`),c=s(),l=Nt(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=X(e.output),f=X(e.error),p=!r&&u.length===1&&hn(u[0])?u[0].id:null,m=!p&&(u.length>0||d||f),h=`schedule-run-details-${t}`,g=!!p||m,_=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Gt,{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:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),g?(0,q.jsx)(W,{className:C(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&n?`rotate-90`:``)}):null]}),v=m&&n?(0,q.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>hn(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:o(`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:o(`scheduleDetail.conversation`),` `,e.exists?c:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,f?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return p?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(p),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:_})}):m?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":h,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:_}),v]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:_})}function _n({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=U(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(me,{placement:`section`}):!e||e.length===0?(0,q.jsx)(_,{placement:`section`,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)(gn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function vn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:a,onDeleted:o}){let{t:s}=U(`schedules`),c=xe(),{data:l,isLoading:u}=V({queryKey:re({path:{assistant_id:t,id:e.id}}),queryFn:()=>We(t,e.id),staleTime:1e4}),[d,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(!1),C=an(e.sourceKey),w=sn(e),T=e.isOneShot&&!r&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{p(!0);try{await Ye(t,e.id)}catch(e){P(e,{context:`schedule_run_now`}),B.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},k=async()=>{_(!0);try{await Je(t,e.id),o()}catch(e){P(e,{context:`schedule_delete`}),B.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},A=async()=>{S(!0);try{await Xe(t,e.id),o()}catch(e){P(e,{context:`schedule_cancel`}),B.error(s(`scheduleDetail.cancelOneTimeFailed`)),S(!1),b(!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)(v,{title:e.name,headerActions:C?void 0:(0,q.jsx)(i,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(Ae,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:a}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(rn,{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)(pn,{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)(Gt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(mn,{usage:n}),(0,q.jsx)(rn,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(_n,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>F(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)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>c(f.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),T?(0,q.jsx)(i,{variant:`dangerOutline`,onClick:()=>b(!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)(i,{variant:`primary`,loading:d,onClick:()=>void D(),disabled:d||E,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(O,{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 k(),onCancel:()=>h(!1)}),(0,q.jsx)(O,{open:y,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:x,onConfirm:()=>void A(),onCancel:()=>b(!1)})]})}function yn({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 bn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(R,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(R,{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:kt(t.runCount)})]})}function xn({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)(ee,{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)(N,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=U(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=sn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=an(e.sourceKey);return(0,q.jsx)(xn,{name:e.name,badge:u?(0,q.jsx)(oe,{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 Cn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:a,isError:o,refetch:s,onToggle:c,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:v}=U(`schedules`),y=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>c(e.id,t)},e.id),b=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),x=n.length>0?(0,q.jsx)(w.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(w.Item,{value:`past`,children:[(0,q.jsxs)(w.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:v(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(w.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(b)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(R,{className:`h-12 rounded-md`},t))}):o&&e.length===0?(0,q.jsx)(z,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:v(`schedulesPanel.retry`)}),children:v(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(yn,{icon:Fe,title:v(`schedulesPanel.emptyTitle`),description:v(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`primary`,size:`regular`,onClick:d,children:v(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(i,{variant:`outlined`,size:`regular`,onClick:f,children:v(`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)(i,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:v(`schedulesPanel.useProfileForAll`,{profile:g})})}):null,e.map(y),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:v(`schedulesPanel.oneTimeHeading`)}),t.map(b)]}):null,x]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:a=!1,onLoadMore:o}){let{t:s}=U(`settings`),c=xe(),[l,u]=(0,G.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&o?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:o,disabled:a,loading:a,children:s(a?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(rn,{title:s(`recentRunsCard.title`),children:t?(0,q.jsx)(me,{placement:`section`}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(_,{placement:`section`,children:d}),f]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Nt(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,o=!n&&!a&&(r||i),d=l===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(ie,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>F(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":o?d:void 0,"aria-controls":o?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),o&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),f]})})}var Tn={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 En({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:a}){let{t:o}=U(`schedules`),s=xe(),{heartbeatConfig:c,consolidationConfig:l,retrospectiveConfig:d}=n,p=c?.effectiveTimezone||c?.timezone||null,m,h,g,_,y,b,x;e===`heartbeat`?(m=o(`systemTaskDetail.nameHeartbeat`),h=c?Lt(c,p):``,g=c?.enabled??!1,_=c?.nextRunAt??null,y=c?.lastRunAt??null,b=n.isHeartbeatRunning,x=n.runHeartbeatNow):e===`consolidation`?(m=o(`systemTaskDetail.nameConsolidation`),h=l?Rt(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,y=l?.lastRunAt??null,b=n.isConsolidationRunning,x=n.runConsolidationNow):(m=o(`systemTaskDetail.nameRetrospective`),h=zt(),g=d?.enabled??!1,_=d?.nextRunAt??null,y=d?.lastRunAt??null,b=!1,x=void 0);let S=e!==`heartbeat`,C=e===`retrospective`,w=S&&!g,T=b||w,E=o(S?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),D=C&&d?.available===!0,O=o(D?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:C?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),k=S&&g&&r,j={path:{assistant_id:t},query:{limit:25}},M=e===`heartbeat`?u(j):e===`consolidation`?A(j):ce(j),{data:N,isLoading:te,fetchNextPage:ne,hasNextPage:P,isFetchingNextPage:F}=Oe({queryKey:M.queryKey,queryFn:M.queryFn,initialPageParam:{path:j.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),I=jt(N?.pages.map(t=>({runs:t.runs.filter(e=>!Pt(e)).map(t=>Zt(t,e))}))),L=I?.find(e=>Ft(e)&&e.status!==`running`),re=y??L?.finishedAt??L?.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)(v,{title:m,closeLabel:o(`scheduleDetail.closeAria`),closeTooltip:o(`scheduleDetail.close`),onClose:a}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(rn,{title:o(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:o(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:E}),S?null:(0,q.jsx)(ee,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":o(`scheduleDetail.toggleAria`,{name:m})})]})}),(0,q.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:o(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),h?(0,q.jsx)($,{label:o(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:h})}):null,e===`heartbeat`&&p?(0,q.jsx)($,{label:o(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:p})}):null,C?null:(0,q.jsx)($,{label:o(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(_)})}),(0,q.jsx)($,{label:o(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(re)})})]})}),w?(0,q.jsx)(z,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>s(`${f.settings.developer}?tab=memory`),children:o(D?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:O}):null]}),(0,q.jsx)(wn,{runs:I,isLoading:te,hasMore:P,isLoadingMore:F,onLoadMore:()=>void ne()})]}),k||x?(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:[k?(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${f.settings.developer}?tab=memory`),children:o(`systemTaskDetail.memorySettings`)}):null,x?(0,q.jsx)(i,{variant:`primary`,loading:b,leftIcon:(0,q.jsx)(ze,{className:`h-3.5 w-3.5`}),onClick:x,disabled:T,children:o(b?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=D(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(le(e)),{data:s,isLoading:c,isError:l}=V(Ht(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Vt(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)??Ut(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await He(e,t,n),o()}catch(e){P(e,{context:`schedule_toggle`}),B.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function On(){let e=xe(),{scheduleId:t}=Se(),n=d(),r=de(),i=D(),a=Dn(n),o=nn(n,i),s=se(`memoryOptOut`),c=pe.use.settingsDeveloperNav(),l=s&&c===!0,[u,p]=(0,G.useState)(!1),m=t??null,[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(!1),y=(0,G.useCallback)(t=>{e(t?f.schedules.detail(t):f.schedules.root)},[e]),b=m?a.recurring.find(e=>e.id===m)??a.oneTime.find(e=>e.id===m)??a.pastOneTime.find(e=>e.id===m)??null:null;(0,G.useEffect)(()=>{m&&!a.isLoading&&!a.isError&&!b&&y(null)},[m,b,a.isLoading,a.isError,y]);let x=h===`heartbeat`?o.heartbeatConfig!=null:h===`consolidation`?o.consolidationConfig?.available===!0:h===`retrospective`?o.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{h&&!o.isLoading&&!x&&g(null)},[h,x,o.isLoading]);let S=(0,G.useCallback)(e=>{g(null),y(e)},[y]),C=(0,G.useCallback)(e=>{m&&y(null),g(e)},[y,m]),w=(0,G.useCallback)(()=>{he(e)},[e]),T=wt(n,(0,G.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),E=(b?(0,q.jsx)(vn,{schedule:b,assistantId:n,usage:a.usageForSchedule(b.id),isPast:a.pastOneTime.some(e=>e.id===b.id),onClose:()=>y(null),onDeleted:()=>{y(null),a.refetch()}}):null)??(h&&x?(0,q.jsx)(En,{kind:h,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>g(null)}):null),O=(0,q.jsx)(Cn,{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:S,selectedScheduleId:m,onStartNewChat:w,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Jt,{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:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),k=(0,q.jsx)(Tt,{...T.dialogProps});return E&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ue,{children:E}),k]}):(0,q.jsxs)(q.Fragment,{children:[E&&!r?(0,q.jsx)(Ze,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:O,detail:E}):O,(0,q.jsx)(mt,{isOpen:u,assistantId:n,onClose:()=>p(!1),onCreated:()=>{p(!1),a.refetch()}}),k]})}export{On as SchedulesPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$S as n,BS as r,CC as i,Cp as a,Cr as o,Da as s,Dr as c,Er as l,Fp as u,G as d,Gx as f,HS as p,IS as m,Ih as h,Ip as g,Jn as _,Kn as v,Lm as y,Lp as b,Nm as x,Np as S,OC as C,OS as w,Pp as T,QS as E,Qo as D,RS as O,Rm as k,Sp as A,TS as j,Tb as M,Xn as N,ZS as ee,cm as te,dm as ne,eS as P,eu as F,f as I,fC as L,fm as re,gC as ie,gp as ae,iC as oe,jS as R,lC as z,lc as se,lm as ce,m as le,mm as ue,nu as de,pp as fe,qf as pe,qn as me,tu as he,uC as ge,um as _e,wp as ve,wr as ye,xp as be,zS as B}from"./app-BNxKtvfM.js";import{f as xe,h as Se,t as Ce,x as we}from"./react-BJ4PZBJN.js";import{E as Te,Jn as Ee,Zn as V,er as De,k as H,qn as Oe,w as U}from"./vendor-CezcraPH.js";import{$i as ke,A as Ae,Gi as W,Ui as je,Yn as Me,gt as Ne,kt as Pe,oa as Fe,pi as Ie,qi as Le,wi as Re,zt as ze}from"./icons-Dwi7aA1Y.js";import{t as Be}from"./detail-card-DF9nj6Gj.js";import{a as Ve,c as He,d as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"./schedules-D8f5wsZc.js";import{a as Qe,r as $e,t as et}from"./usage-window-Dk_XVv4Y.js";var G=e(we(),1),tt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},nt=[{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`}],rt=[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 it(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 at(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} * * ${it(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function ot(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 st(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function ct(e){let t=it(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&rt.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 ${nt[t[0]]?.full??`day`}`;let r=t.map(e=>nt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function lt(e){let t=ot(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 ${ct(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${st(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=Ce(),ut=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),dt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ft(e,t){let n=e%12;return t===`PM`?n+12:n}function pt(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 mt({isOpen:e,assistantId:t,onClose:n,onCreated:i}){return(0,q.jsx)(r.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ht,{assistantId:t,onClose:n,onCreated:i}):null})}function ht({assistantId:e,onClose:t,onCreated:a}){let{t:o}=U(`settings`),s=D(),[c,l]=(0,G.useState)(``),[u,d]=(0,G.useState)(``),[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(`simple`),[g,_]=(0,G.useState)(tt),[v,y]=(0,G.useState)(``),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(null),w=c.trim(),T=u.trim(),O=f.trim(),k=v.trim(),A=(0,G.useMemo)(()=>m===`simple`?at(g):k,[m,g,k]),j=(0,G.useMemo)(()=>m===`simple`?lt(g):k||o(`createScheduleModal.cronContinuePrompt`),[m,g,k,o]),M=(0,G.useMemo)(()=>pt(s),[s]),N=w.length>0&&T.length>0&&O.length>0&&A.length>0&&!b;return(0,q.jsxs)(r.Content,{size:`md`,children:[(0,q.jsxs)(r.Header,{children:[(0,q.jsx)(r.Title,{children:o(`createScheduleModal.title`)}),(0,q.jsx)(r.Description,{children:o(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),N){x(!0),C(null);try{await Ke(e,{name:w,description:T,expression:A,message:O,timezone:s}),x(!1),a()}catch(e){C(e instanceof Error?e.message:o(`createScheduleModal.createFailed`)),x(!1)}}},children:[(0,q.jsx)(r.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(E,{label:o(`createScheduleModal.nameLabel`),placeholder:o(`createScheduleModal.namePlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(n,{label:o(`createScheduleModal.descriptionLabel`),placeholder:o(`createScheduleModal.descriptionPlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(bt,{label:o(`createScheduleModal.repeatLabel`),children:m===`simple`?(0,q.jsx)(gt,{cadence:g,onChange:_}):(0,q.jsx)(yt,{value:v,onChange:y,onUseSimple:()=>h(`simple`)})}),(0,q.jsx)(St,{summary:j,mono:m===`advanced`&&k.length>0,timezoneLabel:M}),m===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{y(e=>e||at(g)),h(`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:o(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(n,{label:o(`createScheduleModal.messageLabel`),placeholder:o(`createScheduleModal.messagePlaceholder`),value:f,onChange:e=>p(e.target.value),required:!0,fullWidth:!0,rows:4}),S?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:S}):null]})}),(0,q.jsxs)(r.Footer,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:t,type:`button`,children:o(`createScheduleModal.cancel`)}),(0,q.jsx)(i,{variant:`primary`,type:`submit`,disabled:!N,children:o(b?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function gt({cadence:e,onChange:t}){let{t:n}=U(`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:st(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(p,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(m,{options:dt,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)(xt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(m,{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)(xt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(_t,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function _t({hour24:e,minute:t,onChange:n}){let{t:r}=U(`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)(m,{options:ut,value:String(a),onChange:e=>n(ft(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)(m,{options:dt,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)(p,{items:o,value:i,onChange:e=>n(ft(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function vt({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:nt.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:C(`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 yt({value:e,onChange:t,onUseSimple:n}){let{t:r}=U(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(E,{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 bt({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 xt({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 St({summary:e,mono:t,timezoneLabel:n}){let{t:r}=U(`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)(Re,{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:C(`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 Ct(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=V({...ae({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=V({...fe({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?Qe(a):{})[o]?.displayName??o}}function wt(e,t,n){let{t:r}=U(`settings`),i=Ct(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>I(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=Ee({mutationFn:t=>qe(e,null,t),onSuccess:e=>{o(!1),n(),B.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{P(e,{context:`schedules_rebase_inference_profile`}),B.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 Tt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=U(`settings`);return(0,q.jsx)(O,{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 Et(e=h(),t=Date.now()){return $e(et,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 Dt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Ot=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Ot.format(e)}function kt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function At(e,t=H){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function jt(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 Mt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Nt(e){return Mt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function Pt(e){return e.status===`pending`||e.status===`superseded`}function Ft(e){return e.status!==`skipped`&&e.status!==`missed`&&!Pt(e)}var It={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Lt(e,t,n=H){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=At(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 Rt(e,t=H){return At(e.intervalMs,t)}function zt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Bt(e,t){return I(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Vt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Bt(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 Ht(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Ve(e,Et(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Ut(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Wt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Ft(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 Gt({status:e}){let{t}=U(`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 Kt({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=U(`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)(R,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(R,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:kt(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 qt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=U(`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)(Kt,{scheduleName:e,usage:a}),s?(0,q.jsx)(oe,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":u(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Jt({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}=U(`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)(Me,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!g?(0,q.jsx)(z,{tone:`error`,children:(0,q.jsx)(Te,{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)(qt,{name:f(`systemTasksSection.heartbeatName`),subtitle:Lt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,m?(0,q.jsx)(qt,{name:f(`systemTasksSection.consolidationName`),subtitle:Rt(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)(qt,{name:f(`systemTasksSection.retrospectiveName`),subtitle:zt(),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)(z,{tone:`error`,children:(0,q.jsx)(Te,{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)(Be,{children:(0,q.jsx)(w.Root,{type:`multiple`,children:(0,q.jsxs)(w.Item,{value:`system-jobs`,children:[(0,q.jsxs)(w.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)(Le,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(w.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}var Yt={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 Xt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Yt[e.skipReason]??e.skipReason}`:null}function Zt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Xt(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 Qt(e){return e.runs.filter(e=>!Pt(e)).map(e=>Zt(e,`heartbeat`))}function $t(e){return e.runs.map(e=>Zt(e,`consolidation`))}function en(e){return e.runs.map(e=>Zt(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Wt(n,r,i)}}function nn(e,t){let n=De(),r={path:{assistant_id:e??``}},{data:i,isLoading:o,isError:s,refetch:c}=V({...S(r),enabled:!!e,staleTime:Z}),{data:l,isLoading:u,isError:d,refetch:f}=V({...be(r),enabled:!!e,staleTime:Z}),{data:p,isLoading:m,isError:h,refetch:_}=V({...te(r),enabled:!!e,staleTime:Z}),v={path:{assistant_id:e??``},query:{limit:100}},{data:C,isLoading:w,isError:E,refetch:D}=V({...b(v),select:Qt,enabled:!!e&&i!=null,staleTime:Z}),{data:O,isLoading:A,isError:j,refetch:M}=V({...ve(v),select:$t,enabled:!!e&&l?.available===!0,staleTime:Z}),{data:N,isLoading:ee,isError:F,refetch:I}=V({...ne(v),select:en,enabled:!!e&&p?.available===!0,staleTime:Z}),L=(0,G.useMemo)(()=>Et(t),[t]),re=(0,G.useMemo)(()=>tn(w,E,It.heartbeat,C,L),[C,E,w,L]),ie=(0,G.useMemo)(()=>tn(A,j,It.consolidation,O,L),[O,j,A,L]),ae=(0,G.useMemo)(()=>tn(ee,F,It.retrospective,N,L),[N,F,ee,L]),oe=t=>{if(!e)return;let i={heartbeat:{config:S(r).queryKey,runs:b(v).queryKey,infinite:g(r)},consolidation:{config:be(r).queryKey,runs:ve(v).queryKey,infinite:a(r)},retrospective:{config:te(r).queryKey,runs:ne(v).queryKey,infinite:_e(r)}}[t];n.invalidateQueries({queryKey:i.config}),n.invalidateQueries({queryKey:i.runs}),n.invalidateQueries({queryKey:i.infinite})},R=k({onSuccess:e=>{e.ran?B.success(H(`settings:useSystemTasks.heartbeatStarted`)):B.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{P(e,{context:`heartbeat_run_now`}),B.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>oe(`heartbeat`)}),z=x({onSuccess:e=>{e.ran?B.success(H(`settings:useSystemTasks.consolidationQueued`)):B.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{P(e,{context:`consolidation_run_now`}),B.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>oe(`consolidation`)}),se=y({onSuccess:e=>{T(n,r,e),B.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{P(e,{context:`heartbeat_toggle`}),B.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:i,consolidationConfig:l,retrospectiveConfig:p,heartbeatUsage:re,consolidationUsage:ie,retrospectiveUsage:ae,isLoading:o||u||m,hasError:s||d||h,isHeartbeatRunning:R.isPending,isConsolidationRunning:z.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:u,isConsolidationError:d,isRetrospectiveLoading:m,isRetrospectiveError:h,refetchHeartbeat:c,refetchConsolidation:f,refetchRetrospective:_,runHeartbeatNow:()=>{e&&R.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&z.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&se.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),f(),_(),D(),M(),I()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:i,className:a}){let o=!!(t||n||r);return(0,q.jsx)(ge,{asChild:!0,className:C(`rounded-lg`,a),children:(0,q.jsxs)(`section`,{id:e,children:[o&&(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)(L,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,q.jsx)(L,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,q.jsx)(`div`,{className:`shrink-0`,children:r})]}),i!=null&&(0,q.jsx)(`div`,{className:o?`mt-3`:``,children:i})]})})}function an(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var on={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function sn(e){return e.enabled||!e.disarmReason?null:on[e.disarmReason]??null}function cn(e,t){return t?.[e]?.displayName??e}function ln({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=U(`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:cn(n,t)}):void 0},c=t==null,{data:l}=V({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Qe(l):{},[l]),{label:d}=Ct(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})):cn(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 un(e,t,n){let r=M(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...c(r,[t],n).map(e=>{let t=o(e,r,n);return{value:e.name,label:ye(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:l(e)}:{}}})]}function dn(e,n){let{data:r}=V({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>un(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function fn({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}=U(`settings`);return(0,q.jsx)(m,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(je,{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 pn({schedule:e,assistantId:t,isPast:n}){let{t:r}=U(`schedules`),i=De(),a=ue({path:{assistant_id:t}}),o=Ee({mutationFn:n=>Ge(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:a});let n=i.getQueryData(a)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(a,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,o)=>{let s=o?.previousProfile;s!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),P(t,{context:`schedule_update_inference_profile`}),B.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(fn,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&o.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:o.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function mn({usage:e}){let{t}=U(`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)(R,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(j,{icon:(0,q.jsx)(Ie,{}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(j,{icon:(0,q.jsx)(Pe,{}),value:kt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function hn(e){return e.exists&&e.archivedAt==null}function gn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:o}=U(`schedules`),c=s(),l=Nt(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=X(e.output),f=X(e.error),p=!r&&u.length===1&&hn(u[0])?u[0].id:null,m=!p&&(u.length>0||d||f),h=`schedule-run-details-${t}`,g=!!p||m,_=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Gt,{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:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),g?(0,q.jsx)(W,{className:C(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&n?`rotate-90`:``)}):null]}),v=m&&n?(0,q.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>hn(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:o(`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:o(`scheduleDetail.conversation`),` `,e.exists?c:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,f?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return p?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(p),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:_})}):m?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":h,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:_}),v]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:_})}function _n({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=U(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(me,{placement:`section`}):!e||e.length===0?(0,q.jsx)(_,{placement:`section`,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)(gn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function vn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:a,onDeleted:o}){let{t:s}=U(`schedules`),c=xe(),{data:l,isLoading:u}=V({queryKey:re({path:{assistant_id:t,id:e.id}}),queryFn:()=>We(t,e.id),staleTime:1e4}),[d,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(!1),C=an(e.sourceKey),w=sn(e),T=e.isOneShot&&!r&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{p(!0);try{await Ye(t,e.id)}catch(e){P(e,{context:`schedule_run_now`}),B.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},k=async()=>{_(!0);try{await Je(t,e.id),o()}catch(e){P(e,{context:`schedule_delete`}),B.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},A=async()=>{S(!0);try{await Xe(t,e.id),o()}catch(e){P(e,{context:`schedule_cancel`}),B.error(s(`scheduleDetail.cancelOneTimeFailed`)),S(!1),b(!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)(v,{title:e.name,headerActions:C?void 0:(0,q.jsx)(i,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(Ae,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:a}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(rn,{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)(pn,{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)(Gt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(mn,{usage:n}),(0,q.jsx)(rn,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(_n,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>F(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)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>c(f.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),T?(0,q.jsx)(i,{variant:`dangerOutline`,onClick:()=>b(!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)(i,{variant:`primary`,loading:d,onClick:()=>void D(),disabled:d||E,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(O,{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 k(),onCancel:()=>h(!1)}),(0,q.jsx)(O,{open:y,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:x,onConfirm:()=>void A(),onCancel:()=>b(!1)})]})}function yn({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 bn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(R,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(R,{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:kt(t.runCount)})]})}function xn({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)(ee,{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)(N,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=U(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=sn(e),l=[c?a(c):``,o,s?J(s):``].filter(Boolean),u=an(e.sourceKey);return(0,q.jsx)(xn,{name:e.name,badge:u?(0,q.jsx)(oe,{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 Cn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:a,isError:o,refetch:s,onToggle:c,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:v}=U(`schedules`),y=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>c(e.id,t)},e.id),b=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),x=n.length>0?(0,q.jsx)(w.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(w.Item,{value:`past`,children:[(0,q.jsxs)(w.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:v(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(w.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(b)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(R,{className:`h-12 rounded-md`},t))}):o&&e.length===0?(0,q.jsx)(z,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:v(`schedulesPanel.retry`)}),children:v(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(yn,{icon:Fe,title:v(`schedulesPanel.emptyTitle`),description:v(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`primary`,size:`regular`,onClick:d,children:v(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(i,{variant:`outlined`,size:`regular`,onClick:f,children:v(`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)(i,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:v(`schedulesPanel.useProfileForAll`,{profile:g})})}):null,e.map(y),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:v(`schedulesPanel.oneTimeHeading`)}),t.map(b)]}):null,x]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:a=!1,onLoadMore:o}){let{t:s}=U(`settings`),c=xe(),[l,u]=(0,G.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&o?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:o,disabled:a,loading:a,children:s(a?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(rn,{title:s(`recentRunsCard.title`),children:t?(0,q.jsx)(me,{placement:`section`}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(_,{placement:`section`,children:d}),f]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Nt(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,o=!n&&!a&&(r||i),d=l===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(ie,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>F(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":o?d:void 0,"aria-controls":o?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),o&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),f]})})}var Tn={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 En({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:a}){let{t:o}=U(`schedules`),s=xe(),{heartbeatConfig:c,consolidationConfig:l,retrospectiveConfig:d}=n,p=c?.effectiveTimezone||c?.timezone||null,m,h,g,_,y,b,x;e===`heartbeat`?(m=o(`systemTaskDetail.nameHeartbeat`),h=c?Lt(c,p):``,g=c?.enabled??!1,_=c?.nextRunAt??null,y=c?.lastRunAt??null,b=n.isHeartbeatRunning,x=n.runHeartbeatNow):e===`consolidation`?(m=o(`systemTaskDetail.nameConsolidation`),h=l?Rt(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,y=l?.lastRunAt??null,b=n.isConsolidationRunning,x=n.runConsolidationNow):(m=o(`systemTaskDetail.nameRetrospective`),h=zt(),g=d?.enabled??!1,_=d?.nextRunAt??null,y=d?.lastRunAt??null,b=!1,x=void 0);let S=e!==`heartbeat`,C=e===`retrospective`,w=S&&!g,T=b||w,E=o(S?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),D=C&&d?.available===!0,O=o(D?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:C?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),k=S&&g&&r,j={path:{assistant_id:t},query:{limit:25}},M=e===`heartbeat`?u(j):e===`consolidation`?A(j):ce(j),{data:N,isLoading:te,fetchNextPage:ne,hasNextPage:P,isFetchingNextPage:F}=Oe({queryKey:M.queryKey,queryFn:M.queryFn,initialPageParam:{path:j.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),I=jt(N?.pages.map(t=>({runs:t.runs.filter(e=>!Pt(e)).map(t=>Zt(t,e))}))),L=I?.find(e=>Ft(e)&&e.status!==`running`),re=y??L?.finishedAt??L?.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)(v,{title:m,closeLabel:o(`scheduleDetail.closeAria`),closeTooltip:o(`scheduleDetail.close`),onClose:a}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(rn,{title:o(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:o(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:E}),S?null:(0,q.jsx)(ee,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":o(`scheduleDetail.toggleAria`,{name:m})})]})}),(0,q.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:o(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),h?(0,q.jsx)($,{label:o(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:h})}):null,e===`heartbeat`&&p?(0,q.jsx)($,{label:o(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:p})}):null,C?null:(0,q.jsx)($,{label:o(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(_)})}),(0,q.jsx)($,{label:o(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(re)})})]})}),w?(0,q.jsx)(z,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>s(`${f.settings.developer}?tab=memory`),children:o(D?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:O}):null]}),(0,q.jsx)(wn,{runs:I,isLoading:te,hasMore:P,isLoadingMore:F,onLoadMore:()=>void ne()})]}),k||x?(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:[k?(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${f.settings.developer}?tab=memory`),children:o(`systemTaskDetail.memorySettings`)}):null,x?(0,q.jsx)(i,{variant:`primary`,loading:b,leftIcon:(0,q.jsx)(ze,{className:`h-3.5 w-3.5`}),onClick:x,disabled:T,children:o(b?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=D(),[n]=(0,G.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=V(le(e)),{data:s,isLoading:c,isError:l}=V(Ht(e,t,!0)),{recurring:u,oneTime:d,pastOneTime:f}=(0,G.useMemo)(()=>{let e=Vt(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)??Ut(e)},[l,c,p]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await He(e,t,n),o()}catch(e){P(e,{context:`schedule_toggle`}),B.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,G.useCallback)(()=>{o()},[o])}}function On(){let e=xe(),{scheduleId:t}=Se(),n=d(),r=de(),i=D(),a=Dn(n),o=nn(n,i),s=se(`memoryOptOut`),c=pe.use.settingsDeveloperNav(),l=s&&c===!0,[u,p]=(0,G.useState)(!1),m=t??null,[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(!1),y=(0,G.useCallback)(t=>{e(t?f.schedules.detail(t):f.schedules.root)},[e]),b=m?a.recurring.find(e=>e.id===m)??a.oneTime.find(e=>e.id===m)??a.pastOneTime.find(e=>e.id===m)??null:null;(0,G.useEffect)(()=>{m&&!a.isLoading&&!a.isError&&!b&&y(null)},[m,b,a.isLoading,a.isError,y]);let x=h===`heartbeat`?o.heartbeatConfig!=null:h===`consolidation`?o.consolidationConfig?.available===!0:h===`retrospective`?o.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{h&&!o.isLoading&&!x&&g(null)},[h,x,o.isLoading]);let S=(0,G.useCallback)(e=>{g(null),y(e)},[y]),C=(0,G.useCallback)(e=>{m&&y(null),g(e)},[y,m]),w=(0,G.useCallback)(()=>{he(e)},[e]),T=wt(n,(0,G.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),E=(b?(0,q.jsx)(vn,{schedule:b,assistantId:n,usage:a.usageForSchedule(b.id),isPast:a.pastOneTime.some(e=>e.id===b.id),onClose:()=>y(null),onDeleted:()=>{y(null),a.refetch()}}):null)??(h&&x?(0,q.jsx)(En,{kind:h,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>g(null)}):null),O=(0,q.jsx)(Cn,{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:S,selectedScheduleId:m,onStartNewChat:w,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Jt,{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:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),k=(0,q.jsx)(Tt,{...T.dialogProps});return E&&r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ue,{children:E}),k]}):(0,q.jsxs)(q.Fragment,{children:[E&&!r?(0,q.jsx)(Ze,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:O,detail:E}):O,(0,q.jsx)(mt,{isOpen:u,assistantId:n,onClose:()=>p(!1),onCreated:()=>{p(!1),a.refetch()}}),k]})}export{On as SchedulesPage};
|
package/dist/assets/{security-redirect-page-424yJDDE.js → security-redirect-page-L5VVUkhf.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gx as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gx as t}from"./app-BNxKtvfM.js";import{f as n,x as r}from"./react-BJ4PZBJN.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-B2waFR5c.js → select-assistant-screen-Bm0waz2L.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,$c as n,Ac as r,BS as i,CC as a,Cc as o,Cg as s,Di as c,Gx as l,Ho as u,Kx as d,Lx as f,Nx as p,Ox as m,QS as h,Qb as g,RS as _,Rc as v,Rx as y,Sc as ee,Sf as b,Sx as x,Tx as S,Uo as C,Vn as w,Wo as T,_S as E,b_ as D,bh as te,dx as ne,ex as re,gx as ie,hC as O,jc as k,jg as ae,jx as oe,lC as se,mx as ce,o_ as le,px as ue,tx as de,u_ as fe,uf as A,ux as j,vC as M,vS as N,wi as pe,xS as P,yS as me,yx as F,zt as I}from"./app-CGffgaON.js";import{_ as he,f as ge,t as _e,x as L}from"./react-BJ4PZBJN.js";import{er as ve,w as R}from"./vendor-CezcraPH.js";import{Cr as ye,Ji as be,Lt as xe,_i as Se,sr as z,tr as B}from"./icons-Dwi7aA1Y.js";import{t as V}from"./ellipsis-vertical-DXwTXFid.js";import{t as Ce}from"./radio-card-nav-d-b41vKg.js";import{a as we,i as H,n as Te,o as U,r as Ee,t as De}from"./self-hosted-servers-Du7ejILs.js";import{t as Oe}from"./format-countdown-jXi9FZ2J.js";var W=e(L(),1),ke=l.remotePair.slice(`${l.assistant}/`.length);async function Ae(e,t){let n=t?f(e.url,t):null,r=t&&n!==null?`${ke}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${l.assistant}`);if(!s()){i();return}(r===null?await Ee(e.url):await H(e.url,r))||i()}function je(e){return we(j()?window.location.origin:D())===e.url}var G=_e();function Me({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=R(),l=c();if(e){if(!l)return r;if(v(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,G.jsx)(w,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,G.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,G.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 Ne(e){let t;try{t=N(e)}catch{return{ok:!1,reason:`unparseable`}}if(E(t))return{ok:!1,reason:`service-website`};let n=we(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:me(e).deviceCode}}function Pe({open:e,onClose:t,onAdded:n}){let{t:r}=R(`onboarding`),[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null);(0,W.useEffect)(()=>{e&&(s(``),l(!1),d(null))},[e]);let f=()=>{c||t()},p=async()=>{if(!o.trim()||c)return;let e=Ne(o);if(!e.ok){d(y(e.reason,o));return}l(!0),d(null);try{let t=await U.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}d(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),d(r(`addRemoteOriginDialog.addFailed`))}l(!1)};return(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||f()},children:(0,G.jsxs)(i.Content,{size:`md`,children:[(0,G.jsxs)(i.Header,{icon:ye,children:[(0,G.jsx)(i.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,G.jsx)(i.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,G.jsx)(i.Body,{children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,G.jsx)(h,{id:`add-remote-origin-url`,type:`url`,value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),u&&(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:u})]})}),(0,G.jsxs)(i.Footer,{children:[(0,G.jsx)(a,{variant:`ghost`,onClick:f,disabled:c,children:r(`actions.cancel`)}),(0,G.jsx)(a,{variant:`primary`,onClick:()=>void p(),disabled:!o.trim()||c,children:r(c?`actions.adding`:`actions.add`)})]})]})})}var K=e=>new Promise(t=>setTimeout(t,e)),q=30,Fe=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Ie({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:o}){let{t:s}=R(`onboarding`),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(``),[f,p]=(0,W.useState)(!1),[m,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(null),[ee,b]=(0,W.useState)(0),[x,S]=(0,W.useState)(!1),[C,w]=(0,W.useState)(null),T=(0,W.useRef)(null),E=(0,W.useRef)({abandoned:!1}),D=()=>{let e=T.current;T.current=null,e&&de(e)};(0,W.useEffect)(()=>{if(!e)return;l(t??``),d(``),p(!1),g(null),v(null),S(!1),w(null);let n={abandoned:!1};return E.current=n,()=>{n.abandoned=!0,D()}},[e,t]),(0,W.useEffect)(()=>{if(!_)return;let e=setInterval(()=>b(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let te=async()=>{let e=c.trim();if(!e||f)return;p(!0),g(null);let t=u.trim()||void 0,n=E.current;try{let r=await F(e);if(n.abandoned){r.ok&&de(r.handle);return}if(!r.ok){g(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 i=r.userCode!==null,a=r.expiresAt,c=r.intervalSeconds,l=0;for(;;){let e=await ie(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=i&&ce(e);if(t&&!Fe(a)){if(l+=1,l===1&&S(!0),await K(Math.min(c*l,q)*1e3),n.abandoned)return;continue}D(),v(null),S(!1),g({kind:`message`,text:t?s(`connectAssistantDialog.retryExpired`):e.error});break}if(l>0&&(l=0,S(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),w(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==a&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),a=e.expiresAt,c=e.intervalSeconds,await K(c*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),D(),v(null),S(!1),g({kind:`message`,text:s(`connectAssistantDialog.submitError`)})}p(!1)};return C==null?(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,G.jsxs)(i.Content,{size:`md`,children:[(0,G.jsxs)(i.Header,{icon:B,children:[(0,G.jsx)(i.Title,{children:s(`connectAssistantDialog.title`)}),(0,G.jsx)(i.Description,{children:s(`connectAssistantDialog.instruction`)})]}),(0,G.jsx)(i.Body,{children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,G.jsx)(se,{tone:`info`,children:s(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.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,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`connectAssistantDialog.approveOnHost`)}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,G.jsx)(`span`,{className:x?`text-[color:var(--system-mid-strong)]`:void 0,children:s(x?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,G.jsx)(`span`,{children:s(`connectAssistantDialog.expiresIn`,{time:Oe(ee)})})]})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:s(`connectAssistantDialog.addressLabel`)}),(0,G.jsx)(h,{id:`connect-assistant-address`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:s(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:s(`connectAssistantDialog.nameLabel`)}),(0,G.jsx)(h,{id:`connect-assistant-name`,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?y(m.rejection,m.address):m.text})]})}),(0,G.jsxs)(i.Footer,{children:[(0,G.jsx)(a,{variant:`ghost`,onClick:r,children:s(`actions.cancel`)}),!_&&(0,G.jsx)(a,{variant:`primary`,onClick:()=>void te(),disabled:!c.trim()||f,children:s(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,G.jsxs)(i.Content,{size:`sm`,children:[(0,G.jsx)(i.Header,{icon:B,children:(0,G.jsx)(i.Title,{children:s(`connectAssistantDialog.importedTitle`)})}),(0,G.jsx)(i.Body,{children:(0,G.jsx)(se,{tone:`warning`,children:s(`connectAssistantDialog.importedBody`)})}),(0,G.jsx)(i.Footer,{children:(0,G.jsx)(a,{variant:`primary`,onClick:()=>o(C),children:s(`actions.continue`)})})]})})}function Le({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:o,onRepair:s,onRetire:c}){let{t:l}=R(`onboarding`),[d,f]=(0,W.useState)(`menu`);(0,W.useEffect)(()=>{e&&f(`menu`)},[e]);let p=r?(0,G.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return d===`confirm-repair`?(0,G.jsx)(_,{open:e,title:l(`connectRecoveryDialog.repairTitle`),message:(0,G.jsxs)(G.Fragment,{children:[l(`connectRecoveryDialog.repairBody`),p]}),confirmLabel:l(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:s,onCancel:()=>f(`menu`)}):d===`confirm-retire`?(0,G.jsx)(u,{open:e,isPending:n,extraMessage:p,onConfirm:c,onCancel:()=>f(`menu`)}):(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{!e&&!n&&o()},children:(0,G.jsxs)(i.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||o()},children:[(0,G.jsx)(i.Header,{children:(0,G.jsx)(i.Title,{children:l(`connectRecoveryDialog.authFailedTitle`)})}),(0,G.jsxs)(i.Body,{children:[(0,G.jsx)(i.Description,{children:l(`connectRecoveryDialog.authFailedBody`,{name:t})}),p,(0,G.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,G.jsx)(a,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>f(`confirm-repair`),children:l(`connectRecoveryDialog.wakeAndRepair`)}),(0,G.jsx)(a,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>f(`confirm-retire`),children:l(`connectRecoveryDialog.retire`)}),(0,G.jsx)(a,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:o,children:l(`actions.cancel`)})]})]})]})})}function Re(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function ze(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function J(e,t){let n=e.isPaired?P(e.runtimeUrl):e.isLocal?ue()?`On this computer`:ze(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${I(e.hatchedAt)}`:n}function Be(e){return new URL(e.url).hostname}function Ve(e){return e.name??Be(e)}function He(e){return`origin:${e.url}`}var Y=`origin:cadet-cloud`;function Ue(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function X(){let{t:e}=R(`onboarding`),i=ge(),s=ve(),[c,u]=he(),f=c.get(`fromLogin`)===`1`,h=c.get(`noAutoSkip`)===`1`,_=d(),v=ue(),y=te(),w=t.use.assistants(),E=fe.use.currentOrganizationId(),D=U.use.origins(),ie=U.use.hydrated(),O=ae(),{loading:k,error:se,login:ce,cancel:de}=n(),[j,M]=(0,W.useState)(null),N=j===null?null:{url:j,name:`Cadet Cloud`},P=N!==null,me=e=>e.isPaired||e.isLocal&&v||y,F=w.filter(g),I=F.filter(me),_e=I.length>0||D.length>0||N!==null,L=x(),be=!y&&L,[z,V]=(0,W.useState)(null),[H,Oe]=(0,W.useState)(!1),[ke,Me]=(0,W.useState)(!1),[Ne,K]=(0,W.useState)(null),[q,Fe]=(0,W.useState)(null),[ze,J]=(0,W.useState)(!1),[Be,X]=(0,W.useState)(null),[Z,Q]=(0,W.useState)(null),[Je,Ye]=(0,W.useState)(!1),[Xe,Ze]=(0,W.useState)(null),[Qe,$e]=(0,W.useState)(!1),[$,et]=(0,W.useState)(null),[tt,nt]=(0,W.useState)(!1),[rt,it]=(0,W.useState)(null),at=A.use.open(),ot=A.use.initialAddress(),st=A.use.guidanceKind(),ct=A.use.deepLinkDrainSettled(),lt=(0,W.useRef)(!1);(0,W.useEffect)(()=>{b()},[]),(0,W.useEffect)(()=>{De(),U.getState().hydrate()},[]),(0,W.useEffect)(()=>{if(!O)return;let e=!1;return Te().then(t=>{e||M(t)}),()=>{e=!0}},[O]);let ut=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(ut.current)return;ut.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>u(Ue,{replace:!0}),n=we(e);if(n===null){t();return}U.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():ut.current=!1}).catch(()=>{ut.current=!1})},[c,u]),(0,W.useEffect)(()=>{if(z===Y&&P||z!=null&&D.some(e=>He(e)===z))return;if(I.length===0){let e=D[0],t=e?He(e):P?Y:null;z!==t&&V(t);return}if(z!=null&&I.some(e=>e.id===z))return;let e=le(E);V(I.find(t=>t.id===e)?.id??I[0].id)},[z,I,E,D,P]);let dt=async e=>{Oe(!0),K(null);try{await o(e),i(l.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&x()&&(S(t)||p(t)||t instanceof re)&&ne(e.id)?Fe(e):e.isPaired&&S(t)?K(`This pairing has expired. Run cadet pair on the assistant's machine and import it again with cadet connect import.`):K(`Failed to connect. Please try again.`),Oe(!1)}},ft=()=>{Fe(null),J(!1),X(null),Me(!1)},pt=async()=>{if(!(!q||ze)){J(!0),X(null);try{let e=await m(q.id,{repairGuardian:!0});if(e.ok){oe(),ft(),dt(q);return}X(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),X(`Repair failed. Please try again.`)}J(!1)}},mt=async()=>{if(!(!q||ze)){J(!0),X(null);try{let e=await T(s,q.id);if(e.ok){ft(),i(e.nextRoute,{replace:!0});return}X(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),X(`Failed to retire assistant. Please try again.`)}J(!1)}},ht=()=>{Je||(Q(null),Ze(null))},gt=async()=>{if(!Z||Je)return;if(Ye(!0),Ze(null),Z.isPaired){let e=await ee(s,Z.id);e.ok?(lt.current=!0,Q(null)):Ze(e.error),Ye(!1);return}let e=t.getState();e.activeAssistantId===Z.id&&e.setActiveAssistantId(null),r(s,Z.id),lt.current=!0,Q(null),Ye(!1)},_t=()=>{tt||(et(null),it(null))},vt=async()=>{!$||tt||(nt(!0),it(null),await U.getState().removeOrigin($.url),U.getState().origins.some(e=>e.url===$.url)?it(`Failed to remove. Please try again.`):(lt.current=!0,et(null)),nt(!1))},yt=e=>{A.getState().closeConnectDialog(),dt(t.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isCloudHosted:!1,isPaired:!0})},bt=(e,t)=>{$e(!1),Ae(e,t??void 0)};(0,W.useEffect)(()=>{f||h||lt.current||v&&ie&&(D.length>0||_&&!ct||H||ke||at||F.length!==0&&F.length===1&&I.length===1&&(Me(!0),dt(I[0])))},[F.length,I.length,ct,v,D.length,ie]);let xt=()=>{if(z===Y){Ee(null).then(e=>{!e&&j!==null&&window.location.assign(j)});return}let e=D.find(e=>He(e)===z);if(e){je(e)?i(l.assistant,{replace:!0}):Ae(e);return}let t=F.find(e=>e.id===z);t&&dt(t)},St=()=>{i(v?l.welcome:l.assistant)},Ct=se??Ne;return ke&&!Ct&&!q?(0,G.jsx)(We,{}):(0,G.jsxs)(pe,{avatarWave:`beside`,children:[(0,G.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${_?`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,G.jsxs)(`div`,{className:`flex w-full flex-col items-center ${_?``:`flex-1 justify-center`}`,children:[(0,G.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`)}),Ct&&(0,G.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:Ct}),(0,G.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ce,className:`flex w-full flex-col ${_?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[F.map(t=>{let n=me(t);return(0,G.jsx)(Ke,{assistant:t,selected:z===t.id,locked:!n,tabStop:z==null?I[0]?.id===t.id:z===t.id,onSelect:()=>{n&&V(t.id)},loginLabel:e(k?`actions.cancel`:`actions.loginToUse`),loginDisabled:H,onLogin:!n&&(t.isCloudHosted||t.isLocal)?k?de:()=>void ce():void 0,onRemove:t.isCloudHosted&&be||t.isPaired&&L?()=>Q(t):void 0},t.id)}),D.map((e,t)=>{let n=He(e),r=je(e);return(0,G.jsx)(qe,{origin:e,selected:z===n,current:r,tabStop:z==null?I.length===0&&t===0:z===n,onSelect:()=>V(n),onRemove:r&&O?void 0:()=>et(e)},e.url)}),N&&(0,G.jsx)(qe,{origin:N,icon:(0,G.jsx)(Se,{className:`h-5 w-5`}),selected:z===Y,current:!1,tabStop:z==null?I.length===0&&D.length===0:z===Y,onSelect:()=>V(Y)}),v&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(xe,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:H||k,onClick:()=>void i(`${l.onboarding.hosting}?from=select-assistant`)}),L&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(B,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:H||k,onClick:()=>A.getState().openConnectDialog()}),!L&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(ye,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:H||k,onClick:()=>$e(!0)})]}),_e&&(0,G.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,G.jsx)(a,{variant:`primary`,size:_?`regular`:`large`,fullWidth:!0,onClick:xt,disabled:!z||H,children:e(H?`actions.connecting`:`actions.continue`)})}),(0,G.jsx)(`div`,{className:_e?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,G.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:St,disabled:H||k,children:e(`actions.back`)})})]})}),(0,G.jsx)(Pe,{open:Qe,onClose:()=>$e(!1),onAdded:bt}),(0,G.jsx)(Ie,{open:at,initialAddress:ot??void 0,guidanceKind:st??void 0,onClose:()=>A.getState().closeConnectDialog(),onImported:yt}),(0,G.jsx)(Le,{open:q!=null,assistantName:q?Re(q):``,isPending:ze,errorMessage:Be??void 0,onCancel:ft,onRepair:()=>void pt(),onRetire:()=>void mt()}),(0,G.jsx)(C,{open:Z!=null,kind:Z?.isPaired?`paired`:`platform`,assistantName:Z?Re(Z):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Xe??void 0,isPending:Je,onConfirm:()=>void gt(),onCancel:ht}),(0,G.jsx)(C,{open:$!=null,kind:`origin`,assistantName:$?Ve($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:rt??void 0,isPending:tt,onConfirm:()=>void vt(),onCancel:_t})]})}function We(){let{t:e}=R(`onboarding`);return(0,G.jsx)(pe,{avatarWave:`beside`,children:(0,G.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,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Ge({icon:e,label:t,disabled:n,onClick:r}){let i=d();return(0,G.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,G.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Z({label:e,onRemove:t}){let{t:n}=R(`onboarding`);return(0,G.jsxs)(M.Root,{children:[(0,G.jsx)(M.Trigger,{asChild:!0,children:(0,G.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,G.jsx)(V,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,G.jsx)(M.Content,{align:`end`,sideOffset:4,children:(0,G.jsx)(M.Item,{onSelect:t,className:O.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function Q({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=d();return(0,G.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,G.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,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,G.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,G.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,G.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,G.jsx)(be,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ke({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:o,loginDisabled:s,onLogin:c,onRemove:l}){let{t:u}=R(`onboarding`),d=Re(e),{traits:f,imageUrl:p,onImageError:m}=k(e);return(0,G.jsx)(Q,{icon:(0,G.jsx)(Me,{traits:f,imageUrl:p,fallback:e.isPaired?(0,G.jsx)(B,{className:`h-5 w-5`}):e.isLocal?(0,G.jsx)(z,{className:`h-5 w-5`}):(0,G.jsx)(Se,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:J(e,u),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&c?(0,G.jsx)(a,{variant:`primary`,size:`regular`,onClick:c,disabled:s,children:o}):void 0,removeMenu:l&&(0,G.jsx)(Z,{label:d,onRemove:l})})}function qe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=R(`onboarding`),c=Ve(e);return(0,G.jsx)(Q,{icon:t??(0,G.jsx)(ye,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Be(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,G.jsx)(Z,{label:c,onRemove:o})})}export{X as SelectAssistantScreen};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,$c as n,Ac as r,BS as i,CC as a,Cc as o,Cg as s,Di as c,Gx as l,Ho as u,Kx as d,Lx as f,Nx as p,Ox as m,QS as h,Qb as g,RS as _,Rc as v,Rx as y,Sc as ee,Sf as b,Sx as x,Tx as S,Uo as C,Vn as w,Wo as T,_S as E,b_ as D,bh as te,dx as ne,ex as re,gx as ie,hC as O,jc as k,jg as ae,jx as oe,lC as se,mx as ce,o_ as le,px as ue,tx as de,u_ as fe,uf as A,ux as j,vC as M,vS as N,wi as pe,xS as P,yS as me,yx as F,zt as I}from"./app-BNxKtvfM.js";import{_ as he,f as ge,t as _e,x as L}from"./react-BJ4PZBJN.js";import{er as ve,w as R}from"./vendor-CezcraPH.js";import{Cr as ye,Ji as be,Lt as xe,_i as Se,sr as z,tr as B}from"./icons-Dwi7aA1Y.js";import{t as V}from"./ellipsis-vertical-DXwTXFid.js";import{t as Ce}from"./radio-card-nav-d-b41vKg.js";import{a as we,i as H,n as Te,o as U,r as Ee,t as De}from"./self-hosted-servers-BxHLMpeP.js";import{t as Oe}from"./format-countdown-jXi9FZ2J.js";var W=e(L(),1),ke=l.remotePair.slice(`${l.assistant}/`.length);async function Ae(e,t){let n=t?f(e.url,t):null,r=t&&n!==null?`${ke}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${l.assistant}`);if(!s()){i();return}(r===null?await Ee(e.url):await H(e.url,r))||i()}function je(e){return we(j()?window.location.origin:D())===e.url}var G=_e();function Me({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=R(),l=c();if(e){if(!l)return r;if(v(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,G.jsx)(w,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,G.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,G.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 Ne(e){let t;try{t=N(e)}catch{return{ok:!1,reason:`unparseable`}}if(E(t))return{ok:!1,reason:`service-website`};let n=we(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:me(e).deviceCode}}function Pe({open:e,onClose:t,onAdded:n}){let{t:r}=R(`onboarding`),[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null);(0,W.useEffect)(()=>{e&&(s(``),l(!1),d(null))},[e]);let f=()=>{c||t()},p=async()=>{if(!o.trim()||c)return;let e=Ne(o);if(!e.ok){d(y(e.reason,o));return}l(!0),d(null);try{let t=await U.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}d(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),d(r(`addRemoteOriginDialog.addFailed`))}l(!1)};return(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||f()},children:(0,G.jsxs)(i.Content,{size:`md`,children:[(0,G.jsxs)(i.Header,{icon:ye,children:[(0,G.jsx)(i.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,G.jsx)(i.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,G.jsx)(i.Body,{children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,G.jsx)(h,{id:`add-remote-origin-url`,type:`url`,value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),u&&(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:u})]})}),(0,G.jsxs)(i.Footer,{children:[(0,G.jsx)(a,{variant:`ghost`,onClick:f,disabled:c,children:r(`actions.cancel`)}),(0,G.jsx)(a,{variant:`primary`,onClick:()=>void p(),disabled:!o.trim()||c,children:r(c?`actions.adding`:`actions.add`)})]})]})})}var K=e=>new Promise(t=>setTimeout(t,e)),q=30,Fe=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function Ie({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:o}){let{t:s}=R(`onboarding`),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(``),[f,p]=(0,W.useState)(!1),[m,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(null),[ee,b]=(0,W.useState)(0),[x,S]=(0,W.useState)(!1),[C,w]=(0,W.useState)(null),T=(0,W.useRef)(null),E=(0,W.useRef)({abandoned:!1}),D=()=>{let e=T.current;T.current=null,e&&de(e)};(0,W.useEffect)(()=>{if(!e)return;l(t??``),d(``),p(!1),g(null),v(null),S(!1),w(null);let n={abandoned:!1};return E.current=n,()=>{n.abandoned=!0,D()}},[e,t]),(0,W.useEffect)(()=>{if(!_)return;let e=setInterval(()=>b(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let te=async()=>{let e=c.trim();if(!e||f)return;p(!0),g(null);let t=u.trim()||void 0,n=E.current;try{let r=await F(e);if(n.abandoned){r.ok&&de(r.handle);return}if(!r.ok){g(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 i=r.userCode!==null,a=r.expiresAt,c=r.intervalSeconds,l=0;for(;;){let e=await ie(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=i&&ce(e);if(t&&!Fe(a)){if(l+=1,l===1&&S(!0),await K(Math.min(c*l,q)*1e3),n.abandoned)return;continue}D(),v(null),S(!1),g({kind:`message`,text:t?s(`connectAssistantDialog.retryExpired`):e.error});break}if(l>0&&(l=0,S(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),w(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==a&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),b(Date.parse(e.expiresAt)-Date.now())),a=e.expiresAt,c=e.intervalSeconds,await K(c*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),D(),v(null),S(!1),g({kind:`message`,text:s(`connectAssistantDialog.submitError`)})}p(!1)};return C==null?(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,G.jsxs)(i.Content,{size:`md`,children:[(0,G.jsxs)(i.Header,{icon:B,children:[(0,G.jsx)(i.Title,{children:s(`connectAssistantDialog.title`)}),(0,G.jsx)(i.Description,{children:s(`connectAssistantDialog.instruction`)})]}),(0,G.jsx)(i.Body,{children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,G.jsx)(se,{tone:`info`,children:s(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.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,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`connectAssistantDialog.approveOnHost`)}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,G.jsx)(`span`,{className:x?`text-[color:var(--system-mid-strong)]`:void 0,children:s(x?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,G.jsx)(`span`,{children:s(`connectAssistantDialog.expiresIn`,{time:Oe(ee)})})]})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:s(`connectAssistantDialog.addressLabel`)}),(0,G.jsx)(h,{id:`connect-assistant-address`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:s(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:s(`connectAssistantDialog.nameLabel`)}),(0,G.jsx)(h,{id:`connect-assistant-name`,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?y(m.rejection,m.address):m.text})]})}),(0,G.jsxs)(i.Footer,{children:[(0,G.jsx)(a,{variant:`ghost`,onClick:r,children:s(`actions.cancel`)}),!_&&(0,G.jsx)(a,{variant:`primary`,onClick:()=>void te(),disabled:!c.trim()||f,children:s(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,G.jsxs)(i.Content,{size:`sm`,children:[(0,G.jsx)(i.Header,{icon:B,children:(0,G.jsx)(i.Title,{children:s(`connectAssistantDialog.importedTitle`)})}),(0,G.jsx)(i.Body,{children:(0,G.jsx)(se,{tone:`warning`,children:s(`connectAssistantDialog.importedBody`)})}),(0,G.jsx)(i.Footer,{children:(0,G.jsx)(a,{variant:`primary`,onClick:()=>o(C),children:s(`actions.continue`)})})]})})}function Le({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:o,onRepair:s,onRetire:c}){let{t:l}=R(`onboarding`),[d,f]=(0,W.useState)(`menu`);(0,W.useEffect)(()=>{e&&f(`menu`)},[e]);let p=r?(0,G.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return d===`confirm-repair`?(0,G.jsx)(_,{open:e,title:l(`connectRecoveryDialog.repairTitle`),message:(0,G.jsxs)(G.Fragment,{children:[l(`connectRecoveryDialog.repairBody`),p]}),confirmLabel:l(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:s,onCancel:()=>f(`menu`)}):d===`confirm-retire`?(0,G.jsx)(u,{open:e,isPending:n,extraMessage:p,onConfirm:c,onCancel:()=>f(`menu`)}):(0,G.jsx)(i.Root,{open:e,onOpenChange:e=>{!e&&!n&&o()},children:(0,G.jsxs)(i.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||o()},children:[(0,G.jsx)(i.Header,{children:(0,G.jsx)(i.Title,{children:l(`connectRecoveryDialog.authFailedTitle`)})}),(0,G.jsxs)(i.Body,{children:[(0,G.jsx)(i.Description,{children:l(`connectRecoveryDialog.authFailedBody`,{name:t})}),p,(0,G.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,G.jsx)(a,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>f(`confirm-repair`),children:l(`connectRecoveryDialog.wakeAndRepair`)}),(0,G.jsx)(a,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>f(`confirm-retire`),children:l(`connectRecoveryDialog.retire`)}),(0,G.jsx)(a,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:o,children:l(`actions.cancel`)})]})]})]})})}function Re(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function ze(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function J(e,t){let n=e.isPaired?P(e.runtimeUrl):e.isLocal?ue()?`On this computer`:ze(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${I(e.hatchedAt)}`:n}function Be(e){return new URL(e.url).hostname}function Ve(e){return e.name??Be(e)}function He(e){return`origin:${e.url}`}var Y=`origin:cadet-cloud`;function Ue(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function X(){let{t:e}=R(`onboarding`),i=ge(),s=ve(),[c,u]=he(),f=c.get(`fromLogin`)===`1`,h=c.get(`noAutoSkip`)===`1`,_=d(),v=ue(),y=te(),w=t.use.assistants(),E=fe.use.currentOrganizationId(),D=U.use.origins(),ie=U.use.hydrated(),O=ae(),{loading:k,error:se,login:ce,cancel:de}=n(),[j,M]=(0,W.useState)(null),N=j===null?null:{url:j,name:`Cadet Cloud`},P=N!==null,me=e=>e.isPaired||e.isLocal&&v||y,F=w.filter(g),I=F.filter(me),_e=I.length>0||D.length>0||N!==null,L=x(),be=!y&&L,[z,V]=(0,W.useState)(null),[H,Oe]=(0,W.useState)(!1),[ke,Me]=(0,W.useState)(!1),[Ne,K]=(0,W.useState)(null),[q,Fe]=(0,W.useState)(null),[ze,J]=(0,W.useState)(!1),[Be,X]=(0,W.useState)(null),[Z,Q]=(0,W.useState)(null),[Je,Ye]=(0,W.useState)(!1),[Xe,Ze]=(0,W.useState)(null),[Qe,$e]=(0,W.useState)(!1),[$,et]=(0,W.useState)(null),[tt,nt]=(0,W.useState)(!1),[rt,it]=(0,W.useState)(null),at=A.use.open(),ot=A.use.initialAddress(),st=A.use.guidanceKind(),ct=A.use.deepLinkDrainSettled(),lt=(0,W.useRef)(!1);(0,W.useEffect)(()=>{b()},[]),(0,W.useEffect)(()=>{De(),U.getState().hydrate()},[]),(0,W.useEffect)(()=>{if(!O)return;let e=!1;return Te().then(t=>{e||M(t)}),()=>{e=!0}},[O]);let ut=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(ut.current)return;ut.current=!0;let e=c.get(`register`);if(e===null)return;let t=()=>u(Ue,{replace:!0}),n=we(e);if(n===null){t();return}U.getState().addOrigin({url:n,name:c.get(`name`)??void 0}).then(e=>{e.ok?t():ut.current=!1}).catch(()=>{ut.current=!1})},[c,u]),(0,W.useEffect)(()=>{if(z===Y&&P||z!=null&&D.some(e=>He(e)===z))return;if(I.length===0){let e=D[0],t=e?He(e):P?Y:null;z!==t&&V(t);return}if(z!=null&&I.some(e=>e.id===z))return;let e=le(E);V(I.find(t=>t.id===e)?.id??I[0].id)},[z,I,E,D,P]);let dt=async e=>{Oe(!0),K(null);try{await o(e),i(l.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&x()&&(S(t)||p(t)||t instanceof re)&&ne(e.id)?Fe(e):e.isPaired&&S(t)?K(`This pairing has expired. Run cadet pair on the assistant's machine and import it again with cadet connect import.`):K(`Failed to connect. Please try again.`),Oe(!1)}},ft=()=>{Fe(null),J(!1),X(null),Me(!1)},pt=async()=>{if(!(!q||ze)){J(!0),X(null);try{let e=await m(q.id,{repairGuardian:!0});if(e.ok){oe(),ft(),dt(q);return}X(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),X(`Repair failed. Please try again.`)}J(!1)}},mt=async()=>{if(!(!q||ze)){J(!0),X(null);try{let e=await T(s,q.id);if(e.ok){ft(),i(e.nextRoute,{replace:!0});return}X(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),X(`Failed to retire assistant. Please try again.`)}J(!1)}},ht=()=>{Je||(Q(null),Ze(null))},gt=async()=>{if(!Z||Je)return;if(Ye(!0),Ze(null),Z.isPaired){let e=await ee(s,Z.id);e.ok?(lt.current=!0,Q(null)):Ze(e.error),Ye(!1);return}let e=t.getState();e.activeAssistantId===Z.id&&e.setActiveAssistantId(null),r(s,Z.id),lt.current=!0,Q(null),Ye(!1)},_t=()=>{tt||(et(null),it(null))},vt=async()=>{!$||tt||(nt(!0),it(null),await U.getState().removeOrigin($.url),U.getState().origins.some(e=>e.url===$.url)?it(`Failed to remove. Please try again.`):(lt.current=!0,et(null)),nt(!1))},yt=e=>{A.getState().closeConnectDialog(),dt(t.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isCloudHosted:!1,isPaired:!0})},bt=(e,t)=>{$e(!1),Ae(e,t??void 0)};(0,W.useEffect)(()=>{f||h||lt.current||v&&ie&&(D.length>0||_&&!ct||H||ke||at||F.length!==0&&F.length===1&&I.length===1&&(Me(!0),dt(I[0])))},[F.length,I.length,ct,v,D.length,ie]);let xt=()=>{if(z===Y){Ee(null).then(e=>{!e&&j!==null&&window.location.assign(j)});return}let e=D.find(e=>He(e)===z);if(e){je(e)?i(l.assistant,{replace:!0}):Ae(e);return}let t=F.find(e=>e.id===z);t&&dt(t)},St=()=>{i(v?l.welcome:l.assistant)},Ct=se??Ne;return ke&&!Ct&&!q?(0,G.jsx)(We,{}):(0,G.jsxs)(pe,{avatarWave:`beside`,children:[(0,G.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${_?`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,G.jsxs)(`div`,{className:`flex w-full flex-col items-center ${_?``:`flex-1 justify-center`}`,children:[(0,G.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`)}),Ct&&(0,G.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:Ct}),(0,G.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ce,className:`flex w-full flex-col ${_?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[F.map(t=>{let n=me(t);return(0,G.jsx)(Ke,{assistant:t,selected:z===t.id,locked:!n,tabStop:z==null?I[0]?.id===t.id:z===t.id,onSelect:()=>{n&&V(t.id)},loginLabel:e(k?`actions.cancel`:`actions.loginToUse`),loginDisabled:H,onLogin:!n&&(t.isCloudHosted||t.isLocal)?k?de:()=>void ce():void 0,onRemove:t.isCloudHosted&&be||t.isPaired&&L?()=>Q(t):void 0},t.id)}),D.map((e,t)=>{let n=He(e),r=je(e);return(0,G.jsx)(qe,{origin:e,selected:z===n,current:r,tabStop:z==null?I.length===0&&t===0:z===n,onSelect:()=>V(n),onRemove:r&&O?void 0:()=>et(e)},e.url)}),N&&(0,G.jsx)(qe,{origin:N,icon:(0,G.jsx)(Se,{className:`h-5 w-5`}),selected:z===Y,current:!1,tabStop:z==null?I.length===0&&D.length===0:z===Y,onSelect:()=>V(Y)}),v&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(xe,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:H||k,onClick:()=>void i(`${l.onboarding.hosting}?from=select-assistant`)}),L&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(B,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:H||k,onClick:()=>A.getState().openConnectDialog()}),!L&&(0,G.jsx)(Ge,{icon:(0,G.jsx)(ye,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:H||k,onClick:()=>$e(!0)})]}),_e&&(0,G.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,G.jsx)(a,{variant:`primary`,size:_?`regular`:`large`,fullWidth:!0,onClick:xt,disabled:!z||H,children:e(H?`actions.connecting`:`actions.continue`)})}),(0,G.jsx)(`div`,{className:_e?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,G.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:St,disabled:H||k,children:e(`actions.back`)})})]})}),(0,G.jsx)(Pe,{open:Qe,onClose:()=>$e(!1),onAdded:bt}),(0,G.jsx)(Ie,{open:at,initialAddress:ot??void 0,guidanceKind:st??void 0,onClose:()=>A.getState().closeConnectDialog(),onImported:yt}),(0,G.jsx)(Le,{open:q!=null,assistantName:q?Re(q):``,isPending:ze,errorMessage:Be??void 0,onCancel:ft,onRepair:()=>void pt(),onRetire:()=>void mt()}),(0,G.jsx)(C,{open:Z!=null,kind:Z?.isPaired?`paired`:`platform`,assistantName:Z?Re(Z):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Xe??void 0,isPending:Je,onConfirm:()=>void gt(),onCancel:ht}),(0,G.jsx)(C,{open:$!=null,kind:`origin`,assistantName:$?Ve($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:rt??void 0,isPending:tt,onConfirm:()=>void vt(),onCancel:_t})]})}function We(){let{t:e}=R(`onboarding`);return(0,G.jsx)(pe,{avatarWave:`beside`,children:(0,G.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,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Ge({icon:e,label:t,disabled:n,onClick:r}){let i=d();return(0,G.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,G.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Z({label:e,onRemove:t}){let{t:n}=R(`onboarding`);return(0,G.jsxs)(M.Root,{children:[(0,G.jsx)(M.Trigger,{asChild:!0,children:(0,G.jsx)(a,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,G.jsx)(V,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,G.jsx)(M.Content,{align:`end`,sideOffset:4,children:(0,G.jsx)(M.Item,{onSelect:t,className:O.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function Q({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=d();return(0,G.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,G.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,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,G.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,G.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,G.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,G.jsx)(be,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ke({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:o,loginDisabled:s,onLogin:c,onRemove:l}){let{t:u}=R(`onboarding`),d=Re(e),{traits:f,imageUrl:p,onImageError:m}=k(e);return(0,G.jsx)(Q,{icon:(0,G.jsx)(Me,{traits:f,imageUrl:p,fallback:e.isPaired?(0,G.jsx)(B,{className:`h-5 w-5`}):e.isLocal?(0,G.jsx)(z,{className:`h-5 w-5`}):(0,G.jsx)(Se,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:d,subtitle:J(e,u),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&c?(0,G.jsx)(a,{variant:`primary`,size:`regular`,onClick:c,disabled:s,children:o}):void 0,removeMenu:l&&(0,G.jsx)(Z,{label:d,onRemove:l})})}function qe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=R(`onboarding`),c=Ve(e);return(0,G.jsx)(Q,{icon:t??(0,G.jsx)(ye,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Be(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,G.jsx)(Z,{label:c,onRemove:o})})}export{X as SelectAssistantScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Cg as e,SS as t,a_ as n,hS as r,mb as i}from"./app-
|
|
1
|
+
import{Cg as e,SS as t,a_ as n,hS as r,mb as i}from"./app-BNxKtvfM.js";import{K as a,S as o}from"./vendor-CezcraPH.js";var s=`cadet: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=>r(s,e)},p=f,m=null,h=0,g=Promise.resolve(),_=`cadet: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=t(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=`cadet: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,r){if(!e())return!1;await n();try{return await r(),!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,z as i,B as n,E as o,R as r,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CC as e,Fy as t}from"./app-
|
|
1
|
+
import{CC as e,Fy as t}from"./app-BNxKtvfM.js";import{t as n}from"./react-BJ4PZBJN.js";import{w as r}from"./vendor-CezcraPH.js";import{Zr as i,fr as a}from"./icons-Dwi7aA1Y.js";import{t as o}from"./detail-card-DF9nj6Gj.js";var s=n();function c({id:e,title:t,subtitle:n,children:r}){return(0,s.jsx)(o,{id:e,title:t,subtitle:n,children:(0,s.jsx)(`div`,{className:`mt-4`,children:r})})}function l({onClick:t,disabled:n}){let{t:i}=r();return(0,s.jsx)(e,{onClick:t,disabled:n,children:i(`serviceFormControls.save`)})}function u({onClick:t,filled:n=!1}){let{t:i}=r();return(0,s.jsx)(e,{variant:n?`danger`:`dangerGhost`,onClick:t,children:i(`serviceFormControls.reset`)})}function d({guide:e}){return(0,s.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,s.jsx)(a,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,s.jsx)(`span`,{children:e.description}),(0,s.jsxs)(t,{href:e.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e.linkLabel,(0,s.jsx)(i,{className:`h-3 w-3`})]})]})]})}export{c as i,u as n,l as r,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ZS as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ZS as t}from"./app-BNxKtvfM.js";import{t as n,x as r}from"./react-BJ4PZBJN.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{OC as t,Sn as n,qx as r}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{OC as t,Sn as n,qx as r}from"./app-BNxKtvfM.js";import{t as i,x as a}from"./react-BJ4PZBJN.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{$b as t,$c as n,Gx as r,Nf as i,Tc as a,Wa as o,bh as s,dl as c,gh as l,kg as u,qf as d,rn as f,vr as p}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,$c as n,Gx as r,Nf as i,Tc as a,Wa as o,bh as s,dl as c,gh as l,kg as u,qf as d,rn as f,vr as p}from"./app-BNxKtvfM.js";import{d as m,f as h,i as g,t as _,x as v}from"./react-BJ4PZBJN.js";import{w as y}from"./vendor-CezcraPH.js";import{Gn as b,Kn as x}from"./icons-Dwi7aA1Y.js";import{n as S,t as C}from"./sidebar-tree-D1pphm3H.js";import{t as w}from"./use-supports-credentials-settings-Dv49IKbZ.js";var T=e(v(),1),E=_();function D(){let e=d.use.settingsDeveloperNav(),_=d.use.cadetHostedInference(),v=i.use.setWindowsMenuBarSuppressed();(0,T.useEffect)(()=>(v(!0),()=>v(!1)),[v]);let{t:D}=y(`settings`),O=u()||a(),k=t.use.activeAssistantId(),A=f(k),j=w(k),M=o(),N=l(),{pathname:P}=m(),F=h(),I=s(),{login:L}=n(),R=(0,T.useCallback)((e,t)=>{switch(e){case`assistant-status`:return D(`sidebar.general`,`General`);case`model`:return D(`sidebar.model`,`Models & Services`);case`integrations`:return D(`sidebar.integrations`,`Integrations`);case`credentials`:return D(`sidebar.credentials`,`Credentials`);case`notifications`:return D(`sidebar.notifications`,`Notifications`);case`voice`:return D(`sidebar.voice`,`Voice`);case`sounds`:return D(`sidebar.sounds`,`Sounds`);case`privacy`:return D(`sidebar.privacy`,`Permissions & Privacy`);case`bookmarks`:return D(`sidebar.bookmarks`,`Bookmarks`);case`billing`:return N===`full`?D(`sidebar.billingUsage`,`Billing & Usage`):D(`sidebar.usage`,`Usage`);case`community`:return D(`sidebar.community`,`Community`);case`debug`:return D(`sidebar.debug`,`Debug`);case`developer`:return D(`sidebar.developer`,`Developer`);case`personality`:return D(`sidebar.personality`,`Personality`);default:return t}},[D,N]),z=(0,T.useMemo)(()=>p.filter(e=>!(e.id===`notifications`&&!O||e.id===`bookmarks`&&(!A||!M)||e.id===`credentials`&&!j||e.id===`developer`||e.id===`personality`)).map(e=>({...e,label:R(e.id,e.label)})),[O,A,M,j,R]),B=(0,T.useMemo)(()=>{let t=[];return _&&t.push(...p.filter(e=>e.id===`personality`).map(e=>({...e,label:R(e.id,e.label)}))),e&&t.push(...p.filter(e=>e.id===`developer`).map(e=>({...e,label:R(e.id,e.label)}))),t.push(I?{id:`logout`,label:D(`sidebar.logout`,`Log Out`),icon:b,onSelect:()=>void c(F)}:{id:`login`,label:D(`sidebar.login`,`Log In`),icon:x,onSelect:()=>void L()}),t},[e,_,I,F,L,D,R]),V=(0,T.useMemo)(()=>{if(P===r.settings.root)return D(`sidebar.title`,`Settings`);let e=p.find(e=>P===e.href||P.startsWith(e.href+`/`));return e?R(e.id,e.label):D(`sidebar.title`,`Settings`)},[P,D,R]);return(0,E.jsx)(S,{backHref:r.assistant,sidebar:(0,E.jsx)(C,{items:z,bottomItems:B,indexPath:r.settings.root}),title:V,menuReplacesContentOnMobile:!0,children:(0,E.jsx)(g,{})})}export{D as SettingsLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./share-feedback-modal-O62ToKHM.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-81hjkY91.js","assets/react-BJ4PZBJN.js","assets/rolldown-runtime-BM3Ffeng.js","assets/vendor-CezcraPH.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,Ax as n,CC as r,Fy as i,IS as a,Kx as o,QS as s,Qa as c,Rf as l,Rr as u,Xv as d,ZS as f,dd as ee,lC as p,rg as te,yh as ne}from"./app-CGffgaON.js";import{b as m,t as h,v as g,x as _}from"./react-BJ4PZBJN.js";import{E as v,Jn as re,er as ie,w as y,y as b}from"./vendor-CezcraPH.js";import{Mn as x,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as S,pa as C,ri as de}from"./icons-Dwi7aA1Y.js";var w=e(_(),1),fe=e(m(),1),T=`cadet:debug:`;function E(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(T))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function pe(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:n()},overrides:E()}}var D=h(),me=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,he=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,ge={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},O=[{value:`bug_report`,icon:C,includesLogsByDefault:!0},{value:`feature_request`,icon:S,includesLogsByDefault:!1},{value:`other`,icon:x,includesLogsByDefault:!1}],k=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],A=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),j=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),M=10,N=50*1024*1024,_e={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ve(){if(o())return`electron`;let e=b.getPlatform();return e===`ios`||e===`android`?e:`web`}function ye(e){return typeof e==`object`&&!!e&&`client`in e}function be(e){if(e.size>N)return!1;if(e.type&&A.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?j.has(t):!1}return!1}var P=8192,F=/^data:([^;,]+);base64,/i,I=/^[A-Za-z0-9+/]+={0,2}$/;function L(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>L(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=L(a,t,n);i=r}return n.delete(e),i}function R(e){return L(e,e=>{if(typeof e!=`string`)return null;let t=F.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=P&&I.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function z(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),L(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function B(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function V(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await d({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function H(){if(!b.isNativePlatform())return null;try{let{App:e}=await g(async()=>{let{App:e}=await import(`./esm-81hjkY91.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 xe(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:s=[]}=r,c=new Date,u=k.find(t=>t.value===e),d=c.getTime(),f=u?.cutoffMs==null?null:d-u.cutoffMs,ee=f==null?null:new Date(f).toISOString(),p=null;try{p=i?.()??null}catch{p=null}let ne=te(p),m={collected_at:c.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:f,end_time_ms:d},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await H(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,g=h.encode(JSON.stringify(m,null,2)),_=h.encode(JSON.stringify(ne,null,2)),v=[B(`web-client-context.json`,g),B(`web-chat-diagnostics.json`,_)];if(r.queryClient)try{v.push(B(`web-asset-diagnostics.json`,h.encode(JSON.stringify(l(r.queryClient),null,2))))}catch{}let re=new TextEncoder().encode(JSON.stringify(pe(),null,2));v.push(B(`web-debug-flags.json`,re));for(let e of s){let t=e.contents.trim();t&&v.push(B(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._cadetDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:z(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(R(n),null,2));v.push(B(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._cadetDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(R(t),null,2));v.push(B(`web-sse-liveness-triage.json`,n))}}catch{}if(o()&&window.cadet?.feedback){try{let e=await window.cadet.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(B(`electron-diagnostics.json`,t))}catch{}try{let e=await window.cadet.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(B(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await V(t,{window:{startTime:f,endTime:d},activeConversationId:n});e&&v.push(B(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let ie=v.reduce((e,t)=>e+t.length,0),y=new Uint8Array(ie),b=0;for(let e of v)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),ae=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ae],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function U({open:e,onClose:n,initialReason:l,initialMessage:d,onSubmitted:te,assistantId:m,assistantVersion:h,activeConversationId:g,doctorSessionId:_,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let{t:S}=y(),C=ie(),T=ne.use.user(),E=T?.email,pe=T?.isStaff??!1,k=(0,w.useId)(),A=(0,w.useRef)(null),j=(0,w.useRef)(null),N=(0,w.useRef)(null),P=(0,w.useRef)(null),F=(0,w.useMemo)(()=>[{value:`past_hour`,label:S(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:S(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:S(`shareFeedbackModal.timeRangeAllTime`)}],[S]),[I,L]=(0,w.useState)(l??`bug_report`),[R,z]=(0,w.useState)(``),[B,V]=(0,w.useState)(``),[H,U]=(0,w.useState)(O.find(e=>e.value===(l??`bug_report`))?.includesLogsByDefault??!0),[we,Te]=(0,w.useState)(!1),[W,G]=(0,w.useState)(`past_hour`),[K,q]=(0,w.useState)([]),[Ee,J]=(0,w.useState)(null),[De,Y]=(0,w.useState)(!1),[X,Oe]=(0,w.useState)(!1),[Z,ke]=(0,w.useState)(!1),Ae=re(ee()),[je,Q]=(0,w.useState)(!1),$=Ae.isPending||je,Me=!E,Ne=(0,w.useMemo)(()=>R.trim().length>0&&B.trim().length>0,[R,B]);(0,w.useEffect)(()=>{if(!e)return;let t=l??`bug_report`;L(t),z(d??``),V(E??``),U(O.find(e=>e.value===t)?.includesLogsByDefault??!0),Te(!1),G(`past_hour`),q([]),Oe(!1),ke(!1),J(null),Q(!1),Ae.reset();let n=setTimeout(()=>{E?N.current?.focus():P.current?.focus()},50);return()=>clearTimeout(n)},[e]),c(e);let Pe=e=>{L(e),we||U(O.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{U(e=>!e),Te(!0)},Ie=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Le=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),n())},[n,$]),Re=(0,w.useCallback)(e=>{e.target===A.current&&!$&&n()},[n,$]),ze=(0,w.useCallback)(e=>{q(t=>{let n=M-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!be(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(),Y(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),Y(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&Y(!1)},We=e=>{q(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,D.jsx)(`div`,{ref:A,role:`dialog`,"aria-modal":`true`,"aria-labelledby":k,className:me,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,D.jsxs)(`div`,{className:he,style:ge,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,D.jsx)(`h2`,{id:k,className:`!m-0 text-title-small text-[var(--content-default)]`,children:S(`shareFeedbackModal.title`)}),(0,D.jsx)(r,{variant:`ghost`,iconOnly:(0,D.jsx)(le,{}),onClick:n,disabled:$,"aria-label":S(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[pe&&(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,D.jsx)(f,{checked:Z,onChange:()=>ke(e=>!e),"aria-label":S(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,D.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.timeRange`)}),(0,D.jsx)(a,{options:F,value:W,onChange:G,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}):(0,D.jsxs)(D.Fragment,{children:[Me&&(0,D.jsx)(s,{id:`${k}-email`,ref:P,label:S(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>V(e.target.value),leftIcon:(0,D.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.category`)}),(0,D.jsx)(`div`,{className:`flex gap-2`,children:O.map(e=>(0,D.jsx)(Se,{option:e,isSelected:I===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,D.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),I===`bug_report`&&(0,D.jsx)(p,{tone:`info`,children:(0,D.jsx)(v,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,D.jsx)(i,{href:`https://mycadet.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),I===`feature_request`&&(0,D.jsx)(p,{tone:`info`,children:(0,D.jsx)(v,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,D.jsx)(i,{href:`https://mycadet.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,D.jsx)(t,{id:`${k}-message`,ref:N,label:S(I===`bug_report`?`shareFeedbackModal.messageLabelBug`:I===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:S(I===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:I===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:R,onChange:e=>z(e.target.value),fullWidth:!0}),I!==`feature_request`&&(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:H,onChange:Fe,"aria-label":S(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeDiagnostics`)})]}),(0,D.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(ce,{}),expandOnMobile:!1,"aria-label":S(`shareFeedbackModal.aboutDiagnosticsAria`),tooltip:S(`shareFeedbackModal.diagnosticsTooltip`)})]}),H&&(0,D.jsx)(a,{options:F,value:W,onChange:G,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}),o()&&g&&I!==`feature_request`&&(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:X,onChange:()=>Oe(e=>!e),"aria-label":S(`shareFeedbackModal.includeConversationAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeConversation`)})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[S(`shareFeedbackModal.attachments`),K.length>0&&(0,D.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,K.length,`/`,M]})]}),(0,D.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,D.jsx)(ue,{}),onClick:()=>j.current?.click(),disabled:K.length>=M,children:S(`shareFeedbackModal.addFiles`)}),(0,D.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),K.length>0&&(0,D.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:K.map((e,t)=>(0,D.jsx)(Ce,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),De&&(0,D.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:S(`shareFeedbackModal.dropFiles`)})]})]}),Ee&&(0,D.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:Ee})]}),(0,D.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,D.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,D.jsx)(oe,{className:`h-4 w-4 animate-spin`}),S(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(r,{variant:`ghost`,onClick:n,children:S(`shareFeedbackModal.cancel`)}),Z?(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(de,{}),onClick:async()=>{if(!$){J(null),Q(!0);try{let e=await xe(W,m??null,o()?X?g??null:null:g??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:_,extraLogFiles:Ie});if(!e){J(`Diagnostics export isn't supported in this browser.`);return}await u(e,e.name),n()}catch(e){J(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:S(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(se,{}),onClick:async()=>{if(!(!Ne||$)){J(null),Q(!0);try{let e=H&&I!==`feature_request`?await xe(W,m??null,o()?X?g??null:null:g??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:_,extraLogFiles:Ie}):null,t=ve(),r;if(t===`electron`)try{r=(await window.cadet?.app.versionInfo())?.version??r}catch{}let i=t=>Ae.mutateAsync({headers:{"Content-Type":null},body:{message:R.trim(),classification:_e[I],email:B.trim(),client:t,client_version:r,...m?{assistant_id:m}:{},...h?{assistant_version:h}:{},..._?{doctor_session_id:_}:{},...e?{logs_file:e}:{},...K.length?{attachments:K}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!ye(e))throw e;await i(`web`)}te?.(),n()}catch(e){J(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:S(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Se({option:e,isSelected:t,onSelect:n}){let{t:r}=y(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,D.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,D.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,D.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function Ce({file:e,onRemove:t}){let{t:n}=y(),i=e.type.startsWith(`image/`),a=(0,w.useMemo)(()=>i?URL.createObjectURL(e):null,[e,i]);return(0,w.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,D.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[i&&a?(0,D.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,D.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,D.jsx)(r,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{z as n,R as r,U as t};
|
|
2
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,Ax as n,CC as r,Fy as i,IS as a,Kx as o,QS as s,Qa as c,Rf as l,Rr as u,Xv as d,ZS as f,dd as ee,lC as p,rg as te,yh as ne}from"./app-BNxKtvfM.js";import{b as m,t as h,v as g,x as _}from"./react-BJ4PZBJN.js";import{E as v,Jn as re,er as ie,w as y,y as b}from"./vendor-CezcraPH.js";import{Mn as x,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as S,pa as C,ri as de}from"./icons-Dwi7aA1Y.js";var w=e(_(),1),fe=e(m(),1),T=`cadet:debug:`;function E(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(T))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function pe(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:n()},overrides:E()}}var D=h(),me=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,he=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,ge={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},O=[{value:`bug_report`,icon:C,includesLogsByDefault:!0},{value:`feature_request`,icon:S,includesLogsByDefault:!1},{value:`other`,icon:x,includesLogsByDefault:!1}],k=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],A=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),j=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),M=10,N=50*1024*1024,_e={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ve(){if(o())return`electron`;let e=b.getPlatform();return e===`ios`||e===`android`?e:`web`}function ye(e){return typeof e==`object`&&!!e&&`client`in e}function be(e){if(e.size>N)return!1;if(e.type&&A.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?j.has(t):!1}return!1}var P=8192,F=/^data:([^;,]+);base64,/i,I=/^[A-Za-z0-9+/]+={0,2}$/;function L(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>L(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=L(a,t,n);i=r}return n.delete(e),i}function R(e){return L(e,e=>{if(typeof e!=`string`)return null;let t=F.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=P&&I.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function z(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),L(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function B(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function V(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await d({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function H(){if(!b.isNativePlatform())return null;try{let{App:e}=await g(async()=>{let{App:e}=await import(`./esm-81hjkY91.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 xe(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:s=[]}=r,c=new Date,u=k.find(t=>t.value===e),d=c.getTime(),f=u?.cutoffMs==null?null:d-u.cutoffMs,ee=f==null?null:new Date(f).toISOString(),p=null;try{p=i?.()??null}catch{p=null}let ne=te(p),m={collected_at:c.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:f,end_time_ms:d},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await H(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,g=h.encode(JSON.stringify(m,null,2)),_=h.encode(JSON.stringify(ne,null,2)),v=[B(`web-client-context.json`,g),B(`web-chat-diagnostics.json`,_)];if(r.queryClient)try{v.push(B(`web-asset-diagnostics.json`,h.encode(JSON.stringify(l(r.queryClient),null,2))))}catch{}let re=new TextEncoder().encode(JSON.stringify(pe(),null,2));v.push(B(`web-debug-flags.json`,re));for(let e of s){let t=e.contents.trim();t&&v.push(B(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._cadetDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:z(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(R(n),null,2));v.push(B(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._cadetDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(R(t),null,2));v.push(B(`web-sse-liveness-triage.json`,n))}}catch{}if(o()&&window.cadet?.feedback){try{let e=await window.cadet.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));v.push(B(`electron-diagnostics.json`,t))}catch{}try{let e=await window.cadet.feedback.logs();if(e){let t=new TextEncoder().encode(e);v.push(B(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await V(t,{window:{startTime:f,endTime:d},activeConversationId:n});e&&v.push(B(`platform-logs.tar.gz`,e))}v.push(new Uint8Array(1024));let ie=v.reduce((e,t)=>e+t.length,0),y=new Uint8Array(ie),b=0;for(let e of v)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),ae=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ae],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function U({open:e,onClose:n,initialReason:l,initialMessage:d,onSubmitted:te,assistantId:m,assistantVersion:h,activeConversationId:g,doctorSessionId:_,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let{t:S}=y(),C=ie(),T=ne.use.user(),E=T?.email,pe=T?.isStaff??!1,k=(0,w.useId)(),A=(0,w.useRef)(null),j=(0,w.useRef)(null),N=(0,w.useRef)(null),P=(0,w.useRef)(null),F=(0,w.useMemo)(()=>[{value:`past_hour`,label:S(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:S(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:S(`shareFeedbackModal.timeRangeAllTime`)}],[S]),[I,L]=(0,w.useState)(l??`bug_report`),[R,z]=(0,w.useState)(``),[B,V]=(0,w.useState)(``),[H,U]=(0,w.useState)(O.find(e=>e.value===(l??`bug_report`))?.includesLogsByDefault??!0),[we,Te]=(0,w.useState)(!1),[W,G]=(0,w.useState)(`past_hour`),[K,q]=(0,w.useState)([]),[Ee,J]=(0,w.useState)(null),[De,Y]=(0,w.useState)(!1),[X,Oe]=(0,w.useState)(!1),[Z,ke]=(0,w.useState)(!1),Ae=re(ee()),[je,Q]=(0,w.useState)(!1),$=Ae.isPending||je,Me=!E,Ne=(0,w.useMemo)(()=>R.trim().length>0&&B.trim().length>0,[R,B]);(0,w.useEffect)(()=>{if(!e)return;let t=l??`bug_report`;L(t),z(d??``),V(E??``),U(O.find(e=>e.value===t)?.includesLogsByDefault??!0),Te(!1),G(`past_hour`),q([]),Oe(!1),ke(!1),J(null),Q(!1),Ae.reset();let n=setTimeout(()=>{E?N.current?.focus():P.current?.focus()},50);return()=>clearTimeout(n)},[e]),c(e);let Pe=e=>{L(e),we||U(O.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{U(e=>!e),Te(!0)},Ie=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Le=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),n())},[n,$]),Re=(0,w.useCallback)(e=>{e.target===A.current&&!$&&n()},[n,$]),ze=(0,w.useCallback)(e=>{q(t=>{let n=M-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!be(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(),Y(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),Y(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&Y(!1)},We=e=>{q(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,D.jsx)(`div`,{ref:A,role:`dialog`,"aria-modal":`true`,"aria-labelledby":k,className:me,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,D.jsxs)(`div`,{className:he,style:ge,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,D.jsx)(`h2`,{id:k,className:`!m-0 text-title-small text-[var(--content-default)]`,children:S(`shareFeedbackModal.title`)}),(0,D.jsx)(r,{variant:`ghost`,iconOnly:(0,D.jsx)(le,{}),onClick:n,disabled:$,"aria-label":S(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[pe&&(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,D.jsx)(f,{checked:Z,onChange:()=>ke(e=>!e),"aria-label":S(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.adminOnlyHint`)})]}),Z?(0,D.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,D.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.timeRange`)}),(0,D.jsx)(a,{options:F,value:W,onChange:G,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}):(0,D.jsxs)(D.Fragment,{children:[Me&&(0,D.jsx)(s,{id:`${k}-email`,ref:P,label:S(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>V(e.target.value),leftIcon:(0,D.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.category`)}),(0,D.jsx)(`div`,{className:`flex gap-2`,children:O.map(e=>(0,D.jsx)(Se,{option:e,isSelected:I===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,D.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),I===`bug_report`&&(0,D.jsx)(p,{tone:`info`,children:(0,D.jsx)(v,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,D.jsx)(i,{href:`https://mycadet.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),I===`feature_request`&&(0,D.jsx)(p,{tone:`info`,children:(0,D.jsx)(v,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,D.jsx)(i,{href:`https://mycadet.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,D.jsx)(t,{id:`${k}-message`,ref:N,label:S(I===`bug_report`?`shareFeedbackModal.messageLabelBug`:I===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:S(I===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:I===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:R,onChange:e=>z(e.target.value),fullWidth:!0}),I!==`feature_request`&&(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:H,onChange:Fe,"aria-label":S(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeDiagnostics`)})]}),(0,D.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(ce,{}),expandOnMobile:!1,"aria-label":S(`shareFeedbackModal.aboutDiagnosticsAria`),tooltip:S(`shareFeedbackModal.diagnosticsTooltip`)})]}),H&&(0,D.jsx)(a,{options:F,value:W,onChange:G,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}),o()&&g&&I!==`feature_request`&&(0,D.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,D.jsx)(f,{checked:X,onChange:()=>Oe(e=>!e),"aria-label":S(`shareFeedbackModal.includeConversationAria`)}),(0,D.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeConversation`)})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[S(`shareFeedbackModal.attachments`),K.length>0&&(0,D.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,K.length,`/`,M]})]}),(0,D.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,D.jsx)(ue,{}),onClick:()=>j.current?.click(),disabled:K.length>=M,children:S(`shareFeedbackModal.addFiles`)}),(0,D.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),K.length>0&&(0,D.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:K.map((e,t)=>(0,D.jsx)(Ce,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),De&&(0,D.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:S(`shareFeedbackModal.dropFiles`)})]})]}),Ee&&(0,D.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:Ee})]}),(0,D.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,D.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,D.jsx)(oe,{className:`h-4 w-4 animate-spin`}),S(Z?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(r,{variant:`ghost`,onClick:n,children:S(`shareFeedbackModal.cancel`)}),Z?(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(de,{}),onClick:async()=>{if(!$){J(null),Q(!0);try{let e=await xe(W,m??null,o()?X?g??null:null:g??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:_,extraLogFiles:Ie});if(!e){J(`Diagnostics export isn't supported in this browser.`);return}await u(e,e.name),n()}catch(e){J(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:S(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,D.jsx)(r,{variant:`primary`,leftIcon:(0,D.jsx)(se,{}),onClick:async()=>{if(!(!Ne||$)){J(null),Q(!0);try{let e=H&&I!==`feature_request`?await xe(W,m??null,o()?X?g??null:null:g??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:_,extraLogFiles:Ie}):null,t=ve(),r;if(t===`electron`)try{r=(await window.cadet?.app.versionInfo())?.version??r}catch{}let i=t=>Ae.mutateAsync({headers:{"Content-Type":null},body:{message:R.trim(),classification:_e[I],email:B.trim(),client:t,client_version:r,...m?{assistant_id:m}:{},...h?{assistant_version:h}:{},..._?{doctor_session_id:_}:{},...e?{logs_file:e}:{},...K.length?{attachments:K}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await i(t)}catch(e){if(t!==`android`||!ye(e))throw e;await i(`web`)}te?.(),n()}catch(e){J(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:S(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Se({option:e,isSelected:t,onSelect:n}){let{t:r}=y(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,D.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,D.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,D.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function Ce({file:e,onRemove:t}){let{t:n}=y(),i=e.type.startsWith(`image/`),a=(0,w.useMemo)(()=>i?URL.createObjectURL(e):null,[e,i]);return(0,w.useEffect)(()=>{if(a)return()=>URL.revokeObjectURL(a)},[a]),(0,D.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[i&&a?(0,D.jsx)(`img`,{src:a,alt:e.name,className:`h-full w-full object-cover`}):(0,D.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,D.jsx)(r,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,D.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{z as n,R as r,U as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AS as t,CC as n,Cg as r,Gx as i,Kx as a,Ra as o,Xo as s,fC as c,nu as l}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AS as t,CC as n,Cg as r,Gx as i,Kx as a,Ra as o,Xo as s,fC as c,nu as l}from"./app-BNxKtvfM.js";import{d as u,f as d,n as f,t as p,x as m}from"./react-BJ4PZBJN.js";import{w as h}from"./vendor-CezcraPH.js";import{Gi as g,za as _}from"./icons-Dwi7aA1Y.js";import{t as v}from"./use-edge-swipe-back-D92U2q-N.js";import{t as y}from"./link-click-BJkFvMTf.js";var b=e(m(),1),x=`data-page-transition`,S=400,C;function w(){return typeof document<`u`&&typeof document.startViewTransition==`function`}function T(){return r()&&w()}function E(e,t,n,r){if(!T()){e(t,r);return}document.documentElement.setAttribute(x,n),C!==void 0&&clearTimeout(C),C=setTimeout(()=>{C=void 0,document.documentElement.removeAttribute(x)},S),e(t,{...r,viewTransition:!0})}var D=p();function O({sidebar:e,children:t,actions:r,backHref:p,title:m=`Settings`,menuRoute:g=i.settings.root,menuReplacesContentOnMobile:y=!1}){let{t:x}=h(),{pathname:S}=u(),C=d(),w=S===g,T=l(),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?p:g;v({containerRef:A,onBack:(0,b.useCallback)(()=>{C(M)},[C,M]),enabled:T,navKey:S,prefetchHref:M});let N=a(),P=x(w?`sidebarShell.backFrom`:`sidebarShell.backToMenu`,{title:m}),F=(0,D.jsx)(n,{variant:`ghost`,iconOnly:(0,D.jsx)(_,{}),"aria-label":P,tintColor:`var(--content-secondary)`,onClick:()=>E(C,M,`pop`)}),I=(0,D.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":x(`sidebarShell.backFrom`,{title:m}),className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,D.jsx)(f,{to:p,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)(c,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:m}),(0,D.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),N?(0,D.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,D.jsx)(s,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(o,{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:m})]}),(0,D.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:r})]}),(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:m}),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:t}):null]})]})]})}function k({items:e,bottomItems:n,indexPath:r}){let{t:i}=h(),{pathname:a}=u(),o=d(),s=l(),c=(e,n,i)=>{let{href:c,onSelect:l}=e,u=c!=null&&(a===c||a.startsWith(c+`/`)||!s&&i&&r!=null&&a===r);return(0,D.jsxs)(b.Fragment,{children:[(0,D.jsx)(t.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:c==null?void 0:g,trailingIconClassName:c==null?void 0:`md:hidden`,href:c,onSelect:l,onClick:c==null?void 0:e=>{y(e)||(e.preventDefault(),E(o,c,`push`))}}),!n&&(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,D.jsxs)(`nav`,{"aria-label":i(`sidebarTree.ariaLabel`),className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((t,r)=>c(t,r===e.length-1&&!n?.length,r===0)),n&&n.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`}),n.map((e,t)=>c(e,t===n.length-1,!1))]})]})}export{O as n,k as t};
|