@vellumai/web 0.12.5-staging.2 → 0.12.5-staging.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/assets/{a2a-invite-2n6gRbID.js → a2a-invite-2DFcr5cK.js} +1 -1
  2. package/dist/assets/{about-page-N1N2ME9b.js → about-page-CPNBbifd.js} +1 -1
  3. package/dist/assets/{account-page-DOnTpuZ-.js → account-page-CJ_VtU8O.js} +1 -1
  4. package/dist/assets/{account-shell-CDePfCVi.js → account-shell-DxLEvbei.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-B3R4i5mk.js → acp-run-detail-panel-CB_kEsnS.js} +1 -1
  6. package/dist/assets/{activation-list-route-CHvtTpMz.js → activation-list-route-CGW4JxwN.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-CTTRdkxc.js → activity-redirect-page-BIjoWTCA.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-DR0Y2oZk.js → activity-steps-panel-DMQrQxtA.js} +1 -1
  9. package/dist/assets/add-credits-modal-Dv7XHwyy.js +1 -0
  10. package/dist/assets/{add-credits-modal-Bf3UIKWo.js → add-credits-modal-LuPOq4kF.js} +1 -1
  11. package/dist/assets/{ai-page-nn0k_IIb.js → ai-page-BYnMIWGK.js} +1 -1
  12. package/dist/assets/{all-chats-page-route-CPhckAtu.js → all-chats-page-route-nS138Vap.js} +1 -1
  13. package/dist/assets/{android-billing-handoff-Bdbyo5OG.js → android-billing-handoff-Q1a-ZHj3.js} +1 -1
  14. package/dist/assets/{animated-stat-square-C1mgqXq8.js → animated-stat-square--YG74D1T.js} +1 -1
  15. package/dist/assets/{api-key-screen-BRkuexDs.js → api-key-screen-CYEJaUQl.js} +1 -1
  16. package/dist/assets/app-Dy5YEvtr.css +2 -0
  17. package/dist/assets/{app-g1TvV-Dl.js → app-XG_RF2yi.js} +55 -55
  18. package/dist/assets/{app-info-R4Y_BPoT.js → app-info-zQFV6PZi.js} +1 -1
  19. package/dist/assets/{archive-redirect-page-Cb4LdH50.js → archive-redirect-page-DQbvA1Z-.js} +1 -1
  20. package/dist/assets/{assistant-handle-modal-BQBleuWg.js → assistant-handle-modal-CbatcZHT.js} +1 -1
  21. package/dist/assets/{assistant-inbox-page-route-CWQiF8gx.js → assistant-inbox-page-route-CxI0ViyX.js} +1 -1
  22. package/dist/assets/{assistant-inbox-upgrade-body-D3qYrXZU.js → assistant-inbox-upgrade-body-UUuOySwQ.js} +1 -1
  23. package/dist/assets/{assistant-status-panel-Dz8eNfbE.js → assistant-status-panel-Db_tR-He.js} +1 -1
  24. package/dist/assets/auth-store-CpGZaJMT.js +1 -0
  25. package/dist/assets/{auth-welcome-screen-CYoMdZVW.js → auth-welcome-screen-CCmw8K2q.js} +1 -1
  26. package/dist/assets/avatar-bundled-components-BOhrT2YY.js +1 -0
  27. package/dist/assets/{avatar-random-7_b8sN9c.js → avatar-random-ChM4pm8c.js} +2 -2
  28. package/dist/assets/{await-org-header-settled-BaNRynwI.js → await-org-header-settled-D7gXGNkp.js} +1 -1
  29. package/dist/assets/{background-task-detail-panel-DyQHMRcX.js → background-task-detail-panel-BfpAZAV7.js} +1 -1
  30. package/dist/assets/billing-page-D4Aw0uK5.js +3 -0
  31. package/dist/assets/{billing-redirect-page-DisLOg_5.js → billing-redirect-page-CPoe8Fxo.js} +1 -1
  32. package/dist/assets/{bookmarks-page-CaKBt1k4.js → bookmarks-page-DabizPXt.js} +1 -1
  33. package/dist/assets/{bundle-confirm-page-W2r6YW2S.js → bundle-confirm-page--s00f5SK.js} +1 -1
  34. package/dist/assets/{channel-transcript-panel-DjZfVDU6.js → channel-transcript-panel-kIskgOQO.js} +1 -1
  35. package/dist/assets/{channels-page-route-fjQyOftI.js → channels-page-route-DBYtimrU.js} +1 -1
  36. package/dist/assets/{chat-info-panel-CQwSB97L.js → chat-info-panel-C8-aLnsR.js} +1 -1
  37. package/dist/assets/{checkout-continuation-CGCnWbzu.js → checkout-continuation-DV6qqLmB.js} +1 -1
  38. package/dist/assets/{checkout-page-DoYMFyd4.js → checkout-page-CDszxDKy.js} +1 -1
  39. package/dist/assets/checkout-return-target-kOAtAdtD.js +1 -0
  40. package/dist/assets/{command-palette-D0KYxCnU.js → command-palette-CvSDYYKx.js} +1 -1
  41. package/dist/assets/{command-palette-window-page-BTVDAM95.js → command-palette-window-page-vfJ8M15E.js} +1 -1
  42. package/dist/assets/command-palette-xzqumNt2.js +1 -0
  43. package/dist/assets/{community-page--2IpZpKw.js → community-page-Dnrsh7JC.js} +1 -1
  44. package/dist/assets/{companion-accent-CBLb9Kpv.js → companion-accent-CbS8BVae.js} +1 -1
  45. package/dist/assets/{companion-dock-zones-page-DxuMrFf9.js → companion-dock-zones-page-CRsK4Pv9.js} +1 -1
  46. package/dist/assets/{companion-layout-C6tp_Wvl.js → companion-layout-DCGXuvsw.js} +1 -1
  47. package/dist/assets/{companion-popover-B7KpH4N8.js → companion-popover-BsoxqJOP.js} +1 -1
  48. package/dist/assets/{companion-popover-page-YQKBZlNX.js → companion-popover-page-B-tbPgw2.js} +1 -1
  49. package/dist/assets/{companion-surface-DM4lsh7V.js → companion-surface-Lu_Uj_QW.js} +1 -1
  50. package/dist/assets/{companion-surface-page-BvvOIZO_.js → companion-surface-page-Cu5KYGHm.js} +1 -1
  51. package/dist/assets/{companion-tour-entry-BBJtal5R.js → companion-tour-entry-C3txdrPi.js} +1 -1
  52. package/dist/assets/{companion-watch-frame-page-D_cml_5E.js → companion-watch-frame-page-CxWQHVyd.js} +1 -1
  53. package/dist/assets/{connect-page-De9qYGFr.js → connect-page-BnIPLsIl.js} +1 -1
  54. package/dist/assets/{consent-controls-gxLFaZqC.js → consent-controls-CzokWb_V.js} +1 -1
  55. package/dist/assets/{contacts-gateway-xRhaWZVq.js → contacts-gateway-CXKsci-d.js} +1 -1
  56. package/dist/assets/{contacts-page-route-DuAdAqXe.js → contacts-page-route-rxGvMBYc.js} +1 -1
  57. package/dist/assets/{copy-button-DUDzh1nb.js → copy-button-CDraE4Q7.js} +1 -1
  58. package/dist/assets/{credential-entry-page-DMfgwRck.js → credential-entry-page-CISniD8g.js} +1 -1
  59. package/dist/assets/{credentials-page-CMgmkOGd.js → credentials-page-CY8AWXDI.js} +1 -1
  60. package/dist/assets/{csv-preview-CQY-2Dx9.js → csv-preview-CIYuh6hO.js} +1 -1
  61. package/dist/assets/{danger-zone-redirect-page-yy5xW0mL.js → danger-zone-redirect-page-CvReBloK.js} +1 -1
  62. package/dist/assets/{debug-page-BU3-JUrT.js → debug-page-Bi_rgZ5l.js} +1 -1
  63. package/dist/assets/deploy-dialogs-C2piFvJp.js +1 -0
  64. package/dist/assets/{deploy-dialogs-Daud7Ibu.js → deploy-dialogs-HsxdyBbf.js} +1 -1
  65. package/dist/assets/{desktop-preview-content-Cg0mJFW9.js → desktop-preview-content-CV1cf7mU.js} +2 -2
  66. package/dist/assets/{desktop-status-DGbF0l_T.js → desktop-status-DEExfNSz.js} +1 -1
  67. package/dist/assets/{desktop-viewer-ClERTjPw.js → desktop-viewer-D7Wghl4J.js} +1 -1
  68. package/dist/assets/{detail-card-uV-Fvv0m.js → detail-card-C7tTQwmv.js} +1 -1
  69. package/dist/assets/{detail-panel-stop-button-CpIFrlAa.js → detail-panel-stop-button-DnqOX8hL.js} +1 -1
  70. package/dist/assets/{detail-primitives-BVAXXLTM.js → detail-primitives-wlzeidYY.js} +1 -1
  71. package/dist/assets/{developer-page-C2US1ngx.js → developer-page-BCRjXz1c.js} +1 -1
  72. package/dist/assets/{devices-redirect-page-C6LAvhsi.js → devices-redirect-page-7ye90eAr.js} +1 -1
  73. package/dist/assets/{dictation-overlay-page-4Ws_3jMt.js → dictation-overlay-page-DOBCTXi_.js} +1 -1
  74. package/dist/assets/{document-load-Bc7bzEgK.js → document-load-C2pkXMId.js} +1 -1
  75. package/dist/assets/document-load-D-wTWGym.js +1 -0
  76. package/dist/assets/{document-viewer-page-rYlc99qC.js → document-viewer-page-DOzOlaOx.js} +1 -1
  77. package/dist/assets/{emails-page-BoKSj0Bi.js → emails-page-BcGsKx08.js} +1 -1
  78. package/dist/assets/{file-diff-view-D4vpp28T.js → file-diff-view-Cl9aJla4.js} +1 -1
  79. package/dist/assets/{file-view-mode-CFTpeJXr.js → file-view-mode-B1UgDONH.js} +1 -1
  80. package/dist/assets/{general-page-CCuGQaED.js → general-page-D5BxF2Og.js} +1 -1
  81. package/dist/assets/{hatching-screen-DlG-aMJX.js → hatching-screen-6FiOHAnm.js} +1 -1
  82. package/dist/assets/{hosting-screen-COVzfBVx.js → hosting-screen-CYbWPSH7.js} +1 -1
  83. package/dist/assets/{identity-page-route-9SdenOmX.js → identity-page-route-B7hLB4vt.js} +1 -1
  84. package/dist/assets/{inspect-page-9FD0Y4Wu.js → inspect-page-Q3Uns0YC.js} +3 -3
  85. package/dist/assets/{integrations-page-CXrP8dj3.js → integrations-page-C--xdzQF.js} +1 -1
  86. package/dist/assets/{intelligence-layout-_R-R-8WX.js → intelligence-layout-5NiOjPJY.js} +1 -1
  87. package/dist/assets/{intelligence-layout-slots-store-DfpF-AiU.js → intelligence-layout-slots-store-DTzofJ6x.js} +1 -1
  88. package/dist/assets/{keyboard-shortcuts-redirect-page-CD21JSvn.js → keyboard-shortcuts-redirect-page-BXubnemT.js} +1 -1
  89. package/dist/assets/{latest-assistant-text-D5_fKeDo.js → latest-assistant-text-C5_QcZxG.js} +1 -1
  90. package/dist/assets/{library-detail-page-DG-7BXZ4.js → library-detail-page-lz31jiv2.js} +1 -1
  91. package/dist/assets/{library-page-DRUkvK5M.js → library-page-Cqt_PX2Z.js} +1 -1
  92. package/dist/assets/local-mode-BdKYdq-q.js +1 -0
  93. package/dist/assets/{login-page-BqaYnqWg.js → login-page-BcSmXRpH.js} +1 -1
  94. package/dist/assets/{logout-page-C6QRRvol.js → logout-page-BiLyA8KS.js} +1 -1
  95. package/dist/assets/{logs-layout-CgZTvfsn.js → logs-layout-DtEdDxuo.js} +1 -1
  96. package/dist/assets/{markdown-preview-CjIFQp7z.js → markdown-preview-BZ0peNgQ.js} +1 -1
  97. package/dist/assets/{media-preview-CQ5_mth7.js → media-preview-WLwNLylQ.js} +1 -1
  98. package/dist/assets/{memory-page-route-CMctq-2Y.js → memory-page-route-ULkaZxE1.js} +1 -1
  99. package/dist/assets/{memory-router-playground-page-dreB6wRu.js → memory-router-playground-page-BW7vZW_9.js} +1 -1
  100. package/dist/assets/{message-files-panel-CDRctrdn.js → message-files-panel-CjeAStji.js} +1 -1
  101. package/dist/assets/native-attachment-pickers-DyuoT-EL.js +1 -0
  102. package/dist/assets/native-file-xbQpY6mL.js +1 -0
  103. package/dist/assets/{notifications-page-u4JixJTc.js → notifications-page-CJRzep02.js} +1 -1
  104. package/dist/assets/{oauth-complete-page-C9Yh4aN1.js → oauth-complete-page-ocdI_rC8.js} +1 -1
  105. package/dist/assets/{oauth-popup-complete-page-T4U79Q12.js → oauth-popup-complete-page-HK8d4Spc.js} +1 -1
  106. package/dist/assets/paired-platform-identity-BPPyfzDM.js +1 -0
  107. package/dist/assets/{pairing-page-CmjjyJSK.js → pairing-page-DnBwkmV0.js} +1 -1
  108. package/dist/assets/password-reset-page-B6LfA1PC.js +1 -0
  109. package/dist/assets/{pdf-file-preview-BV59QVcL.js → pdf-file-preview-BICwIHq3.js} +1 -1
  110. package/dist/assets/{permission-guide-page-Zb7kuXV2.js → permission-guide-page-z6AAkvY2.js} +1 -1
  111. package/dist/assets/{permission-setup-D8C_-pLn.js → permission-setup-DQzKLhBn.js} +1 -1
  112. package/dist/assets/{personality-page-Bl2WDg64.js → personality-page-CKLYnk7H.js} +1 -1
  113. package/dist/assets/{personality-page-Cl6IWyFN.js → personality-page-CzJKC8lv.js} +1 -1
  114. package/dist/assets/{personality-sliders-CHGQlasL.js → personality-sliders-Dd3JGL5I.js} +1 -1
  115. package/dist/assets/{plans-page-CX_DS3pd.js → plans-page-DDs81rnq.js} +1 -1
  116. package/dist/assets/{platform-loopback-page-BbAZA0xo.js → platform-loopback-page-BC5gtTbI.js} +1 -1
  117. package/dist/assets/{plugin-detail-page-Y171rg5Z.js → plugin-detail-page-Dre4KSYH.js} +1 -1
  118. package/dist/assets/{plugins-page-7JFDRd3d.js → plugins-page-BJhR5JYi.js} +1 -1
  119. package/dist/assets/plugins-surface-B99o65kn.js +1 -0
  120. package/dist/assets/{preview-error-DRiLBVjC.js → preview-error-BSpmr-KH.js} +1 -1
  121. package/dist/assets/{privacy-page-BbzNYunu.js → privacy-page-BUf0Wrj1.js} +1 -1
  122. package/dist/assets/{privacy-screen-DRWTgt4o.js → privacy-screen-CRkWqj_4.js} +1 -1
  123. package/dist/assets/{profile-card-BUk3o7SO.js → profile-card-BDi2Aa7O.js} +1 -1
  124. package/dist/assets/{provider-callback-page-4eckbJpB.js → provider-callback-page-xSMG5fuv.js} +1 -1
  125. package/dist/assets/{provider-key-CJJJNyHJ.js → provider-key-CY2sGv7V.js} +1 -1
  126. package/dist/assets/{provider-signup-page-DEgiOj-f.js → provider-signup-page-CYvh6GNB.js} +1 -1
  127. package/dist/assets/{quick-input-page-DaqK2hi0.js → quick-input-page-Lfrb-P2b.js} +1 -1
  128. package/dist/assets/referral-modal--kTnJAWn.js +1 -0
  129. package/dist/assets/{referral-modal-IFQp20cn.js → referral-modal-Bk5N1oeX.js} +1 -1
  130. package/dist/assets/{research-mock-page-C9fb3mU6.js → research-mock-page-BdpSM2ZV.js} +1 -1
  131. package/dist/assets/{research-onboarding-route-Cm8d8gDB.js → research-onboarding-route-DLbIS8Fh.js} +1 -1
  132. package/dist/assets/{review-terms-screen-DMQInhYK.js → review-terms-screen-DXYmPnS3.js} +1 -1
  133. package/dist/assets/routes-CJexmSc5.js +1 -0
  134. package/dist/assets/{schedules--58e813j.js → schedules-B_xQSD0K.js} +1 -1
  135. package/dist/assets/{schedules-page-B6cSKNVA.js → schedules-page--mjVQq8F.js} +1 -1
  136. package/dist/assets/{security-redirect-page-BP_ofq6j.js → security-redirect-page-CJJqdMen.js} +1 -1
  137. package/dist/assets/{select-assistant-screen-BG3K7gmK.js → select-assistant-screen-CWrLBgEC.js} +1 -1
  138. package/dist/assets/{self-hosted-servers-BWwS6drJ.js → self-hosted-servers-ByTPcaPx.js} +1 -1
  139. package/dist/assets/{service-form-controls-DdqTR20W.js → service-form-controls-DtPD00wU.js} +1 -1
  140. package/dist/assets/{setting-row-DUPI2E5K.js → setting-row-CaZDTGD2.js} +1 -1
  141. package/dist/assets/settings-CF0G96O8.js +3 -0
  142. package/dist/assets/settings-D9aUsORh.js +3 -0
  143. package/dist/assets/{settings-Bxxp6jKc.js → settings-XqI4_biG.js} +1 -1
  144. package/dist/assets/{settings-layout-Bwhzzkgd.js → settings-layout-DNdADVFk.js} +1 -1
  145. package/dist/assets/{settings-B267Hpr6.js → settings-ooHvceam.js} +1 -1
  146. package/dist/assets/{share-feedback-modal-dOu0B-Md.js → share-feedback-modal-BcKnGtHL.js} +1 -1
  147. package/dist/assets/share-feedback-modal-DF6Y_Ddr.js +1 -0
  148. package/dist/assets/{sidebar-tree-EIcBry0H.js → sidebar-tree-BTeywUnh.js} +1 -1
  149. package/dist/assets/{signup-page-iMX6V56Q.js → signup-page-C3giBlX2.js} +1 -1
  150. package/dist/assets/{signup-shell-DE0anhe6.js → signup-shell-GSIPLhaj.js} +1 -1
  151. package/dist/assets/{skill-detail-page-DY4PImw4.js → skill-detail-page-Deqf_hR_.js} +1 -1
  152. package/dist/assets/{skill-detail-panel-C5ehfnq7.js → skill-detail-panel-Dxor1hrH.js} +1 -1
  153. package/dist/assets/{skill-removal-dialog-BUKv2Tas.js → skill-removal-dialog-BT--h1By.js} +1 -1
  154. package/dist/assets/{skills-page-D0nQMb4s.js → skills-page-KhBWpqn3.js} +1 -1
  155. package/dist/assets/{sounds-page-BHxwlTqF.js → sounds-page-DTRSATq6.js} +1 -1
  156. package/dist/assets/{start-screen-BNWpr3jU.js → start-screen-xL6YeEfA.js} +1 -1
  157. package/dist/assets/{step-detail-header-B4fNZIZg.js → step-detail-header-q2pswG-E.js} +1 -1
  158. package/dist/assets/{stt-language-picker-modal-DfBKJmLh.js → stt-language-picker-modal-oMpmGSKQ.js} +1 -1
  159. package/dist/assets/{subagent-detail-panel-ByW7jl3W.js → subagent-detail-panel-BbfzXdX1.js} +1 -1
  160. package/dist/assets/{superpowers-page-D_RuLpvG.js → superpowers-page-Bew1AAic.js} +1 -1
  161. package/dist/assets/{system-events-page-C7X57xA5.js → system-events-page-CyvA59Rb.js} +1 -1
  162. package/dist/assets/{system-events-redirect-page-CTGlRdMz.js → system-events-redirect-page-BlGZqWyR.js} +1 -1
  163. package/dist/assets/{teleport-gateway-client-B-Ymh7N4.js → teleport-gateway-client-ZoYt4yRw.js} +1 -1
  164. package/dist/assets/{text-preview-DXRIEUbr.js → text-preview-C4goqoCR.js} +1 -1
  165. package/dist/assets/{theme-stage-page-T1E0J2aJ.js → theme-stage-page-wBctgsW9.js} +1 -1
  166. package/dist/assets/{tiptap-document-editor-DqmlydKI.js → tiptap-document-editor-9k3KCMGt.js} +1 -1
  167. package/dist/assets/tool-detail-panel-BXJOMwEr.js +1 -0
  168. package/dist/assets/{tool-detail-panel-Cy_HQVT-.js → tool-detail-panel-D3kcmDuC.js} +1 -1
  169. package/dist/assets/{trait-cycle-row-BNqcZU0H.js → trait-cycle-row-Bj1z4vx9.js} +1 -1
  170. package/dist/assets/{upgrade-cancel-page-BH0iigJ_.js → upgrade-cancel-page-B8aHpJFd.js} +1 -1
  171. package/dist/assets/{upgrade-success-page-CQTTbbGB.js → upgrade-success-page-Dj6egC1G.js} +1 -1
  172. package/dist/assets/{usage-redirect-page-4wBYE6Hz.js → usage-redirect-page-Cc7zOqgH.js} +1 -1
  173. package/dist/assets/{use-app-delete-BqUAzWOi.js → use-app-delete-S-DdyUwn.js} +1 -1
  174. package/dist/assets/{use-assistant-identity-details-DsO3-hL9.js → use-assistant-identity-details-DT3Hy4pf.js} +1 -1
  175. package/dist/assets/{use-checkout-dismiss-refresh-DpbPh5Dv.js → use-checkout-dismiss-refresh-DV7QRuSY.js} +1 -1
  176. package/dist/assets/{use-edge-swipe-back-C_dV-uDl.js → use-edge-swipe-back-BCvtCYFp.js} +1 -1
  177. package/dist/assets/{use-hotkey-recorder-DSplqHTv.js → use-hotkey-recorder-BIhIsp-5.js} +1 -1
  178. package/dist/assets/{use-invite-link-dialog-BbFm0xLB.js → use-invite-link-dialog-DQEUmYHq.js} +1 -1
  179. package/dist/assets/{use-plugins-list-v7ZdJF5y.js → use-plugins-list-DPWrP6Mv.js} +1 -1
  180. package/dist/assets/{use-return-to-short-circuit-e_HCiNdS.js → use-return-to-short-circuit-BVGVwuLm.js} +1 -1
  181. package/dist/assets/{use-side-list-room-CJYjHQez.js → use-side-list-room-DH5gDKs9.js} +1 -1
  182. package/dist/assets/{use-skill-actions-U5IaZ-Z1.js → use-skill-actions-CMoU5oFT.js} +1 -1
  183. package/dist/assets/{use-skill-detail-files-B2ECj0iR.js → use-skill-detail-files-19-kefs2.js} +1 -1
  184. package/dist/assets/use-supports-credentials-settings-Bq2yot1y.js +1 -0
  185. package/dist/assets/{use-transcript-message-by-id-De7Rp17U.js → use-transcript-message-by-id-KYGOx3D6.js} +1 -1
  186. package/dist/assets/{voice-page-CUNQ2QJA.js → voice-page-Cuy1oc6q.js} +1 -1
  187. package/dist/assets/{wake-detail-panel-BouMf1FM.js → wake-detail-panel-B6BImUJo.js} +1 -1
  188. package/dist/assets/{weather-forecast-display-Ea8cYhbQ.js → weather-forecast-display-BvUd--wf.js} +1 -1
  189. package/dist/assets/{welcome-screen-Bh45FGdD.js → welcome-screen-CtVGX2aV.js} +1 -1
  190. package/dist/assets/{workflow-detail-panel-BfplcjXd.js → workflow-detail-panel-DMYrbO29.js} +1 -1
  191. package/dist/assets/{workspace-page-Cn3iFJgb.js → workspace-page-DPWYRJjr.js} +1 -1
  192. package/dist/index.html +2 -2
  193. package/package.json +1 -1
  194. package/dist/assets/add-credits-modal-CjhPCEo3.js +0 -1
  195. package/dist/assets/app-hw35VYTL.css +0 -2
  196. package/dist/assets/auth-store-B_1Y9Uid.js +0 -1
  197. package/dist/assets/avatar-bundled-components-5UFPY9JK.js +0 -1
  198. package/dist/assets/billing-page-JaprT6Vv.js +0 -3
  199. package/dist/assets/checkout-return-target-D5A2Rv1t.js +0 -1
  200. package/dist/assets/command-palette-Lr-NeDCr.js +0 -1
  201. package/dist/assets/deploy-dialogs-BaSfIbBO.js +0 -1
  202. package/dist/assets/document-load-CD-0uWA-.js +0 -1
  203. package/dist/assets/local-mode-CP6E3D3e.js +0 -1
  204. package/dist/assets/native-attachment-pickers-DGHZuGbD.js +0 -1
  205. package/dist/assets/native-file-DxOOIrLm.js +0 -1
  206. package/dist/assets/paired-platform-identity-X_FlXunr.js +0 -1
  207. package/dist/assets/password-reset-page-CDmQuW9S.js +0 -1
  208. package/dist/assets/plugins-surface-DAYezPv6.js +0 -1
  209. package/dist/assets/referral-modal-8IXUqxso.js +0 -1
  210. package/dist/assets/routes-CkL6GgBk.js +0 -1
  211. package/dist/assets/settings-Clb97agh.js +0 -3
  212. package/dist/assets/settings-o6cuYhH5.js +0 -3
  213. package/dist/assets/share-feedback-modal-fY8BlOwK.js +0 -1
  214. package/dist/assets/tool-detail-panel-Dqa39U7-.js +0 -1
  215. package/dist/assets/use-supports-credentials-settings-CMhSepvQ.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$S as n,$n as r,AC as i,Ap as a,BC as o,CS as s,Ca as c,DC as l,J as u,Jl as d,Jo as f,Mp as p,Nh as m,Nm as h,Np as g,OC as _,PC as v,Pm as y,Q as b,SC as x,Uf as S,WC as C,XS as w,Y as T,Yl as E,Z as D,_C as O,_p as k,am as A,bp as j,cC as M,cm as ee,er as N,f as P,fp as te,gC as F,hC as ne,iC as I,im as re,jp as ie,km as ae,kp as oe,lp as L,m as se,mS as R,nc as ce,nt as le,oC as ue,om as de,qS as fe,ql as pe,rr as me,sC as z,sm as he,tr as ge,uC as _e,um as ve,vp as ye,xb as be,yp as xe}from"./app-g1TvV-Dl.js";import{$n as B,E as V,O as Se,Xn as Ce,Yn as we,j as H,nr as Te}from"./vendor-DwMhK7fD.js";import{f as Ee,h as De,t as Oe,x as ke}from"./react-B9IgSVeK.js";import{$i as Ae,A as je,Gi as U,Ui as Me,Yn as Ne,gt as Pe,kt as Fe,oa as Ie,pi as Le,qi as Re,wi as ze,zt as Be}from"./icons-C0wyat6T.js";import{t as Ve}from"./detail-card-uV-Fvv0m.js";import{a as He,c as Ue,d as We,i as Ge,l as Ke,n as qe,o as Je,r as Ye,s as Xe,t as Ze,u as Qe}from"./schedules--58e813j.js";import{a as $e,r as et,t as tt}from"./usage-window-BzmtusAQ.js";var W=e(ke(),1),nt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},rt=[{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`}],it=[1,2,3,4,5];function G(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function at(e){let t=Array.from(new Set(e.map(e=>G(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function ot(e){let t=G(e.minute,0,59),n=G(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${at(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${G(e.dayOfMonth,1,28)} * *`}}function st(e,t){let n=G(e,0,23),r=G(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function ct(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function lt(e){let t=at(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&it.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 ${rt[t[0]]?.full??`day`}`;let r=t.map(e=>rt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function ut(e){let t=st(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=G(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 ${lt(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${ct(G(e.dayOfMonth,1,28))} of every month at ${t}`}}var K=Oe(),dt=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),ft=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function pt(e,t){let n=e%12;return t===`PM`?n+12:n}function mt(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 ht({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,K.jsx)(M.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,K.jsx)(gt,{assistantId:t,onClose:n,onCreated:r}):null})}function gt({assistantId:e,onClose:t,onCreated:n}){let{t:r}=V(`settings`),i=f(),[a,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(``),[p,m]=(0,W.useState)(`simple`),[h,g]=(0,W.useState)(nt),[_,v]=(0,W.useState)(``),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(null),C=a.trim(),w=c.trim(),T=u.trim(),E=_.trim(),D=(0,W.useMemo)(()=>p===`simple`?ot(h):E,[p,h,E]),k=(0,W.useMemo)(()=>p===`simple`?ut(h):E||r(`createScheduleModal.cronContinuePrompt`),[p,h,E,r]),A=(0,W.useMemo)(()=>mt(i),[i]),j=C.length>0&&w.length>0&&T.length>0&&D.length>0&&!y;return(0,K.jsxs)(M.Content,{size:`md`,children:[(0,K.jsxs)(M.Header,{children:[(0,K.jsx)(M.Title,{children:r(`createScheduleModal.title`)}),(0,K.jsx)(M.Description,{children:r(`createScheduleModal.description`)})]}),(0,K.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),j){b(!0),S(null);try{await qe(e,{name:C,description:w,expression:D,message:T,timezone:i}),b(!1),n()}catch(e){S(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,K.jsx)(M.Body,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,K.jsx)(F,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>s(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,K.jsx)(O,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,K.jsx)(xt,{label:r(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,K.jsx)(_t,{cadence:h,onChange:g}):(0,K.jsx)(bt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,K.jsx)(Ct,{summary:k,mono:p===`advanced`&&E.length>0,timezoneLabel:A}),p===`simple`?(0,K.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||ot(h)),m(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.advancedCron`)}):null,(0,K.jsx)(O,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,K.jsxs)(M.Footer,{children:[(0,K.jsx)(o,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,K.jsx)(o,{variant:`primary`,type:`submit`,disabled:!j,children:r(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function _t({cadence:e,onChange:t}){let{t:n}=V(`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:ct(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsx)(_e,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,K.jsx)(St,{label:n(`createScheduleModal.atMinute`),children:(0,K.jsx)(I,{options:ft,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,K.jsx)(St,{label:n(`createScheduleModal.onTheseDays`),children:(0,K.jsx)(yt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,K.jsx)(St,{label:n(`createScheduleModal.onDay`),children:(0,K.jsx)(I,{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,K.jsx)(St,{label:n(`createScheduleModal.atTime`),children:(0,K.jsx)(vt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function vt({hour24:e,minute:t,onChange:n}){let{t:r}=V(`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,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(I,{options:dt,value:String(a),onChange:e=>n(pt(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,K.jsx)(I,{options:ft,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,K.jsx)(`div`,{className:`w-[112px]`,children:(0,K.jsx)(_e,{items:o,value:i,onChange:e=>n(pt(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function yt({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,K.jsx)(`div`,{className:`flex gap-1.5`,children:rt.map(e=>{let t=n.has(e.value);return(0,K.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 bt({value:e,onChange:t,onUseSimple:n}){let{t:r}=V(`settings`);return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(F,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,K.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 xt({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function St({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,K.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Ct({summary:e,mono:t,timezoneLabel:n}){let{t:r}=V(`settings`);return(0,K.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,K.jsx)(ze,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`p`,{className:C(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function wt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=B({...te({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=B({...L({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?$e(a):{})[o]?.displayName??o}}function Tt(e,t,n){let{t:r}=V(`settings`),i=wt(e,`mainAgent`),[a,o]=(0,W.useState)(!1),c=(0,W.useMemo)(()=>i.key?t.filter(e=>P(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),l=i.label,u=Ce({mutationFn:t=>Je(e,null,t),onSuccess:e=>{o(!1),n(),z.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:l}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:l}))},onError:e=>{s(e,{context:`schedules_rebase_inference_profile`}),z.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:l,offDefaultCount:c,canRebase:c>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:l,offDefaultCount:c,isPending:u.isPending,onConfirm:()=>{i.key&&u.mutate(i.key)},onCancel:()=>o(!1)}}}function Et({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=V(`settings`);return(0,K.jsx)(ue,{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 Dt(e=m(),t=Date.now()){return et(tt,e,t)}function q(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function Ot(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var kt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function J(e){return e==null||!Number.isFinite(e)?`—`:kt.format(e)}function At(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function jt(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 Mt(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 Nt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Pt(e){return Nt(e)?e.conversationId??null:null}function Y(e){return typeof e==`string`&&e.length>0}function Ft(e){return e.status===`pending`||e.status===`superseded`}function It(e){return e.status!==`skipped`&&e.status!==`missed`&&!Ft(e)}var Lt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Rt(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=jt(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 zt(e,t=H){return jt(e.intervalMs,t)}function Bt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Vt(e,t){return P(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Ht(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Vt(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 Ut(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?He(e,Dt(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Wt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Gt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return It(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 Kt({status:e}){let{t}=V(`settings`);return(0,K.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 qt({scheduleName:e,usage:t,onOpenUsage:r}){let{t:i}=V(`settings`);if(t.status===`loading`)return(0,K.jsxs)(`div`,{"aria-label":i(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,K.jsx)(n,{as:`span`,className:`h-5 w-16`}),(0,K.jsx)(n,{as:`span`,className:`h-5 w-16`})]});let a=t.status===`error`,o=a?`--`:J(t.summary.totalEstimatedCostUsd),s=a?`--`:At(t.summary.runCount),c=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),l=t.status===`ready`&&t.summary.runCount===0,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,d=l?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,K.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[r?(0,K.jsx)(`button`,{type:`button`,onClick:r,"aria-label":i(`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)] ${u}`,children:o}):(0,K.jsx)(`span`,{"aria-label":i(`scheduleSharedUi.costFor`,{name:e,cost:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o}),(0,K.jsx)(`span`,{"aria-label":i(`scheduleSharedUi.runsFor`,{name:e,runs:s}),className:`block min-w-[64px] px-1 py-0.5 ${d}`,children:s})]})}function Jt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=V(`settings`);return(0,K.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,K.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,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,K.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,K.jsx)(`span`,{children:u(`systemTasksSection.nextRun`,{time:q(r)})}):null,i?(0,K.jsx)(`span`,{children:u(`systemTasksSection.lastRun`,{time:q(i)})}):null]})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,K.jsx)(qt,{scheduleName:e,usage:a}),s?(0,K.jsx)(x,{tone:c,children:s}):(0,K.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,K.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Yt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:u,onSelectConsolidation:d,onSelectRetrospective:f}){let{t:p}=V(`settings`),m=e!=null,h=t?.available===!0,g=n?.available===!0,_=m||h||g;if(!o&&!s&&!_)return null;let v=[...m?[r]:[],...h?[i]:[],...g?[a]:[]].filter(e=>e.status===`ready`),y=v.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),b=o?(0,K.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,K.jsx)(Ne,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,K.jsx)(l,{tone:`error`,children:(0,K.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})}):(0,K.jsxs)(`div`,{children:[m?(0,K.jsx)(Jt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Rt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,K.jsx)(Jt,{name:p(`systemTasksSection.consolidationName`),subtitle:zt(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,K.jsx)(Jt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:Bt(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,K.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,K.jsx)(l,{tone:`error`,children:(0,K.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,K.jsx)(Ve,{children:(0,K.jsx)(w.Root,{type:`multiple`,children:(0,K.jsxs)(w.Item,{value:`system-jobs`,children:[(0,K.jsxs)(w.Trigger,{className:`group justify-between gap-3`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:J(y)})}):null,(0,K.jsx)(Re,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,K.jsx)(w.Content,{children:(0,K.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Xt={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 Zt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Xt[e.skipReason]??e.skipReason}`:null}function X(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Zt(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=>!Ft(e)).map(e=>X(e,`heartbeat`))}function $t(e){return e.runs.map(e=>X(e,`consolidation`))}function en(e){return e.runs.map(e=>X(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Gt(n,r,i)}}function nn(e,t){let n=Te(),r={path:{assistant_id:e??``}},{data:i,isLoading:o,isError:c,refetch:l}=B({...oe(r),enabled:!!e,staleTime:Z}),{data:u,isLoading:d,isError:f,refetch:m}=B({...k(r),enabled:!!e,staleTime:Z}),{data:_,isLoading:v,isError:b,refetch:x}=B({...re(r),enabled:!!e,staleTime:Z}),S={path:{assistant_id:e??``},query:{limit:100}},{data:C,isLoading:w,isError:T,refetch:E}=B({...g(S),select:Qt,enabled:!!e&&i!=null,staleTime:Z}),{data:D,isLoading:O,isError:A,refetch:M}=B({...j(S),select:$t,enabled:!!e&&u?.available===!0,staleTime:Z}),{data:ee,isLoading:N,isError:P,refetch:te}=B({...he(S),select:en,enabled:!!e&&_?.available===!0,staleTime:Z}),F=(0,W.useMemo)(()=>Dt(t),[t]),ne=(0,W.useMemo)(()=>tn(w,T,Lt.heartbeat,C,F),[C,T,w,F]),I=(0,W.useMemo)(()=>tn(O,A,Lt.consolidation,D,F),[D,A,O,F]),ie=(0,W.useMemo)(()=>tn(N,P,Lt.retrospective,ee,F),[ee,P,N,F]),L=t=>{if(!e)return;let i={heartbeat:{config:oe(r).queryKey,runs:g(S).queryKey,infinite:p(r)},consolidation:{config:k(r).queryKey,runs:j(S).queryKey,infinite:xe(r)},retrospective:{config:re(r).queryKey,runs:he(S).queryKey,infinite:de(r)}}[t];n.invalidateQueries({queryKey:i.config}),n.invalidateQueries({queryKey:i.runs}),n.invalidateQueries({queryKey:i.infinite})},se=y({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.heartbeatStarted`)):z.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{s(e,{context:`heartbeat_run_now`}),z.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>L(`heartbeat`)}),R=ae({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.consolidationQueued`)):z.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{s(e,{context:`consolidation_run_now`}),z.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>L(`consolidation`)}),ce=h({onSuccess:e=>{a(n,r,e),z.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{s(e,{context:`heartbeat_toggle`}),z.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:i,consolidationConfig:u,retrospectiveConfig:_,heartbeatUsage:ne,consolidationUsage:I,retrospectiveUsage:ie,isLoading:o||d||v,hasError:c||f||b,isHeartbeatRunning:se.isPending,isConsolidationRunning:R.isPending,isHeartbeatLoading:o,isHeartbeatError:c,isConsolidationLoading:d,isConsolidationError:f,isRetrospectiveLoading:v,isRetrospectiveError:b,refetchHeartbeat:l,refetchConsolidation:m,refetchRetrospective:x,runHeartbeatNow:()=>{e&&se.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&R.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&ce.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{l(),m(),x(),E(),M(),te()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:a,className:o}){let s=!!(t||n||r);return(0,K.jsx)(_,{asChild:!0,className:C(`rounded-lg`,o),children:(0,K.jsxs)(`section`,{id:e,children:[s&&(0,K.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,K.jsx)(i,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,K.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,K.jsx)(`div`,{className:`shrink-0`,children:r})]}),a!=null&&(0,K.jsx)(`div`,{className:s?`mt-3`:``,children:a})]})})}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}=V(`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}=B({...L({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,W.useMemo)(()=>l?$e(l):{},[l]),{label:d}=wt(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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,K.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function un(e,t,n){let r=be(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...b(r,[t],n).map(e=>{let t=u(e,r,n);return{value:e.name,label:T(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:D(e)}:{}}})]}function dn(e,n){let{data:r}=B({...L({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,W.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}=V(`settings`);return(0,K.jsx)(I,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,K.jsx)(Me,{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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,K.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}=V(`schedules`),i=Te(),a=ve({path:{assistant_id:t}}),o=Ce({mutationFn:n=>Ke(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 c=o?.previousProfile;c!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:c}:t)),s(t,{context:`schedule_update_inference_profile`}),z.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,K.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,K.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,K.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,K.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,K.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}=V(`schedules`);return e.status===`loading`?(0,K.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(n,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,K.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,K.jsx)(fe,{icon:(0,K.jsx)(Le,{}),value:J(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,K.jsx)(fe,{icon:(0,K.jsx)(Fe,{}),value:At(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}=V(`schedules`),s=c(),l=Pt(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=Y(e.output),f=Y(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,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Kt,{status:e.status}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:q(e.startedAt)}),(0,K.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Ot(e.durationMs),` ·`,` `,J(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,K.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,K.jsx)(U,{className:C(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&n?`rotate-90`:``)}):null]}),v=m&&n?(0,K.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,K.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>hn(e)?(0,K.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:Y(e.title)?e.title:o(`scheduleDetail.conversation`)},e.id):(0,K.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[Y(e.title)?e.title:o(`scheduleDetail.conversation`),` `,e.exists?s:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,K.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,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,K.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,K.jsx)(`div`,{children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(p),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:q(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,K.jsxs)(`div`,{children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:q(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,K.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}=V(`schedules`),[a,o]=(0,W.useState)(null);return t?(0,K.jsx)(N,{placement:`section`}):!e||e.length===0?(0,K.jsx)(ge,{placement:`section`,children:i(`scheduleDetail.noRunsYet`)}):(0,K.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,K.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:i=!1,onClose:a,onDeleted:c}){let{t:l}=V(`schedules`),u=Ee(),{data:d,isLoading:f}=B({queryKey:ee({path:{assistant_id:t,id:e.id}}),queryFn:()=>Ge(t,e.id),staleTime:1e4}),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(!1),C=an(e.sourceKey),w=sn(e),T=e.isOneShot&&!i&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{m(!0);try{await Xe(t,e.id)}catch(e){s(e,{context:`schedule_run_now`}),z.error(l(`scheduleDetail.runFailed`))}finally{m(!1)}},O=async()=>{v(!0);try{await Ye(t,e.id),c()}catch(e){s(e,{context:`schedule_delete`}),z.error(l(`scheduleDetail.deleteFailed`)),v(!1),g(!1)}},k=async()=>{S(!0);try{await Ze(t,e.id),c()}catch(e){s(e,{context:`schedule_cancel`}),z.error(l(`scheduleDetail.cancelOneTimeFailed`)),S(!1),b(!1)}};return(0,K.jsxs)(K.Fragment,{children:[(0,K.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,K.jsx)(r,{title:e.name,headerActions:C?void 0:(0,K.jsx)(o,{variant:`dangerOutline`,iconOnly:(0,K.jsx)(je,{}),"aria-label":l(`scheduleDetail.delete`),tooltip:l(`scheduleDetail.delete`),onClick:()=>g(!0)}),closeLabel:l(`scheduleDetail.closeAria`),closeTooltip:l(`scheduleDetail.close`),onClose:a}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,K.jsx)(rn,{title:l(`scheduleDetail.details`),children:(0,K.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,K.jsx)(Q,{label:l(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,K.jsx)(Q,{label:l(`scheduleDetail.mode`),value:e.mode}),(0,K.jsx)(pn,{schedule:e,assistantId:t,isPast:i}),(0,K.jsx)(Q,{label:l(`scheduleDetail.status`),value:e.enabled?l(`scheduleDetail.enabled`):l(`scheduleDetail.disabled`)}),(0,K.jsx)(Q,{label:l(`scheduleDetail.nextRun`),value:q(e.nextRunAt)}),e.lastRunAt?(0,K.jsx)(Q,{label:l(`scheduleDetail.lastRun`),value:(0,K.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,K.jsx)(Kt,{status:e.lastStatus}),q(e.lastRunAt)]})}):null]})}),(0,K.jsx)(mn,{usage:n}),(0,K.jsx)(rn,{title:l(`scheduleDetail.recentRuns`),children:(0,K.jsx)(_n,{runs:d?.runs,isLoading:f,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>pe(u,e)})})]}),(0,K.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,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w?l(`scheduleDetail.managedByPluginPaused`,{plugin:C,reason:l(w)}):l(`scheduleDetail.managedByPlugin`,{plugin:C})}):(0,K.jsx)(`span`,{}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(o,{variant:`outlined`,leftIcon:(0,K.jsx)(Ae,{className:`h-3.5 w-3.5`}),onClick:()=>u(R.settings.usageForSchedule(e.id)),children:l(`scheduleDetail.viewUsage`)}),T?(0,K.jsx)(o,{variant:`dangerOutline`,onClick:()=>b(!0),children:l(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,K.jsxs)(K.Fragment,{children:[E?(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`scheduleDetail.turnOnToRun`)}):null,(0,K.jsx)(o,{variant:`primary`,loading:p,onClick:()=>void D(),disabled:p||E,children:l(p?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,K.jsx)(ue,{open:h,title:l(`scheduleDetail.delete`),message:l(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:l(`scheduleDetail.confirmDelete`),cancelLabel:l(`scheduleDetail.cancel`),destructive:!0,isPending:_,onConfirm:()=>void O(),onCancel:()=>g(!1)}),(0,K.jsx)(ue,{open:y,title:l(`scheduleDetail.cancelOneTime`),message:l(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:l(`scheduleDetail.confirmCancelOneTime`),cancelLabel:l(`scheduleDetail.cancel`),destructive:!0,isPending:x,onConfirm:()=>void k(),onCancel:()=>b(!1)})]})}function yn({icon:e,title:t,description:n,actions:r}){return(0,K.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,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,K.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,K.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function bn(e){if(e.status===`loading`)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(n,{as:`span`,className:`h-4 w-12`}),(0,K.jsx)(n,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:J(t.totalEstimatedCostUsd)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:At(t.runCount)})]})}function xn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,K.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,K.jsx)(ne,{checked:i,onChange:s,"aria-label":c}):null,(0,K.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,K.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,K.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,K.jsxs)(W.Fragment,{children:[t>0?(0,K.jsx)(me,{}):null,(0,K.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,K.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=V(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=sn(e),l=[c?a(c):``,o,s?q(s):``].filter(Boolean),u=an(e.sourceKey);return(0,K.jsx)(xn,{name:e.name,badge:u?(0,K.jsx)(x,{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:r,usageForSchedule:i,isLoading:a,isError:s,refetch:c,onToggle:u,onSelectSchedule:d,selectedScheduleId:f,onStartNewChat:p,onCreateSchedule:m,pastOpen:h,onPastOpenChange:g,onRebaseProfiles:_,defaultProfileLabel:v,systemTasksSlot:y}){let{t:b}=V(`schedules`),x=e=>(0,K.jsx)(Sn,{schedule:e,usage:i(e.id),selected:e.id===f,onClick:()=>d(e.id),onToggle:t=>u(e.id,t)},e.id),S=e=>(0,K.jsx)(Sn,{schedule:e,usage:i(e.id),selected:e.id===f,onClick:()=>d(e.id)},e.id),C=r.length>0?(0,K.jsx)(w.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:h?`past`:``,onValueChange:e=>g(e===`past`),children:(0,K.jsxs)(w.Item,{value:`past`,children:[(0,K.jsxs)(w.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,K.jsx)(U,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,K.jsx)(`span`,{children:b(`schedulesPanel.pastToggle`,{count:r.length})})]}),(0,K.jsx)(w.Content,{children:(0,K.jsx)(`div`,{className:`pt-1`,children:r.map(S)})})]})}):null;return(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,K.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(n,{className:`h-12 rounded-md`},t))}):s&&e.length===0?(0,K.jsx)(l,{tone:`error`,actions:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:b(`schedulesPanel.retry`)}),children:b(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&r.length===0?(0,K.jsx)(yn,{icon:Ie,title:b(`schedulesPanel.emptyTitle`),description:b(`schedulesPanel.emptyDescription`),actions:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(o,{variant:`primary`,size:`regular`,onClick:p,children:b(`schedulesPanel.newConversation`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:b(`schedulesPanel.emptyActionsSeparator`)}),(0,K.jsx)(o,{variant:`outlined`,size:`regular`,onClick:m,children:b(`schedulesPanel.createSchedule`)})]})}):(0,K.jsxs)(`div`,{children:[_&&v?(0,K.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:_,className:`max-w-full truncate`,children:b(`schedulesPanel.useProfileForAll`,{profile:v})})}):null,e.map(x),t.length>0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:b(`schedulesPanel.oneTimeHeading`)}),t.map(S)]}):null,C]}),y?(0,K.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:y}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:s}=V(`settings`),c=Ee(),[l,u]=(0,W.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&a?(0,K.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:s(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,K.jsx)(rn,{title:s(`recentRunsCard.title`),children:t?(0,K.jsx)(N,{placement:`section`}):!e||e.length===0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(ge,{placement:`section`,children:d}),f]}):(0,K.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Pt(e),r=Y(e.output),i=Y(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,K.jsxs)(`div`,{children:[(0,K.jsx)(v,{label:(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,K.jsx)(Kt,{status:e.status}),(0,K.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:Y(e.title)?e.title:q(e.startedAt)}),(0,K.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[Y(e.title)?`${q(e.startedAt)} · `:``,a?(0,K.jsx)(K.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,K.jsxs)(K.Fragment,{children:[Ot(e.durationMs),` ·`,` `,J(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,K.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,K.jsx)(U,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>pe(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:q(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,K.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,K.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,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,K.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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,K.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:i,onClose:a}){let{t:s}=V(`schedules`),c=Ee(),{heartbeatConfig:u,consolidationConfig:d,retrospectiveConfig:f}=n,p=u?.effectiveTimezone||u?.timezone||null,m,h,g,_,v,y,b;e===`heartbeat`?(m=s(`systemTaskDetail.nameHeartbeat`),h=u?Rt(u,p):``,g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(m=s(`systemTaskDetail.nameConsolidation`),h=d?zt(d):``,g=d?.enabled??!1,_=d?.nextRunAt??null,v=d?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(m=s(`systemTaskDetail.nameRetrospective`),h=Bt(),g=f?.enabled??!1,_=f?.nextRunAt??null,v=f?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!g,w=y||C,T=s(x?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&f?.available===!0,D=s(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&g&&i,k={path:{assistant_id:t},query:{limit:25}},j=e===`heartbeat`?ie(k):e===`consolidation`?ye(k):A(k),{data:M,isLoading:ee,fetchNextPage:N,hasNextPage:P,isFetchingNextPage:te}=we({queryKey:j.queryKey,queryFn:j.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),F=Mt(M?.pages.map(t=>({runs:t.runs.filter(e=>!Ft(e)).map(t=>X(t,e))}))),I=F?.find(e=>It(e)&&e.status!==`running`),re=v??I?.finishedAt??I?.startedAt??null;return(0,K.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,K.jsx)(r,{title:m,closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:a}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(rn,{title:s(`scheduleDetail.details`),children:(0,K.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,K.jsx)($,{label:s(`scheduleDetail.status`),value:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,K.jsx)(ne,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":s(`scheduleDetail.toggleAria`,{name:m})})]})}),(0,K.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:s(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),h?(0,K.jsx)($,{label:s(`systemTaskDetail.repeats`),value:(0,K.jsx)(`span`,{className:`truncate`,children:h})}):null,e===`heartbeat`&&p?(0,K.jsx)($,{label:s(`scheduleDetail.timezone`),value:(0,K.jsx)(`span`,{className:`truncate`,children:p})}):null,S?null:(0,K.jsx)($,{label:s(`scheduleDetail.nextRun`),value:(0,K.jsx)(`span`,{className:`truncate`,children:q(_)})}),(0,K.jsx)($,{label:s(`scheduleDetail.lastRun`),value:(0,K.jsx)(`span`,{className:`truncate`,children:q(re)})})]})}),C?(0,K.jsx)(l,{tone:`warning`,className:`mt-4`,actions:i?(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:()=>c(`${R.settings.developer}?tab=memory`),children:s(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,K.jsx)(wn,{runs:F,isLoading:ee,hasMore:P,isLoadingMore:te,onLoadMore:()=>void N()})]}),O||b?(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,K.jsx)(o,{variant:`outlined`,leftIcon:(0,K.jsx)(Pe,{className:`h-3.5 w-3.5`}),onClick:()=>c(`${R.settings.developer}?tab=memory`),children:s(`systemTaskDetail.memorySettings`)}):null,b?(0,K.jsx)(o,{variant:`primary`,loading:y,leftIcon:(0,K.jsx)(Be,{className:`h-3.5 w-3.5`}),onClick:b,disabled:w,children:s(y?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=f(),[n]=(0,W.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=B(se(e)),{data:c,isLoading:l,isError:u}=B(Ut(e,t,!0)),{recurring:d,oneTime:p,pastOneTime:m}=(0,W.useMemo)(()=>{let e=Ht(r??[],n);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[n,r]),h=(0,W.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:d,oneTime:p,pastOneTime:m,usageForSchedule:(0,W.useCallback)(e=>l?{status:`loading`}:u?{status:`error`}:{status:`ready`,summary:h.get(e)??Wt(e)},[u,l,h]),handleToggle:(0,W.useCallback)(async(t,n)=>{if(e)try{await Ue(e,t,n),o()}catch(e){s(e,{context:`schedule_toggle`}),z.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,W.useCallback)(()=>{o()},[o])}}function On(){let e=Ee(),{scheduleId:t}=De(),n=le(),r=E(),i=f(),a=Dn(n),o=nn(n,i),s=ce(`memoryOptOut`),c=S.use.settingsDeveloperNav(),l=s&&c===!0,[u,p]=(0,W.useState)(!1),m=t??null,[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(!1),y=(0,W.useCallback)(t=>{e(t?R.schedules.detail(t):R.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,W.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,W.useEffect)(()=>{h&&!o.isLoading&&!x&&g(null)},[h,x,o.isLoading]);let C=(0,W.useCallback)(e=>{g(null),y(e)},[y]),w=(0,W.useCallback)(e=>{m&&y(null),g(e)},[y,m]),T=(0,W.useCallback)(()=>{d(e)},[e]),D=Tt(n,(0,W.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),O=(b?(0,K.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,K.jsx)(En,{kind:h,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>g(null)}):null),k=(0,K.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:C,selectedScheduleId:m,onStartNewChat:T,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:D.canRebase?D.requestRebase:void 0,defaultProfileLabel:D.defaultProfileLabel??void 0,systemTasksSlot:(0,K.jsx)(Yt,{heartbeatConfig:o.heartbeatConfig,consolidationConfig:o.consolidationConfig,retrospectiveConfig:o.retrospectiveConfig,heartbeatUsage:o.heartbeatUsage,consolidationUsage:o.consolidationUsage,retrospectiveUsage:o.retrospectiveUsage,isLoading:o.isLoading,hasError:o.hasError,onRetry:o.refetchAll,onSelectHeartbeat:()=>w(`heartbeat`),onSelectConsolidation:()=>w(`consolidation`),onSelectRetrospective:()=>w(`retrospective`)})}),A=(0,K.jsx)(Et,{...D.dialogProps});return O&&r?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(We,{children:O}),A]}):(0,K.jsxs)(K.Fragment,{children:[O&&!r?(0,K.jsx)(Qe,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:k,detail:O}):k,(0,K.jsx)(ht,{isOpen:u,assistantId:n,onClose:()=>p(!1),onCreated:()=>{p(!1),a.refetch()}}),A]})}export{On as SchedulesPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$S as n,$n as r,AC as i,Ap as a,BC as o,CS as s,Ca as c,DC as l,J as u,Jl as d,Jo as f,Mp as p,Nh as m,Nm as h,Np as g,OC as _,PC as v,Pm as y,Q as b,SC as x,Uf as S,WC as C,XS as w,Y as T,Yl as E,Z as D,_C as O,_p as k,am as A,bp as j,cC as M,cm as ee,er as N,f as P,fp as te,gC as F,hC as ne,iC as I,im as re,jp as ie,km as ae,kp as oe,lp as L,m as se,mS as R,nc as ce,nt as le,oC as ue,om as de,qS as fe,ql as pe,rr as me,sC as z,sm as he,tr as ge,uC as _e,um as ve,vp as ye,xb as be,yp as xe}from"./app-XG_RF2yi.js";import{$n as B,E as V,O as Se,Xn as Ce,Yn as we,j as H,nr as Te}from"./vendor-DwMhK7fD.js";import{f as Ee,h as De,t as Oe,x as ke}from"./react-B9IgSVeK.js";import{$i as Ae,A as je,Gi as U,Ui as Me,Yn as Ne,gt as Pe,kt as Fe,oa as Ie,pi as Le,qi as Re,wi as ze,zt as Be}from"./icons-C0wyat6T.js";import{t as Ve}from"./detail-card-C7tTQwmv.js";import{a as He,c as Ue,d as We,i as Ge,l as Ke,n as qe,o as Je,r as Ye,s as Xe,t as Ze,u as Qe}from"./schedules-B_xQSD0K.js";import{a as $e,r as et,t as tt}from"./usage-window-BzmtusAQ.js";var W=e(ke(),1),nt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},rt=[{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`}],it=[1,2,3,4,5];function G(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function at(e){let t=Array.from(new Set(e.map(e=>G(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function ot(e){let t=G(e.minute,0,59),n=G(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${at(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${G(e.dayOfMonth,1,28)} * *`}}function st(e,t){let n=G(e,0,23),r=G(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function ct(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function lt(e){let t=at(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&it.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 ${rt[t[0]]?.full??`day`}`;let r=t.map(e=>rt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function ut(e){let t=st(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=G(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 ${lt(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${ct(G(e.dayOfMonth,1,28))} of every month at ${t}`}}var K=Oe(),dt=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),ft=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function pt(e,t){let n=e%12;return t===`PM`?n+12:n}function mt(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 ht({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,K.jsx)(M.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,K.jsx)(gt,{assistantId:t,onClose:n,onCreated:r}):null})}function gt({assistantId:e,onClose:t,onCreated:n}){let{t:r}=V(`settings`),i=f(),[a,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(``),[p,m]=(0,W.useState)(`simple`),[h,g]=(0,W.useState)(nt),[_,v]=(0,W.useState)(``),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(null),C=a.trim(),w=c.trim(),T=u.trim(),E=_.trim(),D=(0,W.useMemo)(()=>p===`simple`?ot(h):E,[p,h,E]),k=(0,W.useMemo)(()=>p===`simple`?ut(h):E||r(`createScheduleModal.cronContinuePrompt`),[p,h,E,r]),A=(0,W.useMemo)(()=>mt(i),[i]),j=C.length>0&&w.length>0&&T.length>0&&D.length>0&&!y;return(0,K.jsxs)(M.Content,{size:`md`,children:[(0,K.jsxs)(M.Header,{children:[(0,K.jsx)(M.Title,{children:r(`createScheduleModal.title`)}),(0,K.jsx)(M.Description,{children:r(`createScheduleModal.description`)})]}),(0,K.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),j){b(!0),S(null);try{await qe(e,{name:C,description:w,expression:D,message:T,timezone:i}),b(!1),n()}catch(e){S(e instanceof Error?e.message:r(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,K.jsx)(M.Body,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,K.jsx)(F,{label:r(`createScheduleModal.nameLabel`),placeholder:r(`createScheduleModal.namePlaceholder`),value:a,onChange:e=>s(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,K.jsx)(O,{label:r(`createScheduleModal.descriptionLabel`),placeholder:r(`createScheduleModal.descriptionPlaceholder`),value:c,onChange:e=>l(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,K.jsx)(xt,{label:r(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,K.jsx)(_t,{cadence:h,onChange:g}):(0,K.jsx)(bt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,K.jsx)(Ct,{summary:k,mono:p===`advanced`&&E.length>0,timezoneLabel:A}),p===`simple`?(0,K.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||ot(h)),m(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.advancedCron`)}):null,(0,K.jsx)(O,{label:r(`createScheduleModal.messageLabel`),placeholder:r(`createScheduleModal.messagePlaceholder`),value:u,onChange:e=>d(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,K.jsxs)(M.Footer,{children:[(0,K.jsx)(o,{variant:`outlined`,onClick:t,type:`button`,children:r(`createScheduleModal.cancel`)}),(0,K.jsx)(o,{variant:`primary`,type:`submit`,disabled:!j,children:r(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function _t({cadence:e,onChange:t}){let{t:n}=V(`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:ct(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsx)(_e,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,K.jsx)(St,{label:n(`createScheduleModal.atMinute`),children:(0,K.jsx)(I,{options:ft,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,K.jsx)(St,{label:n(`createScheduleModal.onTheseDays`),children:(0,K.jsx)(yt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,K.jsx)(St,{label:n(`createScheduleModal.onDay`),children:(0,K.jsx)(I,{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,K.jsx)(St,{label:n(`createScheduleModal.atTime`),children:(0,K.jsx)(vt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function vt({hour24:e,minute:t,onChange:n}){let{t:r}=V(`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,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(I,{options:dt,value:String(a),onChange:e=>n(pt(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,K.jsx)(I,{options:ft,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,K.jsx)(`div`,{className:`w-[112px]`,children:(0,K.jsx)(_e,{items:o,value:i,onChange:e=>n(pt(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function yt({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,K.jsx)(`div`,{className:`flex gap-1.5`,children:rt.map(e=>{let t=n.has(e.value);return(0,K.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 bt({value:e,onChange:t,onUseSimple:n}){let{t:r}=V(`settings`);return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(F,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,K.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 xt({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function St({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,K.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Ct({summary:e,mono:t,timezoneLabel:n}){let{t:r}=V(`settings`);return(0,K.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,K.jsx)(ze,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`p`,{className:C(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function wt(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=B({...te({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=B({...L({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?$e(a):{})[o]?.displayName??o}}function Tt(e,t,n){let{t:r}=V(`settings`),i=wt(e,`mainAgent`),[a,o]=(0,W.useState)(!1),c=(0,W.useMemo)(()=>i.key?t.filter(e=>P(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),l=i.label,u=Ce({mutationFn:t=>Je(e,null,t),onSuccess:e=>{o(!1),n(),z.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:l}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:l}))},onError:e=>{s(e,{context:`schedules_rebase_inference_profile`}),z.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:l,offDefaultCount:c,canRebase:c>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:l,offDefaultCount:c,isPending:u.isPending,onConfirm:()=>{i.key&&u.mutate(i.key)},onCancel:()=>o(!1)}}}function Et({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=V(`settings`);return(0,K.jsx)(ue,{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 Dt(e=m(),t=Date.now()){return et(tt,e,t)}function q(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function Ot(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var kt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function J(e){return e==null||!Number.isFinite(e)?`—`:kt.format(e)}function At(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function jt(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 Mt(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 Nt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Pt(e){return Nt(e)?e.conversationId??null:null}function Y(e){return typeof e==`string`&&e.length>0}function Ft(e){return e.status===`pending`||e.status===`superseded`}function It(e){return e.status!==`skipped`&&e.status!==`missed`&&!Ft(e)}var Lt={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Rt(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=jt(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 zt(e,t=H){return jt(e.intervalMs,t)}function Bt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Vt(e,t){return P(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Ht(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Vt(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 Ut(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?He(e,Dt(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Wt(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Gt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return It(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 Kt({status:e}){let{t}=V(`settings`);return(0,K.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 qt({scheduleName:e,usage:t,onOpenUsage:r}){let{t:i}=V(`settings`);if(t.status===`loading`)return(0,K.jsxs)(`div`,{"aria-label":i(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,K.jsx)(n,{as:`span`,className:`h-5 w-16`}),(0,K.jsx)(n,{as:`span`,className:`h-5 w-16`})]});let a=t.status===`error`,o=a?`--`:J(t.summary.totalEstimatedCostUsd),s=a?`--`:At(t.summary.runCount),c=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),l=t.status===`ready`&&t.summary.runCount===0,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,d=l?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,K.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[r?(0,K.jsx)(`button`,{type:`button`,onClick:r,"aria-label":i(`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)] ${u}`,children:o}):(0,K.jsx)(`span`,{"aria-label":i(`scheduleSharedUi.costFor`,{name:e,cost:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o}),(0,K.jsx)(`span`,{"aria-label":i(`scheduleSharedUi.runsFor`,{name:e,runs:s}),className:`block min-w-[64px] px-1 py-0.5 ${d}`,children:s})]})}function Jt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){let{t:u}=V(`settings`);return(0,K.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,K.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,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,K.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,K.jsx)(`span`,{children:u(`systemTasksSection.nextRun`,{time:q(r)})}):null,i?(0,K.jsx)(`span`,{children:u(`systemTasksSection.lastRun`,{time:q(i)})}):null]})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,K.jsx)(qt,{scheduleName:e,usage:a}),s?(0,K.jsx)(x,{tone:c,children:s}):(0,K.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,K.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Yt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:u,onSelectConsolidation:d,onSelectRetrospective:f}){let{t:p}=V(`settings`),m=e!=null,h=t?.available===!0,g=n?.available===!0,_=m||h||g;if(!o&&!s&&!_)return null;let v=[...m?[r]:[],...h?[i]:[],...g?[a]:[]].filter(e=>e.status===`ready`),y=v.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),b=o?(0,K.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,K.jsx)(Ne,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,K.jsx)(l,{tone:`error`,children:(0,K.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})}):(0,K.jsxs)(`div`,{children:[m?(0,K.jsx)(Jt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Rt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,K.jsx)(Jt,{name:p(`systemTasksSection.consolidationName`),subtitle:zt(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,K.jsx)(Jt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:Bt(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,K.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,K.jsx)(l,{tone:`error`,children:(0,K.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,K.jsx)(Ve,{children:(0,K.jsx)(w.Root,{type:`multiple`,children:(0,K.jsxs)(w.Item,{value:`system-jobs`,children:[(0,K.jsxs)(w.Trigger,{className:`group justify-between gap-3`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:J(y)})}):null,(0,K.jsx)(Re,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,K.jsx)(w.Content,{children:(0,K.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Xt={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 Zt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Xt[e.skipReason]??e.skipReason}`:null}function X(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Zt(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=>!Ft(e)).map(e=>X(e,`heartbeat`))}function $t(e){return e.runs.map(e=>X(e,`consolidation`))}function en(e){return e.runs.map(e=>X(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Gt(n,r,i)}}function nn(e,t){let n=Te(),r={path:{assistant_id:e??``}},{data:i,isLoading:o,isError:c,refetch:l}=B({...oe(r),enabled:!!e,staleTime:Z}),{data:u,isLoading:d,isError:f,refetch:m}=B({...k(r),enabled:!!e,staleTime:Z}),{data:_,isLoading:v,isError:b,refetch:x}=B({...re(r),enabled:!!e,staleTime:Z}),S={path:{assistant_id:e??``},query:{limit:100}},{data:C,isLoading:w,isError:T,refetch:E}=B({...g(S),select:Qt,enabled:!!e&&i!=null,staleTime:Z}),{data:D,isLoading:O,isError:A,refetch:M}=B({...j(S),select:$t,enabled:!!e&&u?.available===!0,staleTime:Z}),{data:ee,isLoading:N,isError:P,refetch:te}=B({...he(S),select:en,enabled:!!e&&_?.available===!0,staleTime:Z}),F=(0,W.useMemo)(()=>Dt(t),[t]),ne=(0,W.useMemo)(()=>tn(w,T,Lt.heartbeat,C,F),[C,T,w,F]),I=(0,W.useMemo)(()=>tn(O,A,Lt.consolidation,D,F),[D,A,O,F]),ie=(0,W.useMemo)(()=>tn(N,P,Lt.retrospective,ee,F),[ee,P,N,F]),L=t=>{if(!e)return;let i={heartbeat:{config:oe(r).queryKey,runs:g(S).queryKey,infinite:p(r)},consolidation:{config:k(r).queryKey,runs:j(S).queryKey,infinite:xe(r)},retrospective:{config:re(r).queryKey,runs:he(S).queryKey,infinite:de(r)}}[t];n.invalidateQueries({queryKey:i.config}),n.invalidateQueries({queryKey:i.runs}),n.invalidateQueries({queryKey:i.infinite})},se=y({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.heartbeatStarted`)):z.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{s(e,{context:`heartbeat_run_now`}),z.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>L(`heartbeat`)}),R=ae({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.consolidationQueued`)):z.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{s(e,{context:`consolidation_run_now`}),z.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>L(`consolidation`)}),ce=h({onSuccess:e=>{a(n,r,e),z.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{s(e,{context:`heartbeat_toggle`}),z.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:i,consolidationConfig:u,retrospectiveConfig:_,heartbeatUsage:ne,consolidationUsage:I,retrospectiveUsage:ie,isLoading:o||d||v,hasError:c||f||b,isHeartbeatRunning:se.isPending,isConsolidationRunning:R.isPending,isHeartbeatLoading:o,isHeartbeatError:c,isConsolidationLoading:d,isConsolidationError:f,isRetrospectiveLoading:v,isRetrospectiveError:b,refetchHeartbeat:l,refetchConsolidation:m,refetchRetrospective:x,runHeartbeatNow:()=>{e&&se.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&R.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&ce.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{l(),m(),x(),E(),M(),te()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:a,className:o}){let s=!!(t||n||r);return(0,K.jsx)(_,{asChild:!0,className:C(`rounded-lg`,o),children:(0,K.jsxs)(`section`,{id:e,children:[s&&(0,K.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,K.jsx)(i,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,K.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,K.jsx)(`div`,{className:`shrink-0`,children:r})]}),a!=null&&(0,K.jsx)(`div`,{className:s?`mt-3`:``,children:a})]})})}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}=V(`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}=B({...L({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,W.useMemo)(()=>l?$e(l):{},[l]),{label:d}=wt(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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,K.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function un(e,t,n){let r=be(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...b(r,[t],n).map(e=>{let t=u(e,r,n);return{value:e.name,label:T(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:D(e)}:{}}})]}function dn(e,n){let{data:r}=B({...L({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,W.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}=V(`settings`);return(0,K.jsx)(I,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,K.jsx)(Me,{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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,K.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}=V(`schedules`),i=Te(),a=ve({path:{assistant_id:t}}),o=Ce({mutationFn:n=>Ke(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 c=o?.previousProfile;c!==void 0&&i.setQueryData(a,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:c}:t)),s(t,{context:`schedule_update_inference_profile`}),z.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:a})});return e.mode===`workflow`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,K.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,K.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,K.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,K.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,K.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}=V(`schedules`);return e.status===`loading`?(0,K.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(n,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,K.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,K.jsx)(fe,{icon:(0,K.jsx)(Le,{}),value:J(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,K.jsx)(fe,{icon:(0,K.jsx)(Fe,{}),value:At(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}=V(`schedules`),s=c(),l=Pt(e),u=e.conversations??(l?[{id:l,title:null,exists:!0,archivedAt:null}]:[]),d=Y(e.output),f=Y(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,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Kt,{status:e.status}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:q(e.startedAt)}),(0,K.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Ot(e.durationMs),` ·`,` `,J(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,K.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,K.jsx)(U,{className:C(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,m&&n?`rotate-90`:``)}):null]}),v=m&&n?(0,K.jsx)(`div`,{id:h,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[u.length>0?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,K.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>hn(e)?(0,K.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:Y(e.title)?e.title:o(`scheduleDetail.conversation`)},e.id):(0,K.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[Y(e.title)?e.title:o(`scheduleDetail.conversation`),` `,e.exists?s:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,d?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,K.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,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,K.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,K.jsx)(`div`,{children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(p),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:q(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,K.jsxs)(`div`,{children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:q(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,K.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}=V(`schedules`),[a,o]=(0,W.useState)(null);return t?(0,K.jsx)(N,{placement:`section`}):!e||e.length===0?(0,K.jsx)(ge,{placement:`section`,children:i(`scheduleDetail.noRunsYet`)}):(0,K.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,K.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:i=!1,onClose:a,onDeleted:c}){let{t:l}=V(`schedules`),u=Ee(),{data:d,isLoading:f}=B({queryKey:ee({path:{assistant_id:t,id:e.id}}),queryFn:()=>Ge(t,e.id),staleTime:1e4}),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(!1),C=an(e.sourceKey),w=sn(e),T=e.isOneShot&&!i&&C===null&&e.status!==`firing`,E=C!==null&&!e.enabled,D=async()=>{m(!0);try{await Xe(t,e.id)}catch(e){s(e,{context:`schedule_run_now`}),z.error(l(`scheduleDetail.runFailed`))}finally{m(!1)}},O=async()=>{v(!0);try{await Ye(t,e.id),c()}catch(e){s(e,{context:`schedule_delete`}),z.error(l(`scheduleDetail.deleteFailed`)),v(!1),g(!1)}},k=async()=>{S(!0);try{await Ze(t,e.id),c()}catch(e){s(e,{context:`schedule_cancel`}),z.error(l(`scheduleDetail.cancelOneTimeFailed`)),S(!1),b(!1)}};return(0,K.jsxs)(K.Fragment,{children:[(0,K.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,K.jsx)(r,{title:e.name,headerActions:C?void 0:(0,K.jsx)(o,{variant:`dangerOutline`,iconOnly:(0,K.jsx)(je,{}),"aria-label":l(`scheduleDetail.delete`),tooltip:l(`scheduleDetail.delete`),onClick:()=>g(!0)}),closeLabel:l(`scheduleDetail.closeAria`),closeTooltip:l(`scheduleDetail.close`),onClose:a}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,K.jsx)(rn,{title:l(`scheduleDetail.details`),children:(0,K.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,K.jsx)(Q,{label:l(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,K.jsx)(Q,{label:l(`scheduleDetail.mode`),value:e.mode}),(0,K.jsx)(pn,{schedule:e,assistantId:t,isPast:i}),(0,K.jsx)(Q,{label:l(`scheduleDetail.status`),value:e.enabled?l(`scheduleDetail.enabled`):l(`scheduleDetail.disabled`)}),(0,K.jsx)(Q,{label:l(`scheduleDetail.nextRun`),value:q(e.nextRunAt)}),e.lastRunAt?(0,K.jsx)(Q,{label:l(`scheduleDetail.lastRun`),value:(0,K.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,K.jsx)(Kt,{status:e.lastStatus}),q(e.lastRunAt)]})}):null]})}),(0,K.jsx)(mn,{usage:n}),(0,K.jsx)(rn,{title:l(`scheduleDetail.recentRuns`),children:(0,K.jsx)(_n,{runs:d?.runs,isLoading:f,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>pe(u,e)})})]}),(0,K.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,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:w?l(`scheduleDetail.managedByPluginPaused`,{plugin:C,reason:l(w)}):l(`scheduleDetail.managedByPlugin`,{plugin:C})}):(0,K.jsx)(`span`,{}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(o,{variant:`outlined`,leftIcon:(0,K.jsx)(Ae,{className:`h-3.5 w-3.5`}),onClick:()=>u(R.settings.usageForSchedule(e.id)),children:l(`scheduleDetail.viewUsage`)}),T?(0,K.jsx)(o,{variant:`dangerOutline`,onClick:()=>b(!0),children:l(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,K.jsxs)(K.Fragment,{children:[E?(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`scheduleDetail.turnOnToRun`)}):null,(0,K.jsx)(o,{variant:`primary`,loading:p,onClick:()=>void D(),disabled:p||E,children:l(p?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,K.jsx)(ue,{open:h,title:l(`scheduleDetail.delete`),message:l(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:l(`scheduleDetail.confirmDelete`),cancelLabel:l(`scheduleDetail.cancel`),destructive:!0,isPending:_,onConfirm:()=>void O(),onCancel:()=>g(!1)}),(0,K.jsx)(ue,{open:y,title:l(`scheduleDetail.cancelOneTime`),message:l(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:l(`scheduleDetail.confirmCancelOneTime`),cancelLabel:l(`scheduleDetail.cancel`),destructive:!0,isPending:x,onConfirm:()=>void k(),onCancel:()=>b(!1)})]})}function yn({icon:e,title:t,description:n,actions:r}){return(0,K.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,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,K.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,K.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function bn(e){if(e.status===`loading`)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(n,{as:`span`,className:`h-4 w-12`}),(0,K.jsx)(n,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:J(t.totalEstimatedCostUsd)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:At(t.runCount)})]})}function xn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,K.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,K.jsx)(ne,{checked:i,onChange:s,"aria-label":c}):null,(0,K.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,K.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,K.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,K.jsxs)(W.Fragment,{children:[t>0?(0,K.jsx)(me,{}):null,(0,K.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,K.jsx)(U,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let{t:a}=V(`schedules`),o=e.isOneShot?``:e.cadenceDescription.trim(),s=e.lastRunAt??e.nextRunAt,c=sn(e),l=[c?a(c):``,o,s?q(s):``].filter(Boolean),u=an(e.sourceKey);return(0,K.jsx)(xn,{name:e.name,badge:u?(0,K.jsx)(x,{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:r,usageForSchedule:i,isLoading:a,isError:s,refetch:c,onToggle:u,onSelectSchedule:d,selectedScheduleId:f,onStartNewChat:p,onCreateSchedule:m,pastOpen:h,onPastOpenChange:g,onRebaseProfiles:_,defaultProfileLabel:v,systemTasksSlot:y}){let{t:b}=V(`schedules`),x=e=>(0,K.jsx)(Sn,{schedule:e,usage:i(e.id),selected:e.id===f,onClick:()=>d(e.id),onToggle:t=>u(e.id,t)},e.id),S=e=>(0,K.jsx)(Sn,{schedule:e,usage:i(e.id),selected:e.id===f,onClick:()=>d(e.id)},e.id),C=r.length>0?(0,K.jsx)(w.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:h?`past`:``,onValueChange:e=>g(e===`past`),children:(0,K.jsxs)(w.Item,{value:`past`,children:[(0,K.jsxs)(w.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,K.jsx)(U,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,K.jsx)(`span`,{children:b(`schedulesPanel.pastToggle`,{count:r.length})})]}),(0,K.jsx)(w.Content,{children:(0,K.jsx)(`div`,{className:`pt-1`,children:r.map(S)})})]})}):null;return(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,K.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(n,{className:`h-12 rounded-md`},t))}):s&&e.length===0?(0,K.jsx)(l,{tone:`error`,actions:(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:b(`schedulesPanel.retry`)}),children:b(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&r.length===0?(0,K.jsx)(yn,{icon:Ie,title:b(`schedulesPanel.emptyTitle`),description:b(`schedulesPanel.emptyDescription`),actions:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(o,{variant:`primary`,size:`regular`,onClick:p,children:b(`schedulesPanel.newConversation`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:b(`schedulesPanel.emptyActionsSeparator`)}),(0,K.jsx)(o,{variant:`outlined`,size:`regular`,onClick:m,children:b(`schedulesPanel.createSchedule`)})]})}):(0,K.jsxs)(`div`,{children:[_&&v?(0,K.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:_,className:`max-w-full truncate`,children:b(`schedulesPanel.useProfileForAll`,{profile:v})})}):null,e.map(x),t.length>0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:b(`schedulesPanel.oneTimeHeading`)}),t.map(S)]}):null,C]}),y?(0,K.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:y}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:s}=V(`settings`),c=Ee(),[l,u]=(0,W.useState)(null),d=n??s(`recentRunsCard.emptyDefault`),f=r&&a?(0,K.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:s(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,K.jsx)(rn,{title:s(`recentRunsCard.title`),children:t?(0,K.jsx)(N,{placement:`section`}):!e||e.length===0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(ge,{placement:`section`,children:d}),f]}):(0,K.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Pt(e),r=Y(e.output),i=Y(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,K.jsxs)(`div`,{children:[(0,K.jsx)(v,{label:(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,K.jsx)(Kt,{status:e.status}),(0,K.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:Y(e.title)?e.title:q(e.startedAt)}),(0,K.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[Y(e.title)?`${q(e.startedAt)} · `:``,a?(0,K.jsx)(K.Fragment,{children:r?e.output:e.status===`missed`?s(`recentRunsCard.missed`):s(`recentRunsCard.skipped`)}):(0,K.jsxs)(K.Fragment,{children:[Ot(e.durationMs),` ·`,` `,J(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,K.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||o?(0,K.jsx)(U,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>pe(c,n):o?()=>u(d?null:e.id):void 0,"aria-label":s(`recentRunsCard.runAtAria`,{time:q(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,K.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.output`)}),(0,K.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,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:s(`recentRunsCard.error`)}),(0,K.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,K.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,K.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:i,onClose:a}){let{t:s}=V(`schedules`),c=Ee(),{heartbeatConfig:u,consolidationConfig:d,retrospectiveConfig:f}=n,p=u?.effectiveTimezone||u?.timezone||null,m,h,g,_,v,y,b;e===`heartbeat`?(m=s(`systemTaskDetail.nameHeartbeat`),h=u?Rt(u,p):``,g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(m=s(`systemTaskDetail.nameConsolidation`),h=d?zt(d):``,g=d?.enabled??!1,_=d?.nextRunAt??null,v=d?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(m=s(`systemTaskDetail.nameRetrospective`),h=Bt(),g=f?.enabled??!1,_=f?.nextRunAt??null,v=f?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!g,w=y||C,T=s(x?g?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:g?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&f?.available===!0,D=s(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&g&&i,k={path:{assistant_id:t},query:{limit:25}},j=e===`heartbeat`?ie(k):e===`consolidation`?ye(k):A(k),{data:M,isLoading:ee,fetchNextPage:N,hasNextPage:P,isFetchingNextPage:te}=we({queryKey:j.queryKey,queryFn:j.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),F=Mt(M?.pages.map(t=>({runs:t.runs.filter(e=>!Ft(e)).map(t=>X(t,e))}))),I=F?.find(e=>It(e)&&e.status!==`running`),re=v??I?.finishedAt??I?.startedAt??null;return(0,K.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,K.jsx)(r,{title:m,closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:a}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(rn,{title:s(`scheduleDetail.details`),children:(0,K.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,K.jsx)($,{label:s(`scheduleDetail.status`),value:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,K.jsx)(ne,{size:`sm`,checked:g,onChange:n.toggleHeartbeat,"aria-label":s(`scheduleDetail.toggleAria`,{name:m})})]})}),(0,K.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:s(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),h?(0,K.jsx)($,{label:s(`systemTaskDetail.repeats`),value:(0,K.jsx)(`span`,{className:`truncate`,children:h})}):null,e===`heartbeat`&&p?(0,K.jsx)($,{label:s(`scheduleDetail.timezone`),value:(0,K.jsx)(`span`,{className:`truncate`,children:p})}):null,S?null:(0,K.jsx)($,{label:s(`scheduleDetail.nextRun`),value:(0,K.jsx)(`span`,{className:`truncate`,children:q(_)})}),(0,K.jsx)($,{label:s(`scheduleDetail.lastRun`),value:(0,K.jsx)(`span`,{className:`truncate`,children:q(re)})})]})}),C?(0,K.jsx)(l,{tone:`warning`,className:`mt-4`,actions:i?(0,K.jsx)(o,{variant:`outlined`,size:`compact`,onClick:()=>c(`${R.settings.developer}?tab=memory`),children:s(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,K.jsx)(wn,{runs:F,isLoading:ee,hasMore:P,isLoadingMore:te,onLoadMore:()=>void N()})]}),O||b?(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,K.jsx)(o,{variant:`outlined`,leftIcon:(0,K.jsx)(Pe,{className:`h-3.5 w-3.5`}),onClick:()=>c(`${R.settings.developer}?tab=memory`),children:s(`systemTaskDetail.memorySettings`)}):null,b?(0,K.jsx)(o,{variant:`primary`,loading:y,leftIcon:(0,K.jsx)(Be,{className:`h-3.5 w-3.5`}),onClick:b,disabled:w,children:s(y?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=f(),[n]=(0,W.useState)(()=>Date.now()),{data:r,isLoading:i,isError:a,refetch:o}=B(se(e)),{data:c,isLoading:l,isError:u}=B(Ut(e,t,!0)),{recurring:d,oneTime:p,pastOneTime:m}=(0,W.useMemo)(()=>{let e=Ht(r??[],n);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[n,r]),h=(0,W.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:d,oneTime:p,pastOneTime:m,usageForSchedule:(0,W.useCallback)(e=>l?{status:`loading`}:u?{status:`error`}:{status:`ready`,summary:h.get(e)??Wt(e)},[u,l,h]),handleToggle:(0,W.useCallback)(async(t,n)=>{if(e)try{await Ue(e,t,n),o()}catch(e){s(e,{context:`schedule_toggle`}),z.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,o]),isLoading:i,isError:a,refetch:(0,W.useCallback)(()=>{o()},[o])}}function On(){let e=Ee(),{scheduleId:t}=De(),n=le(),r=E(),i=f(),a=Dn(n),o=nn(n,i),s=ce(`memoryOptOut`),c=S.use.settingsDeveloperNav(),l=s&&c===!0,[u,p]=(0,W.useState)(!1),m=t??null,[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(!1),y=(0,W.useCallback)(t=>{e(t?R.schedules.detail(t):R.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,W.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,W.useEffect)(()=>{h&&!o.isLoading&&!x&&g(null)},[h,x,o.isLoading]);let C=(0,W.useCallback)(e=>{g(null),y(e)},[y]),w=(0,W.useCallback)(e=>{m&&y(null),g(e)},[y,m]),T=(0,W.useCallback)(()=>{d(e)},[e]),D=Tt(n,(0,W.useMemo)(()=>[...a.recurring,...a.oneTime,...a.pastOneTime],[a.recurring,a.oneTime,a.pastOneTime]),a.refetch),O=(b?(0,K.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,K.jsx)(En,{kind:h,assistantId:n,systemTasks:o,canOpenMemorySettings:l,onClose:()=>g(null)}):null),k=(0,K.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:C,selectedScheduleId:m,onStartNewChat:T,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:D.canRebase?D.requestRebase:void 0,defaultProfileLabel:D.defaultProfileLabel??void 0,systemTasksSlot:(0,K.jsx)(Yt,{heartbeatConfig:o.heartbeatConfig,consolidationConfig:o.consolidationConfig,retrospectiveConfig:o.retrospectiveConfig,heartbeatUsage:o.heartbeatUsage,consolidationUsage:o.consolidationUsage,retrospectiveUsage:o.retrospectiveUsage,isLoading:o.isLoading,hasError:o.hasError,onRetry:o.refetchAll,onSelectHeartbeat:()=>w(`heartbeat`),onSelectConsolidation:()=>w(`consolidation`),onSelectRetrospective:()=>w(`retrospective`)})}),A=(0,K.jsx)(Et,{...D.dialogProps});return O&&r?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(We,{children:O}),A]}):(0,K.jsxs)(K.Fragment,{children:[O&&!r?(0,K.jsx)(Qe,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:k,detail:O}):k,(0,K.jsx)(ht,{isOpen:u,assistantId:n,onClose:()=>p(!1),onCreated:()=>{p(!1),a.refetch()}}),A]})}export{On as SchedulesPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{mS as t}from"./app-g1TvV-Dl.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.general,{replace:!0})},[e]),null}export{a as SecurityRedirectPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{mS as t}from"./app-XG_RF2yi.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.general,{replace:!0})},[e]),null}export{a as SecurityRedirectPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,BC as n,BS as r,Bo as i,Cc as a,Ci as o,DC as s,Ei as c,FC as l,Gc as u,Gt as d,Jb as f,Jn as p,Mx as m,NC as h,Og as g,Ro as _,Rx as ee,Sc as v,Sx as y,Tx as te,US as b,VS as x,Wx as S,Xx as C,Yb as w,Zb as ne,__ as T,_h as re,bg as E,cC as D,eS as ie,gC as O,gx as ae,hS as oe,hc as se,hf as ce,kc as le,mS as k,mc as ue,mx as de,nS as fe,oC as A,oS as j,qx as pe,r_ as me,rf as M,sS as he,s_ as ge,xx as N,zS as P,zo as _e}from"./app-g1TvV-Dl.js";import{E as F,nr as ve}from"./vendor-DwMhK7fD.js";import{_ as ye,f as be,t as xe,x as I}from"./react-B9IgSVeK.js";import{Cr as Se,Ji as Ce,Lt as we,_i as Te,sr as L,tr as R}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as Ee}from"./radio-card-nav-D8mG9zPL.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-BWwS6drJ.js";import{t as je}from"./format-countdown-DY9yAH8I.js";var H=e(I(),1),Me=k.remotePair.slice(`${k.assistant}/`.length);async function Ne(e,t){let n=t?j(e.url,t):null,r=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${k.assistant}`);if(!E()){i();return}(r===null?await ke(e.url):await V(e.url,r))||i()}function Pe(e){return De(N()?T():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),l=c();if(e){if(!l)return r;if(le(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(p,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let t;try{t=r(e)}catch{return{ok:!1,reason:`unparseable`}}if(P(t))return{ok:!1,reason:`service-website`};let n=De(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:x(e).deviceCode}}function Le({open:e,onClose:t,onAdded:r}){let{t:i}=F(`onboarding`),[a,o]=(0,H.useState)(``),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(o(``),c(!1),u(null))},[e]);let d=()=>{s||t()},f=async()=>{if(!a.trim()||s)return;let e=Ie(a);if(!e.ok){u(he(e.reason,a));return}c(!0),u(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){r(t.origin,e.deviceCode);return}u(i(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),u(i(`addRemoteOriginDialog.addFailed`))}c(!1)};return(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||d()},children:(0,U.jsxs)(D.Content,{size:`md`,children:[(0,U.jsxs)(D.Header,{icon:Se,children:[(0,U.jsx)(D.Title,{children:i(`addRemoteOriginDialog.title`)}),(0,U.jsx)(D.Description,{children:i(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(D.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:i(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(O,{id:`add-remote-origin-url`,type:`url`,value:a,onChange:e=>o(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),l&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l})]})}),(0,U.jsxs)(D.Footer,{children:[(0,U.jsx)(n,{variant:`ghost`,onClick:d,disabled:s,children:i(`actions.cancel`)}),(0,U.jsx)(n,{variant:`primary`,onClick:()=>void f(),disabled:!a.trim()||s,children:i(s?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:r,guidanceKind:i,onClose:a,onImported:o}){let{t:c}=F(`onboarding`),[l,u]=(0,H.useState)(``),[d,f]=(0,H.useState)(``),[p,m]=(0,H.useState)(!1),[h,g]=(0,H.useState)(null),[_,v]=(0,H.useState)(null),[b,x]=(0,H.useState)(0),[S,C]=(0,H.useState)(!1),[w,ne]=(0,H.useState)(null),T=(0,H.useRef)(null),re=(0,H.useRef)({abandoned:!1}),E=()=>{let e=T.current;T.current=null,e&&t(e)};(0,H.useEffect)(()=>{if(!e)return;u(r??``),f(``),m(!1),g(null),v(null),C(!1),ne(null);let t={abandoned:!1};return re.current=t,()=>{t.abandoned=!0,E()}},[e,r]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>x(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let ie=async()=>{let e=l.trim();if(!e||p)return;m(!0),g(null);let n=d.trim()||void 0,r=re.current;try{let i=await ee(e);if(r.abandoned){i.ok&&t(i.handle);return}if(!i.ok){g(i.rejection?{kind:`rejected-address`,rejection:i.rejection,address:e}:{kind:`message`,text:i.error}),m(!1);return}T.current=i.handle,i.userCode&&(v({userCode:i.userCode,expiresAt:i.expiresAt}),x(Date.parse(i.expiresAt)-Date.now()));let a=i.userCode!==null,s=i.expiresAt,l=i.intervalSeconds,u=0;for(;;){let e=await te(i.handle,n);if(r.abandoned)return;if(!e.ok){let t=a&&y(e);if(t&&!Re(s)){if(u+=1,u===1&&C(!0),await W(Math.min(l*u,G)*1e3),r.abandoned)return;continue}E(),v(null),C(!1),g({kind:`message`,text:t?c(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,C(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),ne(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==s&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),x(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),r.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),E(),v(null),C(!1),g({kind:`message`,text:c(`connectAssistantDialog.submitError`)})}m(!1)};return w==null?(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||a()},children:(0,U.jsxs)(D.Content,{size:`md`,children:[(0,U.jsxs)(D.Header,{icon:R,children:[(0,U.jsx)(D.Title,{children:c(`connectAssistantDialog.title`)}),(0,U.jsx)(D.Description,{children:c(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(D.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[i&&(0,U.jsx)(s,{tone:`info`,children:c(i===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:S?`text-[color:var(--system-mid-strong)]`:void 0,children:c(S?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:c(`connectAssistantDialog.expiresIn`,{time:je(b)})})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:c(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(O,{id:`connect-assistant-address`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:c(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:c(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(O,{id:`connect-assistant-name`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),h&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:h.kind===`rejected-address`?he(h.rejection,h.address):h.text})]})}),(0,U.jsxs)(D.Footer,{children:[(0,U.jsx)(n,{variant:`ghost`,onClick:a,children:c(`actions.cancel`)}),!_&&(0,U.jsx)(n,{variant:`primary`,onClick:()=>void ie(),disabled:!l.trim()||p,children:c(p?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||a()},children:(0,U.jsxs)(D.Content,{size:`sm`,children:[(0,U.jsx)(D.Header,{icon:R,children:(0,U.jsx)(D.Title,{children:c(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(D.Body,{children:(0,U.jsx)(s,{tone:`warning`,children:c(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(D.Footer,{children:(0,U.jsx)(n,{variant:`primary`,onClick:()=>o(w),children:c(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:r,errorMessage:i,onCancel:a,onRepair:o,onRetire:s}){let{t:c}=F(`onboarding`),[l,u]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&u(`menu`)},[e]);let d=i?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:i}):null;return l===`confirm-repair`?(0,U.jsx)(A,{open:e,title:c(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[c(`connectRecoveryDialog.repairBody`),d]}),confirmLabel:c(`connectRecoveryDialog.repairConfirm`),isPending:r,onConfirm:o,onCancel:()=>u(`menu`)}):l===`confirm-retire`?(0,U.jsx)(_,{open:e,isPending:r,extraMessage:d,onConfirm:s,onCancel:()=>u(`menu`)}):(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{!e&&!r&&a()},children:(0,U.jsxs)(D.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),r||a()},children:[(0,U.jsx)(D.Header,{children:(0,U.jsx)(D.Title,{children:c(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(D.Body,{children:[(0,U.jsx)(D.Description,{children:c(`connectRecoveryDialog.authFailedBody`,{name:t})}),d,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(n,{variant:`primary`,fullWidth:!0,disabled:r,onClick:()=>u(`confirm-repair`),children:c(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(n,{variant:`dangerOutline`,fullWidth:!0,disabled:r,onClick:()=>u(`confirm-retire`),children:c(`connectRecoveryDialog.retire`)}),(0,U.jsx)(n,{variant:`outlined`,fullWidth:!0,disabled:r,onClick:a,children:c(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function K(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function q(e,t){let n=e.isPaired?b(e.runtimeUrl):e.isLocal?ae()?`On this computer`:K(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${d(e.hatchedAt)}`:n}function He(e){return new URL(e.url).hostname}function Ue(e){return e.name??He(e)}function We(e){return`origin:${e.url}`}var J=`origin:vellum-cloud`;function Ge(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function Y(){let{t:e}=F(`onboarding`),t=be(),r=ve(),[a,s]=ye(),c=a.get(`fromLogin`)===`1`,l=a.get(`noAutoSkip`)===`1`,d=oe(),p=ae(),h=re(),_=w.use.assistants(),ee=ge.use.currentOrganizationId(),y=B.use.origins(),te=B.use.hydrated(),b=g(),{loading:x,error:T,login:E,cancel:D}=u(),[O,le]=(0,H.useState)(null),A=O===null?null:{url:O,name:`Vellum Cloud`},j=A!==null,he=e=>e.isPaired||e.isLocal&&p||h,N=_.filter(f),P=N.filter(he),xe=P.length>0||y.length>0||A!==null,I=S(),Ce=!h&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[K,q]=(0,H.useState)(!1),[He,Y]=(0,H.useState)(null),[X,Z]=(0,H.useState)(null),[Xe,Ze]=(0,H.useState)(!1),[Qe,Q]=(0,H.useState)(null),[$e,et]=(0,H.useState)(!1),[$,tt]=(0,H.useState)(null),[nt,rt]=(0,H.useState)(!1),[it,at]=(0,H.useState)(null),ot=M.use.open(),st=M.use.initialAddress(),ct=M.use.guidanceKind(),lt=M.use.deepLinkDrainSettled(),ut=(0,H.useRef)(!1);(0,H.useEffect)(()=>{ce()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!b)return;let e=!1;return Oe().then(t=>{e||le(t)}),()=>{e=!0}},[b]);let dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=a.get(`register`);if(e===null)return;let t=()=>s(Ge,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:a.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[a,s]),(0,H.useEffect)(()=>{if(L===J&&j||L!=null&&y.some(e=>We(e)===L))return;if(P.length===0){let e=y[0],t=e?We(e):j?J:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=me(ee);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,ee,y,j]);let ft=async e=>{je(!0),W(null);try{await se(e),t(k.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&S()&&(pe(t)||fe(t)||t instanceof ne)&&de(e.id)?Re(e):e.isPaired&&pe(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),q(!1),Y(null),Fe(!1)},mt=async()=>{if(!(!G||K)){q(!0),Y(null);try{let e=await C(G.id,{repairGuardian:!0});if(e.ok){ie(),pt(),ft(G);return}Y(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),Y(`Repair failed. Please try again.`)}q(!1)}},ht=async()=>{if(!(!G||K)){q(!0),Y(null);try{let e=await i(r,G.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}Y(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),Y(`Failed to retire assistant. Please try again.`)}q(!1)}},gt=()=>{Xe||(Z(null),Q(null))},_t=async()=>{if(!(!X||Xe)){if(Ze(!0),Q(null),X.isPaired){let e=await ue(r,X.id);e.ok?(ut.current=!0,Z(null)):Q(e.error),Ze(!1);return}try{let e=await m(X.id);if(e.ok){let e=w.getState();e.activeAssistantId===X.id&&e.setActiveAssistantId(null),v(r,X.id),ut.current=!0,Z(null)}else Q(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Q(`Failed to remove. Please try again.`)}Ze(!1)}},vt=()=>{nt||(tt(null),at(null))},yt=async()=>{!$||nt||(rt(!0),at(null),await B.getState().removeOrigin($.url),B.getState().origins.some(e=>e.url===$.url)?at(`Failed to remove. Please try again.`):(ut.current=!0,tt(null)),rt(!1))},bt=e=>{M.getState().closeConnectDialog(),ft(w.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{et(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{c||l||ut.current||p&&te&&(y.length>0||d&&!lt||V||Me||ot||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),ft(P[0])))},[N.length,P.length,lt,p,y.length,te]);let St=()=>{if(L===J){ke(null).then(e=>{!e&&O!==null&&window.location.assign(O)});return}let e=y.find(e=>We(e)===L);if(e){Pe(e)?t(k.assistant,{replace:!0}):Ne(e);return}let n=N.find(e=>e.id===L);n&&ft(n)},Ct=()=>{t(p?k.welcome:k.assistant)},wt=T??Ie;return Me&&!wt&&!G?(0,U.jsx)(Ke,{}):(0,U.jsxs)(o,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${d?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,U.jsxs)(`div`,{className:`flex w-full flex-col items-center ${d?``:`flex-1 justify-center`}`,children:[(0,U.jsx)(`h1`,{className:`text-center text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`selectAssistantScreen.title`)}),wt&&(0,U.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,U.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ee,className:`flex w-full flex-col ${d?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[N.map(t=>{let n=he(t);return(0,U.jsx)(Je,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(x?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?x?D:()=>void E():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>Z(t):void 0},t.id)}),y.map((e,t)=>{let n=We(e),r=Pe(e);return(0,U.jsx)(Ye,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&b?void 0:()=>tt(e)},e.url)}),A&&(0,U.jsx)(Ye,{origin:A,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===J,current:!1,tabStop:L==null?P.length===0&&y.length===0:L===J,onSelect:()=>z(J)}),p&&(0,U.jsx)(qe,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||x,onClick:()=>void t(`${k.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(qe,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||x,onClick:()=>M.getState().openConnectDialog()}),!I&&(0,U.jsx)(qe,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||x,onClick:()=>et(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(n,{variant:`primary`,size:d?`regular`:`large`,fullWidth:!0,onClick:St,disabled:!L||V,children:e(V?`actions.connecting`:`actions.continue`)})}),(0,U.jsx)(`div`,{className:xe?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,U.jsx)(n,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||x,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:$e,onClose:()=>et(!1),onAdded:xt}),(0,U.jsx)(ze,{open:ot,initialAddress:st??void 0,guidanceKind:ct??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:K,errorMessage:He??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(_e,{open:X!=null,kind:X?.isPaired?`paired`:`platform`,assistantName:X?Ve(X):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Qe??void 0,isPending:Xe,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(_e,{open:$!=null,kind:`origin`,assistantName:$?Ue($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:it??void 0,isPending:nt,onConfirm:()=>void yt(),onCancel:vt})]})}function Ke(){let{t:e}=F(`onboarding`);return(0,U.jsx)(o,{avatarWave:`beside`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function qe({icon:e,label:t,disabled:n,onClick:r}){let i=oe();return(0,U.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function X({label:e,onRemove:t}){let{t:r}=F(`onboarding`);return(0,U.jsxs)(l.Root,{children:[(0,U.jsx)(l.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":r(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(l.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(l.Item,{onSelect:t,className:h.anchored,children:r(`selectAssistantScreen.removeFromDevice`)})})]})}function Z({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=oe();return(0,U.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,i?``:r?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,U.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Je({assistant:e,selected:t,locked:r,tabStop:i,onSelect:o,loginLabel:s,loginDisabled:c,onLogin:l,onRemove:u}){let{t:d}=F(`onboarding`),f=Ve(e),{traits:p,imageUrl:m,onImageError:h}=a(e);return(0,U.jsx)(Z,{icon:(0,U.jsx)(Fe,{traits:p,imageUrl:m,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:h}),title:f,subtitle:q(e,d),selected:t,locked:r,tabStop:i,onSelect:o,action:r&&l?(0,U.jsx)(n,{variant:`primary`,size:`regular`,onClick:l,disabled:c,children:s}):void 0,removeMenu:u&&(0,U.jsx)(X,{label:f,onRemove:u})})}function Ye({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=Ue(e);return(0,U.jsx)(Z,{icon:t??(0,U.jsx)(Se,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:He(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,U.jsx)(X,{label:c,onRemove:o})})}export{Y as SelectAssistantScreen};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$b as t,BC as n,BS as r,Bo as i,Cc as a,Ci as o,DC as s,Ei as c,FC as l,Gc as u,Gt as d,Jb as f,Jn as p,Mx as m,NC as h,Og as g,Ro as _,Rx as ee,Sc as v,Sx as y,Tx as te,US as b,VS as x,Wx as S,Xx as C,Yb as w,Zb as ne,__ as T,_h as re,bg as E,cC as D,eS as ie,gC as O,gx as ae,hS as oe,hc as se,hf as ce,kc as le,mS as k,mc as ue,mx as de,nS as fe,oC as A,oS as j,qx as pe,r_ as me,rf as M,sS as he,s_ as ge,xx as N,zS as P,zo as _e}from"./app-XG_RF2yi.js";import{E as F,nr as ve}from"./vendor-DwMhK7fD.js";import{_ as ye,f as be,t as xe,x as I}from"./react-B9IgSVeK.js";import{Cr as Se,Ji as Ce,Lt as we,_i as Te,sr as L,tr as R}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as Ee}from"./radio-card-nav-D8mG9zPL.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-ByTPcaPx.js";import{t as je}from"./format-countdown-DY9yAH8I.js";var H=e(I(),1),Me=k.remotePair.slice(`${k.assistant}/`.length);async function Ne(e,t){let n=t?j(e.url,t):null,r=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${k.assistant}`);if(!E()){i();return}(r===null?await ke(e.url):await V(e.url,r))||i()}function Pe(e){return De(N()?T():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),l=c();if(e){if(!l)return r;if(le(l,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(p,{components:l,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let t;try{t=r(e)}catch{return{ok:!1,reason:`unparseable`}}if(P(t))return{ok:!1,reason:`service-website`};let n=De(t);return n===null?{ok:!1,reason:`non-https`}:{ok:!0,url:n,deviceCode:x(e).deviceCode}}function Le({open:e,onClose:t,onAdded:r}){let{t:i}=F(`onboarding`),[a,o]=(0,H.useState)(``),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(o(``),c(!1),u(null))},[e]);let d=()=>{s||t()},f=async()=>{if(!a.trim()||s)return;let e=Ie(a);if(!e.ok){u(he(e.reason,a));return}c(!0),u(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){r(t.origin,e.deviceCode);return}u(i(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),u(i(`addRemoteOriginDialog.addFailed`))}c(!1)};return(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||d()},children:(0,U.jsxs)(D.Content,{size:`md`,children:[(0,U.jsxs)(D.Header,{icon:Se,children:[(0,U.jsx)(D.Title,{children:i(`addRemoteOriginDialog.title`)}),(0,U.jsx)(D.Description,{children:i(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(D.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:i(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(O,{id:`add-remote-origin-url`,type:`url`,value:a,onChange:e=>o(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),l&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l})]})}),(0,U.jsxs)(D.Footer,{children:[(0,U.jsx)(n,{variant:`ghost`,onClick:d,disabled:s,children:i(`actions.cancel`)}),(0,U.jsx)(n,{variant:`primary`,onClick:()=>void f(),disabled:!a.trim()||s,children:i(s?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:r,guidanceKind:i,onClose:a,onImported:o}){let{t:c}=F(`onboarding`),[l,u]=(0,H.useState)(``),[d,f]=(0,H.useState)(``),[p,m]=(0,H.useState)(!1),[h,g]=(0,H.useState)(null),[_,v]=(0,H.useState)(null),[b,x]=(0,H.useState)(0),[S,C]=(0,H.useState)(!1),[w,ne]=(0,H.useState)(null),T=(0,H.useRef)(null),re=(0,H.useRef)({abandoned:!1}),E=()=>{let e=T.current;T.current=null,e&&t(e)};(0,H.useEffect)(()=>{if(!e)return;u(r??``),f(``),m(!1),g(null),v(null),C(!1),ne(null);let t={abandoned:!1};return re.current=t,()=>{t.abandoned=!0,E()}},[e,r]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>x(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let ie=async()=>{let e=l.trim();if(!e||p)return;m(!0),g(null);let n=d.trim()||void 0,r=re.current;try{let i=await ee(e);if(r.abandoned){i.ok&&t(i.handle);return}if(!i.ok){g(i.rejection?{kind:`rejected-address`,rejection:i.rejection,address:e}:{kind:`message`,text:i.error}),m(!1);return}T.current=i.handle,i.userCode&&(v({userCode:i.userCode,expiresAt:i.expiresAt}),x(Date.parse(i.expiresAt)-Date.now()));let a=i.userCode!==null,s=i.expiresAt,l=i.intervalSeconds,u=0;for(;;){let e=await te(i.handle,n);if(r.abandoned)return;if(!e.ok){let t=a&&y(e);if(t&&!Re(s)){if(u+=1,u===1&&C(!0),await W(Math.min(l*u,G)*1e3),r.abandoned)return;continue}E(),v(null),C(!1),g({kind:`message`,text:t?c(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,C(!1)),e.status===`imported`){if(T.current=null,e.accessOnly){v(null),ne(e.assistantId);break}o(e.assistantId);return}if(e.expiresAt!==s&&(v(t=>t&&{...t,expiresAt:e.expiresAt}),x(Date.parse(e.expiresAt)-Date.now())),s=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),r.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),E(),v(null),C(!1),g({kind:`message`,text:c(`connectAssistantDialog.submitError`)})}m(!1)};return w==null?(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||a()},children:(0,U.jsxs)(D.Content,{size:`md`,children:[(0,U.jsxs)(D.Header,{icon:R,children:[(0,U.jsx)(D.Title,{children:c(`connectAssistantDialog.title`)}),(0,U.jsx)(D.Description,{children:c(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(D.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[i&&(0,U.jsx)(s,{tone:`info`,children:c(i===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:S?`text-[color:var(--system-mid-strong)]`:void 0,children:c(S?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:c(`connectAssistantDialog.expiresIn`,{time:je(b)})})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-address`,children:c(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(O,{id:`connect-assistant-address`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:c(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:c(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(O,{id:`connect-assistant-name`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),h&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:h.kind===`rejected-address`?he(h.rejection,h.address):h.text})]})}),(0,U.jsxs)(D.Footer,{children:[(0,U.jsx)(n,{variant:`ghost`,onClick:a,children:c(`actions.cancel`)}),!_&&(0,U.jsx)(n,{variant:`primary`,onClick:()=>void ie(),disabled:!l.trim()||p,children:c(p?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{e||a()},children:(0,U.jsxs)(D.Content,{size:`sm`,children:[(0,U.jsx)(D.Header,{icon:R,children:(0,U.jsx)(D.Title,{children:c(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(D.Body,{children:(0,U.jsx)(s,{tone:`warning`,children:c(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(D.Footer,{children:(0,U.jsx)(n,{variant:`primary`,onClick:()=>o(w),children:c(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:r,errorMessage:i,onCancel:a,onRepair:o,onRetire:s}){let{t:c}=F(`onboarding`),[l,u]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&u(`menu`)},[e]);let d=i?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:i}):null;return l===`confirm-repair`?(0,U.jsx)(A,{open:e,title:c(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[c(`connectRecoveryDialog.repairBody`),d]}),confirmLabel:c(`connectRecoveryDialog.repairConfirm`),isPending:r,onConfirm:o,onCancel:()=>u(`menu`)}):l===`confirm-retire`?(0,U.jsx)(_,{open:e,isPending:r,extraMessage:d,onConfirm:s,onCancel:()=>u(`menu`)}):(0,U.jsx)(D.Root,{open:e,onOpenChange:e=>{!e&&!r&&a()},children:(0,U.jsxs)(D.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),r||a()},children:[(0,U.jsx)(D.Header,{children:(0,U.jsx)(D.Title,{children:c(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(D.Body,{children:[(0,U.jsx)(D.Description,{children:c(`connectRecoveryDialog.authFailedBody`,{name:t})}),d,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(n,{variant:`primary`,fullWidth:!0,disabled:r,onClick:()=>u(`confirm-repair`),children:c(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(n,{variant:`dangerOutline`,fullWidth:!0,disabled:r,onClick:()=>u(`confirm-retire`),children:c(`connectRecoveryDialog.retire`)}),(0,U.jsx)(n,{variant:`outlined`,fullWidth:!0,disabled:r,onClick:a,children:c(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function K(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function q(e,t){let n=e.isPaired?b(e.runtimeUrl):e.isLocal?ae()?`On this computer`:K(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${d(e.hatchedAt)}`:n}function He(e){return new URL(e.url).hostname}function Ue(e){return e.name??He(e)}function We(e){return`origin:${e.url}`}var J=`origin:vellum-cloud`;function Ge(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function Y(){let{t:e}=F(`onboarding`),t=be(),r=ve(),[a,s]=ye(),c=a.get(`fromLogin`)===`1`,l=a.get(`noAutoSkip`)===`1`,d=oe(),p=ae(),h=re(),_=w.use.assistants(),ee=ge.use.currentOrganizationId(),y=B.use.origins(),te=B.use.hydrated(),b=g(),{loading:x,error:T,login:E,cancel:D}=u(),[O,le]=(0,H.useState)(null),A=O===null?null:{url:O,name:`Vellum Cloud`},j=A!==null,he=e=>e.isPaired||e.isLocal&&p||h,N=_.filter(f),P=N.filter(he),xe=P.length>0||y.length>0||A!==null,I=S(),Ce=!h&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[K,q]=(0,H.useState)(!1),[He,Y]=(0,H.useState)(null),[X,Z]=(0,H.useState)(null),[Xe,Ze]=(0,H.useState)(!1),[Qe,Q]=(0,H.useState)(null),[$e,et]=(0,H.useState)(!1),[$,tt]=(0,H.useState)(null),[nt,rt]=(0,H.useState)(!1),[it,at]=(0,H.useState)(null),ot=M.use.open(),st=M.use.initialAddress(),ct=M.use.guidanceKind(),lt=M.use.deepLinkDrainSettled(),ut=(0,H.useRef)(!1);(0,H.useEffect)(()=>{ce()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!b)return;let e=!1;return Oe().then(t=>{e||le(t)}),()=>{e=!0}},[b]);let dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(dt.current)return;dt.current=!0;let e=a.get(`register`);if(e===null)return;let t=()=>s(Ge,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:a.get(`name`)??void 0}).then(e=>{e.ok?t():dt.current=!1}).catch(()=>{dt.current=!1})},[a,s]),(0,H.useEffect)(()=>{if(L===J&&j||L!=null&&y.some(e=>We(e)===L))return;if(P.length===0){let e=y[0],t=e?We(e):j?J:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=me(ee);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,ee,y,j]);let ft=async e=>{je(!0),W(null);try{await se(e),t(k.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&S()&&(pe(t)||fe(t)||t instanceof ne)&&de(e.id)?Re(e):e.isPaired&&pe(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),q(!1),Y(null),Fe(!1)},mt=async()=>{if(!(!G||K)){q(!0),Y(null);try{let e=await C(G.id,{repairGuardian:!0});if(e.ok){ie(),pt(),ft(G);return}Y(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),Y(`Repair failed. Please try again.`)}q(!1)}},ht=async()=>{if(!(!G||K)){q(!0),Y(null);try{let e=await i(r,G.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}Y(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),Y(`Failed to retire assistant. Please try again.`)}q(!1)}},gt=()=>{Xe||(Z(null),Q(null))},_t=async()=>{if(!(!X||Xe)){if(Ze(!0),Q(null),X.isPaired){let e=await ue(r,X.id);e.ok?(ut.current=!0,Z(null)):Q(e.error),Ze(!1);return}try{let e=await m(X.id);if(e.ok){let e=w.getState();e.activeAssistantId===X.id&&e.setActiveAssistantId(null),v(r,X.id),ut.current=!0,Z(null)}else Q(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Q(`Failed to remove. Please try again.`)}Ze(!1)}},vt=()=>{nt||(tt(null),at(null))},yt=async()=>{!$||nt||(rt(!0),at(null),await B.getState().removeOrigin($.url),B.getState().origins.some(e=>e.url===$.url)?at(`Failed to remove. Please try again.`):(ut.current=!0,tt(null)),rt(!1))},bt=e=>{M.getState().closeConnectDialog(),ft(w.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{et(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{c||l||ut.current||p&&te&&(y.length>0||d&&!lt||V||Me||ot||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),ft(P[0])))},[N.length,P.length,lt,p,y.length,te]);let St=()=>{if(L===J){ke(null).then(e=>{!e&&O!==null&&window.location.assign(O)});return}let e=y.find(e=>We(e)===L);if(e){Pe(e)?t(k.assistant,{replace:!0}):Ne(e);return}let n=N.find(e=>e.id===L);n&&ft(n)},Ct=()=>{t(p?k.welcome:k.assistant)},wt=T??Ie;return Me&&!wt&&!G?(0,U.jsx)(Ke,{}):(0,U.jsxs)(o,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${d?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6 md:min-h-full md:pb-6`} text-[var(--content-default)]`,children:(0,U.jsxs)(`div`,{className:`flex w-full flex-col items-center ${d?``:`flex-1 justify-center`}`,children:[(0,U.jsx)(`h1`,{className:`text-center text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`selectAssistantScreen.title`)}),wt&&(0,U.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:wt}),(0,U.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`selectAssistantScreen.listAriaLabel`),onKeyDown:Ee,className:`flex w-full flex-col ${d?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[N.map(t=>{let n=he(t);return(0,U.jsx)(Je,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(x?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?x?D:()=>void E():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>Z(t):void 0},t.id)}),y.map((e,t)=>{let n=We(e),r=Pe(e);return(0,U.jsx)(Ye,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&b?void 0:()=>tt(e)},e.url)}),A&&(0,U.jsx)(Ye,{origin:A,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===J,current:!1,tabStop:L==null?P.length===0&&y.length===0:L===J,onSelect:()=>z(J)}),p&&(0,U.jsx)(qe,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||x,onClick:()=>void t(`${k.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(qe,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||x,onClick:()=>M.getState().openConnectDialog()}),!I&&(0,U.jsx)(qe,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||x,onClick:()=>et(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(n,{variant:`primary`,size:d?`regular`:`large`,fullWidth:!0,onClick:St,disabled:!L||V,children:e(V?`actions.connecting`:`actions.continue`)})}),(0,U.jsx)(`div`,{className:xe?`mt-3`:`mt-8`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,U.jsx)(n,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||x,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:$e,onClose:()=>et(!1),onAdded:xt}),(0,U.jsx)(ze,{open:ot,initialAddress:st??void 0,guidanceKind:ct??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:K,errorMessage:He??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(_e,{open:X!=null,kind:X?.isPaired?`paired`:`platform`,assistantName:X?Ve(X):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:Qe??void 0,isPending:Xe,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(_e,{open:$!=null,kind:`origin`,assistantName:$?Ue($):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:it??void 0,isPending:nt,onConfirm:()=>void yt(),onCancel:vt})]})}function Ke(){let{t:e}=F(`onboarding`);return(0,U.jsx)(o,{avatarWave:`beside`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function qe({icon:e,label:t,disabled:n,onClick:r}){let i=oe();return(0,U.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function X({label:e,onRemove:t}){let{t:r}=F(`onboarding`);return(0,U.jsxs)(l.Root,{children:[(0,U.jsx)(l.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":r(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(l.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(l.Item,{onSelect:t,className:h.anchored,children:r(`selectAssistantScreen.removeFromDevice`)})})]})}function Z({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=oe();return(0,U.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,i?``:r?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,U.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Je({assistant:e,selected:t,locked:r,tabStop:i,onSelect:o,loginLabel:s,loginDisabled:c,onLogin:l,onRemove:u}){let{t:d}=F(`onboarding`),f=Ve(e),{traits:p,imageUrl:m,onImageError:h}=a(e);return(0,U.jsx)(Z,{icon:(0,U.jsx)(Fe,{traits:p,imageUrl:m,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:h}),title:f,subtitle:q(e,d),selected:t,locked:r,tabStop:i,onSelect:o,action:r&&l?(0,U.jsx)(n,{variant:`primary`,size:`regular`,onClick:l,disabled:c,children:s}):void 0,removeMenu:u&&(0,U.jsx)(X,{label:f,onRemove:u})})}function Ye({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=Ue(e);return(0,U.jsx)(Z,{icon:t??(0,U.jsx)(Se,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:He(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,U.jsx)(X,{label:c,onRemove:o})})}export{Y as SelectAssistantScreen};
@@ -1 +1 @@
1
- import{LS as e,WS as t,bg as n,db as r,n_ as i}from"./app-g1TvV-Dl.js";import{J as a,w as o}from"./vendor-DwMhK7fD.js";var s=`vellum:remembered-origins`;function c(e){let t=e.trim();if(t===``)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol!==`https:`||n.hostname===``?null:`${n.origin}${n.pathname.replace(/\/+$/,``)}`}function l(e,t){let n=[],r=new Set,i=t??new Date().toISOString();for(let t of e){if(typeof t!=`object`||!t)continue;let{url:e,name:a,addedAt:o}=t;if(typeof e!=`string`)continue;let s=c(e);s===null||r.has(s)||(r.add(s),n.push({url:s,...typeof a==`string`&&a!==``?{name:a}:{},addedAt:typeof o==`string`?o:i}))}return n}function u(e){let t=JSON.parse(e);return Array.isArray(t)?l(t):null}var d=r({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:t=>e(s,t)},p=f,m=null,h=0,g=Promise.resolve(),_=`vellum:remembered-origins:mutate`;async function v(e){let t=typeof navigator>`u`?void 0:navigator.locks;return t?await t.request(_,e):e()}function y(e){let t=()=>v(e),n=g.then(t,t);return g=n.catch(()=>void 0),n}var b=null,x=!1;function S(e){return y(async()=>{try{let t=await p.load();if(e!==h)return;T.getState().hydrated?T.setState({origins:t}):m===null?T.getState().hydrate():x=!0}catch{}})}function C(){b?.();let e=h;b=p.watch?.(()=>void S(e))??null}function w(e){p=e,h+=1,m=null,x=!1,T.setState({hydrated:!1}),C(),T.getState().hydrate()}var T=a()((e,t)=>({origins:[],hydrated:!1,hydrate:()=>(m??=(async()=>{let t=h;await Promise.resolve();try{let n=await p.load();t===h&&(e({origins:n,hydrated:!0}),x&&(x=!1,S(t)))}catch{t===h&&(m=null)}})(),m),addOrigin:async({url:n,name:r})=>{let i=c(n);return i===null?{ok:!1}:y(async()=>{if(await t().hydrate(),!t().hydrated)return{ok:!1};let n=p,a=h,o;try{o=await n.load()}catch{return{ok:!1}}if(a!==h)return{ok:!1};let s=r?.trim(),c=o.find(e=>e.url===i),l=c??{url:i,addedAt:new Date().toISOString()},u=s?{...l,name:s}:l,d=c?o.map(e=>e.url===i?u:e):[...o,u];try{await n.save(d)}catch{return{ok:!1}}return a===h?(e({origins:d}),{ok:!0,origin:u}):{ok:!1}})},removeOrigin:async n=>{let r=c(n);r!==null&&await y(async()=>{if(await t().hydrate(),!t().hydrated)return;let n=p,i=h,a;try{a=await n.load()}catch{return}if(i!==h)return;let o=a.filter(e=>e.url!==r);if(o.length!==a.length)try{await n.save(o)}catch{return}i===h&&e({origins:o})})}}));C();var E=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=`vellum:remembered-origins:native-migrated`;function j(){try{return window.localStorage.getItem(A)===`true`}catch{return!0}}function M(){try{window.localStorage.setItem(A,`true`)}catch{}}async function N(e){if(j())return e;let t=[];try{t=await f.load()}catch{t=[]}let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e.url)),i=[];for(let t of r){try{await D.add({url:t.url,...t.name?{name:t.name}:{}})}catch(t){return console.debug(`[self-hosted-servers] migration add failed:`,t),[...e,...i]}i.push(t)}return M(),[...e,...i]}function P(){return{load:async()=>{let e=await k();return e===null?f.load():N(l(e.servers,O))},save:async e=>{let t=await k();if(t===null){await f.save(e);return}let n=new Map(l(t.servers,O).map(e=>[e.url,e.name])),r=new Set(e.map(e=>e.url));for(let e of n.keys())r.has(e)||await D.remove({url:e});for(let t of e)(!n.has(t.url)||t.name&&t.name!==n.get(t.url))&&await D.add({url:t.url,...t.name?{name:t.name}:{}})},watch:f.watch}}var F=!1;function I(){F||!n()||(F=!0,w(P()))}async function L(e,t){if(!n())return!1;await i();try{return await t(),!0}catch(t){return console.debug(`[self-hosted-servers] ${e} unavailable:`,t),!1}}async function R(e){return L(`switchTo`,()=>D.switchTo(e===null?{}:{url:e}))}async function z(e,t){return L(`switchToPath`,()=>D.switchToPath({...e===null?{}:{url:e},path:t}))}async function B(){if(!n())return null;let e=await k();return e===null||!e.activeUrl?null:e.bakedUrl?c(e.bakedUrl):null}export{c as a,B as i,R as n,E as o,z as r,I as t};
1
+ import{LS as e,WS as t,bg as n,db as r,n_ as i}from"./app-XG_RF2yi.js";import{J as a,w as o}from"./vendor-DwMhK7fD.js";var s=`vellum:remembered-origins`;function c(e){let t=e.trim();if(t===``)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol!==`https:`||n.hostname===``?null:`${n.origin}${n.pathname.replace(/\/+$/,``)}`}function l(e,t){let n=[],r=new Set,i=t??new Date().toISOString();for(let t of e){if(typeof t!=`object`||!t)continue;let{url:e,name:a,addedAt:o}=t;if(typeof e!=`string`)continue;let s=c(e);s===null||r.has(s)||(r.add(s),n.push({url:s,...typeof a==`string`&&a!==``?{name:a}:{},addedAt:typeof o==`string`?o:i}))}return n}function u(e){let t=JSON.parse(e);return Array.isArray(t)?l(t):null}var d=r({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:t=>e(s,t)},p=f,m=null,h=0,g=Promise.resolve(),_=`vellum:remembered-origins:mutate`;async function v(e){let t=typeof navigator>`u`?void 0:navigator.locks;return t?await t.request(_,e):e()}function y(e){let t=()=>v(e),n=g.then(t,t);return g=n.catch(()=>void 0),n}var b=null,x=!1;function S(e){return y(async()=>{try{let t=await p.load();if(e!==h)return;T.getState().hydrated?T.setState({origins:t}):m===null?T.getState().hydrate():x=!0}catch{}})}function C(){b?.();let e=h;b=p.watch?.(()=>void S(e))??null}function w(e){p=e,h+=1,m=null,x=!1,T.setState({hydrated:!1}),C(),T.getState().hydrate()}var T=a()((e,t)=>({origins:[],hydrated:!1,hydrate:()=>(m??=(async()=>{let t=h;await Promise.resolve();try{let n=await p.load();t===h&&(e({origins:n,hydrated:!0}),x&&(x=!1,S(t)))}catch{t===h&&(m=null)}})(),m),addOrigin:async({url:n,name:r})=>{let i=c(n);return i===null?{ok:!1}:y(async()=>{if(await t().hydrate(),!t().hydrated)return{ok:!1};let n=p,a=h,o;try{o=await n.load()}catch{return{ok:!1}}if(a!==h)return{ok:!1};let s=r?.trim(),c=o.find(e=>e.url===i),l=c??{url:i,addedAt:new Date().toISOString()},u=s?{...l,name:s}:l,d=c?o.map(e=>e.url===i?u:e):[...o,u];try{await n.save(d)}catch{return{ok:!1}}return a===h?(e({origins:d}),{ok:!0,origin:u}):{ok:!1}})},removeOrigin:async n=>{let r=c(n);r!==null&&await y(async()=>{if(await t().hydrate(),!t().hydrated)return;let n=p,i=h,a;try{a=await n.load()}catch{return}if(i!==h)return;let o=a.filter(e=>e.url!==r);if(o.length!==a.length)try{await n.save(o)}catch{return}i===h&&e({origins:o})})}}));C();var E=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=`vellum:remembered-origins:native-migrated`;function j(){try{return window.localStorage.getItem(A)===`true`}catch{return!0}}function M(){try{window.localStorage.setItem(A,`true`)}catch{}}async function N(e){if(j())return e;let t=[];try{t=await f.load()}catch{t=[]}let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e.url)),i=[];for(let t of r){try{await D.add({url:t.url,...t.name?{name:t.name}:{}})}catch(t){return console.debug(`[self-hosted-servers] migration add failed:`,t),[...e,...i]}i.push(t)}return M(),[...e,...i]}function P(){return{load:async()=>{let e=await k();return e===null?f.load():N(l(e.servers,O))},save:async e=>{let t=await k();if(t===null){await f.save(e);return}let n=new Map(l(t.servers,O).map(e=>[e.url,e.name])),r=new Set(e.map(e=>e.url));for(let e of n.keys())r.has(e)||await D.remove({url:e});for(let t of e)(!n.has(t.url)||t.name&&t.name!==n.get(t.url))&&await D.add({url:t.url,...t.name?{name:t.name}:{}})},watch:f.watch}}var F=!1;function I(){F||!n()||(F=!0,w(P()))}async function L(e,t){if(!n())return!1;await i();try{return await t(),!0}catch(t){return console.debug(`[self-hosted-servers] ${e} unavailable:`,t),!1}}async function R(e){return L(`switchTo`,()=>D.switchTo(e===null?{}:{url:e}))}async function z(e,t){return L(`switchToPath`,()=>D.switchToPath({...e===null?{}:{url:e},path:t}))}async function B(){if(!n())return null;let e=await k();return e===null||!e.activeUrl?null:e.bakedUrl?c(e.bakedUrl):null}export{c as a,B as i,R as n,E as o,z as r,I as t};
@@ -1 +1 @@
1
- import{BC as e,My as t}from"./app-g1TvV-Dl.js";import{E as n}from"./vendor-DwMhK7fD.js";import{t as r}from"./react-B9IgSVeK.js";import{Zr as i,fr as a}from"./icons-C0wyat6T.js";import{t as o}from"./detail-card-uV-Fvv0m.js";var s=r();function c({id:e,title:t,subtitle:n,children:r}){return(0,s.jsx)(o,{id:e,title:t,subtitle:n,children:(0,s.jsx)(`div`,{className:`mt-4`,children:r})})}function l({onClick:t,disabled:r}){let{t:i}=n();return(0,s.jsx)(e,{onClick:t,disabled:r,children:i(`serviceFormControls.save`)})}function u({onClick:t,filled:r=!1}){let{t:i}=n();return(0,s.jsx)(e,{variant:r?`danger`:`dangerGhost`,onClick:t,children:i(`serviceFormControls.reset`)})}function d({guide:e}){return(0,s.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,s.jsx)(a,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,s.jsx)(`span`,{children:e.description}),(0,s.jsxs)(t,{href:e.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e.linkLabel,(0,s.jsx)(i,{className:`h-3 w-3`})]})]})]})}export{c as i,u as n,l as r,d as t};
1
+ import{BC as e,My as t}from"./app-XG_RF2yi.js";import{E as n}from"./vendor-DwMhK7fD.js";import{t as r}from"./react-B9IgSVeK.js";import{Zr as i,fr as a}from"./icons-C0wyat6T.js";import{t as o}from"./detail-card-C7tTQwmv.js";var s=r();function c({id:e,title:t,subtitle:n,children:r}){return(0,s.jsx)(o,{id:e,title:t,subtitle:n,children:(0,s.jsx)(`div`,{className:`mt-4`,children:r})})}function l({onClick:t,disabled:r}){let{t:i}=n();return(0,s.jsx)(e,{onClick:t,disabled:r,children:i(`serviceFormControls.save`)})}function u({onClick:t,filled:r=!1}){let{t:i}=n();return(0,s.jsx)(e,{variant:r?`danger`:`dangerGhost`,onClick:t,children:i(`serviceFormControls.reset`)})}function d({guide:e}){return(0,s.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,s.jsx)(a,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,s.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,s.jsx)(`span`,{children:e.description}),(0,s.jsxs)(t,{href:e.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e.linkLabel,(0,s.jsx)(i,{className:`h-3 w-3`})]})]})]})}export{c as i,u as n,l as r,d as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{hC as t}from"./app-g1TvV-Dl.js";import{t as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1),a=n();function o({label:e,helperText:n,checked:r,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(t,{checked:r,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:n})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[l,u]})}export{o as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{hC as t}from"./app-XG_RF2yi.js";import{t as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1),a=n();function o({label:e,helperText:n,checked:r,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(t,{checked:r,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:n})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[l,u]})}export{o as t};