@vellumai/web 0.12.6-staging.1 → 0.12.6-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 (217) hide show
  1. package/dist/assets/{a2a-invite-DvNtJAR3.js → a2a-invite-BfDyIsBX.js} +1 -1
  2. package/dist/assets/{about-page-C1cvW4yO.js → about-page-BigOjgfp.js} +1 -1
  3. package/dist/assets/{account-page-Bgjf5RI6.js → account-page-DbP0iNWg.js} +1 -1
  4. package/dist/assets/{account-shell-DRn4zar4.js → account-shell-CkJWoTHP.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-BrqZK5yq.js → acp-run-detail-panel-DNMcOAkY.js} +1 -1
  6. package/dist/assets/{activation-list-route-BSzFk01N.js → activation-list-route-BbPqJODX.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-C9vyj4s3.js → activity-redirect-page-CTGWJZqK.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-UE22AUHt.js → activity-steps-panel-Dz34WmYH.js} +1 -1
  9. package/dist/assets/add-credits-modal-BtnHnN8V.js +1 -0
  10. package/dist/assets/{add-credits-modal-BJdNKyZn.js → add-credits-modal-DRBFth5G.js} +1 -1
  11. package/dist/assets/{ai-page-BRcEoO4h.js → ai-page-beQly0My.js} +1 -1
  12. package/dist/assets/{all-chats-page-route-Cdywc2Lw.js → all-chats-page-route-DlZUO9J_.js} +1 -1
  13. package/dist/assets/{android-billing-handoff-DHmIdr3k.js → android-billing-handoff-CRfjXp7l.js} +1 -1
  14. package/dist/assets/{animated-stat-square-De3doWUf.js → animated-stat-square-B-JargN6.js} +1 -1
  15. package/dist/assets/{api-key-screen-D46IlNCg.js → api-key-screen-jvDwbC50.js} +1 -1
  16. package/dist/assets/{app-CnOToYzw.css → app-CgzFhQCl.css} +1 -1
  17. package/dist/assets/{app-4aEhon_S.js → app-DbJUeBix.js} +17 -17
  18. package/dist/assets/{app-info-BEZIXj2r.js → app-info-VAqkCXW3.js} +1 -1
  19. package/dist/assets/{archive-redirect-page-f-tQTBcO.js → archive-redirect-page-DZMdx89H.js} +1 -1
  20. package/dist/assets/{assistant-handle-modal-D2Fs4sCC.js → assistant-handle-modal-C2RftL0v.js} +1 -1
  21. package/dist/assets/assistant-inbox-page-route-DLSz1vYi.js +8 -0
  22. package/dist/assets/{assistant-status-panel-DHEoS1o_.js → assistant-status-panel-BJpCnYoq.js} +1 -1
  23. package/dist/assets/auth-store-Cd-d1a4K.js +1 -0
  24. package/dist/assets/{auth-welcome-screen-BGeyvWeV.js → auth-welcome-screen-Bng5AnvV.js} +1 -1
  25. package/dist/assets/avatar-bundled-components-DqGPWIMe.js +1 -0
  26. package/dist/assets/{avatar-random-D2smfcQG.js → avatar-random-CVuabfEZ.js} +2 -2
  27. package/dist/assets/{await-org-header-settled-DLSu8FLl.js → await-org-header-settled-P4ncwaMI.js} +1 -1
  28. package/dist/assets/{background-task-detail-panel-BZGjlvvR.js → background-task-detail-panel-BcllAg3N.js} +1 -1
  29. package/dist/assets/{billing-page-CEL1j7Pd.js → billing-page-D54LLGz1.js} +3 -3
  30. package/dist/assets/{billing-redirect-page-D0rxZiKb.js → billing-redirect-page-DBSdrzJ7.js} +1 -1
  31. package/dist/assets/{bookmarks-page-3DBCCW9Z.js → bookmarks-page-BQyOw7IR.js} +1 -1
  32. package/dist/assets/{bundle-confirm-page-DqZwqwSV.js → bundle-confirm-page-BE0p_xZi.js} +1 -1
  33. package/dist/assets/{channel-transcript-panel-CFWSmMFa.js → channel-transcript-panel-BdL4iejZ.js} +1 -1
  34. package/dist/assets/{channels-Bj0jbmsg.js → channels--GWixc4A.js} +3 -3
  35. package/dist/assets/{channels-CrHSbYG5.js → channels-BJA5o10X.js} +3 -3
  36. package/dist/assets/{channels-B-C6ns2I.js → channels-BWlMRtuu.js} +3 -3
  37. package/dist/assets/{channels-DS5qwHtC.js → channels-BchiOW8d.js} +3 -3
  38. package/dist/assets/{channels-page-route-nwdK8POV.js → channels-page-route-BseMMdHV.js} +1 -1
  39. package/dist/assets/{chat-info-panel-4xiBaedR.js → chat-info-panel-C6px8Mlo.js} +1 -1
  40. package/dist/assets/{checkout-continuation-DiZjXso_.js → checkout-continuation-BniC3jRe.js} +1 -1
  41. package/dist/assets/{checkout-page-CpXe7B0Y.js → checkout-page-_P1Km-Pk.js} +1 -1
  42. package/dist/assets/checkout-return-target-B3XAFuN6.js +1 -0
  43. package/dist/assets/{command-palette-BwJ1qkwj.js → command-palette-BMTSC06x.js} +1 -1
  44. package/dist/assets/command-palette-BgqisOfz.js +1 -0
  45. package/dist/assets/{command-palette-window-page-s0d4qct2.js → command-palette-window-page-BlD7b2cA.js} +1 -1
  46. package/dist/assets/{community-page-BxJhxO_B.js → community-page-dezChmB7.js} +1 -1
  47. package/dist/assets/{companion-accent-IfLn8Bat.js → companion-accent-C8bpme2H.js} +1 -1
  48. package/dist/assets/{companion-dock-zones-page-BZ_Xjx9t.js → companion-dock-zones-page-B4iVErZw.js} +1 -1
  49. package/dist/assets/{companion-layout-B32ZeRsg.js → companion-layout-DdDcoKuc.js} +1 -1
  50. package/dist/assets/{companion-popover-DJZq3u_E.js → companion-popover-BYFhyUGI.js} +1 -1
  51. package/dist/assets/{companion-popover-page-BUuymP2G.js → companion-popover-page-CvizjjZk.js} +1 -1
  52. package/dist/assets/{companion-surface-BiEC15j-.js → companion-surface-CjiszIMu.js} +1 -1
  53. package/dist/assets/{companion-surface-page-1aPG3-pV.js → companion-surface-page-BIpW__dy.js} +1 -1
  54. package/dist/assets/{companion-tour-entry-CT1inXph.js → companion-tour-entry-2hR1vArn.js} +1 -1
  55. package/dist/assets/{companion-watch-frame-page-CccglwW8.js → companion-watch-frame-page-LUmlRewI.js} +1 -1
  56. package/dist/assets/{connect-page-CU5kFWwu.js → connect-page-uRvPpjMP.js} +1 -1
  57. package/dist/assets/{consent-controls-BU14rUBI.js → consent-controls-DZEtlgAi.js} +1 -1
  58. package/dist/assets/{contacts-gateway-lKGtK3Rt.js → contacts-gateway-DI64mVLV.js} +1 -1
  59. package/dist/assets/{contacts-page-route-Dsl49Gyj.js → contacts-page-route-C_UApZGi.js} +1 -1
  60. package/dist/assets/{copy-button-DTTBuV2S.js → copy-button-ZsDy0Kvk.js} +1 -1
  61. package/dist/assets/{credential-entry-page-Bcru96sp.js → credential-entry-page-BeKm3_yM.js} +1 -1
  62. package/dist/assets/{credentials-page-vIwKR2Br.js → credentials-page-CLjmeZw3.js} +1 -1
  63. package/dist/assets/{csv-preview-DC4egHwn.js → csv-preview-C2fmutVQ.js} +1 -1
  64. package/dist/assets/{danger-zone-redirect-page-R5BXWtEi.js → danger-zone-redirect-page-D5Xk_8UY.js} +1 -1
  65. package/dist/assets/{debug-page-BZtacr2-.js → debug-page-tQ4hqmdO.js} +1 -1
  66. package/dist/assets/deploy-dialogs-BW3wFOZ-.js +1 -0
  67. package/dist/assets/{deploy-dialogs-B3_x3fxQ.js → deploy-dialogs-Hu5UmFuB.js} +1 -1
  68. package/dist/assets/{desktop-preview-content-CKM5RXGD.js → desktop-preview-content-CoZvaRAg.js} +2 -2
  69. package/dist/assets/{desktop-status-DvjcbwTJ.js → desktop-status-ZiDkY3z1.js} +1 -1
  70. package/dist/assets/{desktop-viewer-BMPa6Aex.js → desktop-viewer-zD3tun-C.js} +1 -1
  71. package/dist/assets/{detail-card-Dmas0G3E.js → detail-card-WMdjzPA_.js} +1 -1
  72. package/dist/assets/{detail-panel-stop-button-DkHGogvW.js → detail-panel-stop-button-CPVsXUuy.js} +1 -1
  73. package/dist/assets/{detail-primitives-DMIwvBhc.js → detail-primitives-CAZf545a.js} +1 -1
  74. package/dist/assets/{developer-page-B6e5nSkG.js → developer-page-DpSngWHa.js} +1 -1
  75. package/dist/assets/{devices-redirect-page-mofL9eFw.js → devices-redirect-page-BUydOv62.js} +1 -1
  76. package/dist/assets/{dictation-overlay-page-CwDjZbE1.js → dictation-overlay-page-Cs5bufLA.js} +1 -1
  77. package/dist/assets/{document-load-DoRmIVja.js → document-load-CXdi-UrD.js} +1 -1
  78. package/dist/assets/document-load-Dyyzd-te.js +1 -0
  79. package/dist/assets/{document-viewer-page-CQUX0aEC.js → document-viewer-page-R3nFa-RR.js} +1 -1
  80. package/dist/assets/{emails-page-DwAhlaQg.js → emails-page-BUZyXttB.js} +1 -1
  81. package/dist/assets/{file-diff-view-BezobneE.js → file-diff-view-5WOLjbDI.js} +1 -1
  82. package/dist/assets/{file-view-mode-jU2cqUIy.js → file-view-mode-D6Wxo-FH.js} +1 -1
  83. package/dist/assets/{general-page-doMlZdWO.js → general-page-BgczK5kM.js} +1 -1
  84. package/dist/assets/{hatching-screen-D5uYMUSk.js → hatching-screen-DUME_h4W.js} +1 -1
  85. package/dist/assets/{hosting-screen-N04Vxm7m.js → hosting-screen-CQosTH53.js} +1 -1
  86. package/dist/assets/{identity-page-route-DYaWHWV4.js → identity-page-route-CnUbEnOj.js} +1 -1
  87. package/dist/assets/{inspect-page-Day-dKxu.js → inspect-page-B4pwuqL9.js} +3 -3
  88. package/dist/assets/{integrations-page-BepnHU85.js → integrations-page-DfV4AIUY.js} +1 -1
  89. package/dist/assets/{intelligence-layout-8z9eS22i.js → intelligence-layout-CAtJ8qJB.js} +1 -1
  90. package/dist/assets/{intelligence-layout-slots-store-J-MoKCmF.js → intelligence-layout-slots-store-DSIw2NvD.js} +1 -1
  91. package/dist/assets/{keyboard-shortcuts-redirect-page-CtGxfm3n.js → keyboard-shortcuts-redirect-page-eiKQBBin.js} +1 -1
  92. package/dist/assets/{latest-assistant-text-Chtu1E3p.js → latest-assistant-text-CU1nEv57.js} +1 -1
  93. package/dist/assets/{library-detail-page-BU3HVzyr.js → library-detail-page-D5TQdRPW.js} +1 -1
  94. package/dist/assets/{library-page-Co-CAon1.js → library-page-CQHRf1us.js} +1 -1
  95. package/dist/assets/local-mode-glOMwWKw.js +1 -0
  96. package/dist/assets/{login-page-bUkrHHVA.js → login-page-nEJ8VtCM.js} +1 -1
  97. package/dist/assets/{logout-page-D2ibyaux.js → logout-page-CRexidth.js} +1 -1
  98. package/dist/assets/{logs-layout-DpQF78Kt.js → logs-layout-C1WQAyKd.js} +1 -1
  99. package/dist/assets/{markdown-preview-CId4qJWy.js → markdown-preview-FMAKqNG5.js} +1 -1
  100. package/dist/assets/{media-preview-C1XFdtRz.js → media-preview-DxyJX5PI.js} +1 -1
  101. package/dist/assets/{memory-page-route--WvX90Lh.js → memory-page-route-Bt8cmhxi.js} +1 -1
  102. package/dist/assets/{memory-router-playground-page-BX6jtqI2.js → memory-router-playground-page-B5SPYr3X.js} +1 -1
  103. package/dist/assets/{message-files-panel-BWQX_2Z_.js → message-files-panel-DM2OHYKS.js} +1 -1
  104. package/dist/assets/mutation-error-DsmwzTdH.js +1 -0
  105. package/dist/assets/native-attachment-pickers-Caaw_YOU.js +1 -0
  106. package/dist/assets/native-file-DICtaDdr.js +1 -0
  107. package/dist/assets/{notifications-page-CgWLXf5V.js → notifications-page-DRBXLm8k.js} +1 -1
  108. package/dist/assets/{oauth-complete-page-DZlImmvw.js → oauth-complete-page-DgpDdc3q.js} +1 -1
  109. package/dist/assets/{oauth-popup-complete-page-C1Dc5fk0.js → oauth-popup-complete-page-v6Kq8SKs.js} +1 -1
  110. package/dist/assets/paired-platform-identity-u4Q-YPGw.js +1 -0
  111. package/dist/assets/{pairing-page-Dhcr9SjD.js → pairing-page-Oj52Prdb.js} +1 -1
  112. package/dist/assets/password-reset-page-D3ksp7Ej.js +1 -0
  113. package/dist/assets/{pdf-file-preview-D_ClglAA.js → pdf-file-preview-BhDsUdwQ.js} +1 -1
  114. package/dist/assets/{permission-guide-page-DHZIzkOy.js → permission-guide-page-C72w2Kmj.js} +1 -1
  115. package/dist/assets/{permission-setup-Dmd2zFPe.js → permission-setup-CJJV_COn.js} +1 -1
  116. package/dist/assets/{personality-page-BhAHEnK3.js → personality-page-CvTaj6nv.js} +1 -1
  117. package/dist/assets/{personality-page-CE8DlY9y.js → personality-page-smzeVdLh.js} +1 -1
  118. package/dist/assets/{personality-sliders-pVdEr3Fn.js → personality-sliders-B9dseUZv.js} +1 -1
  119. package/dist/assets/{plans-page-CkIK_N4U.js → plans-page-CdJnxa9Q.js} +1 -1
  120. package/dist/assets/{platform-loopback-page-C0s9CAsp.js → platform-loopback-page-BmFqgelr.js} +1 -1
  121. package/dist/assets/{plugin-detail-page-C9zJ32IV.js → plugin-detail-page-CFGniBM4.js} +1 -1
  122. package/dist/assets/{plugins-page-Cf_vJwd8.js → plugins-page-BuHZ0XlZ.js} +1 -1
  123. package/dist/assets/plugins-surface-CYlZGgus.js +1 -0
  124. package/dist/assets/{preview-error-Cxcn_uOl.js → preview-error-DycCFOOO.js} +1 -1
  125. package/dist/assets/{privacy-page-v0Bl1gUD.js → privacy-page-BTNM3CXN.js} +1 -1
  126. package/dist/assets/{privacy-screen-DZWucyGJ.js → privacy-screen-BNyV1Jpv.js} +1 -1
  127. package/dist/assets/{profile-card-jvtX_IRJ.js → profile-card-CCv7LkYu.js} +1 -1
  128. package/dist/assets/{provider-callback-page-DadzY3GT.js → provider-callback-page-BiI5YuU7.js} +1 -1
  129. package/dist/assets/{provider-key-DUY2mZm5.js → provider-key-mKVB6Qhq.js} +1 -1
  130. package/dist/assets/{provider-signup-page-BMjPqmWY.js → provider-signup-page-Dj_CGQAF.js} +1 -1
  131. package/dist/assets/{quick-input-page-CSBA98SR.js → quick-input-page-jYydiJfm.js} +1 -1
  132. package/dist/assets/referral-modal-CfWPpnvV.js +1 -0
  133. package/dist/assets/{referral-modal-0EhqMTDP.js → referral-modal-DgZAlouF.js} +1 -1
  134. package/dist/assets/{research-mock-page-pdYsSAXo.js → research-mock-page-CDpXk7ca.js} +1 -1
  135. package/dist/assets/{research-onboarding-route-DQDC7A-X.js → research-onboarding-route-Se5ksePw.js} +1 -1
  136. package/dist/assets/{review-terms-screen-D9ZsDaFc.js → review-terms-screen-Cy9FX3yC.js} +1 -1
  137. package/dist/assets/routes-Df2libs9.js +1 -0
  138. package/dist/assets/{schedules-page-DzosmuUG.js → schedules-page-O2ueZz6n.js} +1 -1
  139. package/dist/assets/{schedules-BZK7XLW4.js → schedules-rvMiqGp0.js} +1 -1
  140. package/dist/assets/{security-redirect-page-BfEf2yb3.js → security-redirect-page-B00kAvrV.js} +1 -1
  141. package/dist/assets/{select-assistant-screen-ByEWxket.js → select-assistant-screen-GuXyFlAh.js} +1 -1
  142. package/dist/assets/{self-hosted-servers-BnexEHid.js → self-hosted-servers-B-57ZNA3.js} +1 -1
  143. package/dist/assets/{service-form-controls-L7ipWS7W.js → service-form-controls-DZJcQaNO.js} +1 -1
  144. package/dist/assets/{setting-row-CqsRGW0M.js → setting-row-BuBlxds2.js} +1 -1
  145. package/dist/assets/{settings-layout-dtUgeZGT.js → settings-layout-B_sC3oOX.js} +1 -1
  146. package/dist/assets/{share-feedback-modal-CICNVpZG.js → share-feedback-modal-Dg6x94HR.js} +1 -1
  147. package/dist/assets/share-feedback-modal-n7ZgtNxB.js +1 -0
  148. package/dist/assets/{sidebar-tree-CVlGLFk1.js → sidebar-tree-BLMAqL8a.js} +1 -1
  149. package/dist/assets/{signup-page-BawjjAk9.js → signup-page-CF6CvKYm.js} +1 -1
  150. package/dist/assets/{signup-shell-C4zWZKlP.js → signup-shell-BUn2lHTO.js} +1 -1
  151. package/dist/assets/{skill-detail-page-BR1VzP5J.js → skill-detail-page-B7oLoGRE.js} +1 -1
  152. package/dist/assets/{skill-detail-panel-Ch4YwxDI.js → skill-detail-panel-BgTf3-Jj.js} +1 -1
  153. package/dist/assets/{skill-removal-dialog-ph42N7Fl.js → skill-removal-dialog-DwT8ZoB9.js} +1 -1
  154. package/dist/assets/{skills-page-B54_bM3G.js → skills-page-hxGLH0Yi.js} +1 -1
  155. package/dist/assets/{sounds-page-B5dZjlPM.js → sounds-page-C1u9YUVJ.js} +1 -1
  156. package/dist/assets/{start-screen-c_PymAl2.js → start-screen-DfzPyvUq.js} +1 -1
  157. package/dist/assets/{step-detail-header-ygmZC0KS.js → step-detail-header-CdUCWAlu.js} +1 -1
  158. package/dist/assets/{stt-language-picker-modal-CMFxMa9N.js → stt-language-picker-modal-0IKnLGpu.js} +1 -1
  159. package/dist/assets/{subagent-detail-panel-BS4IYvJn.js → subagent-detail-panel-CtkJH9-r.js} +1 -1
  160. package/dist/assets/{superpowers-page-DKB6-Ybz.js → superpowers-page-C0V-BVj9.js} +1 -1
  161. package/dist/assets/{system-events-page-B44LpDTv.js → system-events-page-B13dkMsH.js} +1 -1
  162. package/dist/assets/{system-events-redirect-page-C62wCy1z.js → system-events-redirect-page-ayoYsUNU.js} +1 -1
  163. package/dist/assets/{tabular-grid-D5w2zPZ2.js → tabular-grid-DkyI1XY2.js} +1 -1
  164. package/dist/assets/{teleport-gateway-client-B8BG_rTx.js → teleport-gateway-client-C3wmILxC.js} +1 -1
  165. package/dist/assets/{text-preview-Ofuqm3k1.js → text-preview-BGQO4VRv.js} +1 -1
  166. package/dist/assets/{theme-stage-page--f110ocQ.js → theme-stage-page-9l6G0GQD.js} +1 -1
  167. package/dist/assets/{tiptap-document-editor-hK0z9JkB.js → tiptap-document-editor-6J6u0gMB.js} +1 -1
  168. package/dist/assets/tool-detail-panel-B267q93W.js +1 -0
  169. package/dist/assets/{tool-detail-panel-B58LHS7C.js → tool-detail-panel-D29OCtjo.js} +1 -1
  170. package/dist/assets/{trait-cycle-row-Bn8sB1ll.js → trait-cycle-row-C76P92r3.js} +1 -1
  171. package/dist/assets/{upgrade-cancel-page-YlN6tF2j.js → upgrade-cancel-page-CsIYnmSq.js} +1 -1
  172. package/dist/assets/{upgrade-success-page-B1qO-4bt.js → upgrade-success-page-Ba_xpT9b.js} +1 -1
  173. package/dist/assets/{usage-redirect-page-B_r-Rjza.js → usage-redirect-page-C7pPUdxP.js} +1 -1
  174. package/dist/assets/{use-app-delete-C3OP3RL_.js → use-app-delete-2je5dBpX.js} +1 -1
  175. package/dist/assets/{use-assistant-identity-details-CgpWYPrD.js → use-assistant-identity-details-S74x7sbE.js} +1 -1
  176. package/dist/assets/use-channel-trust-floors-fBDQnvgz.js +1 -0
  177. package/dist/assets/{use-checkout-dismiss-refresh-CxHKmnto.js → use-checkout-dismiss-refresh-DB31reZx.js} +1 -1
  178. package/dist/assets/{use-edge-swipe-back-D0Hv2Vbo.js → use-edge-swipe-back-DeHKMrh8.js} +1 -1
  179. package/dist/assets/{use-hotkey-recorder-CPwPHbVu.js → use-hotkey-recorder-BKycBMhe.js} +1 -1
  180. package/dist/assets/{use-invite-link-dialog-YrW4BryT.js → use-invite-link-dialog-BdHG4b3u.js} +1 -1
  181. package/dist/assets/{use-plugins-list-DbtoYlBb.js → use-plugins-list-B9d39t5k.js} +1 -1
  182. package/dist/assets/{use-return-to-short-circuit-DIiSf2mw.js → use-return-to-short-circuit-D82kSfEB.js} +1 -1
  183. package/dist/assets/{use-side-list-room-DF3yxstr.js → use-side-list-room-CMVDwjej.js} +1 -1
  184. package/dist/assets/{use-skill-actions-C-MM5fH5.js → use-skill-actions-BkSsu_a-.js} +1 -1
  185. package/dist/assets/{use-skill-detail-files-BC8o1y4B.js → use-skill-detail-files-DRDxliP2.js} +1 -1
  186. package/dist/assets/use-supports-credentials-settings-DXa8eid1.js +1 -0
  187. package/dist/assets/{use-transcript-message-by-id-yY3_Y5YT.js → use-transcript-message-by-id-DVnOyFfP.js} +1 -1
  188. package/dist/assets/{voice-page-C6plqSbB.js → voice-page-DoYjxDlf.js} +1 -1
  189. package/dist/assets/{wake-detail-panel-ByOMpvzL.js → wake-detail-panel-PQ5V9JtN.js} +1 -1
  190. package/dist/assets/{weather-forecast-display-wWI7BbOq.js → weather-forecast-display-BWS4MRRa.js} +1 -1
  191. package/dist/assets/{welcome-screen-BrWlqKCU.js → welcome-screen-BKY6SHne.js} +1 -1
  192. package/dist/assets/{workflow-detail-panel-Tur0cTTa.js → workflow-detail-panel-N8CV0RrQ.js} +1 -1
  193. package/dist/assets/{workspace-page-BC6DuJ6j.js → workspace-page-B7cCk3SZ.js} +1 -1
  194. package/dist/assets/{xlsx-preview-QwpwZ8Ls.js → xlsx-preview-DaCmEr4c.js} +1 -1
  195. package/dist/index.html +2 -2
  196. package/package.json +1 -1
  197. package/dist/assets/add-credits-modal-CTwFNbFw.js +0 -1
  198. package/dist/assets/assistant-inbox-page-route-BNxtQgVH.js +0 -8
  199. package/dist/assets/auth-store-Ck9VwH27.js +0 -1
  200. package/dist/assets/avatar-bundled-components-BvhWO4x6.js +0 -1
  201. package/dist/assets/checkout-return-target-BMk9sOs5.js +0 -1
  202. package/dist/assets/command-palette-vN1QduVf.js +0 -1
  203. package/dist/assets/deploy-dialogs-gl-8Gfwg.js +0 -1
  204. package/dist/assets/document-load-vorRpGY8.js +0 -1
  205. package/dist/assets/local-mode-BDAFwrps.js +0 -1
  206. package/dist/assets/mutation-error-1lzyVoa-.js +0 -1
  207. package/dist/assets/native-attachment-pickers-C9F0ZR30.js +0 -1
  208. package/dist/assets/native-file-_gmszDPP.js +0 -1
  209. package/dist/assets/paired-platform-identity-CLNgDq2A.js +0 -1
  210. package/dist/assets/password-reset-page-DwD-Tr9u.js +0 -1
  211. package/dist/assets/plugins-surface-tkjP75qI.js +0 -1
  212. package/dist/assets/referral-modal-DpPM4ySm.js +0 -1
  213. package/dist/assets/routes--G7bm1Kz.js +0 -1
  214. package/dist/assets/share-feedback-modal-CVfT5Isv.js +0 -1
  215. package/dist/assets/tool-detail-panel-hGcjKO-7.js +0 -1
  216. package/dist/assets/use-channel-trust-floors-oeRMVBZa.js +0 -1
  217. package/dist/assets/use-supports-credentials-settings-C5z3u-mM.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$o as n,Ap as r,BC as i,Cm as a,DS as o,FC as s,GC as c,Gp as l,Hm as u,Hp as d,IS as f,J as p,JC as m,KC as h,Kh as g,Km as _,Kp as v,Mp as y,NC as b,Np as x,Oa as S,PC as C,Pb as w,Q as T,QC as E,SC as D,Sp as O,Tp as k,Up as ee,Wp as te,Y as A,Z as j,_m as ne,ar as re,au as ie,aw as M,bC as N,bm as P,f as ae,iu as F,jp as oe,m as se,np as ce,nr as le,nt as ue,pC as I,qm as de,rr as fe,ru as pe,sC as me,tr as he,uC as L,uc as ge,uw as _e,vC as R,vm as ve,wC as ye,xC as z,xm as be,ym as xe}from"./app-4aEhon_S.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-CtXGFqsu.js";import{f as U,h as Ee,t as De,x as Oe}from"./react-B9IgSVeK.js";import{$i as ke,A as Ae,Gi as W,Ui as je,Yn as Me,gt as Ne,kt as Pe,oa as Fe,pi as Ie,qi as Le,wi as Re,zt as ze}from"./icons-C0wyat6T.js";import{t as Be}from"./detail-card-Dmas0G3E.js";import{a as Ve,c as He,d as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"./schedules-BZK7XLW4.js";import{a as Qe,r as $e,t as et}from"./usage-window-DN8fvMZe.js";var G=e(Oe(),1),tt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},nt=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],rt=[1,2,3,4,5];function K(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function it(e){let t=Array.from(new Set(e.map(e=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function at(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${it(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function ot(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function st(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function ct(e){let t=it(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&rt.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${nt[t[0]]?.full??`day`}`;let r=t.map(e=>nt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function lt(e){let t=ot(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${ct(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${st(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=De(),ut=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),dt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ft(e,t){let n=e%12;return t===`PM`?n+12:n}function pt(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function mt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(D.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ht,{assistantId:t,onClose:n,onCreated:r}):null})}function ht({assistantId:e,onClose:t,onCreated:r}){let{t:i}=V(`settings`),a=n(),[o,c]=(0,G.useState)(``),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(``),[p,m]=(0,G.useState)(`simple`),[h,g]=(0,G.useState)(tt),[_,v]=(0,G.useState)(``),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(null),w=o.trim(),T=l.trim(),E=d.trim(),O=_.trim(),k=(0,G.useMemo)(()=>p===`simple`?at(h):O,[p,h,O]),ee=(0,G.useMemo)(()=>p===`simple`?lt(h):O||i(`createScheduleModal.cronContinuePrompt`),[p,h,O,i]),te=(0,G.useMemo)(()=>pt(a),[a]),A=w.length>0&&T.length>0&&E.length>0&&k.length>0&&!y;return(0,q.jsxs)(D.Content,{size:`md`,children:[(0,q.jsxs)(D.Header,{children:[(0,q.jsx)(D.Title,{children:i(`createScheduleModal.title`)}),(0,q.jsx)(D.Description,{children:i(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){b(!0),S(null);try{await Ke(e,{name:w,description:T,expression:k,message:E,timezone:a}),b(!1),r()}catch(e){S(e instanceof Error?e.message:i(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,q.jsx)(D.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(C,{label:i(`createScheduleModal.nameLabel`),placeholder:i(`createScheduleModal.namePlaceholder`),value:o,onChange:e=>c(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(s,{label:i(`createScheduleModal.descriptionLabel`),placeholder:i(`createScheduleModal.descriptionPlaceholder`),value:l,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(bt,{label:i(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,q.jsx)(gt,{cadence:h,onChange:g}):(0,q.jsx)(yt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,q.jsx)(St,{summary:ee,mono:p===`advanced`&&O.length>0,timezoneLabel:te}),p===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||at(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:i(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(s,{label:i(`createScheduleModal.messageLabel`),placeholder:i(`createScheduleModal.messagePlaceholder`),value:d,onChange:e=>f(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,q.jsxs)(D.Footer,{children:[(0,q.jsx)(M,{variant:`outlined`,onClick:t,type:`button`,children:i(`createScheduleModal.cancel`)}),(0,q.jsx)(M,{variant:`primary`,type:`submit`,disabled:!A,children:i(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function gt({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:st(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(ye,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(R,{options:dt,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":n(`createScheduleModal.minuteAriaLabel`),className:`w-24`})}):null,e.frequency===`weekly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(R,{options:i,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":n(`createScheduleModal.dayOfMonthAriaLabel`),className:`w-32`})}):null,e.frequency===`hourly`?null:(0,q.jsx)(xt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(_t,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function _t({hour24:e,minute:t,onChange:n}){let{t:r}=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,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(R,{options:ut,value:String(a),onChange:e=>n(ft(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(R,{options:dt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.jsx)(ye,{items:o,value:i,onChange:e=>n(ft(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function vt({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:nt.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:_e(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function yt({value:e,onChange:t,onUseSimple:n}){let{t:r}=V(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(C,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.backToSimple`)})]})}function bt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function xt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function St({summary:e,mono:t,timezoneLabel:n}){let{t:r}=V(`settings`);return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(Re,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:_e(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function Ct(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=B({...k({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=B({...O({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),o=i?.callSites.find(e=>e.id===t)?.defaultProfile??null;return o==null?{key:null,label:null}:{key:o,label:(a?Qe(a):{})[o]?.displayName??o}}function wt(e,t,n){let{t:r}=V(`settings`),i=Ct(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>ae(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=Ce({mutationFn:t=>qe(e,null,t),onSuccess:e=>{o(!1),n(),z.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{f(e,{context:`schedules_rebase_inference_profile`}),z.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:c,offDefaultCount:s,canRebase:s>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:c,offDefaultCount:s,isPending:l.isPending,onConfirm:()=>{i.key&&l.mutate(i.key)},onCancel:()=>o(!1)}}}function Tt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=V(`settings`);return(0,q.jsx)(N,{open:e,title:o(`scheduleProfileRebase.dialogTitle`,{profile:t}),message:o(`scheduleProfileRebase.dialogMessage`,{count:n,profile:t}),confirmLabel:o(`scheduleProfileRebase.moveSchedules`),isPending:r,onConfirm:i,onCancel:a})}function Et(e=g(),t=Date.now()){return $e(et,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function Dt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Ot=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Ot.format(e)}function kt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function At(e,t=H){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function jt(e){if(!e)return;let t=new Set,n=[];for(let r of e)for(let e of r.runs)t.has(e.id)||(t.add(e.id),n.push(e));return n}function Mt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Nt(e){return Mt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function Pt(e){return e.status===`pending`||e.status===`superseded`}function Ft(e){return e.status!==`skipped`&&e.status!==`missed`&&!Pt(e)}var It={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Lt(e,t,n=H){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=At(e.intervalMs,n);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(i+=r?` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00 ${r})`:` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),i}function Rt(e,t=H){return At(e.intervalMs,t)}function zt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Bt(e,t){return ae(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Vt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Bt(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function Ht(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Ve(e,Et(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Ut(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Wt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Ft(e)&&t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function Gt({status:e}){let{t}=V(`settings`);return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??t(`scheduleSharedUi.unknownStatus`)})}function Kt({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=V(`settings`);if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":r(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(I,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(I,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:kt(t.summary.runCount),s=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),c=t.status===`ready`&&t.summary.runCount===0,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":r(`scheduleSharedUi.viewUsageFor`,{name:e}),className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${l}`,children:a}):(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.costFor`,{name:e,cost:a}),className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a}),(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.runsFor`,{name:e,runs:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o})]})}function qt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:a,usage:o,helperText:s,statusLabel:c,statusTone:l=`neutral`,onClick:u}){let{t:d}=V(`settings`);return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:u,"aria-label":d(`systemTasksSection.openAriaLabel`,{name:e}),className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),s?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:s}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsx)(`span`,{children:d(`systemTasksSection.nextRun`,{time:J(r)})}):null,a?(0,q.jsx)(`span`,{children:d(`systemTasksSection.lastRun`,{time:J(a)})}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(Kt,{scheduleName:e,usage:o}),c?(0,q.jsx)(i,{tone:l,children:c}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":d(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Jt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:l,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,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(Me,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,q.jsx)(c,{tone:`error`,children:(0,q.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[m?(0,q.jsx)(qt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Lt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,q.jsx)(qt,{name:p(`systemTasksSection.consolidationName`),subtitle:Rt(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,q.jsx)(qt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:zt(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(c,{tone:`error`,children:(0,q.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Be,{children:(0,q.jsx)(L.Root,{type:`multiple`,children:(0,q.jsxs)(L.Item,{value:`system-jobs`,children:[(0,q.jsxs)(L.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:Y(y)})}):null,(0,q.jsx)(Le,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(L.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Yt={disabled:`heartbeat is disabled`,outside_active_hours:`outside active hours`,overlap:`previous run was still active`,pre_first_user_message:`waiting for the first conversation`,max_consecutive_runs:`consecutive-run cap reached`,max_daily_runs:`daily run cap reached`,quiesced:`assistant was shutting down`};function Xt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Yt[e.skipReason]??e.skipReason}`:null}function Zt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Xt(e),error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt,...`title`in e?{title:e.title}:{}}}function Qt(e){return e.runs.filter(e=>!Pt(e)).map(e=>Zt(e,`heartbeat`))}function $t(e){return e.runs.map(e=>Zt(e,`consolidation`))}function en(e){return e.runs.map(e=>Zt(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Wt(n,r,i)}}function nn(e,t){let n=Te(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:c}=B({...d(i),enabled:!!e,staleTime:Z}),{data:p,isLoading:m,isError:h,refetch:g}=B({...r(i),enabled:!!e,staleTime:Z}),{data:b,isLoading:S,isError:C,refetch:w}=B({...ne(i),enabled:!!e,staleTime:Z}),T={path:{assistant_id:e??``},query:{limit:100}},{data:E,isLoading:D,isError:O,refetch:k}=B({...v(T),select:Qt,enabled:!!e&&a!=null,staleTime:Z}),{data:te,isLoading:A,isError:j,refetch:re}=B({...x(T),select:$t,enabled:!!e&&p?.available===!0,staleTime:Z}),{data:ie,isLoading:M,isError:N,refetch:ae}=B({...P(T),select:en,enabled:!!e&&b?.available===!0,staleTime:Z}),F=(0,G.useMemo)(()=>Et(t),[t]),oe=(0,G.useMemo)(()=>tn(D,O,It.heartbeat,E,F),[E,O,D,F]),se=(0,G.useMemo)(()=>tn(A,j,It.consolidation,te,F),[te,j,A,F]),ce=(0,G.useMemo)(()=>tn(M,N,It.retrospective,ie,F),[ie,N,M,F]),le=t=>{if(!e)return;let a={heartbeat:{config:d(i).queryKey,runs:v(T).queryKey,infinite:l(i)},consolidation:{config:r(i).queryKey,runs:x(T).queryKey,infinite:y(i)},retrospective:{config:ne(i).queryKey,runs:P(T).queryKey,infinite:xe(i)}}[t];n.invalidateQueries({queryKey:a.config}),n.invalidateQueries({queryKey:a.runs}),n.invalidateQueries({queryKey:a.infinite})},ue=de({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.heartbeatStarted`)):z.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{f(e,{context:`heartbeat_run_now`}),z.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>le(`heartbeat`)}),I=u({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.consolidationQueued`)):z.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{f(e,{context:`consolidation_run_now`}),z.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>le(`consolidation`)}),fe=_({onSuccess:e=>{ee(n,i,e),z.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{f(e,{context:`heartbeat_toggle`}),z.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:p,retrospectiveConfig:b,heartbeatUsage:oe,consolidationUsage:se,retrospectiveUsage:ce,isLoading:o||m||S,hasError:s||h||C,isHeartbeatRunning:ue.isPending,isConsolidationRunning:I.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:m,isConsolidationError:h,isRetrospectiveLoading:S,isRetrospectiveError:C,refetchHeartbeat:c,refetchConsolidation:g,refetchRetrospective:w,runHeartbeatNow:()=>{e&&ue.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&I.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&fe.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),g(),w(),k(),re(),ae()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:i,className:a}){let o=!!(t||n||r);return(0,q.jsx)(h,{asChild:!0,className:_e(`rounded-lg`,a),children:(0,q.jsxs)(`section`,{id:e,children:[o&&(0,q.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,q.jsx)(m,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,q.jsx)(`div`,{className:`shrink-0`,children:r})]}),i!=null&&(0,q.jsx)(`div`,{className:o?`mt-3`:``,children:i})]})})}function an(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var on={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function sn(e){return e.enabled||!e.disarmReason?null:on[e.disarmReason]??null}function cn(e,t){return t?.[e]?.displayName??e}function ln({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=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({...O({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Qe(l):{},[l]),{label:d}=Ct(e,n,{enabled:c}),f=c&&i?s(l?.llm?.callSites?.[n],u):void 0,p=t==null?f??(d==null?o:a(`modelProfileRow.defaultNamed`,{name:d})):cn(t,u);return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function un(e,t,n){let r=w(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...T(r,[t],n).map(e=>{let t=p(e,r,n);return{value:e.name,label:A(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:j(e)}:{}}})]}function dn(e,n){let{data:r}=B({...O({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>un(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function fn({assistantId:e,value:t,onChange:n,disabled:r=!1,isSaving:i=!1,className:a,includeDefaultOption:o=!0,placeholder:s,variant:c,menuAlign:l}){let{t:u}=V(`settings`);return(0,q.jsx)(R,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(je,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),...e.reason?{tooltip:e.reason}:{}}:{},value:e.value,label:e.label})),disabled:r||i,placeholder:s,className:a,variant:c,menuAlign:l,"aria-label":u(`modelProfileSelect.ariaLabel`)})}function Q({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function pn({schedule:e,assistantId:t,isPast:n}){let{t:r}=V(`schedules`),i=Te(),o=a({path:{assistant_id:t}}),s=Ce({mutationFn:n=>Ge(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:o});let n=i.getQueryData(o)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(o,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,a)=>{let s=a?.previousProfile;s!==void 0&&i.setQueryData(o,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),f(t,{context:`schedule_update_inference_profile`}),z.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:o})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(fn,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&s.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:s.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function mn({usage:e}){let{t}=V(`schedules`);return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(I,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(me,{icon:(0,q.jsx)(Ie,{}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(me,{icon:(0,q.jsx)(Pe,{}),value:kt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function hn(e){return e.exists&&e.archivedAt==null}function gn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:o}=V(`schedules`),s=S(),c=Nt(e),l=e.conversations??(c?[{id:c,title:null,exists:!0,archivedAt:null}]:[]),u=X(e.output),d=X(e.error),f=!r&&l.length===1&&hn(l[0])?l[0].id:null,p=!f&&(l.length>0||u||d),m=`schedule-run-details-${t}`,h=!!f||p,g=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),h?(0,q.jsx)(W,{className:_e(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,p&&n?`rotate-90`:``)}):null]}),_=p&&n?(0,q.jsx)(`div`,{id:m,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[l.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:l.map(e=>hn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:X(e.title)?e.title:o(`scheduleDetail.conversation`)},e.id):(0,q.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[X(e.title)?e.title:o(`scheduleDetail.conversation`),` `,e.exists?s:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,u?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return f?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(f),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:g})}):p?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":m,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:g}),_]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:g})}function _n({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=V(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(le,{placement:`section`}):!e||e.length===0?(0,q.jsx)(fe,{placement:`section`,children:i(`scheduleDetail.noRunsYet`)}):(0,q.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(gn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function vn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:a}){let{t:s}=V(`schedules`),c=U(),{data:l,isLoading:u}=B({queryKey:be({path:{assistant_id:t,id:e.id}}),queryFn:()=>We(t,e.id),staleTime:1e4}),[d,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),S=an(e.sourceKey),C=sn(e),w=e.isOneShot&&!r&&S===null&&e.status!==`firing`,T=S!==null&&!e.enabled,E=async()=>{p(!0);try{await Ye(t,e.id)}catch(e){f(e,{context:`schedule_run_now`}),z.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},D=async()=>{_(!0);try{await Je(t,e.id),a()}catch(e){f(e,{context:`schedule_delete`}),z.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},O=async()=>{x(!0);try{await Xe(t,e.id),a()}catch(e){f(e,{context:`schedule_cancel`}),z.error(s(`scheduleDetail.cancelOneTimeFailed`)),x(!1),y(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(he,{title:e.name,headerActions:S?void 0:(0,q.jsx)(M,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(Ae,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(rn,{title:s(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:s(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:s(`scheduleDetail.mode`),value:e.mode}),(0,q.jsx)(pn,{schedule:e,assistantId:t,isPast:r}),(0,q.jsx)(Q,{label:s(`scheduleDetail.status`),value:e.enabled?s(`scheduleDetail.enabled`):s(`scheduleDetail.disabled`)}),(0,q.jsx)(Q,{label:s(`scheduleDetail.nextRun`),value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:s(`scheduleDetail.lastRun`),value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(Gt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(mn,{usage:n}),(0,q.jsx)(rn,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(_n,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>pe(c,e)})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[S?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:C?s(`scheduleDetail.managedByPluginPaused`,{plugin:S,reason:s(C)}):s(`scheduleDetail.managedByPlugin`,{plugin:S})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(M,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>c(o.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),w?(0,q.jsx)(M,{variant:`dangerOutline`,onClick:()=>y(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[T?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(M,{variant:`primary`,loading:d,onClick:()=>void E(),disabled:d||T,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(N,{open:m,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:g,onConfirm:()=>void D(),onCancel:()=>h(!1)}),(0,q.jsx)(N,{open:v,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:b,onConfirm:()=>void O(),onCancel:()=>y(!1)})]})}function yn({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function bn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(I,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(I,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:kt(t.runCount)})]})}function xn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${a?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[s?(0,q.jsx)(b,{checked:i,onChange:s,"aria-label":c}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:o,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:n.map((e,t)=>(0,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(re,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:a}){let{t:o}=V(`schedules`),s=e.isOneShot?``:e.cadenceDescription.trim(),c=e.lastRunAt??e.nextRunAt,l=sn(e),u=[l?o(l):``,s,c?J(c):``].filter(Boolean),d=an(e.sourceKey);return(0,q.jsx)(xn,{name:e.name,badge:d?(0,q.jsx)(i,{tone:`info`,children:d}):void 0,metaParts:u,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:a,toggleAriaLabel:a?o(`scheduleRow.toggleAria`,{name:e.name}):void 0})}function Cn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:o,onToggle:s,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:v}=V(`schedules`),y=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>s(e.id,t)},e.id),b=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),x=n.length>0?(0,q.jsx)(L.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(L.Item,{value:`past`,children:[(0,q.jsxs)(L.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:v(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(L.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(b)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(I,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(c,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:o,className:`cursor-pointer underline hover:no-underline`,children:v(`schedulesPanel.retry`)}),children:v(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(yn,{icon:Fe,title:v(`schedulesPanel.emptyTitle`),description:v(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(M,{variant:`primary`,size:`regular`,onClick:d,children:v(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(M,{variant:`outlined`,size:`regular`,onClick:f,children:v(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[h&&g?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:v(`schedulesPanel.useProfileForAll`,{profile:g})})}):null,e.map(y),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.oneTimeHeading`)}),t.map(b)]}):null,x]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:o}=V(`settings`),s=U(),[c,l]=(0,G.useState)(null),u=n??o(`recentRunsCard.emptyDefault`),d=r&&a?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:o(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(rn,{title:o(`recentRunsCard.title`),children:t?(0,q.jsx)(le,{placement:`section`}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(fe,{placement:`section`,children:u}),d]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Nt(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,u=!n&&!a&&(r||i),d=c===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(E,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?o(`recentRunsCard.missed`):o(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||u?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>pe(s,n):u?()=>l(d?null:e.id):void 0,"aria-label":o(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":u?d:void 0,"aria-controls":u?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),u&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),d]})})}var Tn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function $({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`flex min-w-0 items-center justify-end gap-2 text-right text-[var(--content-default)]`,children:t})]})}function En({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=V(`schedules`),s=U(),{heartbeatConfig:l,consolidationConfig:u,retrospectiveConfig:d}=n,f=l?.effectiveTimezone||l?.timezone||null,p,m,h,g,_,v,y;e===`heartbeat`?(p=a(`systemTaskDetail.nameHeartbeat`),m=l?Lt(l,f):``,h=l?.enabled??!1,g=l?.nextRunAt??null,_=l?.lastRunAt??null,v=n.isHeartbeatRunning,y=n.runHeartbeatNow):e===`consolidation`?(p=a(`systemTaskDetail.nameConsolidation`),m=u?Rt(u):``,h=u?.enabled??!1,g=u?.nextRunAt??null,_=u?.lastRunAt??null,v=n.isConsolidationRunning,y=n.runConsolidationNow):(p=a(`systemTaskDetail.nameRetrospective`),m=zt(),h=d?.enabled??!1,g=d?.nextRunAt??null,_=d?.lastRunAt??null,v=!1,y=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!h,w=v||C,T=a(x?h?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:h?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&d?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&h&&r,k={path:{assistant_id:t},query:{limit:25}},ee=e===`heartbeat`?te(k):e===`consolidation`?oe(k):ve(k),{data:A,isLoading:j,fetchNextPage:ne,hasNextPage:re,isFetchingNextPage:ie}=we({queryKey:ee.queryKey,queryFn:ee.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),N=jt(A?.pages.map(t=>({runs:t.runs.filter(e=>!Pt(e)).map(t=>Zt(t,e))}))),P=N?.find(e=>Ft(e)&&e.status!==`running`),ae=_??P?.finishedAt??P?.startedAt??null;return(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(he,{title:p,closeLabel:a(`scheduleDetail.closeAria`),closeTooltip:a(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(rn,{title:a(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:a(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,q.jsx)(b,{size:`sm`,checked:h,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:p})})]})}),(0,q.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:a(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),m?(0,q.jsx)($,{label:a(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:m})}):null,e===`heartbeat`&&f?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:f})}):null,S?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(g)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(ae)})})]})}),C?(0,q.jsx)(c,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:()=>s(`${o.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(wn,{runs:N,isLoading:j,hasMore:re,isLoadingMore:ie,onLoadMore:()=>void ne()})]}),O||y?(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,q.jsx)(M,{variant:`outlined`,leftIcon:(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${o.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,y?(0,q.jsx)(M,{variant:`primary`,loading:v,leftIcon:(0,q.jsx)(ze,{className:`h-3.5 w-3.5`}),onClick:y,disabled:w,children:a(v?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=n(),[r]=(0,G.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=B(se(e)),{data:c,isLoading:l,isError:u}=B(Ht(e,t,!0)),{recurring:d,oneTime:p,pastOneTime:m}=(0,G.useMemo)(()=>{let e=Vt(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,G.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:d,oneTime:p,pastOneTime:m,usageForSchedule:(0,G.useCallback)(e=>l?{status:`loading`}:u?{status:`error`}:{status:`ready`,summary:h.get(e)??Ut(e)},[u,l,h]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await He(e,t,n),s()}catch(e){f(e,{context:`schedule_toggle`}),z.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,s]),isLoading:a,isError:o,refetch:(0,G.useCallback)(()=>{s()},[s])}}function On(){let e=U(),{scheduleId:t}=Ee(),r=ue(),i=ie(),a=n(),s=Dn(r),c=nn(r,a),l=ge(`memoryOptOut`),u=ce.use.settingsDeveloperNav(),d=l&&u===!0,[f,p]=(0,G.useState)(!1),m=t??null,[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(!1),y=(0,G.useCallback)(t=>{e(t?o.schedules.detail(t):o.schedules.root)},[e]),b=m?s.recurring.find(e=>e.id===m)??s.oneTime.find(e=>e.id===m)??s.pastOneTime.find(e=>e.id===m)??null:null;(0,G.useEffect)(()=>{m&&!s.isLoading&&!s.isError&&!b&&y(null)},[m,b,s.isLoading,s.isError,y]);let x=h===`heartbeat`?c.heartbeatConfig!=null:h===`consolidation`?c.consolidationConfig?.available===!0:h===`retrospective`?c.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{h&&!c.isLoading&&!x&&g(null)},[h,x,c.isLoading]);let S=(0,G.useCallback)(e=>{g(null),y(e)},[y]),C=(0,G.useCallback)(e=>{m&&y(null),g(e)},[y,m]),w=(0,G.useCallback)(()=>{F(e)},[e]),T=wt(r,(0,G.useMemo)(()=>[...s.recurring,...s.oneTime,...s.pastOneTime],[s.recurring,s.oneTime,s.pastOneTime]),s.refetch),E=(b?(0,q.jsx)(vn,{schedule:b,assistantId:r,usage:s.usageForSchedule(b.id),isPast:s.pastOneTime.some(e=>e.id===b.id),onClose:()=>y(null),onDeleted:()=>{y(null),s.refetch()}}):null)??(h&&x?(0,q.jsx)(En,{kind:h,assistantId:r,systemTasks:c,canOpenMemorySettings:d,onClose:()=>g(null)}):null),D=(0,q.jsx)(Cn,{recurring:s.recurring,oneTime:s.oneTime,pastOneTime:s.pastOneTime,usageForSchedule:s.usageForSchedule,isLoading:s.isLoading,isError:s.isError,refetch:s.refetch,onToggle:s.handleToggle,onSelectSchedule:S,selectedScheduleId:m,onStartNewChat:w,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Jt,{heartbeatConfig:c.heartbeatConfig,consolidationConfig:c.consolidationConfig,retrospectiveConfig:c.retrospectiveConfig,heartbeatUsage:c.heartbeatUsage,consolidationUsage:c.consolidationUsage,retrospectiveUsage:c.retrospectiveUsage,isLoading:c.isLoading,hasError:c.hasError,onRetry:c.refetchAll,onSelectHeartbeat:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),O=(0,q.jsx)(Tt,{...T.dialogProps});return E&&i?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ue,{children:E}),O]}):(0,q.jsxs)(q.Fragment,{children:[E&&!i?(0,q.jsx)(Ze,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:D,detail:E}):D,(0,q.jsx)(mt,{isOpen:f,assistantId:r,onClose:()=>p(!1),onCreated:()=>{p(!1),s.refetch()}}),O]})}export{On as SchedulesPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,$o as n,Ap as r,BC as i,Cm as a,DS as o,FC as s,GC as c,Gp as l,Hm as u,Hp as d,IS as f,J as p,JC as m,KC as h,Kh as g,Km as _,Kp as v,Mp as y,NC as b,Np as x,Oa as S,PC as C,Pb as w,Q as T,QC as E,SC as D,Sp as O,Tp as k,Up as ee,Wp as te,Y as A,Z as j,_m as ne,ar as re,au as ie,aw as M,bC as N,bm as P,f as ae,iu as F,jp as oe,m as se,np as ce,nr as le,nt as ue,pC as I,qm as de,rr as fe,ru as pe,sC as me,tr as he,uC as L,uc as ge,uw as _e,vC as R,vm as ve,wC as ye,xC as z,xm as be,ym as xe}from"./app-DbJUeBix.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-CtXGFqsu.js";import{f as U,h as Ee,t as De,x as Oe}from"./react-B9IgSVeK.js";import{$i as ke,A as Ae,Gi as W,Ui as je,Yn as Me,gt as Ne,kt as Pe,oa as Fe,pi as Ie,qi as Le,wi as Re,zt as ze}from"./icons-C0wyat6T.js";import{t as Be}from"./detail-card-WMdjzPA_.js";import{a as Ve,c as He,d as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"./schedules-rvMiqGp0.js";import{a as Qe,r as $e,t as et}from"./usage-window-DN8fvMZe.js";var G=e(Oe(),1),tt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},nt=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],rt=[1,2,3,4,5];function K(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function it(e){let t=Array.from(new Set(e.map(e=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function at(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${it(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function ot(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function st(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function ct(e){let t=it(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&rt.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${nt[t[0]]?.full??`day`}`;let r=t.map(e=>nt[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function lt(e){let t=ot(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${ct(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${st(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=De(),ut=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),dt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}});function ft(e,t){let n=e%12;return t===`PM`?n+12:n}function pt(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function mt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(D.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(ht,{assistantId:t,onClose:n,onCreated:r}):null})}function ht({assistantId:e,onClose:t,onCreated:r}){let{t:i}=V(`settings`),a=n(),[o,c]=(0,G.useState)(``),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(``),[p,m]=(0,G.useState)(`simple`),[h,g]=(0,G.useState)(tt),[_,v]=(0,G.useState)(``),[y,b]=(0,G.useState)(!1),[x,S]=(0,G.useState)(null),w=o.trim(),T=l.trim(),E=d.trim(),O=_.trim(),k=(0,G.useMemo)(()=>p===`simple`?at(h):O,[p,h,O]),ee=(0,G.useMemo)(()=>p===`simple`?lt(h):O||i(`createScheduleModal.cronContinuePrompt`),[p,h,O,i]),te=(0,G.useMemo)(()=>pt(a),[a]),A=w.length>0&&T.length>0&&E.length>0&&k.length>0&&!y;return(0,q.jsxs)(D.Content,{size:`md`,children:[(0,q.jsxs)(D.Header,{children:[(0,q.jsx)(D.Title,{children:i(`createScheduleModal.title`)}),(0,q.jsx)(D.Description,{children:i(`createScheduleModal.description`)})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),A){b(!0),S(null);try{await Ke(e,{name:w,description:T,expression:k,message:E,timezone:a}),b(!1),r()}catch(e){S(e instanceof Error?e.message:i(`createScheduleModal.createFailed`)),b(!1)}}},children:[(0,q.jsx)(D.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(C,{label:i(`createScheduleModal.nameLabel`),placeholder:i(`createScheduleModal.namePlaceholder`),value:o,onChange:e=>c(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(s,{label:i(`createScheduleModal.descriptionLabel`),placeholder:i(`createScheduleModal.descriptionPlaceholder`),value:l,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(bt,{label:i(`createScheduleModal.repeatLabel`),children:p===`simple`?(0,q.jsx)(gt,{cadence:h,onChange:g}):(0,q.jsx)(yt,{value:_,onChange:v,onUseSimple:()=>m(`simple`)})}),(0,q.jsx)(St,{summary:ee,mono:p===`advanced`&&O.length>0,timezoneLabel:te}),p===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{v(e=>e||at(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:i(`createScheduleModal.advancedCron`)}):null,(0,q.jsx)(s,{label:i(`createScheduleModal.messageLabel`),placeholder:i(`createScheduleModal.messagePlaceholder`),value:d,onChange:e=>f(e.target.value),required:!0,fullWidth:!0,rows:4}),x?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:x}):null]})}),(0,q.jsxs)(D.Footer,{children:[(0,q.jsx)(M,{variant:`outlined`,onClick:t,type:`button`,children:i(`createScheduleModal.cancel`)}),(0,q.jsx)(M,{variant:`primary`,type:`submit`,disabled:!A,children:i(y?`createScheduleModal.creating`:`createScheduleModal.create`)})]})]})]})}function gt({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:st(n)}}),{value:`last`,label:n(`createScheduleModal.lastDay`)}];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(ye,{items:r,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:n(`createScheduleModal.frequencyAriaLabel`)}),e.frequency===`hourly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.atMinute`),children:(0,q.jsx)(R,{options:dt,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":n(`createScheduleModal.minuteAriaLabel`),className:`w-24`})}):null,e.frequency===`weekly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onTheseDays`),children:(0,q.jsx)(vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(xt,{label:n(`createScheduleModal.onDay`),children:(0,q.jsx)(R,{options:i,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":n(`createScheduleModal.dayOfMonthAriaLabel`),className:`w-32`})}):null,e.frequency===`hourly`?null:(0,q.jsx)(xt,{label:n(`createScheduleModal.atTime`),children:(0,q.jsx)(_t,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function _t({hour24:e,minute:t,onChange:n}){let{t:r}=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,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(R,{options:ut,value:String(a),onChange:e=>n(ft(Number(e),i),t),"aria-label":r(`createScheduleModal.hourAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(R,{options:dt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":r(`createScheduleModal.minuteAriaLabel`),className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.jsx)(ye,{items:o,value:i,onChange:e=>n(ft(a,e),t),ariaLabel:r(`createScheduleModal.periodAriaLabel`)})})]})}function vt({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:nt.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:_e(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function yt({value:e,onChange:t,onUseSimple:n}){let{t:r}=V(`settings`);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(C,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":r(`createScheduleModal.cronAriaLabel`),helperText:r(`createScheduleModal.cronHelper`)}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:r(`createScheduleModal.backToSimple`)})]})}function bt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function xt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function St({summary:e,mono:t,timezoneLabel:n}){let{t:r}=V(`settings`);return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(Re,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:_e(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`createScheduleModal.timezoneNote`,{timezone:n})})]})]})}function Ct(e,t,n){let r=!!e&&n?.enabled!==!1,{data:i}=B({...k({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),{data:a}=B({...O({path:{assistant_id:e}}),enabled:r,staleTime:6e4}),o=i?.callSites.find(e=>e.id===t)?.defaultProfile??null;return o==null?{key:null,label:null}:{key:o,label:(a?Qe(a):{})[o]?.displayName??o}}function wt(e,t,n){let{t:r}=V(`settings`),i=Ct(e,`mainAgent`),[a,o]=(0,G.useState)(!1),s=(0,G.useMemo)(()=>i.key?t.filter(e=>ae(e)&&e.inferenceProfile!==i.key).length:0,[i.key,t]),c=i.label,l=Ce({mutationFn:t=>qe(e,null,t),onSuccess:e=>{o(!1),n(),z.success(e===0?r(`scheduleProfileRebase.alreadyOnProfileToast`,{profile:c}):r(`scheduleProfileRebase.movedToast`,{count:e,profile:c}))},onError:e=>{f(e,{context:`schedules_rebase_inference_profile`}),z.error(r(`scheduleProfileRebase.moveFailedToast`))}});return{defaultProfileLabel:c,offDefaultCount:s,canRebase:s>0,requestRebase:()=>o(!0),dialogProps:{open:a&&i.key!=null,profileLabel:c,offDefaultCount:s,isPending:l.isPending,onConfirm:()=>{i.key&&l.mutate(i.key)},onCancel:()=>o(!1)}}}function Tt({open:e,profileLabel:t,offDefaultCount:n,isPending:r,onConfirm:i,onCancel:a}){let{t:o}=V(`settings`);return(0,q.jsx)(N,{open:e,title:o(`scheduleProfileRebase.dialogTitle`,{profile:t}),message:o(`scheduleProfileRebase.dialogMessage`,{count:n,profile:t}),confirmLabel:o(`scheduleProfileRebase.moveSchedules`),isPending:r,onConfirm:i,onCancel:a})}function Et(e=g(),t=Date.now()){return $e(et,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function Dt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Ot=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Ot.format(e)}function kt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function At(e,t=H){let n=Math.round(e/6e4);return n>=60&&n%60==0?t(`scheduleFormatters.everyHours`,{count:n/60}):t(`scheduleFormatters.everyMinutes`,{count:n})}function jt(e){if(!e)return;let t=new Set,n=[];for(let r of e)for(let e of r.runs)t.has(e.id)||(t.add(e.id),n.push(e));return n}function Mt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function Nt(e){return Mt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}function Pt(e){return e.status===`pending`||e.status===`superseded`}function Ft(e){return e.status!==`skipped`&&e.status!==`missed`&&!Pt(e)}var It={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function Lt(e,t,n=H){let r=e.effectiveTimezone||e.timezone||t||null;if(e.cronExpression)return r?`Cron: ${e.cronExpression} (${r})`:`Cron: ${e.cronExpression}`;let i=At(e.intervalMs,n);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(i+=r?` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00 ${r})`:` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),i}function Rt(e,t=H){return At(e.intervalMs,t)}function zt(e=H){return e(`scheduleFormatters.retrospectiveSubtitle`)}function Bt(e,t){return ae(e)?e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t:!0}function Vt(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?Bt(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function Ht(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?Ve(e,Et(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function Ut(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function Wt(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return Ft(e)&&t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function Gt({status:e}){let{t}=V(`settings`);return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??t(`scheduleSharedUi.unknownStatus`)})}function Kt({scheduleName:e,usage:t,onOpenUsage:n}){let{t:r}=V(`settings`);if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":r(`scheduleSharedUi.loadingUsage`),className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(I,{as:`span`,className:`h-5 w-16`}),(0,q.jsx)(I,{as:`span`,className:`h-5 w-16`})]});let i=t.status===`error`,a=i?`--`:Y(t.summary.totalEstimatedCostUsd),o=i?`--`:kt(t.summary.runCount),s=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),c=t.status===`ready`&&t.summary.runCount===0,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,u=c?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":r(`scheduleSharedUi.viewUsageFor`,{name:e}),className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${l}`,children:a}):(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.costFor`,{name:e,cost:a}),className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a}),(0,q.jsx)(`span`,{"aria-label":r(`scheduleSharedUi.runsFor`,{name:e,runs:o}),className:`block min-w-[64px] px-1 py-0.5 ${u}`,children:o})]})}function qt({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:a,usage:o,helperText:s,statusLabel:c,statusTone:l=`neutral`,onClick:u}){let{t:d}=V(`settings`);return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:u,"aria-label":d(`systemTasksSection.openAriaLabel`,{name:e}),className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),s?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:s}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsx)(`span`,{children:d(`systemTasksSection.nextRun`,{time:J(r)})}):null,a?(0,q.jsx)(`span`,{children:d(`systemTasksSection.lastRun`,{time:J(a)})}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(Kt,{scheduleName:e,usage:o}),c?(0,q.jsx)(i,{tone:l,children:c}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":d(n?`systemTasksSection.enabled`:`systemTasksSection.disabled`)}),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function Jt({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:l,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,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(Me,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!_?(0,q.jsx)(c,{tone:`error`,children:(0,q.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.loadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})}):(0,q.jsxs)(`div`,{children:[m?(0,q.jsx)(qt,{name:p(`systemTasksSection.heartbeatName`),subtitle:Lt(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:u}):null,h?(0,q.jsx)(qt,{name:p(`systemTasksSection.consolidationName`),subtitle:Rt(t),enabled:t.enabled,helperText:t.enabled?void 0:p(`systemTasksSection.consolidationPausedHelper`),nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:d}):null,g?(0,q.jsx)(qt,{name:p(`systemTasksSection.retrospectiveName`),subtitle:zt(),enabled:n.enabled,helperText:n.enabled?void 0:p(`systemTasksSection.retrospectivePausedHelper`),nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:p(`systemTasksSection.paused`),statusTone:`warning`,onClick:f}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsx)(c,{tone:`error`,children:(0,q.jsx)(Se,{ns:`settings`,i18nKey:`systemTasksSection.partialLoadError`,components:{retryButton:(0,q.jsx)(`button`,{type:`button`,onClick:l,className:`cursor-pointer underline hover:no-underline`})}})})}):null]});return(0,q.jsx)(Be,{children:(0,q.jsx)(L.Root,{type:`multiple`,children:(0,q.jsxs)(L.Item,{value:`system-jobs`,children:[(0,q.jsxs)(L.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`systemTasksSection.title`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.subtitle`)})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[v.length>0?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:p(`systemTasksSection.cost7d`,{cost:Y(y)})}):null,(0,q.jsx)(Le,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(L.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}var Yt={disabled:`heartbeat is disabled`,outside_active_hours:`outside active hours`,overlap:`previous run was still active`,pre_first_user_message:`waiting for the first conversation`,max_consecutive_runs:`consecutive-run cap reached`,max_daily_runs:`daily run cap reached`,quiesced:`assistant was shutting down`};function Xt(e){return e.status===`missed`?`Missed while the assistant was offline`:`skipReason`in e&&e.skipReason?`Skipped — ${Yt[e.skipReason]??e.skipReason}`:null}function Zt(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:Xt(e),error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt,...`title`in e?{title:e.title}:{}}}function Qt(e){return e.runs.filter(e=>!Pt(e)).map(e=>Zt(e,`heartbeat`))}function $t(e){return e.runs.map(e=>Zt(e,`consolidation`))}function en(e){return e.runs.map(e=>Zt(e,`retrospective`))}var Z=1e4;function tn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:Wt(n,r,i)}}function nn(e,t){let n=Te(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:c}=B({...d(i),enabled:!!e,staleTime:Z}),{data:p,isLoading:m,isError:h,refetch:g}=B({...r(i),enabled:!!e,staleTime:Z}),{data:b,isLoading:S,isError:C,refetch:w}=B({...ne(i),enabled:!!e,staleTime:Z}),T={path:{assistant_id:e??``},query:{limit:100}},{data:E,isLoading:D,isError:O,refetch:k}=B({...v(T),select:Qt,enabled:!!e&&a!=null,staleTime:Z}),{data:te,isLoading:A,isError:j,refetch:re}=B({...x(T),select:$t,enabled:!!e&&p?.available===!0,staleTime:Z}),{data:ie,isLoading:M,isError:N,refetch:ae}=B({...P(T),select:en,enabled:!!e&&b?.available===!0,staleTime:Z}),F=(0,G.useMemo)(()=>Et(t),[t]),oe=(0,G.useMemo)(()=>tn(D,O,It.heartbeat,E,F),[E,O,D,F]),se=(0,G.useMemo)(()=>tn(A,j,It.consolidation,te,F),[te,j,A,F]),ce=(0,G.useMemo)(()=>tn(M,N,It.retrospective,ie,F),[ie,N,M,F]),le=t=>{if(!e)return;let a={heartbeat:{config:d(i).queryKey,runs:v(T).queryKey,infinite:l(i)},consolidation:{config:r(i).queryKey,runs:x(T).queryKey,infinite:y(i)},retrospective:{config:ne(i).queryKey,runs:P(T).queryKey,infinite:xe(i)}}[t];n.invalidateQueries({queryKey:a.config}),n.invalidateQueries({queryKey:a.runs}),n.invalidateQueries({queryKey:a.infinite})},ue=de({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.heartbeatStarted`)):z.info(H(`settings:useSystemTasks.heartbeatSkipped`))},onError:e=>{f(e,{context:`heartbeat_run_now`}),z.error(H(`settings:useSystemTasks.heartbeatRunFailed`))},onSettled:()=>le(`heartbeat`)}),I=u({onSuccess:e=>{e.ran?z.success(H(`settings:useSystemTasks.consolidationQueued`)):z.info(H(`settings:useSystemTasks.consolidationAlreadyQueued`))},onError:e=>{f(e,{context:`consolidation_run_now`}),z.error(H(`settings:useSystemTasks.consolidationRunFailed`))},onSettled:()=>le(`consolidation`)}),fe=_({onSuccess:e=>{ee(n,i,e),z.success(e.enabled?H(`settings:useSystemTasks.heartbeatEnabled`):H(`settings:useSystemTasks.heartbeatDisabled`))},onError:e=>{f(e,{context:`heartbeat_toggle`}),z.error(H(`settings:useSystemTasks.heartbeatToggleFailed`))}});return{heartbeatConfig:a,consolidationConfig:p,retrospectiveConfig:b,heartbeatUsage:oe,consolidationUsage:se,retrospectiveUsage:ce,isLoading:o||m||S,hasError:s||h||C,isHeartbeatRunning:ue.isPending,isConsolidationRunning:I.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:m,isConsolidationError:h,isRetrospectiveLoading:S,isRetrospectiveError:C,refetchHeartbeat:c,refetchConsolidation:g,refetchRetrospective:w,runHeartbeatNow:()=>{e&&ue.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&I.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&fe.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),g(),w(),k(),re(),ae()}}}function rn({id:e,title:t,subtitle:n,accessory:r,children:i,className:a}){let o=!!(t||n||r);return(0,q.jsx)(h,{asChild:!0,className:_e(`rounded-lg`,a),children:(0,q.jsxs)(`section`,{id:e,children:[o&&(0,q.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[t&&(0,q.jsx)(m,{variant:`title-small`,as:`h2`,className:`text-[var(--content-emphasised)]`,children:t}),n&&(0,q.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]}),r&&(0,q.jsx)(`div`,{className:`shrink-0`,children:r})]}),i!=null&&(0,q.jsx)(`div`,{className:o?`mt-3`:``,children:i})]})})}function an(e){return/^plugin:([^/]+)\//.exec(e??``)?.[1]??null}var on={user_disabled:`scheduleDisarmReason.userDisabled`,plugin_removed:`scheduleDisarmReason.pluginRemoved`,plugin_disabled:`scheduleDisarmReason.pluginDisabled`,declaration_removed:`scheduleDisarmReason.declarationRemoved`,declaration_disabled:`scheduleDisarmReason.declarationDisabled`};function sn(e){return e.enabled||!e.disarmReason?null:on[e.disarmReason]??null}function cn(e,t){return t?.[e]?.displayName??e}function ln({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r,respectCallSiteOverride:i=!1}){let{t:a}=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({...O({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),u=(0,G.useMemo)(()=>l?Qe(l):{},[l]),{label:d}=Ct(e,n,{enabled:c}),f=c&&i?s(l?.llm?.callSites?.[n],u):void 0,p=t==null?f??(d==null?o:a(`modelProfileRow.defaultNamed`,{name:d})):cn(t,u);return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:a(`modelProfileRow.label`)}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-right`,title:p,children:p})]})}function un(e,t,n){let r=w(e?.profiles??{},e?.profileOrder??[]);return[{value:null,label:`Default`},...T(r,[t],n).map(e=>{let t=p(e,r,n);return{value:e.name,label:A(e),...t?{issue:t}:{},...t===`undispatchable`?{reason:j(e)}:{}}})]}function dn(e,n){let{data:r}=B({...O({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=t();return(0,G.useMemo)(()=>un(r?.llm,n,{requireOwnProviderAndModel:i}),[r?.llm,n,i])}function fn({assistantId:e,value:t,onChange:n,disabled:r=!1,isSaving:i=!1,className:a,includeDefaultOption:o=!0,placeholder:s,variant:c,menuAlign:l}){let{t:u}=V(`settings`);return(0,q.jsx)(R,{value:t,onChange:n,onSelectNone:()=>n(null),options:dn(e,t).filter(e=>o||e.value!=null).map(e=>({...e.issue===`undispatchable`?{icon:(0,q.jsx)(je,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),...e.reason?{tooltip:e.reason}:{}}:{},value:e.value,label:e.label})),disabled:r||i,placeholder:s,className:a,variant:c,menuAlign:l,"aria-label":u(`modelProfileSelect.ariaLabel`)})}function Q({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function pn({schedule:e,assistantId:t,isPast:n}){let{t:r}=V(`schedules`),i=Te(),o=a({path:{assistant_id:t}}),s=Ce({mutationFn:n=>Ge(t,e.id,{inferenceProfile:n}),onMutate:async t=>{await i.cancelQueries({queryKey:o});let n=i.getQueryData(o)?.find(t=>t.id===e.id)?.inferenceProfile;return i.setQueryData(o,n=>n?.map(n=>n.id===e.id?{...n,inferenceProfile:t}:n)),{previousProfile:n}},onError:(t,n,a)=>{let s=a?.previousProfile;s!==void 0&&i.setQueryData(o,t=>t?.map(t=>t.id===e.id?{...t,inferenceProfile:s}:t)),f(t,{context:`schedule_update_inference_profile`}),z.error(r(`scheduleDetail.modelChangeFailed`))},onSettled:()=>i.invalidateQueries({queryKey:o})});return e.mode===`workflow`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:r(`scheduleDetail.notUsedForWorkflow`)}),(0,q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`scheduleDetail.modelProfileWorkflowNote`)})]}):n?(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,q.jsx)(ln,{assistantId:t,pinnedProfile:e.inferenceProfile})}):(0,q.jsx)(Q,{label:r(`scheduleDetail.modelProfile`),value:(0,q.jsx)(fn,{assistantId:t,value:e.inferenceProfile,onChange:t=>{t&&t!==e.inferenceProfile&&s.mutate(t)},includeDefaultOption:!1,placeholder:r(`scheduleDetail.chooseModel`),isSaving:s.isPending,variant:`ghost`,menuAlign:`end`,className:`-my-1 -mr-2`})})}function mn({usage:e}){let{t}=V(`schedules`);return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(I,{className:`h-15.5 rounded-xl`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(me,{icon:(0,q.jsx)(Ie,{}),value:Y(e.summary.totalEstimatedCostUsd),label:t(`scheduleDetail.costLabel`,{days:7})}),(0,q.jsx)(me,{icon:(0,q.jsx)(Pe,{}),value:kt(e.summary.runCount),label:t(`scheduleDetail.runsLabel`,{days:7})})]})}function hn(e){return e.exists&&e.archivedAt==null}function gn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let{t:o}=V(`schedules`),s=S(),c=Nt(e),l=e.conversations??(c?[{id:c,title:null,exists:!0,archivedAt:null}]:[]),u=X(e.output),d=X(e.error),f=!r&&l.length===1&&hn(l[0])?l[0].id:null,p=!f&&(l.length>0||u||d),m=`schedule-run-details-${t}`,h=!!f||p,g=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),h?(0,q.jsx)(W,{className:_e(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,p&&n?`rotate-90`:``)}):null]}),_=p&&n?(0,q.jsx)(`div`,{id:m,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[l.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.conversations`)}),(0,q.jsx)(`div`,{className:`space-y-1`,children:l.map(e=>hn(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:X(e.title)?e.title:o(`scheduleDetail.conversation`)},e.id):(0,q.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[X(e.title)?e.title:o(`scheduleDetail.conversation`),` `,e.exists?s:o(`scheduleDetail.conversationUnavailable`)]},e.id))})]}):null,u?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,d?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`scheduleDetail.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return f?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(f),"aria-label":o(`scheduleDetail.openRunConversationAria`,{time:J(e.startedAt)}),className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:g})}):p?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":o(`scheduleDetail.toggleRunDetailsAria`,{time:J(e.startedAt)}),"aria-expanded":n,"aria-controls":m,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:g}),_]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:g})}function _n({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let{t:i}=V(`schedules`),[a,o]=(0,G.useState)(null);return t?(0,q.jsx)(le,{placement:`section`}):!e||e.length===0?(0,q.jsx)(fe,{placement:`section`,children:i(`scheduleDetail.noRunsYet`)}):(0,q.jsx)(`div`,{className:`-mx-2 divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(gn,{run:e,index:t,isExpanded:a===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>o(t=>t===e?null:e)},e.id))})}function vn({schedule:e,assistantId:t,usage:n,isPast:r=!1,onClose:i,onDeleted:a}){let{t:s}=V(`schedules`),c=U(),{data:l,isLoading:u}=B({queryKey:be({path:{assistant_id:t,id:e.id}}),queryFn:()=>We(t,e.id),staleTime:1e4}),[d,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),S=an(e.sourceKey),C=sn(e),w=e.isOneShot&&!r&&S===null&&e.status!==`firing`,T=S!==null&&!e.enabled,E=async()=>{p(!0);try{await Ye(t,e.id)}catch(e){f(e,{context:`schedule_run_now`}),z.error(s(`scheduleDetail.runFailed`))}finally{p(!1)}},D=async()=>{_(!0);try{await Je(t,e.id),a()}catch(e){f(e,{context:`schedule_delete`}),z.error(s(`scheduleDetail.deleteFailed`)),_(!1),h(!1)}},O=async()=>{x(!0);try{await Xe(t,e.id),a()}catch(e){f(e,{context:`schedule_cancel`}),z.error(s(`scheduleDetail.cancelOneTimeFailed`)),x(!1),y(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(he,{title:e.name,headerActions:S?void 0:(0,q.jsx)(M,{variant:`dangerOutline`,iconOnly:(0,q.jsx)(Ae,{}),"aria-label":s(`scheduleDetail.delete`),tooltip:s(`scheduleDetail.delete`),onClick:()=>h(!0)}),closeLabel:s(`scheduleDetail.closeAria`),closeTooltip:s(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsx)(rn,{title:s(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:s(`scheduleDetail.cadence`),value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:s(`scheduleDetail.mode`),value:e.mode}),(0,q.jsx)(pn,{schedule:e,assistantId:t,isPast:r}),(0,q.jsx)(Q,{label:s(`scheduleDetail.status`),value:e.enabled?s(`scheduleDetail.enabled`):s(`scheduleDetail.disabled`)}),(0,q.jsx)(Q,{label:s(`scheduleDetail.nextRun`),value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:s(`scheduleDetail.lastRun`),value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(Gt,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})}),(0,q.jsx)(mn,{usage:n}),(0,q.jsx)(rn,{title:s(`scheduleDetail.recentRuns`),children:(0,q.jsx)(_n,{runs:l?.runs,isLoading:u,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>pe(c,e)})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[S?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:C?s(`scheduleDetail.managedByPluginPaused`,{plugin:S,reason:s(C)}):s(`scheduleDetail.managedByPlugin`,{plugin:S})}):(0,q.jsx)(`span`,{}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(M,{variant:`outlined`,leftIcon:(0,q.jsx)(ke,{className:`h-3.5 w-3.5`}),onClick:()=>c(o.settings.usageForSchedule(e.id)),children:s(`scheduleDetail.viewUsage`)}),w?(0,q.jsx)(M,{variant:`dangerOutline`,onClick:()=>y(!0),children:s(`scheduleDetail.cancelOneTime`)}):null,e.mode===`script`?(0,q.jsxs)(q.Fragment,{children:[T?(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`scheduleDetail.turnOnToRun`)}):null,(0,q.jsx)(M,{variant:`primary`,loading:d,onClick:()=>void E(),disabled:d||T,children:s(d?`scheduleDetail.running`:`scheduleDetail.runNow`)})]}):null]})]})]}),(0,q.jsx)(N,{open:m,title:s(`scheduleDetail.delete`),message:s(`scheduleDetail.deleteConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmDelete`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:g,onConfirm:()=>void D(),onCancel:()=>h(!1)}),(0,q.jsx)(N,{open:v,title:s(`scheduleDetail.cancelOneTime`),message:s(`scheduleDetail.cancelOneTimeConfirmMessage`,{name:e.name}),confirmLabel:s(`scheduleDetail.confirmCancelOneTime`),cancelLabel:s(`scheduleDetail.cancel`),destructive:!0,isPending:b,onConfirm:()=>void O(),onCancel:()=>y(!1)})]})}function yn({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function bn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(I,{as:`span`,className:`h-4 w-12`}),(0,q.jsx)(I,{as:`span`,className:`h-4 w-10`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:kt(t.runCount)})]})}function xn({name:e,badge:t,metaParts:n,usage:r,enabled:i,selected:a,onClick:o,onToggle:s,toggleAriaLabel:c}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${a?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[s?(0,q.jsx)(b,{checked:i,onChange:s,"aria-label":c}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:o,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t]}),n.length>0?(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:n.map((e,t)=>(0,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(re,{}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[bn(r),(0,q.jsx)(W,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Sn({schedule:e,usage:t,selected:n,onClick:r,onToggle:a}){let{t:o}=V(`schedules`),s=e.isOneShot?``:e.cadenceDescription.trim(),c=e.lastRunAt??e.nextRunAt,l=sn(e),u=[l?o(l):``,s,c?J(c):``].filter(Boolean),d=an(e.sourceKey);return(0,q.jsx)(xn,{name:e.name,badge:d?(0,q.jsx)(i,{tone:`info`,children:d}):void 0,metaParts:u,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:a,toggleAriaLabel:a?o(`scheduleRow.toggleAria`,{name:e.name}):void 0})}function Cn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:a,refetch:o,onToggle:s,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,onRebaseProfiles:h,defaultProfileLabel:g,systemTasksSlot:_}){let{t:v}=V(`schedules`),y=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>s(e.id,t)},e.id),b=e=>(0,q.jsx)(Sn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),x=n.length>0?(0,q.jsx)(L.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(L.Item,{value:`past`,children:[(0,q.jsxs)(L.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(W,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsx)(`span`,{children:v(`schedulesPanel.pastToggle`,{count:n.length})})]}),(0,q.jsx)(L.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(b)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(I,{className:`h-12 rounded-md`},t))}):a&&e.length===0?(0,q.jsx)(c,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:o,className:`cursor-pointer underline hover:no-underline`,children:v(`schedulesPanel.retry`)}),children:v(`schedulesPanel.loadFailed`)}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(yn,{icon:Fe,title:v(`schedulesPanel.emptyTitle`),description:v(`schedulesPanel.emptyDescription`),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(M,{variant:`primary`,size:`regular`,onClick:d,children:v(`schedulesPanel.newConversation`)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.emptyActionsSeparator`)}),(0,q.jsx)(M,{variant:`outlined`,size:`regular`,onClick:f,children:v(`schedulesPanel.createSchedule`)})]})}):(0,q.jsxs)(`div`,{children:[h&&g?(0,q.jsx)(`div`,{className:`mb-1 flex min-w-0 justify-end`,children:(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:h,className:`max-w-full truncate`,children:v(`schedulesPanel.useProfileForAll`,{profile:g})})}):null,e.map(y),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:v(`schedulesPanel.oneTimeHeading`)}),t.map(b)]}):null,x]}),_?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:_}):null]})}function wn({runs:e,isLoading:t,emptyMessage:n,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:a}){let{t:o}=V(`settings`),s=U(),[c,l]=(0,G.useState)(null),u=n??o(`recentRunsCard.emptyDefault`),d=r&&a?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:a,disabled:i,loading:i,children:o(i?`recentRunsCard.loadingMore`:`recentRunsCard.loadMore`)})}):null;return(0,q.jsx)(rn,{title:o(`recentRunsCard.title`),children:t?(0,q.jsx)(le,{placement:`section`}):!e||e.length===0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(fe,{placement:`section`,children:u}),d]}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=Nt(e),r=X(e.output),i=X(e.error),a=e.status===`skipped`||e.status===`missed`,u=!n&&!a&&(r||i),d=c===e.id,f=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(E,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(Gt,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,a?(0,q.jsx)(q.Fragment,{children:r?e.output:e.status===`missed`?o(`recentRunsCard.missed`):o(`recentRunsCard.skipped`)}):(0,q.jsxs)(q.Fragment,{children:[Dt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||u?(0,q.jsx)(W,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${d?`rotate-90`:``}`}):null]}),onSelect:n?()=>pe(s,n):u?()=>l(d?null:e.id):void 0,"aria-label":o(`recentRunsCard.runAtAria`,{time:J(e.startedAt)}),"aria-expanded":u?d:void 0,"aria-controls":u?f:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),u&&d?(0,q.jsx)(`div`,{id:f,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`recentRunsCard.output`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:o(`recentRunsCard.error`)}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),d]})})}var Tn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function $({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex min-h-6 items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`shrink-0 text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`flex min-w-0 items-center justify-end gap-2 text-right text-[var(--content-default)]`,children:t})]})}function En({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,onClose:i}){let{t:a}=V(`schedules`),s=U(),{heartbeatConfig:l,consolidationConfig:u,retrospectiveConfig:d}=n,f=l?.effectiveTimezone||l?.timezone||null,p,m,h,g,_,v,y;e===`heartbeat`?(p=a(`systemTaskDetail.nameHeartbeat`),m=l?Lt(l,f):``,h=l?.enabled??!1,g=l?.nextRunAt??null,_=l?.lastRunAt??null,v=n.isHeartbeatRunning,y=n.runHeartbeatNow):e===`consolidation`?(p=a(`systemTaskDetail.nameConsolidation`),m=u?Rt(u):``,h=u?.enabled??!1,g=u?.nextRunAt??null,_=u?.lastRunAt??null,v=n.isConsolidationRunning,y=n.runConsolidationNow):(p=a(`systemTaskDetail.nameRetrospective`),m=zt(),h=d?.enabled??!1,g=d?.nextRunAt??null,_=d?.lastRunAt??null,v=!1,y=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,C=x&&!h,w=v||C,T=a(x?h?`systemTaskDetail.statusManagedOn`:`systemTaskDetail.statusPaused`:h?`scheduleDetail.enabled`:`scheduleDetail.disabled`),E=S&&d?.available===!0,D=a(E?`systemTaskDetail.pausedRetrospectiveSwitchedOff`:S?`systemTaskDetail.pausedRetrospective`:`systemTaskDetail.pausedConsolidation`),O=x&&h&&r,k={path:{assistant_id:t},query:{limit:25}},ee=e===`heartbeat`?te(k):e===`consolidation`?oe(k):ve(k),{data:A,isLoading:j,fetchNextPage:ne,hasNextPage:re,isFetchingNextPage:ie}=we({queryKey:ee.queryKey,queryFn:ee.queryFn,initialPageParam:{path:k.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),N=jt(A?.pages.map(t=>({runs:t.runs.filter(e=>!Pt(e)).map(t=>Zt(t,e))}))),P=N?.find(e=>Ft(e)&&e.status!==`running`),ae=_??P?.finishedAt??P?.startedAt??null;return(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)] md:rounded-[var(--radius-xl)] md:border md:border-[var(--border-base)]`,children:[(0,q.jsx)(he,{title:p,closeLabel:a(`scheduleDetail.closeAria`),closeTooltip:a(`scheduleDetail.close`),onClose:i}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-5 overflow-y-auto px-5 py-5`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(rn,{title:a(`scheduleDetail.details`),children:(0,q.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,q.jsx)($,{label:a(`scheduleDetail.status`),value:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`truncate`,children:T}),x?null:(0,q.jsx)(b,{size:`sm`,checked:h,onChange:n.toggleHeartbeat,"aria-label":a(`scheduleDetail.toggleAria`,{name:p})})]})}),(0,q.jsx)(ln,{assistantId:t,defaultCallSite:Tn[e],fallbackLabel:a(`systemTaskDetail.fallbackModelProfile`),respectCallSiteOverride:!0}),m?(0,q.jsx)($,{label:a(`systemTaskDetail.repeats`),value:(0,q.jsx)(`span`,{className:`truncate`,children:m})}):null,e===`heartbeat`&&f?(0,q.jsx)($,{label:a(`scheduleDetail.timezone`),value:(0,q.jsx)(`span`,{className:`truncate`,children:f})}):null,S?null:(0,q.jsx)($,{label:a(`scheduleDetail.nextRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(g)})}),(0,q.jsx)($,{label:a(`scheduleDetail.lastRun`),value:(0,q.jsx)(`span`,{className:`truncate`,children:J(ae)})})]})}),C?(0,q.jsx)(c,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(M,{variant:`outlined`,size:`compact`,onClick:()=>s(`${o.settings.developer}?tab=memory`),children:a(E?`systemTaskDetail.openMemorySettings`:`systemTaskDetail.turnOnMemory`)}):void 0,children:D}):null]}),(0,q.jsx)(wn,{runs:N,isLoading:j,hasMore:re,isLoadingMore:ie,onLoadMore:()=>void ne()})]}),O||y?(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-hover)] p-[var(--app-spacing-lg)]`,children:[O?(0,q.jsx)(M,{variant:`outlined`,leftIcon:(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`}),onClick:()=>s(`${o.settings.developer}?tab=memory`),children:a(`systemTaskDetail.memorySettings`)}):null,y?(0,q.jsx)(M,{variant:`primary`,loading:v,leftIcon:(0,q.jsx)(ze,{className:`h-3.5 w-3.5`}),onClick:y,disabled:w,children:a(v?`scheduleDetail.running`:`scheduleDetail.runNow`)}):null]}):null]})}function Dn(e){let t=n(),[r]=(0,G.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=B(se(e)),{data:c,isLoading:l,isError:u}=B(Ht(e,t,!0)),{recurring:d,oneTime:p,pastOneTime:m}=(0,G.useMemo)(()=>{let e=Vt(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,G.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:d,oneTime:p,pastOneTime:m,usageForSchedule:(0,G.useCallback)(e=>l?{status:`loading`}:u?{status:`error`}:{status:`ready`,summary:h.get(e)??Ut(e)},[u,l,h]),handleToggle:(0,G.useCallback)(async(t,n)=>{if(e)try{await He(e,t,n),s()}catch(e){f(e,{context:`schedule_toggle`}),z.error(H(`schedules:scheduleDetail.toggleFailed`))}},[e,s]),isLoading:a,isError:o,refetch:(0,G.useCallback)(()=>{s()},[s])}}function On(){let e=U(),{scheduleId:t}=Ee(),r=ue(),i=ie(),a=n(),s=Dn(r),c=nn(r,a),l=ge(`memoryOptOut`),u=ce.use.settingsDeveloperNav(),d=l&&u===!0,[f,p]=(0,G.useState)(!1),m=t??null,[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(!1),y=(0,G.useCallback)(t=>{e(t?o.schedules.detail(t):o.schedules.root)},[e]),b=m?s.recurring.find(e=>e.id===m)??s.oneTime.find(e=>e.id===m)??s.pastOneTime.find(e=>e.id===m)??null:null;(0,G.useEffect)(()=>{m&&!s.isLoading&&!s.isError&&!b&&y(null)},[m,b,s.isLoading,s.isError,y]);let x=h===`heartbeat`?c.heartbeatConfig!=null:h===`consolidation`?c.consolidationConfig?.available===!0:h===`retrospective`?c.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{h&&!c.isLoading&&!x&&g(null)},[h,x,c.isLoading]);let S=(0,G.useCallback)(e=>{g(null),y(e)},[y]),C=(0,G.useCallback)(e=>{m&&y(null),g(e)},[y,m]),w=(0,G.useCallback)(()=>{F(e)},[e]),T=wt(r,(0,G.useMemo)(()=>[...s.recurring,...s.oneTime,...s.pastOneTime],[s.recurring,s.oneTime,s.pastOneTime]),s.refetch),E=(b?(0,q.jsx)(vn,{schedule:b,assistantId:r,usage:s.usageForSchedule(b.id),isPast:s.pastOneTime.some(e=>e.id===b.id),onClose:()=>y(null),onDeleted:()=>{y(null),s.refetch()}}):null)??(h&&x?(0,q.jsx)(En,{kind:h,assistantId:r,systemTasks:c,canOpenMemorySettings:d,onClose:()=>g(null)}):null),D=(0,q.jsx)(Cn,{recurring:s.recurring,oneTime:s.oneTime,pastOneTime:s.pastOneTime,usageForSchedule:s.usageForSchedule,isLoading:s.isLoading,isError:s.isError,refetch:s.refetch,onToggle:s.handleToggle,onSelectSchedule:S,selectedScheduleId:m,onStartNewChat:w,onCreateSchedule:()=>p(!0),pastOpen:_,onPastOpenChange:v,onRebaseProfiles:T.canRebase?T.requestRebase:void 0,defaultProfileLabel:T.defaultProfileLabel??void 0,systemTasksSlot:(0,q.jsx)(Jt,{heartbeatConfig:c.heartbeatConfig,consolidationConfig:c.consolidationConfig,retrospectiveConfig:c.retrospectiveConfig,heartbeatUsage:c.heartbeatUsage,consolidationUsage:c.consolidationUsage,retrospectiveUsage:c.retrospectiveUsage,isLoading:c.isLoading,hasError:c.hasError,onRetry:c.refetchAll,onSelectHeartbeat:()=>C(`heartbeat`),onSelectConsolidation:()=>C(`consolidation`),onSelectRetrospective:()=>C(`retrospective`)})}),O=(0,q.jsx)(Tt,{...T.dialogProps});return E&&i?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ue,{children:E}),O]}):(0,q.jsxs)(q.Fragment,{children:[E&&!i?(0,q.jsx)(Ze,{storageKey:`schedulesDetailDrawerWidth`,detailKey:m??h??void 0,section:D,detail:E}):D,(0,q.jsx)(mt,{isOpen:f,assistantId:r,onClose:()=>p(!1),onCreated:()=>{p(!1),s.refetch()}}),O]})}export{On as SchedulesPage};
@@ -1 +1 @@
1
- import{BS as e,Cy as t,Dy as n,Ey as r,Oy as i,Sy as a,Ty as o,UC as s,US as c,VS as l,ky as u,wy as d,xy as f}from"./app-4aEhon_S.js";import{t as p}from"./react-B9IgSVeK.js";var m=p();function h({storageKey:e,detailKey:t,section:n,detail:r}){return(0,m.jsx)(s,{className:`min-h-0 flex-1`,storageKey:e,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,m.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:n}),right:(0,m.jsx)(`div`,{className:`home-detail-drawer`,children:r},t)})}function g({children:e}){return(0,m.jsx)(`div`,{className:`fixed inset-0 z-30 bg-[var(--surface-overlay)]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`},children:e})}async function _(t,r){let{error:i,response:a}=await n({path:{assistant_id:t},body:r,throwOnError:!1});if(l(a,i,`Failed to create schedule.`),!a.ok)throw new e(a.status,c(i,a,`Failed to create schedule.`))}async function v(n,r,i){let{error:a,response:o}=await t({path:{assistant_id:n,id:r},body:i,throwOnError:!1});if(l(o,a,`Failed to update schedule.`),!o.ok)throw new e(o.status,c(a,o,`Failed to update schedule.`))}var y=`Failed to move schedules to the selected profile.`;async function b(t,n,r){let{data:a,error:o,response:s}=await i({path:{assistant_id:t},body:{...n==null?{}:{from:n},to:r},throwOnError:!1});if(l(s,o,y),!s.ok)throw new e(s.status,c(o,s,y));return a?.reassigned??0}async function x(t,n,r=10,i){let{data:a,error:s,response:u}=await o({path:{assistant_id:t,id:n},query:{limit:r,before:i},throwOnError:!1});if(l(u,s,`Failed to load schedule runs.`),!u.ok)throw new e(u.status,c(s,u,`Failed to load schedule runs.`));return{runs:a?.runs??[],nextCursor:a?.nextCursor??null}}async function S(t,n){let{data:r,error:i,response:a}=await u({path:{assistant_id:t},query:{from:n.from,to:n.to},throwOnError:!1});if(l(a,i,`Failed to load schedule usage.`),!a.ok)throw new e(a.status,c(i,a,`Failed to load schedule usage.`));return r?.summaries??[]}async function C(t,n,i){let{error:a,response:o}=await r({path:{assistant_id:t,id:n},body:{enabled:i},throwOnError:!1});if(l(o,a,`Failed to toggle schedule.`),!o.ok)throw new e(o.status,c(a,o,`Failed to toggle schedule.`))}async function w(t,n){let{error:r,response:i}=await a({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to delete schedule.`),!i.ok&&i.status!==204)throw new e(i.status,c(r,i,`Failed to delete schedule.`))}async function T(t,n){let{error:r,response:i}=await f({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to cancel schedule.`),!i.ok)throw new e(i.status,c(r,i,`Failed to cancel schedule.`))}async function E(t,n){let{error:r,response:i}=await d({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to run schedule.`),!i.ok)throw new e(i.status,c(r,i,`Failed to run schedule.`))}export{S as a,C as c,g as d,x as i,v as l,_ as n,b as o,w as r,E as s,T as t,h as u};
1
+ import{BS as e,Cy as t,Dy as n,Ey as r,Oy as i,Sy as a,Ty as o,UC as s,US as c,VS as l,ky as u,wy as d,xy as f}from"./app-DbJUeBix.js";import{t as p}from"./react-B9IgSVeK.js";var m=p();function h({storageKey:e,detailKey:t,section:n,detail:r}){return(0,m.jsx)(s,{className:`min-h-0 flex-1`,storageKey:e,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,m.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:n}),right:(0,m.jsx)(`div`,{className:`home-detail-drawer`,children:r},t)})}function g({children:e}){return(0,m.jsx)(`div`,{className:`fixed inset-0 z-30 bg-[var(--surface-overlay)]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`},children:e})}async function _(t,r){let{error:i,response:a}=await n({path:{assistant_id:t},body:r,throwOnError:!1});if(l(a,i,`Failed to create schedule.`),!a.ok)throw new e(a.status,c(i,a,`Failed to create schedule.`))}async function v(n,r,i){let{error:a,response:o}=await t({path:{assistant_id:n,id:r},body:i,throwOnError:!1});if(l(o,a,`Failed to update schedule.`),!o.ok)throw new e(o.status,c(a,o,`Failed to update schedule.`))}var y=`Failed to move schedules to the selected profile.`;async function b(t,n,r){let{data:a,error:o,response:s}=await i({path:{assistant_id:t},body:{...n==null?{}:{from:n},to:r},throwOnError:!1});if(l(s,o,y),!s.ok)throw new e(s.status,c(o,s,y));return a?.reassigned??0}async function x(t,n,r=10,i){let{data:a,error:s,response:u}=await o({path:{assistant_id:t,id:n},query:{limit:r,before:i},throwOnError:!1});if(l(u,s,`Failed to load schedule runs.`),!u.ok)throw new e(u.status,c(s,u,`Failed to load schedule runs.`));return{runs:a?.runs??[],nextCursor:a?.nextCursor??null}}async function S(t,n){let{data:r,error:i,response:a}=await u({path:{assistant_id:t},query:{from:n.from,to:n.to},throwOnError:!1});if(l(a,i,`Failed to load schedule usage.`),!a.ok)throw new e(a.status,c(i,a,`Failed to load schedule usage.`));return r?.summaries??[]}async function C(t,n,i){let{error:a,response:o}=await r({path:{assistant_id:t,id:n},body:{enabled:i},throwOnError:!1});if(l(o,a,`Failed to toggle schedule.`),!o.ok)throw new e(o.status,c(a,o,`Failed to toggle schedule.`))}async function w(t,n){let{error:r,response:i}=await a({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to delete schedule.`),!i.ok&&i.status!==204)throw new e(i.status,c(r,i,`Failed to delete schedule.`))}async function T(t,n){let{error:r,response:i}=await f({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to cancel schedule.`),!i.ok)throw new e(i.status,c(r,i,`Failed to cancel schedule.`))}async function E(t,n){let{error:r,response:i}=await d({path:{assistant_id:t,id:n},throwOnError:!1});if(l(i,r,`Failed to run schedule.`),!i.ok)throw new e(i.status,c(r,i,`Failed to run schedule.`))}export{S as a,C as c,g as d,x as i,v as l,_ as n,b as o,w as r,E as s,T as t,h as u};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{DS as t}from"./app-4aEhon_S.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{DS as t}from"./app-DbJUeBix.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{$S as t,A_ as n,Ah as r,Cc as i,DS as a,Dx as o,Fx as s,GC as c,Go as l,Gx as u,Mc as d,Ng as f,OS as p,Of as m,Oi as h,PC as g,Px as _,Rx as ee,SC as v,Ti as y,Uo as b,Vg as x,Wo as S,Wt as C,Xn as w,ZC as T,Zx as te,aw as E,bC as D,bS as ne,b_ as re,cx as O,eC as k,el as ie,ew as A,fx as j,g_ as ae,gf as M,hS as oe,jc as se,kx as ce,lS as le,oS as ue,pS as de,rC as fe,rS as pe,sx as me,tC as he,ux as ge,wc as _e,yS as N,zc as P}from"./app-4aEhon_S.js";import{E as F,nr as ve}from"./vendor-CtXGFqsu.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-DU8rXs6_.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-BnexEHid.js";import{t as je}from"./format-countdown-CKjTHR6g.js";var H=e(I(),1),Me=a.remotePair.slice(`${a.assistant}/`.length);async function Ne(e,t){let n=t?N(e.url,t):null,r=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${a.assistant}`);if(!f()){i();return}(r===null?await ke(e.url):await V(e.url,r))||i()}function Pe(e){return De(_()?n():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),c=h();if(e){if(!c)return r;if(P(c,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(w,{components:c,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let n;try{n=k(e)}catch{return{ok:!1,reason:`unparseable`}}if(t(n))return{ok:!1,reason:`service-website`};let r=De(n);return r===null?{ok:!1,reason:`non-https`}:{ok:!0,url:r,deviceCode:he(e).deviceCode}}function Le({open:e,onClose:t,onAdded:n}){let{t:r}=F(`onboarding`),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let u=()=>{o||t()},d=async()=>{if(!i.trim()||o)return;let e=Ie(i);if(!e.ok){l(ne(e.reason,i));return}s(!0),l(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||u()},children:(0,U.jsxs)(v.Content,{size:`md`,children:[(0,U.jsxs)(v.Header,{icon:Se,children:[(0,U.jsx)(v.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,U.jsx)(v.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(v.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(g,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,U.jsxs)(v.Footer,{children:[(0,U.jsx)(E,{variant:`ghost`,onClick:u,disabled:o,children:r(`actions.cancel`)}),(0,U.jsx)(E,{variant:`primary`,onClick:()=>void d(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:i}){let{t:a}=F(`onboarding`),[o,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(``),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[_,y]=(0,H.useState)(null),[b,x]=(0,H.useState)(0),[S,C]=(0,H.useState)(!1),[w,T]=(0,H.useState)(null),D=(0,H.useRef)(null),re=(0,H.useRef)({abandoned:!1}),O=()=>{let e=D.current;D.current=null,e&&j(e)};(0,H.useEffect)(()=>{if(!e)return;l(t??``),d(``),p(!1),h(null),y(null),C(!1),T(null);let n={abandoned:!1};return re.current=n,()=>{n.abandoned=!0,O()}},[e,t]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>x(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let k=async()=>{let e=o.trim();if(!e||f)return;p(!0),h(null);let t=u.trim()||void 0,n=re.current;try{let r=await te(e);if(n.abandoned){r.ok&&j(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),p(!1);return}D.current=r.handle,r.userCode&&(y({userCode:r.userCode,expiresAt:r.expiresAt}),x(Date.parse(r.expiresAt)-Date.now()));let o=r.userCode!==null,c=r.expiresAt,l=r.intervalSeconds,u=0;for(;;){let e=await ee(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=o&&s(e);if(t&&!Re(c)){if(u+=1,u===1&&C(!0),await W(Math.min(l*u,G)*1e3),n.abandoned)return;continue}O(),y(null),C(!1),h({kind:`message`,text:t?a(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,C(!1)),e.status===`imported`){if(D.current=null,e.accessOnly){y(null),T(e.assistantId);break}i(e.assistantId);return}if(e.expiresAt!==c&&(y(t=>t&&{...t,expiresAt:e.expiresAt}),x(Date.parse(e.expiresAt)-Date.now())),c=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),O(),y(null),C(!1),h({kind:`message`,text:a(`connectAssistantDialog.submitError`)})}p(!1)};return w==null?(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(v.Content,{size:`md`,children:[(0,U.jsxs)(v.Header,{icon:R,children:[(0,U.jsx)(v.Title,{children:a(`connectAssistantDialog.title`)}),(0,U.jsx)(v.Description,{children:a(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(v.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,U.jsx)(c,{tone:`info`,children:a(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:a(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:S?`text-[color:var(--system-mid-strong)]`:void 0,children:a(S?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:a(`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:a(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(g,{id:`connect-assistant-address`,type:`text`,value:o,onChange:e=>l(e.target.value),placeholder:a(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:a(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(g,{id:`connect-assistant-name`,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?ne(m.rejection,m.address):m.text})]})}),(0,U.jsxs)(v.Footer,{children:[(0,U.jsx)(E,{variant:`ghost`,onClick:r,children:a(`actions.cancel`)}),!_&&(0,U.jsx)(E,{variant:`primary`,onClick:()=>void k(),disabled:!o.trim()||f,children:a(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(v.Content,{size:`sm`,children:[(0,U.jsx)(v.Header,{icon:R,children:(0,U.jsx)(v.Title,{children:a(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(v.Body,{children:(0,U.jsx)(c,{tone:`warning`,children:a(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(v.Footer,{children:(0,U.jsx)(E,{variant:`primary`,onClick:()=>i(w),children:a(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=F(`onboarding`),[c,l]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&l(`menu`)},[e]);let u=r?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,U.jsx)(D,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),u]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,U.jsx)(b,{open:e,isPending:n,extraMessage:u,onConfirm:o,onCancel:()=>l(`menu`)}):(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,U.jsxs)(v.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,U.jsx)(v.Header,{children:(0,U.jsx)(v.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(v.Body,{children:[(0,U.jsx)(v.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),u,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(E,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(E,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,U.jsx)(E,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function He(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function K(e,t){let n=e.isPaired?fe(e.runtimeUrl):e.isLocal?ce()?`On this computer`:He(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${C(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function Ge(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=F(`onboarding`),t=be(),n=ve(),[s,c]=ye(),d=s.get(`fromLogin`)===`1`,f=s.get(`noAutoSkip`)===`1`,h=p(),g=ce(),_=r(),ee=O.use.assistants(),v=re.use.currentOrganizationId(),b=B.use.origins(),C=B.use.hydrated(),w=x(),{loading:T,error:te,login:D,cancel:ne}=ie(),[k,A]=(0,H.useState)(null),j=k===null?null:{url:k,name:`Vellum Cloud`},fe=j!==null,he=e=>e.isPaired||e.isLocal&&g||_,N=ee.filter(me),P=N.filter(he),xe=P.length>0||b.length>0||j!==null,I=pe(),Ce=!_&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[He,K]=(0,H.useState)(!1),[Ue,J]=(0,H.useState)(null),[Y,X]=(0,H.useState)(null),[Ze,Qe]=(0,H.useState)(!1),[$e,Z]=(0,H.useState)(null),[et,tt]=(0,H.useState)(!1),[Q,nt]=(0,H.useState)(null),[rt,it]=(0,H.useState)(!1),[at,ot]=(0,H.useState)(null),st=M.use.open(),ct=M.use.initialAddress(),lt=M.use.guidanceKind(),ut=M.use.deepLinkDrainSettled(),dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{m()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!w)return;let e=!1;return Oe().then(t=>{e||A(t)}),()=>{e=!0}},[w]);let ft=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(ft.current)return;ft.current=!0;let e=s.get(`register`);if(e===null)return;let t=()=>c(Ke,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:s.get(`name`)??void 0}).then(e=>{e.ok?t():ft.current=!1}).catch(()=>{ft.current=!1})},[s,c]),(0,H.useEffect)(()=>{if(L===q&&fe||L!=null&&b.some(e=>Ge(e)===L))return;if(P.length===0){let e=b[0],t=e?Ge(e):fe?q:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=ae(v);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,v,b,fe]);let $=async e=>{je(!0),W(null);try{await _e(e),t(a.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&pe()&&(ue(t)||oe(t)||t instanceof ge)&&o(e.id)?Re(e):e.isPaired&&ue(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),K(!1),J(null),Fe(!1)},mt=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await le(G.id,{repairGuardian:!0});if(e.ok){de(),pt(),$(G);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await l(n,G.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await i(n,Y.id);e.ok?(dt.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await u(Y.id);if(e.ok){let e=O.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),se(n,Y.id),dt.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await B.getState().removeOrigin(Q.url),B.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):(dt.current=!0,nt(null)),it(!1))},bt=e=>{M.getState().closeConnectDialog(),$(O.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{d||f||dt.current||g&&C&&(b.length>0||h&&!ut||V||Me||st||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),$(P[0])))},[N.length,P.length,ut,g,b.length,C]);let St=()=>{if(L===q){ke(null).then(e=>{!e&&k!==null&&window.location.assign(k)});return}let e=b.find(e=>Ge(e)===L);if(e){Pe(e)?t(a.assistant,{replace:!0}):Ne(e);return}let n=N.find(e=>e.id===L);n&&$(n)},Ct=()=>{t(g?a.welcome:a.assistant)},wt=te??Ie;return Me&&!wt&&!G?(0,U.jsx)(qe,{}):(0,U.jsxs)(y,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${h?`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 ${h?``:`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 ${h?`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)(Ye,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(T?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?T?ne:()=>void D():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>X(t):void 0},t.id)}),b.map((e,t)=>{let n=Ge(e),r=Pe(e);return(0,U.jsx)(Xe,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&w?void 0:()=>nt(e)},e.url)}),j&&(0,U.jsx)(Xe,{origin:j,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===q,current:!1,tabStop:L==null?P.length===0&&b.length===0:L===q,onSelect:()=>z(q)}),g&&(0,U.jsx)(Je,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||T,onClick:()=>void t(`${a.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||T,onClick:()=>M.getState().openConnectDialog()}),!I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||T,onClick:()=>tt(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(E,{variant:`primary`,size:h?`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)(E,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||T,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,U.jsx)(ze,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:He,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(S,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ve(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(S,{open:Q!=null,kind:`origin`,assistantName:Q?We(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=F(`onboarding`);return(0,U.jsx)(y,{avatarWave:`beside`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:n,onClick:r}){let i=p();return(0,U.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:n}=F(`onboarding`);return(0,U.jsxs)(A.Root,{children:[(0,U.jsx)(A.Trigger,{asChild:!0,children:(0,U.jsx)(E,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(A.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(A.Item,{onSelect:t,className:T.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=p();return(0,U.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,i?``:r?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,U.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=F(`onboarding`),u=Ve(e),{traits:f,imageUrl:p,onImageError:m}=d(e);return(0,U.jsx)(X,{icon:(0,U.jsx)(Fe,{traits:f,imageUrl:p,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:u,subtitle:K(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,U.jsx)(E,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,U.jsx)(Y,{label:u,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=We(e);return(0,U.jsx)(X,{icon:t??(0,U.jsx)(Se,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Ue(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,U.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,A_ as n,Ah as r,Cc as i,DS as a,Dx as o,Fx as s,GC as c,Go as l,Gx as u,Mc as d,Ng as f,OS as p,Of as m,Oi as h,PC as g,Px as _,Rx as ee,SC as v,Ti as y,Uo as b,Vg as x,Wo as S,Wt as C,Xn as w,ZC as T,Zx as te,aw as E,bC as D,bS as ne,b_ as re,cx as O,eC as k,el as ie,ew as A,fx as j,g_ as ae,gf as M,hS as oe,jc as se,kx as ce,lS as le,oS as ue,pS as de,rC as fe,rS as pe,sx as me,tC as he,ux as ge,wc as _e,yS as N,zc as P}from"./app-DbJUeBix.js";import{E as F,nr as ve}from"./vendor-CtXGFqsu.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-DU8rXs6_.js";import{a as De,i as Oe,n as ke,o as B,r as V,t as Ae}from"./self-hosted-servers-B-57ZNA3.js";import{t as je}from"./format-countdown-CKjTHR6g.js";var H=e(I(),1),Me=a.remotePair.slice(`${a.assistant}/`.length);async function Ne(e,t){let n=t?N(e.url,t):null,r=t&&n!==null?`${Me}?${new URLSearchParams({device_code:t}).toString()}`:null,i=()=>window.location.assign(n??`${e.url}${a.assistant}`);if(!f()){i();return}(r===null?await ke(e.url):await V(e.url,r))||i()}function Pe(e){return De(_()?n():window.location.origin)===e.url}var U=xe();function Fe({traits:e,imageUrl:t,size:n=48,fallback:r,className:i,decorative:a=!1,onImageError:o}){let{t:s}=F(),c=h();if(e){if(!c)return r;if(P(c,e.bodyShape,e.eyeStyle,e.color)){let t=(0,U.jsx)(w,{components:c,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:n,className:i});return a?(0,U.jsx)(`span`,{"aria-hidden":`true`,children:t}):t}}return t?(0,U.jsx)(`img`,{src:t,alt:a?``:s(`chooserAvatarChip.alt`),width:n,height:n,className:`rounded-full object-cover ${i??``}`.trim(),style:{width:n,height:n,flexShrink:0},onError:o}):r}function Ie(e){let n;try{n=k(e)}catch{return{ok:!1,reason:`unparseable`}}if(t(n))return{ok:!1,reason:`service-website`};let r=De(n);return r===null?{ok:!1,reason:`non-https`}:{ok:!0,url:r,deviceCode:he(e).deviceCode}}function Le({open:e,onClose:t,onAdded:n}){let{t:r}=F(`onboarding`),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(null);(0,H.useEffect)(()=>{e&&(a(``),s(!1),l(null))},[e]);let u=()=>{o||t()},d=async()=>{if(!i.trim()||o)return;let e=Ie(i);if(!e.ok){l(ne(e.reason,i));return}s(!0),l(null);try{let t=await B.getState().addOrigin({url:e.url});if(t.ok){n(t.origin,e.deviceCode);return}l(r(`addRemoteOriginDialog.addFailed`))}catch(e){console.error(`addRemoteOriginDialog.add failed`,e),l(r(`addRemoteOriginDialog.addFailed`))}s(!1)};return(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||u()},children:(0,U.jsxs)(v.Content,{size:`md`,children:[(0,U.jsxs)(v.Header,{icon:Se,children:[(0,U.jsx)(v.Title,{children:r(`addRemoteOriginDialog.title`)}),(0,U.jsx)(v.Description,{children:r(`addRemoteOriginDialog.body`)})]}),(0,U.jsx)(v.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`add-remote-origin-url`,children:r(`addRemoteOriginDialog.addressLabel`)}),(0,U.jsx)(g,{id:`add-remote-origin-url`,type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/assistant-1`,fullWidth:!0,autoFocus:!0})]}),c&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})}),(0,U.jsxs)(v.Footer,{children:[(0,U.jsx)(E,{variant:`ghost`,onClick:u,disabled:o,children:r(`actions.cancel`)}),(0,U.jsx)(E,{variant:`primary`,onClick:()=>void d(),disabled:!i.trim()||o,children:r(o?`actions.adding`:`actions.add`)})]})]})})}var W=e=>new Promise(t=>setTimeout(t,e)),G=30,Re=e=>{let t=Date.parse(e);return Number.isFinite(t)&&Date.now()>=t};function ze({open:e,initialAddress:t,guidanceKind:n,onClose:r,onImported:i}){let{t:a}=F(`onboarding`),[o,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(``),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[_,y]=(0,H.useState)(null),[b,x]=(0,H.useState)(0),[S,C]=(0,H.useState)(!1),[w,T]=(0,H.useState)(null),D=(0,H.useRef)(null),re=(0,H.useRef)({abandoned:!1}),O=()=>{let e=D.current;D.current=null,e&&j(e)};(0,H.useEffect)(()=>{if(!e)return;l(t??``),d(``),p(!1),h(null),y(null),C(!1),T(null);let n={abandoned:!1};return re.current=n,()=>{n.abandoned=!0,O()}},[e,t]),(0,H.useEffect)(()=>{if(!_)return;let e=setInterval(()=>x(Date.parse(_.expiresAt)-Date.now()),1e3);return()=>clearInterval(e)},[_]);let k=async()=>{let e=o.trim();if(!e||f)return;p(!0),h(null);let t=u.trim()||void 0,n=re.current;try{let r=await te(e);if(n.abandoned){r.ok&&j(r.handle);return}if(!r.ok){h(r.rejection?{kind:`rejected-address`,rejection:r.rejection,address:e}:{kind:`message`,text:r.error}),p(!1);return}D.current=r.handle,r.userCode&&(y({userCode:r.userCode,expiresAt:r.expiresAt}),x(Date.parse(r.expiresAt)-Date.now()));let o=r.userCode!==null,c=r.expiresAt,l=r.intervalSeconds,u=0;for(;;){let e=await ee(r.handle,t);if(n.abandoned)return;if(!e.ok){let t=o&&s(e);if(t&&!Re(c)){if(u+=1,u===1&&C(!0),await W(Math.min(l*u,G)*1e3),n.abandoned)return;continue}O(),y(null),C(!1),h({kind:`message`,text:t?a(`connectAssistantDialog.retryExpired`):e.error});break}if(u>0&&(u=0,C(!1)),e.status===`imported`){if(D.current=null,e.accessOnly){y(null),T(e.assistantId);break}i(e.assistantId);return}if(e.expiresAt!==c&&(y(t=>t&&{...t,expiresAt:e.expiresAt}),x(Date.parse(e.expiresAt)-Date.now())),c=e.expiresAt,l=e.intervalSeconds,await W(l*1e3),n.abandoned)return}}catch(e){console.error(`connectAssistantDialog.pairing failed`,e),O(),y(null),C(!1),h({kind:`message`,text:a(`connectAssistantDialog.submitError`)})}p(!1)};return w==null?(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(v.Content,{size:`md`,children:[(0,U.jsxs)(v.Header,{icon:R,children:[(0,U.jsx)(v.Title,{children:a(`connectAssistantDialog.title`)}),(0,U.jsx)(v.Description,{children:a(`connectAssistantDialog.instruction`)})]}),(0,U.jsx)(v.Body,{children:(0,U.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,U.jsx)(c,{tone:`info`,children:a(n===`legacy`?`connectAssistantDialog.legacyLinkGuidance`:`connectAssistantDialog.linkGuidance`)}),_?(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(`code`,{className:`w-fit rounded-md bg-[var(--surface-active)] px-3 py-2 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`,children:_.userCode}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:a(`connectAssistantDialog.approveOnHost`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:S?`text-[color:var(--system-mid-strong)]`:void 0,children:a(S?`connectAssistantDialog.retrying`:`connectAssistantDialog.waitingForApproval`)}),(0,U.jsx)(`span`,{children:a(`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:a(`connectAssistantDialog.addressLabel`)}),(0,U.jsx)(g,{id:`connect-assistant-address`,type:`text`,value:o,onChange:e=>l(e.target.value),placeholder:a(`connectAssistantDialog.addressPlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`connect-assistant-name`,children:a(`connectAssistantDialog.nameLabel`)}),(0,U.jsx)(g,{id:`connect-assistant-name`,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`office-mac`,fullWidth:!0})]})]}),m&&(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:m.kind===`rejected-address`?ne(m.rejection,m.address):m.text})]})}),(0,U.jsxs)(v.Footer,{children:[(0,U.jsx)(E,{variant:`ghost`,onClick:r,children:a(`actions.cancel`)}),!_&&(0,U.jsx)(E,{variant:`primary`,onClick:()=>void k(),disabled:!o.trim()||f,children:a(f?`actions.connecting`:`actions.connect`)})]})]})}):(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{e||r()},children:(0,U.jsxs)(v.Content,{size:`sm`,children:[(0,U.jsx)(v.Header,{icon:R,children:(0,U.jsx)(v.Title,{children:a(`connectAssistantDialog.importedTitle`)})}),(0,U.jsx)(v.Body,{children:(0,U.jsx)(c,{tone:`warning`,children:a(`connectAssistantDialog.importedBody`)})}),(0,U.jsx)(v.Footer,{children:(0,U.jsx)(E,{variant:`primary`,onClick:()=>i(w),children:a(`actions.continue`)})})]})})}function Be({open:e,assistantName:t,isPending:n,errorMessage:r,onCancel:i,onRepair:a,onRetire:o}){let{t:s}=F(`onboarding`),[c,l]=(0,H.useState)(`menu`);(0,H.useEffect)(()=>{e&&l(`menu`)},[e]);let u=r?(0,U.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:r}):null;return c===`confirm-repair`?(0,U.jsx)(D,{open:e,title:s(`connectRecoveryDialog.repairTitle`),message:(0,U.jsxs)(U.Fragment,{children:[s(`connectRecoveryDialog.repairBody`),u]}),confirmLabel:s(`connectRecoveryDialog.repairConfirm`),isPending:n,onConfirm:a,onCancel:()=>l(`menu`)}):c===`confirm-retire`?(0,U.jsx)(b,{open:e,isPending:n,extraMessage:u,onConfirm:o,onCancel:()=>l(`menu`)}):(0,U.jsx)(v.Root,{open:e,onOpenChange:e=>{!e&&!n&&i()},children:(0,U.jsxs)(v.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),n||i()},children:[(0,U.jsx)(v.Header,{children:(0,U.jsx)(v.Title,{children:s(`connectRecoveryDialog.authFailedTitle`)})}),(0,U.jsxs)(v.Body,{children:[(0,U.jsx)(v.Description,{children:s(`connectRecoveryDialog.authFailedBody`,{name:t})}),u,(0,U.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,U.jsx)(E,{variant:`primary`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-repair`),children:s(`connectRecoveryDialog.wakeAndRepair`)}),(0,U.jsx)(E,{variant:`dangerOutline`,fullWidth:!0,disabled:n,onClick:()=>l(`confirm-retire`),children:s(`connectRecoveryDialog.retire`)}),(0,U.jsx)(E,{variant:`outlined`,fullWidth:!0,disabled:n,onClick:i,children:s(`actions.cancel`)})]})]})]})})}function Ve(e){return e.name?e.name:e.isPaired?`Paired Assistant`:e.isLocal&&e.cloud===`local`?e.id:e.isLocal?`Local Assistant`:`Cloud Assistant`}function He(e,t){if(e)try{return t(`selectAssistantScreen.selfHostedWithHost`,{host:new URL(e).hostname})}catch{}return t(`selectAssistantScreen.selfHosted`)}function K(e,t){let n=e.isPaired?fe(e.runtimeUrl):e.isLocal?ce()?`On this computer`:He(e.ingressUrl,t):`Cloud-hosted`;return e.hatchedAt?`${n} · Created ${C(e.hatchedAt)}`:n}function Ue(e){return new URL(e.url).hostname}function We(e){return e.name??Ue(e)}function Ge(e){return`origin:${e.url}`}var q=`origin:vellum-cloud`;function Ke(e){let t=new URLSearchParams(e);return t.delete(`register`),t.delete(`name`),t}function J(){let{t:e}=F(`onboarding`),t=be(),n=ve(),[s,c]=ye(),d=s.get(`fromLogin`)===`1`,f=s.get(`noAutoSkip`)===`1`,h=p(),g=ce(),_=r(),ee=O.use.assistants(),v=re.use.currentOrganizationId(),b=B.use.origins(),C=B.use.hydrated(),w=x(),{loading:T,error:te,login:D,cancel:ne}=ie(),[k,A]=(0,H.useState)(null),j=k===null?null:{url:k,name:`Vellum Cloud`},fe=j!==null,he=e=>e.isPaired||e.isLocal&&g||_,N=ee.filter(me),P=N.filter(he),xe=P.length>0||b.length>0||j!==null,I=pe(),Ce=!_&&I,[L,z]=(0,H.useState)(null),[V,je]=(0,H.useState)(!1),[Me,Fe]=(0,H.useState)(!1),[Ie,W]=(0,H.useState)(null),[G,Re]=(0,H.useState)(null),[He,K]=(0,H.useState)(!1),[Ue,J]=(0,H.useState)(null),[Y,X]=(0,H.useState)(null),[Ze,Qe]=(0,H.useState)(!1),[$e,Z]=(0,H.useState)(null),[et,tt]=(0,H.useState)(!1),[Q,nt]=(0,H.useState)(null),[rt,it]=(0,H.useState)(!1),[at,ot]=(0,H.useState)(null),st=M.use.open(),ct=M.use.initialAddress(),lt=M.use.guidanceKind(),ut=M.use.deepLinkDrainSettled(),dt=(0,H.useRef)(!1);(0,H.useEffect)(()=>{m()},[]),(0,H.useEffect)(()=>{Ae(),B.getState().hydrate()},[]),(0,H.useEffect)(()=>{if(!w)return;let e=!1;return Oe().then(t=>{e||A(t)}),()=>{e=!0}},[w]);let ft=(0,H.useRef)(!1);(0,H.useEffect)(()=>{if(ft.current)return;ft.current=!0;let e=s.get(`register`);if(e===null)return;let t=()=>c(Ke,{replace:!0}),n=De(e);if(n===null){t();return}B.getState().addOrigin({url:n,name:s.get(`name`)??void 0}).then(e=>{e.ok?t():ft.current=!1}).catch(()=>{ft.current=!1})},[s,c]),(0,H.useEffect)(()=>{if(L===q&&fe||L!=null&&b.some(e=>Ge(e)===L))return;if(P.length===0){let e=b[0],t=e?Ge(e):fe?q:null;L!==t&&z(t);return}if(L!=null&&P.some(e=>e.id===L))return;let e=ae(v);z(P.find(t=>t.id===e)?.id??P[0].id)},[L,P,v,b,fe]);let $=async e=>{je(!0),W(null);try{await _e(e),t(a.assistant,{replace:!0})}catch(t){console.error(`selectAssistant.handleConnect failed`,t),e.isLocal&&pe()&&(ue(t)||oe(t)||t instanceof ge)&&o(e.id)?Re(e):e.isPaired&&ue(t)?W(`This pairing has expired. Run vellum pair on the assistant's machine and import it again with vellum connect import.`):W(`Failed to connect. Please try again.`),je(!1)}},pt=()=>{Re(null),K(!1),J(null),Fe(!1)},mt=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await le(G.id,{repairGuardian:!0});if(e.ok){de(),pt(),$(G);return}J(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),J(`Repair failed. Please try again.`)}K(!1)}},ht=async()=>{if(!(!G||He)){K(!0),J(null);try{let e=await l(n,G.id);if(e.ok){pt(),t(e.nextRoute,{replace:!0});return}J(e.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),J(`Failed to retire assistant. Please try again.`)}K(!1)}},gt=()=>{Ze||(X(null),Z(null))},_t=async()=>{if(!(!Y||Ze)){if(Qe(!0),Z(null),Y.isPaired){let e=await i(n,Y.id);e.ok?(dt.current=!0,X(null)):Z(e.error),Qe(!1);return}try{let e=await u(Y.id);if(e.ok){let e=O.getState();e.activeAssistantId===Y.id&&e.setActiveAssistantId(null),se(n,Y.id),dt.current=!0,X(null)}else Z(e.error??`Failed to remove. Please try again.`)}catch(e){console.error(`selectAssistant.removeFromDevice failed`,e),Z(`Failed to remove. Please try again.`)}Qe(!1)}},vt=()=>{rt||(nt(null),ot(null))},yt=async()=>{!Q||rt||(it(!0),ot(null),await B.getState().removeOrigin(Q.url),B.getState().origins.some(e=>e.url===Q.url)?ot(`Failed to remove. Please try again.`):(dt.current=!0,nt(null)),it(!1))},bt=e=>{M.getState().closeConnectDialog(),$(O.getState().assistants.find(t=>t.id===e)??{id:e,isLocal:!1,isPlatformHosted:!1,isPaired:!0})},xt=(e,t)=>{tt(!1),Ne(e,t??void 0)};(0,H.useEffect)(()=>{d||f||dt.current||g&&C&&(b.length>0||h&&!ut||V||Me||st||N.length!==0&&N.length===1&&P.length===1&&(Fe(!0),$(P[0])))},[N.length,P.length,ut,g,b.length,C]);let St=()=>{if(L===q){ke(null).then(e=>{!e&&k!==null&&window.location.assign(k)});return}let e=b.find(e=>Ge(e)===L);if(e){Pe(e)?t(a.assistant,{replace:!0}):Ne(e);return}let n=N.find(e=>e.id===L);n&&$(n)},Ct=()=>{t(g?a.welcome:a.assistant)},wt=te??Ie;return Me&&!wt&&!G?(0,U.jsx)(qe,{}):(0,U.jsxs)(y,{avatarWave:`beside`,children:[(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${h?`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 ${h?``:`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 ${h?`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)(Ye,{assistant:t,selected:L===t.id,locked:!n,tabStop:L==null?P[0]?.id===t.id:L===t.id,onSelect:()=>{n&&z(t.id)},loginLabel:e(T?`actions.cancel`:`actions.loginToUse`),loginDisabled:V,onLogin:!n&&(t.isPlatformHosted||t.isLocal)?T?ne:()=>void D():void 0,onRemove:t.isPlatformHosted&&Ce||t.isPaired&&I?()=>X(t):void 0},t.id)}),b.map((e,t)=>{let n=Ge(e),r=Pe(e);return(0,U.jsx)(Xe,{origin:e,selected:L===n,current:r,tabStop:L==null?P.length===0&&t===0:L===n,onSelect:()=>z(n),onRemove:r&&w?void 0:()=>nt(e)},e.url)}),j&&(0,U.jsx)(Xe,{origin:j,icon:(0,U.jsx)(Te,{className:`h-5 w-5`}),selected:L===q,current:!1,tabStop:L==null?P.length===0&&b.length===0:L===q,onSelect:()=>z(q)}),g&&(0,U.jsx)(Je,{icon:(0,U.jsx)(we,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.createNew`),disabled:V||T,onClick:()=>void t(`${a.onboarding.hosting}?from=select-assistant`)}),I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(R,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.connectRemote`),disabled:V||T,onClick:()=>M.getState().openConnectDialog()}),!I&&(0,U.jsx)(Je,{icon:(0,U.jsx)(Se,{className:`h-4 w-4`}),label:e(`selectAssistantScreen.addRemote`),disabled:V||T,onClick:()=>tt(!0)})]}),xe&&(0,U.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,U.jsx)(E,{variant:`primary`,size:h?`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)(E,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,onClick:Ct,disabled:V||T,children:e(`actions.back`)})})]})}),(0,U.jsx)(Le,{open:et,onClose:()=>tt(!1),onAdded:xt}),(0,U.jsx)(ze,{open:st,initialAddress:ct??void 0,guidanceKind:lt??void 0,onClose:()=>M.getState().closeConnectDialog(),onImported:bt}),(0,U.jsx)(Be,{open:G!=null,assistantName:G?Ve(G):``,isPending:He,errorMessage:Ue??void 0,onCancel:pt,onRepair:()=>void mt(),onRetire:()=>void ht()}),(0,U.jsx)(S,{open:Y!=null,kind:Y?.isPaired?`paired`:`platform`,assistantName:Y?Ve(Y):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:$e??void 0,isPending:Ze,onConfirm:()=>void _t(),onCancel:gt}),(0,U.jsx)(S,{open:Q!=null,kind:`origin`,assistantName:Q?We(Q):e(`selectAssistantScreen.unnamedAssistant`),errorMessage:at??void 0,isPending:rt,onConfirm:()=>void yt(),onCancel:vt})]})}function qe(){let{t:e}=F(`onboarding`);return(0,U.jsx)(y,{avatarWave:`beside`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`selectAssistantScreen.connectingToAssistant`)})})})}function Je({icon:e,label:t,disabled:n,onClick:r}){let i=p();return(0,U.jsxs)(`button`,{type:`button`,onClick:r,disabled:n,className:[`group flex w-full items-center justify-center gap-2 border border-dashed border-[var(--border-element)]/50 text-[var(--content-tertiary)]`,i?`rounded-lg px-3 py-2.5`:`rounded-xl px-5 py-3`,`cursor-pointer transition-all duration-200 ease-out`,`hover:border-[var(--border-element)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`disabled:cursor-not-allowed disabled:opacity-50`].join(` `),children:[e,(0,U.jsx)(`span`,{className:i?`text-body-small-default`:`text-body-medium-default`,children:t})]})}function Y({label:e,onRemove:t}){let{t:n}=F(`onboarding`);return(0,U.jsxs)(A.Root,{children:[(0,U.jsx)(A.Trigger,{asChild:!0,children:(0,U.jsx)(E,{variant:`ghost`,size:`regular`,className:`text-[var(--content-tertiary)]`,iconOnly:(0,U.jsx)(z,{}),"aria-label":n(`selectAssistantScreen.rowActionsAriaLabel`,{name:e})})}),(0,U.jsx)(A.Content,{align:`end`,sideOffset:4,children:(0,U.jsx)(A.Item,{onSelect:t,className:T.anchored,children:n(`selectAssistantScreen.removeFromDevice`)})})]})}function X({icon:e,title:t,subtitle:n,selected:r,locked:i=!1,tabStop:a,onSelect:o,action:s,removeMenu:c}){let l=p();return(0,U.jsxs)(`div`,{role:i?void 0:`radio`,"aria-checked":i?void 0:r,tabIndex:i?void 0:a?0:-1,onClick:i?void 0:o,onKeyDown:i?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},className:[`group flex w-full items-center border text-left`,l?`gap-3 rounded-lg px-[10px] py-3`:`gap-4 rounded-2xl px-[18px] py-4`,`transition-all duration-200 ease-out`,i?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,i?``:r?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,U.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,`h-12 w-12 rounded-[10px]`,r&&!i?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t}),(0,U.jsx)(`span`,{className:`mt-1 block text-[var(--content-tertiary)] ${l?`text-label-medium-default font-normal`:`text-body-small-lighter`}`,children:n})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[s,c&&(i?c:(0,U.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:c})),!i&&(0,U.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:r&&(0,U.jsx)(Ce,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})]})}function Ye({assistant:e,selected:t,locked:n,tabStop:r,onSelect:i,loginLabel:a,loginDisabled:o,onLogin:s,onRemove:c}){let{t:l}=F(`onboarding`),u=Ve(e),{traits:f,imageUrl:p,onImageError:m}=d(e);return(0,U.jsx)(X,{icon:(0,U.jsx)(Fe,{traits:f,imageUrl:p,fallback:e.isPaired?(0,U.jsx)(R,{className:`h-5 w-5`}):e.isLocal?(0,U.jsx)(L,{className:`h-5 w-5`}):(0,U.jsx)(Te,{className:`h-5 w-5`}),decorative:!0,onImageError:m}),title:u,subtitle:K(e,l),selected:t,locked:n,tabStop:r,onSelect:i,action:n&&s?(0,U.jsx)(E,{variant:`primary`,size:`regular`,onClick:s,disabled:o,children:a}):void 0,removeMenu:c&&(0,U.jsx)(Y,{label:u,onRemove:c})})}function Xe({origin:e,icon:t,selected:n,current:r,tabStop:i,onSelect:a,onRemove:o}){let{t:s}=F(`onboarding`),c=We(e);return(0,U.jsx)(X,{icon:t??(0,U.jsx)(Se,{className:`h-5 w-5`}),title:c,subtitle:s(r?`selectAssistantScreen.currentWithHost`:`selectAssistantScreen.remoteWithHost`,{host:Ue(e)}),selected:n,tabStop:i,onSelect:a,removeMenu:o&&(0,U.jsx)(Y,{label:c,onRemove:o})})}export{J as SelectAssistantScreen};
@@ -1 +1 @@
1
- import{Ng as e,ZS as t,h_ as n,iC as r,wb as i}from"./app-4aEhon_S.js";import{J as a,w as o}from"./vendor-CtXGFqsu.js";var s=`vellum:remembered-origins`;function c(e){let t=e.trim();if(t===``)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol!==`https:`||n.hostname===``?null:`${n.origin}${n.pathname.replace(/\/+$/,``)}`}function l(e,t){let n=[],r=new Set,i=t??new Date().toISOString();for(let t of e){if(typeof t!=`object`||!t)continue;let{url:e,name:a,addedAt:o}=t;if(typeof e!=`string`)continue;let s=c(e);s===null||r.has(s)||(r.add(s),n.push({url:s,...typeof a==`string`&&a!==``?{name:a}:{},addedAt:typeof o==`string`?o:i}))}return n}function u(e){let t=JSON.parse(e);return Array.isArray(t)?l(t):null}var d=i({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:e=>t(s,e)},p=f,m=null,h=0,g=Promise.resolve(),_=`vellum:remembered-origins:mutate`;async function v(e){let t=typeof navigator>`u`?void 0:navigator.locks;return t?await t.request(_,e):e()}function y(e){let t=()=>v(e),n=g.then(t,t);return g=n.catch(()=>void 0),n}var b=null,x=!1;function S(e){return y(async()=>{try{let t=await p.load();if(e!==h)return;T.getState().hydrated?T.setState({origins:t}):m===null?T.getState().hydrate():x=!0}catch{}})}function C(){b?.();let e=h;b=p.watch?.(()=>void S(e))??null}function w(e){p=e,h+=1,m=null,x=!1,T.setState({hydrated:!1}),C(),T.getState().hydrate()}var T=a()((e,t)=>({origins:[],hydrated:!1,hydrate:()=>(m??=(async()=>{let t=h;await Promise.resolve();try{let n=await p.load();t===h&&(e({origins:n,hydrated:!0}),x&&(x=!1,S(t)))}catch{t===h&&(m=null)}})(),m),addOrigin:async({url:n,name:r})=>{let i=c(n);return i===null?{ok:!1}:y(async()=>{if(await t().hydrate(),!t().hydrated)return{ok:!1};let n=p,a=h,o;try{o=await n.load()}catch{return{ok:!1}}if(a!==h)return{ok:!1};let s=r?.trim(),c=o.find(e=>e.url===i),l=c??{url:i,addedAt:new Date().toISOString()},u=s?{...l,name:s}:l,d=c?o.map(e=>e.url===i?u:e):[...o,u];try{await n.save(d)}catch{return{ok:!1}}return a===h?(e({origins:d}),{ok:!0,origin:u}):{ok:!1}})},removeOrigin:async n=>{let r=c(n);r!==null&&await y(async()=>{if(await t().hydrate(),!t().hydrated)return;let n=p,i=h,a;try{a=await n.load()}catch{return}if(i!==h)return;let o=a.filter(e=>e.url!==r);if(o.length!==a.length)try{await n.save(o)}catch{return}i===h&&e({origins:o})})}}));C();var E=r(T),D=o(`SelfHostedServers`),O=`1970-01-01T00:00:00.000Z`;async function k(){try{return await D.list()}catch(e){return console.debug(`[self-hosted-servers] bridge unavailable:`,e),null}}var A=`vellum:remembered-origins:native-migrated`;function j(){try{return window.localStorage.getItem(A)===`true`}catch{return!0}}function M(){try{window.localStorage.setItem(A,`true`)}catch{}}async function N(e){if(j())return e;let t=[];try{t=await f.load()}catch{t=[]}let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e.url)),i=[];for(let t of r){try{await D.add({url:t.url,...t.name?{name:t.name}:{}})}catch(t){return console.debug(`[self-hosted-servers] migration add failed:`,t),[...e,...i]}i.push(t)}return M(),[...e,...i]}function P(){return{load:async()=>{let e=await k();return e===null?f.load():N(l(e.servers,O))},save:async e=>{let t=await k();if(t===null){await f.save(e);return}let n=new Map(l(t.servers,O).map(e=>[e.url,e.name])),r=new Set(e.map(e=>e.url));for(let e of n.keys())r.has(e)||await D.remove({url:e});for(let t of e)(!n.has(t.url)||t.name&&t.name!==n.get(t.url))&&await D.add({url:t.url,...t.name?{name:t.name}:{}})},watch:f.watch}}var F=!1;function I(){F||!e()||(F=!0,w(P()))}async function L(t,r){if(!e())return!1;await n();try{return await r(),!0}catch(e){return console.debug(`[self-hosted-servers] ${t} unavailable:`,e),!1}}async function R(e){return L(`switchTo`,()=>D.switchTo(e===null?{}:{url:e}))}async function z(e,t){return L(`switchToPath`,()=>D.switchToPath({...e===null?{}:{url:e},path:t}))}async function B(){if(!e())return null;let t=await k();return t===null||!t.activeUrl?null:t.bakedUrl?c(t.bakedUrl):null}export{c as a,B as i,R as n,E as o,z as r,I as t};
1
+ import{Ng as e,ZS as t,h_ as n,iC as r,wb as i}from"./app-DbJUeBix.js";import{J as a,w as o}from"./vendor-CtXGFqsu.js";var s=`vellum:remembered-origins`;function c(e){let t=e.trim();if(t===``)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol!==`https:`||n.hostname===``?null:`${n.origin}${n.pathname.replace(/\/+$/,``)}`}function l(e,t){let n=[],r=new Set,i=t??new Date().toISOString();for(let t of e){if(typeof t!=`object`||!t)continue;let{url:e,name:a,addedAt:o}=t;if(typeof e!=`string`)continue;let s=c(e);s===null||r.has(s)||(r.add(s),n.push({url:s,...typeof a==`string`&&a!==``?{name:a}:{},addedAt:typeof o==`string`?o:i}))}return n}function u(e){let t=JSON.parse(e);return Array.isArray(t)?l(t):null}var d=i({key:s,scope:`device`,parse:u,serialize:JSON.stringify,fallback:[]}),f={load:async()=>d.load(),save:async e=>{d.save(e)},watch:e=>t(s,e)},p=f,m=null,h=0,g=Promise.resolve(),_=`vellum:remembered-origins:mutate`;async function v(e){let t=typeof navigator>`u`?void 0:navigator.locks;return t?await t.request(_,e):e()}function y(e){let t=()=>v(e),n=g.then(t,t);return g=n.catch(()=>void 0),n}var b=null,x=!1;function S(e){return y(async()=>{try{let t=await p.load();if(e!==h)return;T.getState().hydrated?T.setState({origins:t}):m===null?T.getState().hydrate():x=!0}catch{}})}function C(){b?.();let e=h;b=p.watch?.(()=>void S(e))??null}function w(e){p=e,h+=1,m=null,x=!1,T.setState({hydrated:!1}),C(),T.getState().hydrate()}var T=a()((e,t)=>({origins:[],hydrated:!1,hydrate:()=>(m??=(async()=>{let t=h;await Promise.resolve();try{let n=await p.load();t===h&&(e({origins:n,hydrated:!0}),x&&(x=!1,S(t)))}catch{t===h&&(m=null)}})(),m),addOrigin:async({url:n,name:r})=>{let i=c(n);return i===null?{ok:!1}:y(async()=>{if(await t().hydrate(),!t().hydrated)return{ok:!1};let n=p,a=h,o;try{o=await n.load()}catch{return{ok:!1}}if(a!==h)return{ok:!1};let s=r?.trim(),c=o.find(e=>e.url===i),l=c??{url:i,addedAt:new Date().toISOString()},u=s?{...l,name:s}:l,d=c?o.map(e=>e.url===i?u:e):[...o,u];try{await n.save(d)}catch{return{ok:!1}}return a===h?(e({origins:d}),{ok:!0,origin:u}):{ok:!1}})},removeOrigin:async n=>{let r=c(n);r!==null&&await y(async()=>{if(await t().hydrate(),!t().hydrated)return;let n=p,i=h,a;try{a=await n.load()}catch{return}if(i!==h)return;let o=a.filter(e=>e.url!==r);if(o.length!==a.length)try{await n.save(o)}catch{return}i===h&&e({origins:o})})}}));C();var E=r(T),D=o(`SelfHostedServers`),O=`1970-01-01T00:00:00.000Z`;async function k(){try{return await D.list()}catch(e){return console.debug(`[self-hosted-servers] bridge unavailable:`,e),null}}var A=`vellum:remembered-origins:native-migrated`;function j(){try{return window.localStorage.getItem(A)===`true`}catch{return!0}}function M(){try{window.localStorage.setItem(A,`true`)}catch{}}async function N(e){if(j())return e;let t=[];try{t=await f.load()}catch{t=[]}let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e.url)),i=[];for(let t of r){try{await D.add({url:t.url,...t.name?{name:t.name}:{}})}catch(t){return console.debug(`[self-hosted-servers] migration add failed:`,t),[...e,...i]}i.push(t)}return M(),[...e,...i]}function P(){return{load:async()=>{let e=await k();return e===null?f.load():N(l(e.servers,O))},save:async e=>{let t=await k();if(t===null){await f.save(e);return}let n=new Map(l(t.servers,O).map(e=>[e.url,e.name])),r=new Set(e.map(e=>e.url));for(let e of n.keys())r.has(e)||await D.remove({url:e});for(let t of e)(!n.has(t.url)||t.name&&t.name!==n.get(t.url))&&await D.add({url:t.url,...t.name?{name:t.name}:{}})},watch:f.watch}}var F=!1;function I(){F||!e()||(F=!0,w(P()))}async function L(t,r){if(!e())return!1;await n();try{return await r(),!0}catch(e){return console.debug(`[self-hosted-servers] ${t} unavailable:`,e),!1}}async function R(e){return L(`switchTo`,()=>D.switchTo(e===null?{}:{url:e}))}async function z(e,t){return L(`switchToPath`,()=>D.switchToPath({...e===null?{}:{url:e},path:t}))}async function B(){if(!e())return null;let t=await k();return t===null||!t.activeUrl?null:t.bakedUrl?c(t.bakedUrl):null}export{c as a,B as i,R as n,E as o,z as r,I as t};
@@ -1 +1 @@
1
- import{Gy as e,aw as t}from"./app-4aEhon_S.js";import{E as n}from"./vendor-CtXGFqsu.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-Dmas0G3E.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:e,disabled:r}){let{t:i}=n();return(0,s.jsx)(t,{onClick:e,disabled:r,children:i(`serviceFormControls.save`)})}function u({onClick:e,filled:r=!1}){let{t:i}=n();return(0,s.jsx)(t,{variant:r?`danger`:`dangerGhost`,onClick:e,children:i(`serviceFormControls.reset`)})}function d({guide:t}){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:t.description}),(0,s.jsxs)(e,{href:t.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[t.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{Gy as e,aw as t}from"./app-DbJUeBix.js";import{E as n}from"./vendor-CtXGFqsu.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-WMdjzPA_.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:e,disabled:r}){let{t:i}=n();return(0,s.jsx)(t,{onClick:e,disabled:r,children:i(`serviceFormControls.save`)})}function u({onClick:e,filled:r=!1}){let{t:i}=n();return(0,s.jsx)(t,{variant:r?`danger`:`dangerGhost`,onClick:e,children:i(`serviceFormControls.reset`)})}function d({guide:t}){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:t.description}),(0,s.jsxs)(e,{href:t.url,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[t.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{NC as t}from"./app-4aEhon_S.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{NC as t}from"./app-DbJUeBix.js";import{t as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1),a=n();function o({label:e,helperText:n,checked:r,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(t,{checked:r,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:n})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-center gap-4`,children:[l,u]})}export{o as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ah as t,DS as n,Dr as r,Ec as i,Ga as a,Hf as o,Th as s,cx as c,el as l,fn as u,ml as d,np as f,zg as p}from"./app-4aEhon_S.js";import{E as m}from"./vendor-CtXGFqsu.js";import{d as h,f as g,i as _,t as v,x as y}from"./react-B9IgSVeK.js";import{Gn as b,Kn as x}from"./icons-C0wyat6T.js";import{n as S,t as C}from"./sidebar-tree-CVlGLFk1.js";import{t as w}from"./use-supports-credentials-settings-C5z3u-mM.js";var T=e(y(),1),E=v();function D(){let e=f.use.settingsDeveloperNav(),v=f.use.vellumHostedInference(),y=o.use.setWindowsMenuBarSuppressed();(0,T.useEffect)(()=>(y(!0),()=>y(!1)),[y]);let{t:D}=m(`settings`),O=p()||i(),k=c.use.activeAssistantId(),A=u(k),j=w(k),M=a(),N=s(),{pathname:P}=h(),F=g(),I=t(),{login:L}=l(),R=(0,T.useCallback)((e,t)=>{switch(e){case`assistant-status`:return D(`sidebar.general`,`General`);case`model`:return D(`sidebar.model`,`Models & Services`);case`integrations`:return D(`sidebar.integrations`,`Integrations`);case`credentials`:return D(`sidebar.credentials`,`Credentials`);case`notifications`:return D(`sidebar.notifications`,`Notifications`);case`voice`:return D(`sidebar.voice`,`Voice`);case`sounds`:return D(`sidebar.sounds`,`Sounds`);case`privacy`:return D(`sidebar.privacy`,`Permissions & Privacy`);case`bookmarks`:return D(`sidebar.bookmarks`,`Bookmarks`);case`billing`:return N===`full`?D(`sidebar.billingUsage`,`Billing & Usage`):D(`sidebar.usage`,`Usage`);case`community`:return D(`sidebar.community`,`Community`);case`debug`:return D(`sidebar.debug`,`Debug`);case`developer`:return D(`sidebar.developer`,`Developer`);case`personality`:return D(`sidebar.personality`,`Personality`);default:return t}},[D,N]),z=(0,T.useMemo)(()=>r.filter(e=>!(e.id===`notifications`&&!O||e.id===`bookmarks`&&(!A||!M)||e.id===`credentials`&&!j||e.id===`developer`||e.id===`personality`)).map(e=>({...e,label:R(e.id,e.label)})),[O,A,M,j,R]),B=(0,T.useMemo)(()=>{let t=[];return v&&t.push(...r.filter(e=>e.id===`personality`).map(e=>({...e,label:R(e.id,e.label)}))),e&&t.push(...r.filter(e=>e.id===`developer`).map(e=>({...e,label:R(e.id,e.label)}))),t.push(I?{id:`logout`,label:D(`sidebar.logout`,`Log Out`),icon:b,onSelect:()=>void d(F)}:{id:`login`,label:D(`sidebar.login`,`Log In`),icon:x,onSelect:()=>void L()}),t},[e,v,I,F,L,D,R]),V=(0,T.useMemo)(()=>{if(P===n.settings.root)return D(`sidebar.title`,`Settings`);let e=r.find(e=>P===e.href||P.startsWith(e.href+`/`));return e?R(e.id,e.label):D(`sidebar.title`,`Settings`)},[P,D,R]);return(0,E.jsx)(S,{backHref:n.assistant,sidebar:(0,E.jsx)(C,{items:z,bottomItems:B,indexPath:n.settings.root}),title:V,menuReplacesContentOnMobile:!0,children:(0,E.jsx)(_,{})})}export{D as SettingsLayout};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ah as t,DS as n,Dr as r,Ec as i,Ga as a,Hf as o,Th as s,cx as c,el as l,fn as u,ml as d,np as f,zg as p}from"./app-DbJUeBix.js";import{E as m}from"./vendor-CtXGFqsu.js";import{d as h,f as g,i as _,t as v,x as y}from"./react-B9IgSVeK.js";import{Gn as b,Kn as x}from"./icons-C0wyat6T.js";import{n as S,t as C}from"./sidebar-tree-BLMAqL8a.js";import{t as w}from"./use-supports-credentials-settings-DXa8eid1.js";var T=e(y(),1),E=v();function D(){let e=f.use.settingsDeveloperNav(),v=f.use.vellumHostedInference(),y=o.use.setWindowsMenuBarSuppressed();(0,T.useEffect)(()=>(y(!0),()=>y(!1)),[y]);let{t:D}=m(`settings`),O=p()||i(),k=c.use.activeAssistantId(),A=u(k),j=w(k),M=a(),N=s(),{pathname:P}=h(),F=g(),I=t(),{login:L}=l(),R=(0,T.useCallback)((e,t)=>{switch(e){case`assistant-status`:return D(`sidebar.general`,`General`);case`model`:return D(`sidebar.model`,`Models & Services`);case`integrations`:return D(`sidebar.integrations`,`Integrations`);case`credentials`:return D(`sidebar.credentials`,`Credentials`);case`notifications`:return D(`sidebar.notifications`,`Notifications`);case`voice`:return D(`sidebar.voice`,`Voice`);case`sounds`:return D(`sidebar.sounds`,`Sounds`);case`privacy`:return D(`sidebar.privacy`,`Permissions & Privacy`);case`bookmarks`:return D(`sidebar.bookmarks`,`Bookmarks`);case`billing`:return N===`full`?D(`sidebar.billingUsage`,`Billing & Usage`):D(`sidebar.usage`,`Usage`);case`community`:return D(`sidebar.community`,`Community`);case`debug`:return D(`sidebar.debug`,`Debug`);case`developer`:return D(`sidebar.developer`,`Developer`);case`personality`:return D(`sidebar.personality`,`Personality`);default:return t}},[D,N]),z=(0,T.useMemo)(()=>r.filter(e=>!(e.id===`notifications`&&!O||e.id===`bookmarks`&&(!A||!M)||e.id===`credentials`&&!j||e.id===`developer`||e.id===`personality`)).map(e=>({...e,label:R(e.id,e.label)})),[O,A,M,j,R]),B=(0,T.useMemo)(()=>{let t=[];return v&&t.push(...r.filter(e=>e.id===`personality`).map(e=>({...e,label:R(e.id,e.label)}))),e&&t.push(...r.filter(e=>e.id===`developer`).map(e=>({...e,label:R(e.id,e.label)}))),t.push(I?{id:`logout`,label:D(`sidebar.logout`,`Log Out`),icon:b,onSelect:()=>void d(F)}:{id:`login`,label:D(`sidebar.login`,`Log In`),icon:x,onSelect:()=>void L()}),t},[e,v,I,F,L,D,R]),V=(0,T.useMemo)(()=>{if(P===n.settings.root)return D(`sidebar.title`,`Settings`);let e=r.find(e=>P===e.href||P.startsWith(e.href+`/`));return e?R(e.id,e.label):D(`sidebar.title`,`Settings`)},[P,D,R]);return(0,E.jsx)(S,{backHref:n.assistant,sidebar:(0,E.jsx)(C,{items:z,bottomItems:B,indexPath:n.settings.root}),title:V,menuReplacesContentOnMobile:!0,children:(0,E.jsx)(_,{})})}export{D as SettingsLayout};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-DDfhkiLX.js","assets/react-B9IgSVeK.js","assets/rolldown-runtime-BM3Ffeng.js","assets/vendor-CtXGFqsu.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$a as t,FC as n,GC as r,Gy as i,NC as a,OS as o,Oh as s,PC as c,Rr as l,aw as u,dS as d,hd as ee,oy as f,pg as te,qf as ne,vC as p}from"./app-4aEhon_S.js";import{E as m,O as h,Xn as re,nr as ie,x as g}from"./vendor-CtXGFqsu.js";import{b as _,t as v,v as y,x as b}from"./react-B9IgSVeK.js";import{Mn as x,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as S,pa as C,ri as de}from"./icons-C0wyat6T.js";var w=e(b(),1),fe=e(_(),1),pe=`vellum:debug:`;function T(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(pe))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function me(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:d()},overrides:T()}}var E=v(),he=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,ge=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,_e={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},D=[{value:`bug_report`,icon:C,includesLogsByDefault:!0},{value:`feature_request`,icon:S,includesLogsByDefault:!1},{value:`other`,icon:x,includesLogsByDefault:!1}],O=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],k=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),A=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),j=10,M=50*1024*1024,ve={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ye(){if(o())return`electron`;let e=g.getPlatform();return e===`ios`||e===`android`?e:`web`}function be(e){return typeof e==`object`&&!!e&&`client`in e}function xe(e){if(e.size>M)return!1;if(e.type&&k.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?A.has(t):!1}return!1}var N=8192,P=/^data:([^;,]+);base64,/i,F=/^[A-Za-z0-9+/]+={0,2}$/;function I(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>I(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=I(a,t,n);i=r}return n.delete(e),i}function L(e){return I(e,e=>{if(typeof e!=`string`)return null;let t=P.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=N&&F.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function R(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),I(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function z(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function B(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await f({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function V(){if(!g.isNativePlatform())return null;try{let{App:e}=await y(async()=>{let{App:e}=await import(`./esm-DDfhkiLX.js`);return{App:e}},__vite__mapDeps([0,1,2,3])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function Se(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:s=[]}=r,c=new Date,l=O.find(t=>t.value===e),u=c.getTime(),d=l?.cutoffMs==null?null:u-l.cutoffMs,ee=d==null?null:new Date(d).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let p=te(f),m={collected_at:c.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await V(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,re=h.encode(JSON.stringify(m,null,2)),ie=h.encode(JSON.stringify(p,null,2)),g=[z(`web-client-context.json`,re),z(`web-chat-diagnostics.json`,ie)];if(r.queryClient)try{g.push(z(`web-asset-diagnostics.json`,h.encode(JSON.stringify(ne(r.queryClient),null,2))))}catch{}let _=new TextEncoder().encode(JSON.stringify(me(),null,2));g.push(z(`web-debug-flags.json`,_));for(let e of s){let t=e.contents.trim();t&&g.push(z(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:R(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(L(n),null,2));g.push(z(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(L(t),null,2));g.push(z(`web-sse-liveness-triage.json`,n))}}catch{}if(o()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));g.push(z(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);g.push(z(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await B(t,{window:{startTime:d,endTime:u},activeConversationId:n});e&&g.push(z(`platform-logs.tar.gz`,e))}g.push(new Uint8Array(1024));let v=g.reduce((e,t)=>e+t.length,0),y=new Uint8Array(v),b=0;for(let e of g)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),ae=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ae],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function H({open:e,onClose:d,initialReason:f,initialMessage:te,onSubmitted:ne,assistantId:g,assistantVersion:_,activeConversationId:v,doctorSessionId:y,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let{t:S}=m(),C=ie(),pe=s.use.user(),T=pe?.email,me=pe?.isStaff??!1,O=(0,w.useId)(),k=(0,w.useRef)(null),A=(0,w.useRef)(null),M=(0,w.useRef)(null),N=(0,w.useRef)(null),P=(0,w.useMemo)(()=>[{value:`past_hour`,label:S(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:S(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:S(`shareFeedbackModal.timeRangeAllTime`)}],[S]),[F,I]=(0,w.useState)(f??`bug_report`),[L,R]=(0,w.useState)(``),[z,B]=(0,w.useState)(``),[V,H]=(0,w.useState)(D.find(e=>e.value===(f??`bug_report`))?.includesLogsByDefault??!0),[Te,Ee]=(0,w.useState)(!1),[U,W]=(0,w.useState)(`past_hour`),[G,K]=(0,w.useState)([]),[De,q]=(0,w.useState)(null),[Oe,J]=(0,w.useState)(!1),[Y,ke]=(0,w.useState)(!1),[X,Ae]=(0,w.useState)(!1),Z=re(ee()),[je,Q]=(0,w.useState)(!1),$=Z.isPending||je,Me=!T,Ne=(0,w.useMemo)(()=>L.trim().length>0&&z.trim().length>0,[L,z]);(0,w.useEffect)(()=>{if(!e)return;let t=f??`bug_report`;I(t),R(te??``),B(T??``),H(D.find(e=>e.value===t)?.includesLogsByDefault??!0),Ee(!1),W(`past_hour`),K([]),ke(!1),Ae(!1),q(null),Q(!1),Z.reset();let n=setTimeout(()=>{T?M.current?.focus():N.current?.focus()},50);return()=>clearTimeout(n)},[e]),t(e);let Pe=e=>{I(e),Te||H(D.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{H(e=>!e),Ee(!0)},Ie=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Le=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),d())},[d,$]),Re=(0,w.useCallback)(e=>{e.target===k.current&&!$&&d()},[d,$]),ze=(0,w.useCallback)(e=>{K(t=>{let n=j-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!xe(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Be=e=>{e.target.files&&ze(Array.from(e.target.files)),e.target.value=``},Ve=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),J(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},We=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,E.jsx)(`div`,{ref:k,role:`dialog`,"aria-modal":`true`,"aria-labelledby":O,className:he,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,E.jsxs)(`div`,{className:ge,style:_e,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,E.jsx)(`h2`,{id:O,className:`!m-0 text-title-small text-[var(--content-default)]`,children:S(`shareFeedbackModal.title`)}),(0,E.jsx)(u,{variant:`ghost`,iconOnly:(0,E.jsx)(le,{}),onClick:d,disabled:$,"aria-label":S(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[me&&(0,E.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,E.jsx)(a,{checked:X,onChange:()=>Ae(e=>!e),"aria-label":S(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,E.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.adminOnlyHint`)})]}),X?(0,E.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,E.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.timeRange`)}),(0,E.jsx)(p,{options:P,value:U,onChange:W,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}):(0,E.jsxs)(E.Fragment,{children:[Me&&(0,E.jsx)(c,{id:`${O}-email`,ref:N,label:S(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:z,onChange:e=>B(e.target.value),leftIcon:(0,E.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,E.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.category`)}),(0,E.jsx)(`div`,{className:`flex gap-2`,children:D.map(e=>(0,E.jsx)(Ce,{option:e,isSelected:F===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,E.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),F===`bug_report`&&(0,E.jsx)(r,{tone:`info`,children:(0,E.jsx)(h,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,E.jsx)(i,{href:`https://vellum.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),F===`feature_request`&&(0,E.jsx)(r,{tone:`info`,children:(0,E.jsx)(h,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,E.jsx)(i,{href:`https://vellum.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,E.jsx)(n,{id:`${O}-message`,ref:M,label:S(F===`bug_report`?`shareFeedbackModal.messageLabelBug`:F===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:S(F===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:F===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:L,onChange:e=>R(e.target.value),fullWidth:!0}),F!==`feature_request`&&(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,E.jsx)(a,{checked:V,onChange:Fe,"aria-label":S(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeDiagnostics`)})]}),(0,E.jsx)(u,{variant:`ghost`,size:`compact`,iconOnly:(0,E.jsx)(ce,{}),expandOnMobile:!1,"aria-label":S(`shareFeedbackModal.aboutDiagnosticsAria`),tooltip:S(`shareFeedbackModal.diagnosticsTooltip`)})]}),V&&(0,E.jsx)(p,{options:P,value:U,onChange:W,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}),o()&&v&&F!==`feature_request`&&(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,E.jsx)(a,{checked:Y,onChange:()=>ke(e=>!e),"aria-label":S(`shareFeedbackModal.includeConversationAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeConversation`)})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[S(`shareFeedbackModal.attachments`),G.length>0&&(0,E.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,j]})]}),(0,E.jsx)(u,{variant:`outlined`,size:`compact`,leftIcon:(0,E.jsx)(ue,{}),onClick:()=>A.current?.click(),disabled:G.length>=j,children:S(`shareFeedbackModal.addFiles`)}),(0,E.jsx)(`input`,{ref:A,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),G.length>0&&(0,E.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,E.jsx)(we,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),Oe&&(0,E.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:S(`shareFeedbackModal.dropFiles`)})]})]}),De&&(0,E.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:De})]}),(0,E.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,E.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,E.jsx)(oe,{className:`h-4 w-4 animate-spin`}),S(X?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(u,{variant:`ghost`,onClick:d,children:S(`shareFeedbackModal.cancel`)}),X?(0,E.jsx)(u,{variant:`primary`,leftIcon:(0,E.jsx)(de,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await Se(U,g??null,o()?Y?v??null:null:v??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:y,extraLogFiles:Ie});if(!e){q(`Diagnostics export isn't supported in this browser.`);return}await l(e,e.name),d()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:S(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,E.jsx)(u,{variant:`primary`,leftIcon:(0,E.jsx)(se,{}),onClick:async()=>{if(!(!Ne||$)){q(null),Q(!0);try{let e=V&&F!==`feature_request`?await Se(U,g??null,o()?Y?v??null:null:v??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:y,extraLogFiles:Ie}):null,t=ye(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let r=t=>Z.mutateAsync({headers:{"Content-Type":null},body:{message:L.trim(),classification:ve[F],email:z.trim(),client:t,client_version:n,...g?{assistant_id:g}:{},..._?{assistant_version:_}:{},...y?{doctor_session_id:y}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await r(t)}catch(e){if(t!==`android`||!be(e))throw e;await r(`web`)}ne?.(),d()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:S(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Ce({option:e,isSelected:t,onSelect:n}){let{t:r}=m(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,E.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,E.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,E.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function we({file:e,onRemove:t}){let{t:n}=m(),r=e.type.startsWith(`image/`),i=(0,w.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,w.useEffect)(()=>{if(i)return()=>URL.revokeObjectURL(i)},[i]),(0,E.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&i?(0,E.jsx)(`img`,{src:i,alt:e.name,className:`h-full w-full object-cover`}):(0,E.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,E.jsx)(u,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,E.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{R as n,L as r,H as t};
2
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$a as t,FC as n,GC as r,Gy as i,NC as a,OS as o,Oh as s,PC as c,Rr as l,aw as u,dS as d,hd as ee,oy as f,pg as te,qf as ne,vC as p}from"./app-DbJUeBix.js";import{E as m,O as h,Xn as re,nr as ie,x as g}from"./vendor-CtXGFqsu.js";import{b as _,t as v,v as y,x as b}from"./react-B9IgSVeK.js";import{Mn as x,Vn as ae,Yn as oe,_t as se,fr as ce,i as le,in as ue,nr as S,pa as C,ri as de}from"./icons-C0wyat6T.js";var w=e(b(),1),fe=e(_(),1),pe=`vellum:debug:`;function T(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(pe))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function me(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:d()},overrides:T()}}var E=v(),he=`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,ge=`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,_e={backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},D=[{value:`bug_report`,icon:C,includesLogsByDefault:!0},{value:`feature_request`,icon:S,includesLogsByDefault:!1},{value:`other`,icon:x,includesLogsByDefault:!1}],O=[{value:`past_hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,cutoffMs:1440*60*1e3},{value:`all_time`,cutoffMs:null}],k=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),A=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),j=10,M=50*1024*1024,ve={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function ye(){if(o())return`electron`;let e=g.getPlatform();return e===`ios`||e===`android`?e:`web`}function be(e){return typeof e==`object`&&!!e&&`client`in e}function xe(e){if(e.size>M)return!1;if(e.type&&k.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?A.has(t):!1}return!1}var N=8192,P=/^data:([^;,]+);base64,/i,F=/^[A-Za-z0-9+/]+={0,2}$/;function I(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>I(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=I(a,t,n);i=r}return n.delete(e),i}function L(e){return I(e,e=>{if(typeof e!=`string`)return null;let t=P.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=N&&F.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function R(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),I(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function z(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function B(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await f({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function V(){if(!g.isNativePlatform())return null;try{let{App:e}=await y(async()=>{let{App:e}=await import(`./esm-DDfhkiLX.js`);return{App:e}},__vite__mapDeps([0,1,2,3])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function Se(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:s=[]}=r,c=new Date,l=O.find(t=>t.value===e),u=c.getTime(),d=l?.cutoffMs==null?null:u-l.cutoffMs,ee=d==null?null:new Date(d).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let p=te(f),m={collected_at:c.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:d,end_time_ms:u},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await V(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},h=new TextEncoder,re=h.encode(JSON.stringify(m,null,2)),ie=h.encode(JSON.stringify(p,null,2)),g=[z(`web-client-context.json`,re),z(`web-chat-diagnostics.json`,ie)];if(r.queryClient)try{g.push(z(`web-asset-diagnostics.json`,h.encode(JSON.stringify(ne(r.queryClient),null,2))))}catch{}let _=new TextEncoder().encode(JSON.stringify(me(),null,2));g.push(z(`web-debug-flags.json`,_));for(let e of s){let t=e.contents.trim();t&&g.push(z(e.filename,h.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:R(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(L(n),null,2));g.push(z(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(L(t),null,2));g.push(z(`web-sse-liveness-triage.json`,n))}}catch{}if(o()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));g.push(z(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);g.push(z(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await B(t,{window:{startTime:d,endTime:u},activeConversationId:n});e&&g.push(z(`platform-logs.tar.gz`,e))}g.push(new Uint8Array(1024));let v=g.reduce((e,t)=>e+t.length,0),y=new Uint8Array(v),b=0;for(let e of g)y.set(e,b),b+=e.length;let x=new Blob([y.buffer]),ae=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([ae],`web-client-logs-${c.getTime()}.tar.gz`,{type:`application/gzip`})}function H({open:e,onClose:d,initialReason:f,initialMessage:te,onSubmitted:ne,assistantId:g,assistantVersion:_,activeConversationId:v,doctorSessionId:y,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let{t:S}=m(),C=ie(),pe=s.use.user(),T=pe?.email,me=pe?.isStaff??!1,O=(0,w.useId)(),k=(0,w.useRef)(null),A=(0,w.useRef)(null),M=(0,w.useRef)(null),N=(0,w.useRef)(null),P=(0,w.useMemo)(()=>[{value:`past_hour`,label:S(`shareFeedbackModal.timeRangePastHour`)},{value:`past_24_hours`,label:S(`shareFeedbackModal.timeRangePast24Hours`)},{value:`all_time`,label:S(`shareFeedbackModal.timeRangeAllTime`)}],[S]),[F,I]=(0,w.useState)(f??`bug_report`),[L,R]=(0,w.useState)(``),[z,B]=(0,w.useState)(``),[V,H]=(0,w.useState)(D.find(e=>e.value===(f??`bug_report`))?.includesLogsByDefault??!0),[Te,Ee]=(0,w.useState)(!1),[U,W]=(0,w.useState)(`past_hour`),[G,K]=(0,w.useState)([]),[De,q]=(0,w.useState)(null),[Oe,J]=(0,w.useState)(!1),[Y,ke]=(0,w.useState)(!1),[X,Ae]=(0,w.useState)(!1),Z=re(ee()),[je,Q]=(0,w.useState)(!1),$=Z.isPending||je,Me=!T,Ne=(0,w.useMemo)(()=>L.trim().length>0&&z.trim().length>0,[L,z]);(0,w.useEffect)(()=>{if(!e)return;let t=f??`bug_report`;I(t),R(te??``),B(T??``),H(D.find(e=>e.value===t)?.includesLogsByDefault??!0),Ee(!1),W(`past_hour`),K([]),ke(!1),Ae(!1),q(null),Q(!1),Z.reset();let n=setTimeout(()=>{T?M.current?.focus():N.current?.focus()},50);return()=>clearTimeout(n)},[e]),t(e);let Pe=e=>{I(e),Te||H(D.find(t=>t.value===e)?.includesLogsByDefault??!1)},Fe=()=>{H(e=>!e),Ee(!0)},Ie=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Le=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),d())},[d,$]),Re=(0,w.useCallback)(e=>{e.target===k.current&&!$&&d()},[d,$]),ze=(0,w.useCallback)(e=>{K(t=>{let n=j-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!xe(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Be=e=>{e.target.files&&ze(Array.from(e.target.files)),e.target.value=``},Ve=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&ze(Array.from(e.dataTransfer.files))},He=e=>{e.preventDefault(),J(!0)},Ue=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},We=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,fe.createPortal)((0,E.jsx)(`div`,{ref:k,role:`dialog`,"aria-modal":`true`,"aria-labelledby":O,className:he,onKeyDown:Le,onClick:Re,onDrop:Ve,onDragOver:He,onDragLeave:Ue,children:(0,E.jsxs)(`div`,{className:ge,style:_e,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,E.jsx)(`h2`,{id:O,className:`!m-0 text-title-small text-[var(--content-default)]`,children:S(`shareFeedbackModal.title`)}),(0,E.jsx)(u,{variant:`ghost`,iconOnly:(0,E.jsx)(le,{}),onClick:d,disabled:$,"aria-label":S(`shareFeedbackModal.closeAria`),tintColor:`var(--content-secondary)`})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[me&&(0,E.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,E.jsx)(a,{checked:X,onChange:()=>Ae(e=>!e),"aria-label":S(`shareFeedbackModal.downloadDiagnosticsAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.downloadDiagnostics`)})]}),(0,E.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.adminOnlyHint`)})]}),X?(0,E.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,E.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:S(`shareFeedbackModal.timeRange`)}),(0,E.jsx)(p,{options:P,value:U,onChange:W,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}):(0,E.jsxs)(E.Fragment,{children:[Me&&(0,E.jsx)(c,{id:`${O}-email`,ref:N,label:S(`shareFeedbackModal.email`),type:`email`,placeholder:`you@example.com`,value:z,onChange:e=>B(e.target.value),leftIcon:(0,E.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,E.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:S(`shareFeedbackModal.category`)}),(0,E.jsx)(`div`,{className:`flex gap-2`,children:D.map(e=>(0,E.jsx)(Ce,{option:e,isSelected:F===e.value,onSelect:()=>Pe(e.value)},e.value))})]}),(0,E.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),F===`bug_report`&&(0,E.jsx)(r,{tone:`info`,children:(0,E.jsx)(h,{ns:`common`,i18nKey:`shareFeedbackModal.bugTip`,components:{discordLink:(0,E.jsx)(i,{href:`https://vellum.ai/community`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),F===`feature_request`&&(0,E.jsx)(r,{tone:`info`,children:(0,E.jsx)(h,{ns:`common`,i18nKey:`shareFeedbackModal.featureTip`,components:{roadmapLink:(0,E.jsx)(i,{href:`https://vellum.ai/roadmap`,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})}),(0,E.jsx)(n,{id:`${O}-message`,ref:M,label:S(F===`bug_report`?`shareFeedbackModal.messageLabelBug`:F===`feature_request`?`shareFeedbackModal.messageLabelFeature`:`shareFeedbackModal.messageLabelOther`),rows:3,placeholder:S(F===`bug_report`?`shareFeedbackModal.messagePlaceholderBug`:F===`feature_request`?`shareFeedbackModal.messagePlaceholderFeature`:`shareFeedbackModal.messagePlaceholderOther`),value:L,onChange:e=>R(e.target.value),fullWidth:!0}),F!==`feature_request`&&(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,E.jsx)(a,{checked:V,onChange:Fe,"aria-label":S(`shareFeedbackModal.includeDiagnosticsAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeDiagnostics`)})]}),(0,E.jsx)(u,{variant:`ghost`,size:`compact`,iconOnly:(0,E.jsx)(ce,{}),expandOnMobile:!1,"aria-label":S(`shareFeedbackModal.aboutDiagnosticsAria`),tooltip:S(`shareFeedbackModal.diagnosticsTooltip`)})]}),V&&(0,E.jsx)(p,{options:P,value:U,onChange:W,"aria-label":S(`shareFeedbackModal.timeRangeAria`)})]}),o()&&v&&F!==`feature_request`&&(0,E.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,E.jsx)(a,{checked:Y,onChange:()=>ke(e=>!e),"aria-label":S(`shareFeedbackModal.includeConversationAria`)}),(0,E.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:S(`shareFeedbackModal.includeConversation`)})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[S(`shareFeedbackModal.attachments`),G.length>0&&(0,E.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,j]})]}),(0,E.jsx)(u,{variant:`outlined`,size:`compact`,leftIcon:(0,E.jsx)(ue,{}),onClick:()=>A.current?.click(),disabled:G.length>=j,children:S(`shareFeedbackModal.addFiles`)}),(0,E.jsx)(`input`,{ref:A,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Be,className:`hidden`})]}),G.length>0&&(0,E.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,E.jsx)(we,{file:e,onRemove:()=>We(t)},`${e.name}-${t}`))}),Oe&&(0,E.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:S(`shareFeedbackModal.dropFiles`)})]})]}),De&&(0,E.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:De})]}),(0,E.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,E.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,E.jsx)(oe,{className:`h-4 w-4 animate-spin`}),S(X?`shareFeedbackModal.preparingDiagnostics`:`shareFeedbackModal.sendingFeedback`)]}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(u,{variant:`ghost`,onClick:d,children:S(`shareFeedbackModal.cancel`)}),X?(0,E.jsx)(u,{variant:`primary`,leftIcon:(0,E.jsx)(de,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await Se(U,g??null,o()?Y?v??null:null:v??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:y,extraLogFiles:Ie});if(!e){q(`Diagnostics export isn't supported in this browser.`);return}await l(e,e.name),d()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:S(`shareFeedbackModal.downloadDiagnosticsButton`)}):(0,E.jsx)(u,{variant:`primary`,leftIcon:(0,E.jsx)(se,{}),onClick:async()=>{if(!(!Ne||$)){q(null),Q(!0);try{let e=V&&F!==`feature_request`?await Se(U,g??null,o()?Y?v??null:null:v??null,{diagnosticsProvider:x,queryClient:C,doctorSessionId:y,extraLogFiles:Ie}):null,t=ye(),n;if(t===`electron`)try{n=(await window.vellum?.app.versionInfo())?.version??n}catch{}let r=t=>Z.mutateAsync({headers:{"Content-Type":null},body:{message:L.trim(),classification:ve[F],email:z.trim(),client:t,client_version:n,...g?{assistant_id:g}:{},..._?{assistant_version:_}:{},...y?{doctor_session_id:y}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await r(t)}catch(e){if(t!==`android`||!be(e))throw e;await r(`web`)}ne?.(),d()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Ne,children:S(`shareFeedbackModal.submit`)})]})})]})}),document.body):null}function Ce({option:e,isSelected:t,onSelect:n}){let{t:r}=m(),i=e.icon,a=e.value===`bug_report`?r(`shareFeedbackModal.reasonBugReport`):e.value===`feature_request`?r(`shareFeedbackModal.reasonFeatureRequest`):r(`shareFeedbackModal.reasonOther`);return(0,E.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,E.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,E.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:a})]})}function we({file:e,onRemove:t}){let{t:n}=m(),r=e.type.startsWith(`image/`),i=(0,w.useMemo)(()=>r?URL.createObjectURL(e):null,[e,r]);return(0,w.useEffect)(()=>{if(i)return()=>URL.revokeObjectURL(i)},[i]),(0,E.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[r&&i?(0,E.jsx)(`img`,{src:i,alt:e.name,className:`h-full w-full object-cover`}):(0,E.jsx)(ue,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,E.jsx)(u,{shape:`pill`,variant:`ghost`,size:`compact`,iconOnly:(0,E.jsx)(le,{}),onClick:t,"aria-label":n(`shareFeedbackModal.removeAttachmentAria`,{name:e.name}),className:`absolute top-0.5 right-0.5 h-4 w-4 bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{R as n,L as r,H as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./share-feedback-modal-Dg6x94HR.js";export{e as ShareFeedbackModal};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{DS as t,JC as n,Ng as r,OS as i,Zo as a,au as o,aw as s,fC as c,za as l}from"./app-4aEhon_S.js";import{E as u}from"./vendor-CtXGFqsu.js";import{d,f,n as p,t as m,x as h}from"./react-B9IgSVeK.js";import{Gi as g,za as _}from"./icons-C0wyat6T.js";import{t as v}from"./use-edge-swipe-back-D0Hv2Vbo.js";import{t as y}from"./link-click-CwW3QboU.js";var b=e(h(),1),x=`data-page-transition`,S=400,C;function w(){return typeof document<`u`&&typeof document.startViewTransition==`function`}function T(){return r()&&w()}function E(e,t,n,r){if(!T()){e(t,r);return}document.documentElement.setAttribute(x,n),C!==void 0&&clearTimeout(C),C=setTimeout(()=>{C=void 0,document.documentElement.removeAttribute(x)},S),e(t,{...r,viewTransition:!0})}var D=m();function O({sidebar:e,children:r,actions:c,backHref:m,title:h=`Settings`,menuRoute:g=t.settings.root,menuReplacesContentOnMobile:y=!1}){let{t:x}=u(),{pathname:S}=d(),C=f(),w=S===g,T=o(),O=T&&w,k=!(O&&y),A=(0,b.useRef)(null),j=(0,b.useRef)(null);(0,b.useLayoutEffect)(()=>{j.current?.scrollTo(0,0)},[S]);let M=w?m:g;v({containerRef:A,onBack:(0,b.useCallback)(()=>{C(M)},[C,M]),enabled:T,navKey:S,prefetchHref:M});let N=i(),P=x(w?`sidebarShell.backFrom`:`sidebarShell.backToMenu`,{title:h}),F=(0,D.jsx)(s,{variant:`ghost`,iconOnly:(0,D.jsx)(_,{}),"aria-label":P,tintColor:`var(--content-secondary)`,onClick:()=>E(C,M,`pop`)}),I=(0,D.jsx)(s,{asChild:!0,variant:`outlined`,"aria-label":x(`sidebarShell.backFrom`,{title:h}),className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,D.jsx)(p,{to:m,className:`flex items-center justify-center no-underline`,children:(0,D.jsx)(_,{size:16,"aria-hidden":`true`})})});return(0,D.jsxs)(`div`,{ref:A,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:N?`3.75rem`:`1rem`},children:[(0,D.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[F,(0,D.jsx)(n,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:h}),(0,D.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),N?(0,D.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,D.jsx)(a,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(l,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,D.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[I,(0,D.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:h})]}),(0,D.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:c})]}),(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[T?null:(0,D.jsx)(`aside`,{className:`w-64 shrink-0 overflow-y-auto`,"aria-label":x(`sidebarShell.navigationAria`,{title:h}),children:e}),O?(0,D.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6`,children:e}):null,k?(0,D.jsx)(`main`,{ref:j,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:px-6 md:pt-0 ${O?`hidden`:`flex`}`,children:r}):null]})]})]})}function k({items:e,bottomItems:t,indexPath:n}){let{t:r}=u(),{pathname:i}=d(),a=f(),s=o(),l=(e,t,r)=>{let{href:o,onSelect:l}=e,u=o!=null&&(i===o||i.startsWith(o+`/`)||!s&&r&&n!=null&&i===n);return(0,D.jsxs)(b.Fragment,{children:[(0,D.jsx)(c.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:o==null?void 0:g,trailingIconClassName:o==null?void 0:`md:hidden`,href:o,onSelect:l,onClick:o==null?void 0:e=>{y(e)||(e.preventDefault(),E(a,o,`push`))}}),!t&&(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,D.jsxs)(`nav`,{"aria-label":r(`sidebarTree.ariaLabel`),className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>l(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`div`,{className:`flex-1`}),(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>l(e,n===t.length-1,!1))]})]})}export{O as n,k as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{DS as t,JC as n,Ng as r,OS as i,Zo as a,au as o,aw as s,fC as c,za as l}from"./app-DbJUeBix.js";import{E as u}from"./vendor-CtXGFqsu.js";import{d,f,n as p,t as m,x as h}from"./react-B9IgSVeK.js";import{Gi as g,za as _}from"./icons-C0wyat6T.js";import{t as v}from"./use-edge-swipe-back-DeHKMrh8.js";import{t as y}from"./link-click-CwW3QboU.js";var b=e(h(),1),x=`data-page-transition`,S=400,C;function w(){return typeof document<`u`&&typeof document.startViewTransition==`function`}function T(){return r()&&w()}function E(e,t,n,r){if(!T()){e(t,r);return}document.documentElement.setAttribute(x,n),C!==void 0&&clearTimeout(C),C=setTimeout(()=>{C=void 0,document.documentElement.removeAttribute(x)},S),e(t,{...r,viewTransition:!0})}var D=m();function O({sidebar:e,children:r,actions:c,backHref:m,title:h=`Settings`,menuRoute:g=t.settings.root,menuReplacesContentOnMobile:y=!1}){let{t:x}=u(),{pathname:S}=d(),C=f(),w=S===g,T=o(),O=T&&w,k=!(O&&y),A=(0,b.useRef)(null),j=(0,b.useRef)(null);(0,b.useLayoutEffect)(()=>{j.current?.scrollTo(0,0)},[S]);let M=w?m:g;v({containerRef:A,onBack:(0,b.useCallback)(()=>{C(M)},[C,M]),enabled:T,navKey:S,prefetchHref:M});let N=i(),P=x(w?`sidebarShell.backFrom`:`sidebarShell.backToMenu`,{title:h}),F=(0,D.jsx)(s,{variant:`ghost`,iconOnly:(0,D.jsx)(_,{}),"aria-label":P,tintColor:`var(--content-secondary)`,onClick:()=>E(C,M,`pop`)}),I=(0,D.jsx)(s,{asChild:!0,variant:`outlined`,"aria-label":x(`sidebarShell.backFrom`,{title:h}),className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,D.jsx)(p,{to:m,className:`flex items-center justify-center no-underline`,children:(0,D.jsx)(_,{size:16,"aria-hidden":`true`})})});return(0,D.jsxs)(`div`,{ref:A,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:N?`3.75rem`:`1rem`},children:[(0,D.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[F,(0,D.jsx)(n,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:h}),(0,D.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),N?(0,D.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,D.jsx)(a,{placement:`electron`,className:`px-0 pt-0`}),(0,D.jsx)(l,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,D.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[I,(0,D.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:h})]}),(0,D.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:c})]}),(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[T?null:(0,D.jsx)(`aside`,{className:`w-64 shrink-0 overflow-y-auto`,"aria-label":x(`sidebarShell.navigationAria`,{title:h}),children:e}),O?(0,D.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6`,children:e}):null,k?(0,D.jsx)(`main`,{ref:j,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:px-6 md:pt-0 ${O?`hidden`:`flex`}`,children:r}):null]})]})]})}function k({items:e,bottomItems:t,indexPath:n}){let{t:r}=u(),{pathname:i}=d(),a=f(),s=o(),l=(e,t,r)=>{let{href:o,onSelect:l}=e,u=o!=null&&(i===o||i.startsWith(o+`/`)||!s&&r&&n!=null&&i===n);return(0,D.jsxs)(b.Fragment,{children:[(0,D.jsx)(c.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:o==null?void 0:g,trailingIconClassName:o==null?void 0:`md:hidden`,href:o,onSelect:l,onClick:o==null?void 0:e=>{y(e)||(e.preventDefault(),E(a,o,`push`))}}),!t&&(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,D.jsxs)(`nav`,{"aria-label":r(`sidebarTree.ariaLabel`),className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>l(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`div`,{className:`flex-1`}),(0,D.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>l(e,n===t.length-1,!1))]})]})}export{O as n,k as t};