@vellumai/web 0.10.8 → 0.10.9-dev.202607152225.ec6fdbf

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 (428) hide show
  1. package/dist/assets/{AnimatePresence-s1Z1HHWx.js → AnimatePresence-TZWSGjkI.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-C6bP7QB3.js → BundleConfirmPage-DgcqY17E.js} +1 -1
  3. package/dist/assets/{Combination-Cd_aWAsj.js → Combination-BJXmG5wD.js} +1 -1
  4. package/dist/assets/{a2a-invite-B9cylfIO.js → a2a-invite-hUo4WSAL.js} +1 -1
  5. package/dist/assets/{about-page-XGv9RAQu.js → about-page-BXF1KCN9.js} +1 -1
  6. package/dist/assets/account-page-BtKfeSgV.js +1 -0
  7. package/dist/assets/{account-shell-CdhP9l8T.js → account-shell-BVt4WGoT.js} +1 -1
  8. package/dist/assets/{acp-run-detail-panel-B1-zyOUe.js → acp-run-detail-panel-dcYWtQOo.js} +4 -4
  9. package/dist/assets/activity-steps-panel-GH3dyhG2.js +1 -0
  10. package/dist/assets/{add-credits-modal-PP1PX8Qv.js → add-credits-modal-XShL7AQ5.js} +1 -1
  11. package/dist/assets/ai-page-P438M1mx.js +1 -0
  12. package/dist/assets/animated-avatar-Y-A_0vmk.js +1 -0
  13. package/dist/assets/{api-_7pKLlYA.js → api-BsCfy4XV.js} +1 -1
  14. package/dist/assets/{api-BsQZ81K5.js → api-Dj9Z-j-6.js} +1 -1
  15. package/dist/assets/{api-key-screen-DTSP_-Da.js → api-key-screen-D5mqS5uB.js} +1 -1
  16. package/dist/assets/app-types-CTJGOi24.js +1 -0
  17. package/dist/assets/archive-redirect-page-BzPbcTFb.js +1 -0
  18. package/dist/assets/arrow-left-C2re-gYj.js +1 -0
  19. package/dist/assets/{assistant-feature-flag-store-DA8Oj9Mf.js → assistant-feature-flag-store-eHqy0FOb.js} +1 -1
  20. package/dist/assets/assistant-identity-store-Bc4hbSCe.js +1 -0
  21. package/dist/assets/assistant-status-panel-Dnnejpmx.js +1 -0
  22. package/dist/assets/auth-store-Ce9wqr8c.js +2 -0
  23. package/dist/assets/background-task-detail-panel-Dr2O-AOO.js +1 -0
  24. package/dist/assets/ban-Ih5bAOHZ.js +1 -0
  25. package/dist/assets/{bell-BQLonLMp.js → bell-BbESwsZk.js} +1 -1
  26. package/dist/assets/billing-page-Cuir7xDL.js +3 -0
  27. package/dist/assets/{bookmark-CNrithFf.js → bookmark-Dzconbsv.js} +1 -1
  28. package/dist/assets/{bookmarks-page-CjcavZv8.js → bookmarks-page-IeNT-se-.js} +1 -1
  29. package/dist/assets/{brain-BLDXGaUy.js → brain-CMiHVWFK.js} +1 -1
  30. package/dist/assets/browser-CUdEL48R.js +2 -0
  31. package/dist/assets/{bug-BsuQ5ciQ.js → bug-YmXTm_XW.js} +1 -1
  32. package/dist/assets/{build-state-PUXrUU4W.js → build-state-Cc8lgfTd.js} +1 -1
  33. package/dist/assets/button-BQVYX8n_.js +1 -0
  34. package/dist/assets/{calendar-h-mv1itX.js → calendar-D0labpMU.js} +1 -1
  35. package/dist/assets/card-D8zyWtZh.js +1 -0
  36. package/dist/assets/channels-page-route-HVoMtCIE.js +9 -0
  37. package/dist/assets/chat-CPqIbgZQ.js +1 -0
  38. package/dist/assets/chat-markdown-message-DekUplzJ.js +2 -0
  39. package/dist/assets/check-wF3S-AV4.js +1 -0
  40. package/dist/assets/checkbox-m-fy9ift.js +1 -0
  41. package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-DpYf9Gwq.js} +1 -1
  42. package/dist/assets/chevron-left-B_RAz34t.js +1 -0
  43. package/dist/assets/chevron-right-jRymmL7S.js +1 -0
  44. package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-DHI-QRpz.js} +1 -1
  45. package/dist/assets/{chunk-5KNZJZUH-DdS6bb-3.js → chunk-5KNZJZUH-SU6Q_tDT.js} +1 -1
  46. package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-CTnM6GCb.js} +1 -1
  47. package/dist/assets/circle-check-DqvTjWle.js +1 -0
  48. package/dist/assets/{client-feature-flag-store-DkJl-g9A.js → client-feature-flag-store-BWSPRAZI.js} +1 -1
  49. package/dist/assets/{client-identity-CadrtY_b.js → client-identity-C1M6QeKU.js} +1 -1
  50. package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-DbekAYi3.js} +1 -1
  51. package/dist/assets/{cloud-off-Db1nySkc.js → cloud-off-Cj66Ozsp.js} +1 -1
  52. package/dist/assets/code-D1zl7aOd.js +1 -0
  53. package/dist/assets/{command-palette-6o4m7BM9.js → command-palette-D0KUPO0z.js} +1 -1
  54. package/dist/assets/{command-palette-window-page-BsJlr5bh.js → command-palette-window-page-C7FWkvBe.js} +1 -1
  55. package/dist/assets/{community-page-CJA4JfuC.js → community-page-DdajiWNT.js} +1 -1
  56. package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-kE8y7s20.js} +1 -1
  57. package/dist/assets/{connect-page-DZgU3jCf.js → connect-page-8DGIdo6r.js} +1 -1
  58. package/dist/assets/consent-Bg13wifR.js +1 -0
  59. package/dist/assets/{consent-controls-Cnr1DzCr.js → consent-controls-9HzLiDGE.js} +1 -1
  60. package/dist/assets/{contacts-gateway-CW5CipBv.js → contacts-gateway-DsqzGIxS.js} +1 -1
  61. package/dist/assets/contacts-page-route-DKRLyHc9.js +1 -0
  62. package/dist/assets/{conversation-list-fetchers-DS9vmqfD.js → conversation-list-fetchers-CQ_dcy46.js} +1 -1
  63. package/dist/assets/{cpu-BJuB2Khn.js → cpu-CEyjQpZz.js} +1 -1
  64. package/dist/assets/{credential-entry-page-9H2HOu88.js → credential-entry-page-Bz05OQ1l.js} +1 -1
  65. package/dist/assets/credentials-page-DQUaGcSk.js +1 -0
  66. package/dist/assets/{credit-card-BuyWdO9t.js → credit-card-BY-vD21O.js} +1 -1
  67. package/dist/assets/danger-zone-redirect-page-BObfZbXc.js +1 -0
  68. package/dist/assets/debug-page-CHEFIcwt.js +4 -0
  69. package/dist/assets/{deploy-dialogs-paL_zcvG.js → deploy-dialogs-CHO7qgXb.js} +1 -1
  70. package/dist/assets/detail-card-ft5Na6Jw.js +1 -0
  71. package/dist/assets/{detail-panel-stop-button-y7O3HqJj.js → detail-panel-stop-button-DFd5vXbh.js} +1 -1
  72. package/dist/assets/developer-page-D5TyzQhJ.js +1 -0
  73. package/dist/assets/device-settings-BBwtGKJb.js +1 -0
  74. package/dist/assets/devices-redirect-page-C1LQBzrn.js +1 -0
  75. package/dist/assets/{diagnostics-COsnZMe5.js → diagnostics-BbfP585e.js} +1 -1
  76. package/dist/assets/{dictation-overlay-page-BkEBWrWm.js → dictation-overlay-page-DButFzu3.js} +1 -1
  77. package/dist/assets/{dist-CxHeCOEv.js → dist-Btg1osd6.js} +1 -1
  78. package/dist/assets/{dist-DqmYHxdg.js → dist-CxzJhU4a.js} +1 -1
  79. package/dist/assets/dist-Df9Kbc9v.js +1 -0
  80. package/dist/assets/{dist-HJ505Xnn.js → dist-URk13ITj.js} +1 -1
  81. package/dist/assets/document-viewer-page-ChwaY2Gu.js +1 -0
  82. package/dist/assets/{domain-field-C5a2iMot.js → domain-field-DKKi4dF-.js} +1 -1
  83. package/dist/assets/{download-CAuK-nZ6.js → download-B6XjnEzx.js} +1 -1
  84. package/dist/assets/dropdown-BxYrCXBS.js +1 -0
  85. package/dist/assets/edge-swipe-arbiter-store-CdpmheQU.js +1 -0
  86. package/dist/assets/effective-timezone-D6A5ISj1.js +1 -0
  87. package/dist/assets/{emails-page-7c9kVi_k.js → emails-page-DsPeayRI.js} +1 -1
  88. package/dist/assets/esm-BIBV_tQW.js +1 -0
  89. package/dist/assets/esm-BpVuRCaK.js +2 -0
  90. package/dist/assets/{esm-CT8NUp3h.js → esm-BtlRHesG.js} +2 -2
  91. package/dist/assets/esm-C0eM5us1.js +2 -0
  92. package/dist/assets/esm-Cjx6Josx.js +2 -0
  93. package/dist/assets/esm-_n61e_LE.js +2 -0
  94. package/dist/assets/esm-p7tDK3Q-.js +2 -0
  95. package/dist/assets/{external-link-Dqpx9nRm.js → external-link-Cczz6xJ4.js} +1 -1
  96. package/dist/assets/eye-C2rSrbD-.js +1 -0
  97. package/dist/assets/eye-off-BQ9J3pF2.js +1 -0
  98. package/dist/assets/feature-flag-catalog-CAYgyMOh.js +1 -0
  99. package/dist/assets/{file-DsyJLS2u.js → file-C8pjlmtk.js} +1 -1
  100. package/dist/assets/file-editor-BzlaskSf.js +1 -0
  101. package/dist/assets/file-markdown-wMH_OULm.js +2 -0
  102. package/dist/assets/{file-text-CYJz-GvF.js → file-text-DA128T4K.js} +1 -1
  103. package/dist/assets/folder-open-7DKBH5WB.js +1 -0
  104. package/dist/assets/general-page-DUGHbJWs.js +1 -0
  105. package/dist/assets/{globe-4qSOWE2N.js → globe-inD5tOKN.js} +1 -1
  106. package/dist/assets/haptics-CBEu5JKM.js +2 -0
  107. package/dist/assets/{hard-drive-rDxhoRUm.js → hard-drive-BXh9qCfi.js} +1 -1
  108. package/dist/assets/hatching-screen-BfL6mMQl.js +1 -0
  109. package/dist/assets/home-page-route-CRwgwG7m.js +1 -0
  110. package/dist/assets/{hosting-screen-BZLZular.js → hosting-screen-CiNC7D5K.js} +1 -1
  111. package/dist/assets/identity-page-route-CWHBHNdp.js +7 -0
  112. package/dist/assets/index-31nbLUeS.js +209 -0
  113. package/dist/assets/index-Bp6Atcow.css +2 -0
  114. package/dist/assets/{info-DsOyuMO9.js → info-DLFMsCl-.js} +1 -1
  115. package/dist/assets/ingest-B0ofnlye.js +1 -0
  116. package/dist/assets/input-6HVXMszw.js +1 -0
  117. package/dist/assets/inspect-page-CU5v4vjm.js +9 -0
  118. package/dist/assets/integrations-page-Bf9wNW1o.js +1 -0
  119. package/dist/assets/intelligence-layout-BnPHR15j.js +1 -0
  120. package/dist/assets/{key-round-CD3JWrs1.js → key-round-BggUE1Ns.js} +1 -1
  121. package/dist/assets/keyboard-shortcuts-redirect-page-ChK4kTis.js +1 -0
  122. package/dist/assets/latest-assistant-text-B12Sw3_u.js +24 -0
  123. package/dist/assets/library-detail-page-DBg_wsW2.js +1 -0
  124. package/dist/assets/library-page-BLEm33Z3.js +1 -0
  125. package/dist/assets/{link-2-4bMylQ5v.js → link-2-YnZe-oMg.js} +1 -1
  126. package/dist/assets/list-row-B9k-FoZv.js +1 -0
  127. package/dist/assets/loader-circle-C9QrtO3C.js +1 -0
  128. package/dist/assets/{local-mode-grqHUoNh.js → local-mode-Bskd5bsT.js} +1 -1
  129. package/dist/assets/{log-in--aqELu3z.js → log-in-Xv-AVlu8.js} +1 -1
  130. package/dist/assets/{login-flow-B6q00uIW.js → login-flow-CmlnYi0j.js} +1 -1
  131. package/dist/assets/login-page-CGHvLIez.js +1 -0
  132. package/dist/assets/{logout-page-BV0URcAd.js → logout-page-DuPCZ90A.js} +1 -1
  133. package/dist/assets/logs-layout-BRxIej3c.js +1 -0
  134. package/dist/assets/memory-page-route-pnpeSii_.js +1 -0
  135. package/dist/assets/{memory-router-playground-page-CQxX6mCn.js → memory-router-playground-page-LGFJw3s7.js} +1 -1
  136. package/dist/assets/menu-CLA56vz8.js +1 -0
  137. package/dist/assets/{messages-Bl6a3LUN.js → messages-DBgRkgBa.js} +2 -2
  138. package/dist/assets/{metric-card-DvXjHVCV.js → metric-card-C3DDH1u1.js} +1 -1
  139. package/dist/assets/mic-Dmvwrxe8.js +1 -0
  140. package/dist/assets/{middleware-pbPQ0upo.js → middleware-DL-IveDQ.js} +1 -1
  141. package/dist/assets/{minimize-2-Clnet2W7.js → minimize-2-B8VHIj-G.js} +1 -1
  142. package/dist/assets/{misc-BYQPh7vS.js → misc-CS-Pktrv.js} +1 -1
  143. package/dist/assets/mobile-sidebar-drawer-CfUSy_Ou.js +1 -0
  144. package/dist/assets/modal-bIQsMU63.js +1 -0
  145. package/dist/assets/{monitor-DfbL8_59.js → monitor-Cy7Q70-7.js} +1 -1
  146. package/dist/assets/{moon-B8qiwjrW.js → moon-jDX7sipq.js} +1 -1
  147. package/dist/assets/mutation-error-CFLGO21o.js +1 -0
  148. package/dist/assets/native-biometric-BvCjSInu.js +6 -0
  149. package/dist/assets/{native-file-DI99Emal.js → native-file-C6oXU5FE.js} +2 -2
  150. package/dist/assets/notice-BiZA71pR.js +1 -0
  151. package/dist/assets/notifications-page-clztNuMl.js +1 -0
  152. package/dist/assets/{oauth-complete-page-BlJm9tRJ.js → oauth-complete-page-BK-eCVgQ.js} +1 -1
  153. package/dist/assets/{oauth-popup-complete-page-BqUopTat.js → oauth-popup-complete-page-Cs2egwq6.js} +1 -1
  154. package/dist/assets/onboarding-store-tqBxGvkR.js +1 -0
  155. package/dist/assets/page-shell-BvXbg7Db.js +1 -0
  156. package/dist/assets/{pairing-page-B5GrCx4C.js → pairing-page-BE4ph4ik.js} +1 -1
  157. package/dist/assets/panel-item-CfuwAm7q.js +1 -0
  158. package/dist/assets/password-reset-page-8SeFGA1l.js +1 -0
  159. package/dist/assets/{pencil-CUIr0IFo.js → pencil-BOTCmXXR.js} +1 -1
  160. package/dist/assets/personality-page-DncIme1O.js +1 -0
  161. package/dist/assets/platform-detection-BTuzpl34.js +1 -0
  162. package/dist/assets/platform-loopback-page-LBbH5z8z.js +1 -0
  163. package/dist/assets/{plugin-detail-page-Byuqbr1N.js → plugin-detail-page-CiUmOJx4.js} +1 -1
  164. package/dist/assets/plugins-page-DGpvzJ6A.js +1 -0
  165. package/dist/assets/plugins-surface-B2vYGNIS.js +1 -0
  166. package/dist/assets/plus-D54jrPDF.js +1 -0
  167. package/dist/assets/popover-rW459udD.js +1 -0
  168. package/dist/assets/prechat-route-Blw5oByr.js +1 -0
  169. package/dist/assets/prefs-BhGkdtWC.js +1 -0
  170. package/dist/assets/privacy-page-DtJ7Ta9Q.js +1 -0
  171. package/dist/assets/privacy-screen-DCmdN-F6.js +1 -0
  172. package/dist/assets/{usage-window-C6gWu5Qu.js → profile-metadata-CbcuGTHP.js} +1 -1
  173. package/dist/assets/progress-bar-Wa6qo8OT.js +1 -0
  174. package/dist/assets/provider-callback-page-DqiHRsf7.js +1 -0
  175. package/dist/assets/{provider-key-3AHnKoz9.js → provider-key-BIMvWJCe.js} +1 -1
  176. package/dist/assets/provider-signup-page-D5rIiZ2o.js +1 -0
  177. package/dist/assets/puzzle-0_oQwgsv.js +1 -0
  178. package/dist/assets/{quick-input-page-Cv_CzapK.js → quick-input-page-BEwEfXyk.js} +1 -1
  179. package/dist/assets/react-query.gen-DjmYXavs.js +1 -0
  180. package/dist/assets/react-query.gen-JxTd3SS8.js +1 -0
  181. package/dist/assets/{refresh-cw-DevIHL7J.js → refresh-cw-BkscUrbN.js} +1 -1
  182. package/dist/assets/{remote-gateway-session-CbBWrPZH.js → remote-gateway-session-CBKZhJak.js} +1 -1
  183. package/dist/assets/{repeat-C8Im6j--.js → repeat-BRYsTqh_.js} +1 -1
  184. package/dist/assets/research-mock-page-VikWGUam.js +1 -0
  185. package/dist/assets/research-onboarding-route-BiLio9x3.js +42 -0
  186. package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-yH10K9Qq.js} +1 -1
  187. package/dist/assets/{resolved-assistants-store-BSZbT8Ju.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
  188. package/dist/assets/{return-to-BwxkOGDI.js → return-to-ugSGJ0dm.js} +1 -1
  189. package/dist/assets/review-terms-screen-DybxZzqn.js +1 -0
  190. package/dist/assets/risk-b98f7VDW.js +3 -0
  191. package/dist/assets/routes-Bzvx8bnp.js +1 -0
  192. package/dist/assets/schedules-oC-weaYP.js +1 -0
  193. package/dist/assets/{sdk.gen-BwnFjFcp.js → sdk.gen-CFgJ4K6f.js} +1 -1
  194. package/dist/assets/sdk.gen-Z7XkRg5O.js +1 -0
  195. package/dist/assets/security-redirect-page-GKy7eRUs.js +1 -0
  196. package/dist/assets/{select-assistant-screen-Br-PNDO1.js → select-assistant-screen-BFDxdgLn.js} +1 -1
  197. package/dist/assets/{setting-row-CUka7_L9.js → setting-row-f2idXB8B.js} +1 -1
  198. package/dist/assets/settings-divider-BPEDTMBU.js +1 -0
  199. package/dist/assets/settings-layout-BlQX4ZgU.js +1 -0
  200. package/dist/assets/share-feedback-modal-CsAJJ_oZ.js +1 -0
  201. package/dist/assets/shield-check-kgUZeU9b.js +1 -0
  202. package/dist/assets/{sidebar-tree-C1_LiBB9.js → sidebar-tree-Osepkg7m.js} +1 -1
  203. package/dist/assets/signup-page-CL3T-Z4a.js +1 -0
  204. package/dist/assets/{signup-shell-DufHA5do.js → signup-shell-C2c8tEWo.js} +1 -1
  205. package/dist/assets/site-favicon-Bf4BKQG1.js +1 -0
  206. package/dist/assets/skill-detail-page-B1AuSkFK.js +1 -0
  207. package/dist/assets/{skill-detail-panel-BGoRUWNU.js → skill-detail-panel-CeOWb3Bf.js} +1 -1
  208. package/dist/assets/{skills-AtSQBwXr.js → skills-ByKs3Zjf.js} +1 -1
  209. package/dist/assets/skills-page-HoaDTYTI.js +1 -0
  210. package/dist/assets/{sound-manager-6UbdgQrj.js → sound-manager-DUFvLLrG.js} +1 -1
  211. package/dist/assets/sounds-redirect-page-BE1uLXxt.js +1 -0
  212. package/dist/assets/{sparkles-PGiR5v1g.js → sparkles-BK3KXCjl.js} +1 -1
  213. package/dist/assets/{src-zsLiFPw3.js → src-A8hMQd90.js} +39 -39
  214. package/dist/assets/{subagent-detail-panel-BGuVa8-m.js → subagent-detail-panel-DQJPOafB.js} +2 -2
  215. package/dist/assets/{subagent-store-Bz4irJre.js → subagent-store-UK3sycHi.js} +1 -1
  216. package/dist/assets/system-events-page-f63DiHJ0.js +1 -0
  217. package/dist/assets/system-events-redirect-page-BxksRhif.js +1 -0
  218. package/dist/assets/tag-D0AE0-aA.js +1 -0
  219. package/dist/assets/theme-preferences-DW9WTu2f.js +1 -0
  220. package/dist/assets/theme-stage-page-Bo5V4ZDW.js +1 -0
  221. package/dist/assets/{tiptap-document-editor-C-eOEBR_.js → tiptap-document-editor-ChljO0fw.js} +2 -2
  222. package/dist/assets/toast-B5Hr1kIL.js +1 -0
  223. package/dist/assets/toggle-CWrJ2t4S.js +1 -0
  224. package/dist/assets/{tool-detail-panel-wAuQ7gi8.js → tool-detail-panel-_oXYE81O.js} +2 -2
  225. package/dist/assets/{triangle-alert-Z0Gq0IuB.js → triangle-alert-CnjNKhNx.js} +1 -1
  226. package/dist/assets/typography-Cqi8q9o7.js +1 -0
  227. package/dist/assets/{upgrade-cancel-page-BGgPmDmT.js → upgrade-cancel-page-C4sJ4IHi.js} +1 -1
  228. package/dist/assets/{upgrade-success-page-TJBopZ0Z.js → upgrade-success-page-v7UtvYeb.js} +1 -1
  229. package/dist/assets/usage-redirect-page-DlxixrFd.js +1 -0
  230. package/dist/assets/{use-active-assistant-id-BWXi63qg.js → use-active-assistant-id-KipCgPNT.js} +1 -1
  231. package/dist/assets/use-assistant-identity-details-BpbmaZva.js +1 -0
  232. package/dist/assets/{use-edge-swipe-back-B4XlZ1Iu.js → use-edge-swipe-back-DTpbr5KC.js} +1 -1
  233. package/dist/assets/use-invite-link-dialog-2FBB54DX.js +1 -0
  234. package/dist/assets/use-is-org-ready-MUDnKy3r.js +1 -0
  235. package/dist/assets/use-onboarding-login-_LAXettN.js +1 -0
  236. package/dist/assets/{use-reduced-motion-Cj0Z8KSf.js → use-reduced-motion-BPBlq9_a.js} +1 -1
  237. package/dist/assets/use-skill-actions-CrU5Sgk_.js +1 -0
  238. package/dist/assets/use-skill-categories-BhT4D6gt.js +1 -0
  239. package/dist/assets/{use-skill-detail-files-Dpp521cY.js → use-skill-detail-files-DNY3WFns.js} +1 -1
  240. package/dist/assets/{user-plus-DMh4_UTz.js → user-plus-KuzSTM_D.js} +1 -1
  241. package/dist/assets/{utils-xg2dl_KJ.js → utils-CNB1P-cO.js} +1 -1
  242. package/dist/assets/{viewer-store-B8-Qnbx9.js → viewer-store-CFywMdJp.js} +1 -1
  243. package/dist/assets/voice-page-otevqz9B.js +1 -0
  244. package/dist/assets/{weather-forecast-display-Bix8rpji.js → weather-forecast-display-CcKGlN7f.js} +1 -1
  245. package/dist/assets/{web-RhBklijR.js → web-BPvLuAGE.js} +1 -1
  246. package/dist/assets/{web-D8PpvYf_.js → web-BUVD1SEs.js} +1 -1
  247. package/dist/assets/{web-C1L-cpPj.js → web-Bf269a_Y.js} +1 -1
  248. package/dist/assets/{web-CJiP8Lg6.js → web-CELqsarU.js} +1 -1
  249. package/dist/assets/{web-O1LOb-o9.js → web-CFPJ_DoC.js} +1 -1
  250. package/dist/assets/{web-BD2N6zhd.js → web-DFW5YV0h.js} +1 -1
  251. package/dist/assets/{web-BaubW4Pp.js → web-DyY0a6OS.js} +1 -1
  252. package/dist/assets/{web-Duw5A2aP.js → web-KeVAvkzP.js} +1 -1
  253. package/dist/assets/{welcome-screen-CVI4Hjnt.js → welcome-screen-C8axlf6E.js} +1 -1
  254. package/dist/assets/workflow-detail-panel-DkqCKrOL.js +1 -0
  255. package/dist/assets/{workflow-store-B7ofewCi.js → workflow-store-k8Si-dKc.js} +1 -1
  256. package/dist/assets/workspace-page-CS0P8RFO.js +1 -0
  257. package/dist/assets/x-BYcSiJRX.js +1 -0
  258. package/dist/index.html +146 -142
  259. package/dist/skills/chat-complex-documents/assets/icon.svg +26 -0
  260. package/package.json +1 -1
  261. package/dist/assets/account-page-Dno1SeJN.js +0 -1
  262. package/dist/assets/activity-steps-panel-BGyfMCXK.js +0 -1
  263. package/dist/assets/advanced-page-vCbMVJsK.js +0 -1
  264. package/dist/assets/ai-page-BIYybKux.js +0 -1
  265. package/dist/assets/animated-avatar-Cqpzb8O4.js +0 -1
  266. package/dist/assets/archive-0aqysuyd.js +0 -1
  267. package/dist/assets/archive-page-RZ2VP63A.js +0 -1
  268. package/dist/assets/arrow-left-DI9551VI.js +0 -1
  269. package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
  270. package/dist/assets/assistant-status-panel-BC0RTDls.js +0 -1
  271. package/dist/assets/auth-store-C09YAZEu.js +0 -2
  272. package/dist/assets/background-task-detail-panel-BfnsD-3B.js +0 -1
  273. package/dist/assets/ban-CVKGuUAQ.js +0 -1
  274. package/dist/assets/billing-page-1z_L2m6q.js +0 -3
  275. package/dist/assets/browser-C6a_nhhZ.js +0 -2
  276. package/dist/assets/button-amTXFI-2.js +0 -1
  277. package/dist/assets/card-Bv5O5juh.js +0 -1
  278. package/dist/assets/channels-page-route-WjNmd0sS.js +0 -9
  279. package/dist/assets/chat-B8mgARYR.js +0 -1
  280. package/dist/assets/chat-markdown-message-BnX6bhgs.js +0 -2
  281. package/dist/assets/check-DFNrQERi.js +0 -1
  282. package/dist/assets/checkbox-EdyezNqo.js +0 -1
  283. package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
  284. package/dist/assets/chevron-right-DqqmezXC.js +0 -1
  285. package/dist/assets/circle-check-VSiny8yl.js +0 -1
  286. package/dist/assets/cn-C36Yvcac.js +0 -1
  287. package/dist/assets/code-Czx7d7SK.js +0 -1
  288. package/dist/assets/contacts-page-route-P0neH-PV.js +0 -1
  289. package/dist/assets/copy-Cn1FKrEp.js +0 -1
  290. package/dist/assets/credentials-page-MkKE_19-.js +0 -1
  291. package/dist/assets/danger-zone-redirect-page-BWg7rn8D.js +0 -1
  292. package/dist/assets/debug-page-B88f4aDU.js +0 -4
  293. package/dist/assets/detail-card-xKZlkbz5.js +0 -1
  294. package/dist/assets/developer-page-BFMS6pwU.js +0 -1
  295. package/dist/assets/devices-page-B3D5iLhD.js +0 -1
  296. package/dist/assets/dist-BItmZQO6.js +0 -1
  297. package/dist/assets/document-viewer-page-B631L6-3.js +0 -1
  298. package/dist/assets/dropdown-ByHOpeOU.js +0 -1
  299. package/dist/assets/earn-credits-modal-CFla-iKl.js +0 -1
  300. package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +0 -1
  301. package/dist/assets/effective-timezone-C4nukIC4.js +0 -1
  302. package/dist/assets/esm-B54gzHCZ.js +0 -1
  303. package/dist/assets/esm-Bzs_witt.js +0 -2
  304. package/dist/assets/esm-C5J59K0j.js +0 -2
  305. package/dist/assets/esm-DEu9JbAE.js +0 -2
  306. package/dist/assets/esm-DZkj1VLJ.js +0 -2
  307. package/dist/assets/esm-DtJz1M8R.js +0 -2
  308. package/dist/assets/feature-flag-catalog-GgSNKkqP.js +0 -1
  309. package/dist/assets/file-editor-sT7eHxsw.js +0 -1
  310. package/dist/assets/file-markdown-Bq97tNxs.js +0 -2
  311. package/dist/assets/general-page-D-Gr2lkW.js +0 -1
  312. package/dist/assets/haptics-lMERs7us.js +0 -2
  313. package/dist/assets/hatching-screen-BlwicgIz.js +0 -1
  314. package/dist/assets/home-page-route-D24x4A0S.js +0 -1
  315. package/dist/assets/identity-page-route-BwOJeenx.js +0 -1
  316. package/dist/assets/index-C9GrLGul.css +0 -2
  317. package/dist/assets/index-yu6nDHvG.js +0 -113
  318. package/dist/assets/input-CoUmPnRU.js +0 -1
  319. package/dist/assets/inspect-page-1RejwSP_.js +0 -9
  320. package/dist/assets/integrations-page-BV5BiHPD.js +0 -1
  321. package/dist/assets/intelligence-layout-iQFO8in_.js +0 -1
  322. package/dist/assets/keyboard-shortcuts-page-jt13JtxS.js +0 -1
  323. package/dist/assets/library-detail-page-BAGWt1Lw.js +0 -1
  324. package/dist/assets/library-page-CqeoBhDY.js +0 -1
  325. package/dist/assets/list-row-D5MFdbkH.js +0 -1
  326. package/dist/assets/llm-dimension-DyYwG3mU.js +0 -1
  327. package/dist/assets/loader-circle-Cz7opInR.js +0 -1
  328. package/dist/assets/login-page-BQVTWuQc.js +0 -1
  329. package/dist/assets/logs-layout-DO3yfZqD.js +0 -1
  330. package/dist/assets/menu-Dy5QbnTj.js +0 -1
  331. package/dist/assets/mobile-sidebar-drawer-Epbt6p-k.js +0 -1
  332. package/dist/assets/modal-D5nLWNN9.js +0 -1
  333. package/dist/assets/mutation-error-DYv0eJ_i.js +0 -1
  334. package/dist/assets/native-biometric-Czaf9IqI.js +0 -6
  335. package/dist/assets/notice-DkcNAP8O.js +0 -1
  336. package/dist/assets/notifications-page-CXaZpD3s.js +0 -1
  337. package/dist/assets/page-shell-BUGBKCmv.js +0 -1
  338. package/dist/assets/panel-item-CouW2A55.js +0 -1
  339. package/dist/assets/password-reset-page-BCk9Si73.js +0 -1
  340. package/dist/assets/platform-detection-BrxvFUiR.js +0 -1
  341. package/dist/assets/platform-loopback-page-MZdCPXRI.js +0 -1
  342. package/dist/assets/plugins-page-Ci0CoSAN.js +0 -1
  343. package/dist/assets/plugins-surface-z3RTZS4H.js +0 -1
  344. package/dist/assets/plus-DItfr5ux.js +0 -1
  345. package/dist/assets/popover-CFL4WZTr.js +0 -1
  346. package/dist/assets/prechat-route-9JFn-w_1.js +0 -1
  347. package/dist/assets/prefs-B1Y3q3c8.js +0 -1
  348. package/dist/assets/privacy-page-BTpvj9ZP.js +0 -1
  349. package/dist/assets/privacy-screen-CUbVcDf_.js +0 -1
  350. package/dist/assets/progress-bar-Ca8gmE3B.js +0 -1
  351. package/dist/assets/provider-callback-page-fB2tIyqL.js +0 -1
  352. package/dist/assets/provider-signup-page-C4Dn-wtJ.js +0 -1
  353. package/dist/assets/react-query.gen-C6wVk6Rw.js +0 -1
  354. package/dist/assets/react-query.gen-DPzPS206.js +0 -1
  355. package/dist/assets/research-mock-page-1T92rXz3.js +0 -1
  356. package/dist/assets/research-onboarding-route-CmWgwOFk.js +0 -63
  357. package/dist/assets/review-terms-screen-DrD4vywk.js +0 -1
  358. package/dist/assets/risk-Dopd25rc.js +0 -3
  359. package/dist/assets/routes-BbeIx_F9.js +0 -1
  360. package/dist/assets/save-aD5JFIZf.js +0 -1
  361. package/dist/assets/schedules-BfKi12EZ.js +0 -1
  362. package/dist/assets/sdk.gen-CmKfVpgB.js +0 -1
  363. package/dist/assets/security-page-BYI7twYM.js +0 -1
  364. package/dist/assets/settings-layout-lddMUg7A.js +0 -1
  365. package/dist/assets/share-feedback-modal-DSwfhMsV.js +0 -1
  366. package/dist/assets/shortcut-keys-B2EE-634.js +0 -1
  367. package/dist/assets/signup-page-D6hAK-Us.js +0 -1
  368. package/dist/assets/site-favicon-fQHLTT6F.js +0 -1
  369. package/dist/assets/skill-detail-page-BlfgTyFC.js +0 -1
  370. package/dist/assets/skill-icon-cNkD2w1X.js +0 -1
  371. package/dist/assets/skills-page-DeIiyhVc.js +0 -1
  372. package/dist/assets/sounds-page-BgLLJ-o9.js +0 -1
  373. package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
  374. package/dist/assets/system-events-page-C1hXOYmg.js +0 -1
  375. package/dist/assets/system-events-redirect-page-DbaFKRXH.js +0 -1
  376. package/dist/assets/tag-CV4v7fRF.js +0 -1
  377. package/dist/assets/toast-xTp-xwYL.js +0 -1
  378. package/dist/assets/toggle-CDfguvUz.js +0 -1
  379. package/dist/assets/typography-D5f7kt80.js +0 -1
  380. package/dist/assets/usage-page-DLWFk2P0.js +0 -1
  381. package/dist/assets/use-bus-subscription-C3H3CmM_.js +0 -1
  382. package/dist/assets/use-invite-link-dialog-BdnW1BHj.js +0 -1
  383. package/dist/assets/use-is-org-ready-jhEM-4rY.js +0 -1
  384. package/dist/assets/use-onboarding-login-B-1jrjFL.js +0 -1
  385. package/dist/assets/use-skill-actions-BpVxiQZY.js +0 -1
  386. package/dist/assets/use-skill-categories-CCxtjMC_.js +0 -1
  387. package/dist/assets/voice-page-BoCTB8Jx.js +0 -1
  388. package/dist/assets/workflow-detail-panel-CwZH3tDl.js +0 -1
  389. package/dist/assets/workspace-page-CwIsXk1j.js +0 -1
  390. package/dist/assets/x-CkSVp1Ok.js +0 -1
  391. /package/dist/assets/{app-info-Clwt3pCt.js → app-info-AJ6nA0RS.js} +0 -0
  392. /package/dist/assets/{avatar-bundled-components--1Wyhs4r.js → avatar-bundled-components-DgzHRe6Z.js} +0 -0
  393. /package/dist/assets/{avatar-svg-compositor-CnDf9Ibf.js → avatar-svg-compositor-C_lXkZLZ.js} +0 -0
  394. /package/dist/assets/{browser-timezone-2SnmKDjM.js → browser-timezone-DjbAts-Z.js} +0 -0
  395. /package/dist/assets/{build.umd-CxdKgGWo.js → build.umd-CVjrbvyL.js} +0 -0
  396. /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-CK9sN9wG.js} +0 -0
  397. /package/dist/assets/{by-tool-use-id-index-BokzI3ZP.js → by-tool-use-id-index-CBaMK-eh.js} +0 -0
  398. /package/dist/assets/{composer-focus-BZr63Cvs.js → composer-focus-CpeV_gfi.js} +0 -0
  399. /package/dist/assets/{conversation-selection-BBHkzcfy.js → conversation-selection-DYJPsAjJ.js} +0 -0
  400. /package/dist/assets/{conversation-store-BljZWolF.js → conversation-store-CnRrUeSu.js} +0 -0
  401. /package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
  402. /package/dist/assets/{definitions-CaYcW4Yq.js → definitions-BaillmRO.js} +0 -0
  403. /package/dist/assets/{definitions-DScTW2c-.js → definitions-Ce8XXjMI.js} +0 -0
  404. /package/dist/assets/{dist-DS5iJwBJ2.js → dist-DyRKd0bN2.js} +0 -0
  405. /package/dist/assets/{domains-D3QF404Q.js → domains-CIIVdIa8.js} +0 -0
  406. /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-BNtUmdK0.js} +0 -0
  407. /package/dist/assets/{environment-store-C0f32873.js → environment-store-R_3zZFKL.js} +0 -0
  408. /package/dist/assets/{format-date-CghpPTDc.js → format-date-Cda44k2J.js} +0 -0
  409. /package/dist/assets/{format-file-size-DzVEncaw.js → format-file-size-BSrdQr7P.js} +0 -0
  410. /package/dist/assets/{native-deep-link-CJGNy9bj.js → native-deep-link-CbHUZ2h_.js} +0 -0
  411. /package/dist/assets/{onboarding-step-layout-2XcmxqFN.js → onboarding-step-layout-BfSOxqy3.js} +0 -0
  412. /package/dist/assets/{optimistic-lifecycle-BvfDBY8o.js → optimistic-lifecycle-CR11Vyrt.js} +0 -0
  413. /package/dist/assets/{pdf-C3Qukw-J.js → pdf-BjgNZTii.js} +0 -0
  414. /package/dist/assets/{pointer-Cdz7NGHe.js → pointer-CzC_8USk.js} +0 -0
  415. /package/dist/assets/{prechat-P1y7ZM6C.js → prechat-Ddpjms85.js} +0 -0
  416. /package/dist/assets/{prechat-names-clVy5Mee.js → prechat-names-DEWE0LUf.js} +0 -0
  417. /package/dist/assets/{proxy-o6cPThl2.js → proxy-Cadlowdl.js} +0 -0
  418. /package/dist/assets/{public-asset-GKv5zCfZ.js → public-asset-Budc22a_.js} +0 -0
  419. /package/dist/assets/{research-onboarding-persistence-DnuHyFyB.js → research-onboarding-persistence-BmACYjeE.js} +0 -0
  420. /package/dist/assets/{sdk.gen-BhtkuoSl.js → sdk.gen-C9oZyNeN.js} +0 -0
  421. /package/dist/assets/{status-badge-pill-0N6rTEBg.js → status-badge-pill-DQHLgr0r.js} +0 -0
  422. /package/dist/assets/{step-indicator-dots-D03TmFKG.js → step-indicator-dots-iS_Q2OX6.js} +0 -0
  423. /package/dist/assets/{three-dot-indicator-DNuHHwtA.js → three-dot-indicator-ByrGmGYU.js} +0 -0
  424. /package/dist/assets/{typed-storage-5IU6qVWg.js → typed-storage-BRvgA7pX.js} +0 -0
  425. /package/dist/assets/{use-copy-to-clipboard-BCTXSMa-.js → use-copy-to-clipboard-CtO2o7KE.js} +0 -0
  426. /package/dist/assets/{workflow-status-ZrbiLW5D.js → workflow-status-4RYJ-tdh.js} +0 -0
  427. /package/dist/assets/{xterm-CBmd_y-b.js → xterm-ChjrCiYv.js} +0 -0
  428. /package/dist/assets/{xterm-addon-fit-THPW0uy0.js → xterm-addon-fit-D_4nBxep.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,r as n,s as r}from"./device-settings-BBwtGKJb.js";import{t as i}from"./capture-error-Dhiismgm.js";import{t as a}from"./react-DJZBPgpf.js";import{t as o}from"./button-BQVYX8n_.js";import{m as s,t as c,u as l}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as u}from"./QueryClientProvider-DKhXIxGb.js";import{t as d}from"./useQuery-B45lW1Kk.js";import{t as f}from"./useMutation-Lj4VunQV.js";import{t as p}from"./jsx-runtime-CVSDxk6A.js";import{t as m}from"./card-D8zyWtZh.js";import{t as h}from"./createLucideIcon-Bjb-Kuq7.js";import{t as g}from"./bell-BbESwsZk.js";import{t as _}from"./check-wF3S-AV4.js";import{t as v}from"./chevron-down-DpYf9Gwq.js";import{t as y}from"./circle-alert-CTnM6GCb.js";import{t as b}from"./circle-check-DqvTjWle.js";import{o as x}from"./list-row-B9k-FoZv.js";import{t as S}from"./hard-drive-BXh9qCfi.js";import{t as C}from"./loader-circle-C9QrtO3C.js";import{t as w}from"./monitor-Cy7Q70-7.js";import{t as T}from"./moon-jDX7sipq.js";import{t as E}from"./refresh-cw-BkscUrbN.js";import{a as D,c as O,o as k,r as A,s as j,t as M}from"./resize-errors-yH10K9Qq.js";import{t as N}from"./sparkles-BK3KXCjl.js";import{t as P}from"./triangle-alert-CnjNKhNx.js";import{t as F}from"./x-BYcSiJRX.js";import{t as I}from"./notice-BiZA71pR.js";import{t as ee}from"./progress-bar-Wa6qo8OT.js";import{M as L,N as te,i as R,j as ne,n as re}from"./src-A8hMQd90.js";import{t as ie}from"./tag-D0AE0-aA.js";import{t as z}from"./input-6HVXMszw.js";import{t as ae}from"./toggle-CWrJ2t4S.js";import{t as B}from"./modal-bIQsMU63.js";import{n as V}from"./toast-B5Hr1kIL.js";import{t as H}from"./confirm-dialog-kE8y7s20.js";import{t as oe}from"./dropdown-BxYrCXBS.js";import{C as U,D as se,S as ce,_ as le,c as ue,f as de,g as fe,i as pe,k as me,l as he,p as ge,r as _e}from"./local-mode-Bskd5bsT.js";import{t as W}from"./is-electron-y5bNUVyG.js";import{n as ve}from"./resolved-assistants-store-DAzPZ1eV.js";import{r as ye,t as be}from"./semver-DIkpaM51.js";import{n as xe,r as Se,t as Ce}from"./api-errors-CrWDzVca.js";import{E as we,O as Te,_ as Ee,a as De,h as Oe,l as ke,m as Ae,n as je,v as Me,w as Ne,x as Pe,y as Fe}from"./auth-store-Ce9wqr8c.js";import{t as G}from"./client.gen-DVfIRXUZ.js";import{C as Ie,H as Le,M as Re,Rt as ze,T as Be,X as Ve,Z as He,j as Ue}from"./sdk.gen-Z7XkRg5O.js";import{a as We,o as Ge}from"./api-BsCfy4XV.js";import{c as K}from"./routes-Bzvx8bnp.js";import{a as Ke,r as qe}from"./platform-detection-BTuzpl34.js";import{t as q}from"./client-feature-flag-store-BWSPRAZI.js";import{n as Je,r as Ye,t as Xe}from"./theme-preferences-DW9WTu2f.js";import{A as Ze,At as Qe,D as $e,E as et,F as tt,M as nt,Mt as rt,Nt as it,Ot as at,P as ot,T as st,Tt as ct,bt as lt,c as ut,it as dt,j as ft,jt as pt,k as mt,kt as ht,nt as gt,v as _t,w as vt,wt as yt}from"./react-query.gen-DjmYXavs.js";import{t as bt}from"./assistant-feature-flag-store-eHqy0FOb.js";import{t as xt}from"./pointer-CzC_8USk.js";import{t as St}from"./proxy-Cadlowdl.js";import{t as Ct}from"./AnimatePresence-TZWSGjkI.js";import{t as wt}from"./use-reduced-motion-BPBlq9_a.js";import{D as J,Ei as Tt,Fn as Et,Gr as Dt,It as Ot,Mi as kt,Ni as At,Pn as jt,Si as Mt,Ur as Nt,Wr as Pt,_ as Ft,_n as It,bn as Lt,ct as Rt,h as zt,na as Bt,v as Vt,vn as Ht,xr as Ut,yn as Wt}from"./index-31nbLUeS.js";import{t as Gt}from"./use-active-assistant-id-KipCgPNT.js";import{t as Y}from"./detail-card-ft5Na6Jw.js";import{t as Kt}from"./app-info-AJ6nA0RS.js";import{t as qt}from"./environment-store-R_3zZFKL.js";import{a as Jt,i as Yt,n as Xt,r as Zt,t as Qt}from"./assistant-status-panel-Dnnejpmx.js";import{t as $t}from"./settings-divider-BPEDTMBU.js";var en=h(`fingerprint-pattern`,[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]]),tn=h(`vibrate`,[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`,key:`sv1b1`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`,key:`101i4y`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`,key:`1oyrl4`}]]),X=e(a(),1),nn=Ae,rn=`Please choose a different handle.`;async function an(e,t){let{data:n,error:r,response:i}=await Re({path:{id:e},body:{handle:t},throwOnError:!1});if(!i)return{kind:`error`,message:Se(r,void 0,`Failed to save handle.`)??`Failed to save handle.`};if(i.ok&&n)return{kind:`ok`,data:n};if(i.status===409){let{message:e}=Fe(r,`handle`,nn.taken);return{kind:`taken`,message:e}}if(i.status===400){let{code:e,message:t}=Fe(r,`handle`,rn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:Se(r,i,`Failed to save handle.`)}}async function on(e,t,n){let{data:r,error:i,response:a}=await Ie({path:{assistant_id:e},query:{handle:t},signal:n,throwOnError:!1});if(xe(a,i,`Failed to check handle availability.`),!a.ok||!r)throw new Ce(a.status,a.status===429?`Too many checks — try again in a moment.`:Se(i,a,`Failed to check handle availability.`));return{available:r.available,code:r.code??null,message:r.message??null}}function sn(e){return/\d{2,}$/.test(e)}var Z=p(),cn=300,ln=1400;function un({initialHandle:e,inputLabel:t,helperText:n,idleHelperText:r,checkAvailable:i,save:a,onSaved:s,saveSuccessToast:c,fieldId:l}){let[u,d]=(0,X.useState)(e),[f,p]=(0,X.useState)(null),[m,h]=(0,X.useState)(!1),[g,v]=(0,X.useState)(`idle`),[b,x]=(0,X.useState)(null),S=wt(),w=(0,X.useRef)(null),T=(0,X.useMemo)(()=>u.trim().toLowerCase(),[u]),E=T===e.toLowerCase();(0,X.useEffect)(()=>{if(E||T.length===0){h(!1),w.current?.abort();return}let e=new AbortController;w.current?.abort(),w.current=e,h(!0);let t=window.setTimeout(async()=>{try{let t=await i(T,e.signal);e.signal.aborted||p(t)}catch(t){e.signal.aborted||x(t instanceof Error?t.message:`Couldn't check availability.`)}finally{e.signal.aborted||h(!1)}},cn);return()=>{window.clearTimeout(t),e.abort()}},[T,E,i]);let D=(()=>{if(b)return b;if(f&&!f.available){let e=f.code;return f.message??(e?nn[e]:`Please choose a different handle.`)}return null})(),O=D?n:E?r??null:m?`Checking availability…`:f?.available?`Available.`:null,k=!E&&!m&&f?.available!==!1&&g!==`saving`,A=(0,X.useCallback)(async()=>{if(!k)return;v(`saving`),x(null);let e=await a(T);if(e.kind===`ok`){v(`saved`),s(e.data),V.success(c),window.setTimeout(()=>v(`idle`),ln);return}if(e.kind===`taken`){v(`idle`),p({available:!1,code:`taken`,message:e.message});return}if(e.kind===`invalid`){v(`idle`),p({available:!1,code:e.code,message:e.message});return}v(`error`),x(e.message),V.error(e.message)},[k,T,s,a,c]),j=(()=>{if(E&&u.length>0||u.length===0)return null;let e=m?`checking`:f?.available?`available`:f?.available===!1?`invalid`:null;return e?(0,Z.jsx)(Ct,{mode:`wait`,initial:!1,children:(0,Z.jsxs)(St.span,{initial:S?!1:{opacity:0,scale:.85},animate:{opacity:1,scale:1},exit:S?void 0:{opacity:0,scale:.85},transition:{duration:.14,ease:`easeOut`},className:`flex items-center`,"aria-hidden":e!==`available`&&e!==`invalid`,children:[e===`checking`&&(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),e===`available`&&(0,Z.jsx)(_,{className:`h-4 w-4 text-[var(--system-positive-strong)]`,"aria-label":`Available`}),e===`invalid`&&(0,Z.jsx)(y,{className:`h-4 w-4 text-[var(--system-negative-strong)]`,"aria-label":`Not available`})]},e)}):null})(),M=(()=>{switch(g){case`saving`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}),`Saving…`]});case`saved`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(_,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Saved`]});default:return`Save`}})();return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(z,{label:t,value:u,onChange:e=>{d(e.target.value.replace(/\s+/g,``)),p(null),x(null)},autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,maxLength:30,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),rightIcon:j,errorText:D??void 0,helperText:O??void 0,"aria-invalid":!!D,fullWidth:!0,"data-testid":`${l}-input`}),(!E||g!==`idle`)&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(o,{variant:`primary`,size:`compact`,onClick:A,disabled:!k,"aria-live":`polite`,"data-testid":`${l}-save`,children:M})})]})}function dn({initial:e,onSaved:t}){let n=je.use.refreshSession(),r=sn(e.username)?`Your handle was auto-generated at signup — pick one you like.`:void 0,i=(0,X.useCallback)(async e=>await Me({username:e}),[]),a=(0,X.useCallback)((e,t)=>Oe(e,t),[]),o=(0,X.useCallback)(e=>{t(e),n()},[t,n]);return(0,Z.jsx)(un,{initialHandle:e.username,inputLabel:`User handle`,helperText:`Lowercase letters, digits, hyphens, and underscores. 3–30 characters.`,idleHelperText:r,checkAvailable:a,save:i,onSaved:o,saveSuccessToast:`Profile updated.`,fieldId:`user-handle`})}function fn({assistant:e,onSaved:t}){let n=e.handle??``,r=d({...ut({path:{assistant_id:e.id}})}).data?.results?.[0],i=!!r&&r.subdomain.toLowerCase()===n.toLowerCase(),a=n.length===0?`Your assistant doesn't have a handle yet — claim one to make it mentionable.`:void 0,o=(0,X.useCallback)(async t=>await an(e.id,t),[e.id]),s=(0,X.useCallback)((t,n)=>on(e.id,t,n),[e.id]);return i?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(z,{label:`Assistant handle`,value:n,readOnly:!0,disabled:!0,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),fullWidth:!0,"data-testid":`assistant-handle-input`}),(0,Z.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Your assistant's handle is locked because it's used as its email subdomain. To change it,`,` `,(0,Z.jsx)(c,{to:`${K.settings.ai}?release=1#email`,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`release the subdomain`}),` `,`first.`]})]}):(0,Z.jsx)(un,{initialHandle:n,inputLabel:`Assistant handle`,helperText:`Lowercase letters, digits, hyphens, and underscores. 3–30 characters.`,idleHelperText:a,checkAvailable:s,save:o,onSaved:t,saveSuccessToast:`Assistant handle updated.`,fieldId:`assistant-handle`})}function pn(){return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-busy":!0,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,Z.jsx)(`div`,{className:`h-9 w-full animate-pulse rounded-md bg-[var(--surface-muted)]`}),(0,Z.jsx)(`div`,{className:`h-3 w-72 animate-pulse rounded bg-[var(--surface-muted)]`})]}),(0,Z.jsx)(`div`,{className:`h-9 w-full animate-pulse rounded-md bg-[var(--surface-muted)]`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-60 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,Z.jsx)(`div`,{className:`h-7 w-16 animate-pulse rounded-md bg-[var(--surface-muted)]`})]}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Loading your profile…`})]})}function mn(){return(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`})}function hn({assistant:e,showHandles:t=!0,children:n}={}){let r=je.use.user?.()?.email??null;return(0,Z.jsx)(Y,{title:`Profile`,subtitle:`Manage your account details and preferences.`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[r&&(0,Z.jsx)(`div`,{className:`max-w-[420px]`,children:(0,Z.jsx)(z,{label:`Email`,value:r,disabled:!0,readOnly:!0})}),t&&(0,Z.jsxs)(Z.Fragment,{children:[r&&(0,Z.jsx)(mn,{}),(0,Z.jsx)(gn,{assistant:e})]}),n!=null&&(0,Z.jsxs)(Z.Fragment,{children:[(r||t)&&(0,Z.jsx)(mn,{}),n]})]})})}function gn({assistant:e}){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),a=wt(),[o,s]=(0,X.useState)(e??null);return(0,X.useEffect)(()=>{s(e??null)},[e]),(0,X.useEffect)(()=>{let e=!1;return Ee().then(t=>{e||n(t)}).catch(t=>{e||i(t instanceof Error?t.message:`Failed to load profile.`)}),()=>{e=!0}},[]),r?(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:r}):t?(0,Z.jsxs)(St.div,{initial:a?!1:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},className:`flex flex-col gap-6`,children:[(0,Z.jsx)(dn,{initial:t,onSaved:n}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(fn,{assistant:o,onSaved:s})]})]}):(0,Z.jsx)(pn,{})}var _n=_t({query:{hosting:`platform`}});function vn(){let e=Gt(),t=d(_n),n=t.data?.results??[];return t.isPending||n.length<2?null:(0,Z.jsx)(Y,{title:`Switch Assistant`,subtitle:`Choose which assistant is active for this account.`,children:(0,Z.jsx)(`div`,{className:`space-y-2`,children:n.map(t=>{let n=t.id===e;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(w,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:t.name||`Unnamed`}),t.status!==`active`&&(0,Z.jsx)(ie,{tone:`warning`,children:t.status})]})})]}),(0,Z.jsx)(`div`,{className:`shrink-0`,children:n?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--system-positive-default)]`,children:[(0,Z.jsx)(_,{className:`h-4 w-4`}),`Active`]}):(0,Z.jsx)(o,{variant:`outlined`,size:`compact`,disabled:t.status!==`active`,onClick:()=>{Te(t.id),V.success(`Switched active assistant.`)},children:`Switch`})})]},t.id)})})})}var yn=[{label:`Never`,seconds:0},{label:`5 min`,seconds:300,devOnly:!0},{label:`10 min`,seconds:600,devOnly:!0},{label:`1 hour`,seconds:3600},{label:`3 hours`,seconds:10800},{label:`1 day`,seconds:86400},{label:`3 days`,seconds:259200},{label:`7 days`,seconds:604800},{label:`14 days`,seconds:1209600},{label:`30 days`,seconds:2592e3}];function bn(e){if(e===0)return`Never (sleep disabled)`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0&&n>0)return`${t}d ${n}h`;if(t>0)return`${t} day${t===1?``:`s`}`;if(n>0)return`${n} hour${n===1?``:`s`}`;let r=Math.floor(e/60);return r>0?`${r} minute${r===1?``:`s`}`:`${e}s`}function xn({assistantId:e}){let t=u(),n=qt.use.isNonProduction(),r=(0,X.useMemo)(()=>yn.filter(e=>!e.devOnly||n),[n]),{data:i,isLoading:a,isError:s}=d(ft({path:{id:e}})),c=(0,X.useMemo)(()=>i?.idle_timeout_seconds??259200,[i]),[l,f]=(0,X.useState)(null),p=l??c,m=l!==null,h=ct({onSuccess:()=>{V.success(`Sleep policy saved.`),f(null),t.invalidateQueries({queryKey:nt({path:{id:e}})})},onError:()=>{V.error(`Failed to save sleep policy. Please try again.`)}});return a?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading sleep settings...`]}):s?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:`Failed to load sleep policy. Refresh the page to try again.`}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Idle timeout`}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`How long the assistant can be idle before it is put to sleep. "Never" disables idle sleep entirely.`}),(0,Z.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:r.map(e=>(0,Z.jsx)(o,{variant:`outlined`,active:p===e.seconds,onClick:()=>f(e.seconds),children:e.label},e.seconds))}),(0,Z.jsxs)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:[`Current: `,bn(p)]})]}),m&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(o,{variant:`primary`,leftIcon:h.isPending?(0,Z.jsx)(C,{className:`animate-spin`}):void 0,onClick:()=>h.mutate({path:{id:e},body:{idle_timeout_seconds:p}}),disabled:h.isPending,children:`Save`}),(0,Z.jsx)(o,{variant:`outlined`,onClick:()=>f(null),disabled:h.isPending,children:`Cancel`})]})]})}function Sn(e,t,n){let r=[e.version];return e.version===n&&r.push(`(latest)`),t&&e.version===t&&r.push(`(current)`),r.join(` `)}var Cn=3e3;function wn({version:e,assistantId:t}){let{onTap:n,message:r}=Yt(t);return(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`block min-w-0 break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:n,children:e??`—`}),r&&(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:r})]})}function Tn({assistantId:e,currentVersion:t,releaseChannel:n,onUpgradeComplete:r}){let i=bt.use.rollbackEnabled(),a=q.use.previewChannel(),s=u(),c=Ht(n,a),l=c===`preview`,[p,m]=(0,X.useState)(!1),h=(0,X.useRef)(null),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(!1),[S,w]=(0,X.useState)(null),T=e=>e&&h.current&&e===h.current?(queueMicrotask(()=>{w(b?`Successfully rolled back to version ${h.current}.`:`Successfully updated to version ${h.current}.`),m(!1),h.current=null,_(null),V.success(b?`Rollback complete — assistant is healthy.`:`Update complete — assistant is healthy.`,{id:`runtime-upgrade-complete`,tone:`strong`}),r?.()}),!1):Cn;d({...mt({path:{id:e}}),refetchInterval:p?e=>T(e.state.data?.current_release_version):!1});let{data:D,isLoading:O}=d(lt({query:{channel:c}})),k=D?.find(e=>e.is_stable!==!1)??D?.[0],A=g??k?.version??null,j=(0,X.useMemo)(()=>{if(!i||!A||!t)return!1;let e=ye(A),n=ye(t);return!e||!n?!1:be(e,n)<0},[i,A,t]),M=(0,X.useMemo)(()=>{if(!A)return!1;if(!t)return!0;let e=ye(A),n=ye(t);if(!e||!n)return A!==t;let r=be(e,n);return i?r!==0:r>0},[i,A,t]),N=f({mutationFn:async t=>{let{data:n}=await Ve({path:{id:e},body:t,throwOnError:!0});return n}}),P=f({mutationFn:async t=>{let{data:n}=await Le({path:{id:e},body:t,throwOnError:!0});return n}});return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Current`}),(0,Z.jsx)(wn,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:l?`Preview release`:M?j?`Rollback to`:`Update to`:`Selected`}),(0,Z.jsx)(`span`,{className:`block min-w-0`,children:O?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(C,{className:`h-3 w-3 animate-spin`}),`Loading...`]}):D&&D.length>0?i?(0,Z.jsx)(oe,{value:A??``,onChange:e=>_(e===k?.version?null:e),disabled:p||N.isPending||P.isPending,options:D.map(e=>({value:e.version,label:Sn(e,t,k?.version)}))}):(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:k?Sn(k,t,k.version):`—`}):`No releases available`})]})]}),(0,Z.jsx)(o,{variant:j?`outlined`:`primary`,className:`min-w-[160px]`,leftIcon:N.isPending||P.isPending||p?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(E,{}),onClick:()=>y(!0),disabled:!M||N.isPending||P.isPending||p||O||!D?.length,children:p?b?`Rolling back...`:`Updating...`:j?`Rollback`:l?`Update preview`:`Update`}),l&&(0,Z.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Using Preview releases.`,` `,(0,Z.jsx)(`a`,{href:`#preview-release-channel`,className:`text-[var(--primary-base)] underline-offset-2 hover:underline`,children:`Switch back to Stable`})]}),!M&&t&&A&&!O&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:S??`You are already on this version.`}),(0,Z.jsx)(H,{open:v,title:j?`Rollback assistant`:l?`Update preview release`:`Update assistant`,message:j?`Rollback to version ${A??`unknown`}? The assistant will be briefly unavailable.`:l?`Update to preview version ${A??`latest`}? The assistant will be briefly unavailable during the update.`:`Update to version ${A??`latest`}? The assistant will be briefly unavailable during the update.`,confirmLabel:j?`Rollback`:l?`Update preview`:`Update`,onConfirm:async()=>{y(!1),w(null);let t=g??void 0;try{if(j){let e=await P.mutateAsync({version:t});h.current=e.version??t??null,V.success(e.detail||`Rollback to ${t} initiated.`)}else{let e=await N.mutateAsync({version:t});if(e.detail?.includes(`Already on the latest`)){V.warning(e.detail);return}h.current=e.version??t??null,V.success(e.detail||`Update to ${e.version??t??`latest`} initiated.`)}x(j),m(!0),s.invalidateQueries({queryKey:Ze({path:{id:e}})})}catch{V.error(j?`Failed to trigger rollback. Please try again.`:`Failed to trigger update. Please try again.`)}},onCancel:()=>y(!1)})]})}function En({assistantId:e,currentVersion:t,onUpgradeComplete:n}){let[r,i]=(0,X.useState)(!1),[a,s]=(0,X.useState)(null),{data:c,isLoading:l}=d(lt({query:{stable:!0,limit:100}})),u=(0,X.useMemo)(()=>It(c),[c]),f=u?.version,p=t?Wt(t,f):!!f,m=Lt({assistantId:e,targetVersion:f});return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Current`}),(0,Z.jsx)(wn,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Update to`}),(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:l?`Loading...`:f&&u?Sn(u,t,f):`No releases available`})]})]}),(0,Z.jsx)(o,{variant:`primary`,className:`min-w-[160px]`,leftIcon:m.isPending?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(E,{}),onClick:()=>i(!0),disabled:m.isPending||l||!f||!p,children:m.isPending?`Updating...`:f?`Update to ${f}`:`Update`}),a&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:a}),!a&&!p&&f&&!l&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:`You are already on this version.`}),(0,Z.jsx)(H,{open:r,title:`Update assistant`,message:`Update to version ${f??`latest`}? The assistant will be briefly unavailable during the update.`,confirmLabel:`Update`,onConfirm:async()=>{i(!1),s(null);try{let e=await m.upgrade();s(e.version?`Successfully updated to version ${e.version}.`:`Successfully updated to version ${f??`latest`}.`),V.success(`Update complete — assistant is healthy.`,{id:`runtime-upgrade-complete`,tone:`strong`}),n?.()}catch(e){V.error(e instanceof Error?e.message:`Failed to trigger update. Please try again.`)}},onCancel:()=>i(!1)})]})}function Dn(){let e=Dt({platformHostedOnly:!0}),t=Pt(),n=je.use.user()?.id??null,r=je.use.logout(),[i,a]=(0,X.useState)(!1),s=at({onSuccess:async()=>{V.success(`Account deletion requested. You will be logged out shortly.`),ke(n),await r(),Ut(K.account.login)},onError:()=>{V.error(`Failed to request account deletion. Please try again.`)}}),c=e===`full`&&t;return(0,X.useEffect)(()=>{c&&i&&a(!1)},[c,i]),e===`gated`?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Delete Account`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Permanently delete your account and all associated data.`}),(0,Z.jsx)(`div`,{className:`mt-1`,children:e===`disabled`?(0,Z.jsx)(J,{children:`Log in to the Vellum platform to delete your account.`}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(o,{variant:`dangerOutline`,onClick:()=>a(!0),disabled:s.isPending||c,className:`self-start`,children:`Delete My Account`}),c&&(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`})]})})]}),(0,Z.jsx)(H,{open:i,title:`Delete Account`,message:`This will permanently delete your account and all associated data. This action cannot be undone.`,confirmLabel:`Delete Account`,destructive:!0,onConfirm:()=>{if(c){a(!1);return}a(!1),s.mutate({})},onCancel:()=>a(!1)})]})}function On({title:e,subtitle:t,benefits:n,ctaLabel:r,ctaLeftIcon:i,onAction:a}){return(0,Z.jsx)(Y,{title:e,subtitle:t,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(`ul`,{className:`space-y-3`,children:n.map(({icon:e,text:t})=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`},children:(0,Z.jsx)(e,{size:14,style:{color:`var(--content-secondary)`},"aria-hidden":!0})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]},t))}),(0,Z.jsx)(o,{variant:`primary`,size:`regular`,leftIcon:i,onClick:a,className:`self-start`,children:r})]})})}function kn(){return Ke()?(0,Z.jsx)(On,{title:`Get the iOS App`,subtitle:`The Vellum iOS app gives you a native experience.`,benefits:[{icon:g,text:`Push notifications`},{icon:en,text:`Biometric login`},{icon:tn,text:`Native haptics`},{icon:Tt,text:`Home screen access`}],ctaLabel:`Download`,ctaLeftIcon:(0,Z.jsx)(Tt,{size:16}),onAction:()=>{Ft(),zt()}}):null}async function An(){if(!W())return[];let e=window.vellum;return e?.hotkeys?e.hotkeys.get():[]}async function jn(e,t){if(!W())return;let n=window.vellum;n?.hotkeys&&await n.hotkeys.set(e,t)}function Mn(e){if(!W())return()=>{};let t=window.vellum;return t?.hotkeys?t.hotkeys.onChange(e):()=>{}}var Nn={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},Pn=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),Fn=e=>{let t=e.code;return Pn.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:Nn[t]??null},In=e=>{let t=Fn(e);if(t===null)return null;let n=[];return e.metaKey&&n.push(`CmdOrCtrl`),e.ctrlKey&&n.push(`Control`),e.altKey&&n.push(`Alt`),e.shiftKey&&n.push(`Shift`),[...n,t].join(`+`)},Ln=(e,t,n)=>n===``?null:e.find(e=>e.key!==t&&e.accelerator===n)??null,Rn=[{scope:`global`,title:`Global shortcuts`,description:`Work anywhere, even when Vellum is in the background.`},{scope:`menu`,title:`App shortcuts`,description:`Work while a Vellum window is focused.`}];function zn({hotkey:e,recording:t,conflictLabel:n,onStartRecording:r,onCancelRecording:i,onReset:a,onRemove:s}){let c=e.accelerator===``,l=e.override!==null;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),n!==null&&(0,Z.jsxs)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:[`Already used by `,n]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[t?(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Recording… press a shortcut, or Esc to cancel`}):c?(0,Z.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`Disabled`}):(0,Z.jsx)(re,{accelerator:e.accelerator}),t?(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,onClick:i,children:`Cancel`}):(0,Z.jsx)(o,{variant:`outlined`,size:`compact`,onClick:r,"aria-label":`Record shortcut for ${e.label}`,children:`Record`}),(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,disabled:!l,leftIcon:(0,Z.jsx)(kt,{className:`h-3.5 w-3.5`}),onClick:a,"aria-label":`Reset ${e.label} to default`}),(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,disabled:c,leftIcon:(0,Z.jsx)(F,{className:`h-3.5 w-3.5`}),onClick:s,"aria-label":`Remove ${e.label} binding`})]})]})}function Bn(){let[e,t]=(0,X.useState)([]),[n,r]=(0,X.useState)(null),[i,a]=(0,X.useState)(null),o=(0,X.useCallback)(()=>{An().then(t)},[]);(0,X.useEffect)(()=>(o(),Mn(t)),[o]);let s=(0,X.useCallback)(()=>{r(null),a(null)},[]);(0,X.useEffect)(()=>{if(n===null)return;let t=t=>{if(t.preventDefault(),t.stopPropagation(),t.code===`Escape`){s();return}let r=In(t);if(r===null)return;let i=Ln(e,n,r);if(i!==null){a({key:n,label:i.label});return}jn(n,r).then(o),s()};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[n,e,o,s]);let c=(0,X.useCallback)(e=>{a(null),r(e)},[]),l=(0,X.useCallback)(t=>{let n=Ln(e,t,e.find(e=>e.key===t)?.defaultAccelerator??``);if(n!==null){r(null),a({key:t,label:n.label});return}s(),jn(t,null).then(o)},[e,o,s]),u=(0,X.useCallback)(e=>{s(),jn(e,``).then(o)},[o,s]),d=(0,X.useMemo)(()=>Rn.map(t=>({...t,commands:e.filter(e=>e.rebindable&&e.scope===t.scope)})).filter(e=>e.commands.length>0),[e]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[i!==null&&(0,Z.jsxs)(I,{tone:`warning`,children:[`That shortcut is already used by `,i.label,`.`,` `,n===null?`Remove or change that binding before resetting.`:`Pick a different combination, or press Esc to cancel.`]}),d.map(e=>(0,Z.jsxs)(m,{bordered:!0,children:[(0,Z.jsxs)(`div`,{className:`mb-2`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,Z.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,Z.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,Z.jsx)(zn,{hotkey:e,recording:n===e.key,conflictLabel:i!==null&&i.key===e.key?i.label:null,onStartRecording:()=>c(e.key),onCancelRecording:s,onReset:()=>l(e.key),onRemove:()=>u(e.key)},e.key))})]},e.scope))]})}async function Vn(){if(!W())return!1;let e=window.vellum;return e?.launchAtLogin?e.launchAtLogin.get():!1}async function Hn(e){if(!W())return;let t=window.vellum;t?.launchAtLogin&&await t.launchAtLogin.set(e)}function Un(){let e=q.use.velvet(),[t,n]=(0,X.useState)(()=>Je({velvetEnabled:e}));(0,X.useEffect)(()=>{n(Je({velvetEnabled:e}))},[e]),(0,X.useEffect)(()=>r(`theme`,()=>{n(Je({velvetEnabled:e}))}),[e]),(0,X.useEffect)(()=>{Xe(t)},[t]);let i=e=>{n(e),Ye(e),Xe(e)},a=[{value:`system`,label:`System`,icon:(0,Z.jsx)(w,{className:`h-4 w-4`})},{value:`light`,label:`Light`,icon:(0,Z.jsx)(Mt,{className:`h-4 w-4`})},{value:`dark`,label:`Dark`,icon:(0,Z.jsx)(T,{className:`h-4 w-4`})},...e?[{value:`velvet`,label:`Velvet`,icon:(0,Z.jsx)(Bt,{className:`h-4 w-4`})}]:[]];return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Appearance`}),(0,Z.jsx)(`div`,{className:`mt-2 max-w-[360px]`,children:(0,Z.jsx)(ne,{ariaLabel:`Theme`,value:t,onChange:i,items:a})})]})}function Wn(){let e=Vt.useValue();if(xt())return null;let t=qe()?`Cmd`:`Ctrl`;return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Composer`}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(ae,{checked:e,onChange:Vt.save,label:`Send with ${t}+Enter`,helperText:`When enabled, Enter inserts a new line and ${t}+Enter sends.`})})]})}function Gn(){let[e,t]=(0,X.useState)(!1);(0,X.useEffect)(()=>{Vn().then(t)},[]);let n=async e=>{t(e);try{await Hn(e)}catch{t(!e)}};return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Launch at Login`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Automatically start Vellum when you log in to your Mac.`}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(ae,{checked:e,onChange:e=>void n(e),"aria-label":`Launch at Login`})})]})}function Kn({open:e,onClose:t}){return(0,Z.jsx)(B.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,Z.jsxs)(B.Content,{size:`lg`,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{children:`Preferences`}),(0,Z.jsx)(B.Description,{children:`Customize shortcuts and how Vellum behaves on this device.`})]}),(0,Z.jsx)(B.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsx)(Un,{}),W()&&(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Keyboard Shortcuts`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Customize the shortcuts for Vellum's commands.`}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(Bn,{})})]}),(0,Z.jsx)(Wn,{}),W()&&(0,Z.jsx)(Gn,{})]})})]})})}function qn(e){return e===`preview`?`preview`:`stable`}function Jn(e){if(!e)return`Unknown`;let t=new Date(e);return Number.isNaN(t.getTime())?`Unknown`:t.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function Yn(e){return e.source_release_version?`Stable ${e.source_release_version}`:e.snapshot_name}function Xn(e){return e.filter(e=>e.ready_to_use)}function Zn(e){return e?.feature_enabled===!1}function Qn({assistantId:e,onComplete:t}){let n=q.use.previewChannel(),r=u(),[i,a]=(0,X.useState)(),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1),[p,m]=(0,X.useState)(`restore_backup`),[h,g]=(0,X.useState)(``),_=et({path:{assistant_id:e}}),y=$e({path:{assistant_id:e}}),b=Ze({path:{id:e}}),{data:x,isLoading:S,isError:w}=d({..._,enabled:n,retry:!1}),T=x?.preview_backups??[],E=(0,X.useMemo)(()=>Xn(T),[T]),D=E[0],O=E.find(e=>e.snapshot_name===h)??D,k=()=>{r.invalidateQueries({queryKey:y}),r.invalidateQueries({queryKey:b}),t?.()},A=f(vt()),j=f(st()),M=qn(x?.current_channel),N=A.isPending||j.isPending,P=N||Zn(x)||!x?.latest_preview_release,F=p===`restore_backup`&&!O;if((0,X.useEffect)(()=>{a(M===`preview`?`release-channel`:void 0)},[M]),!n)return null;let ee=x?.standard_upgrade_available??!1;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(R.Root,{type:`single`,collapsible:!0,value:i,onValueChange:e=>a(e||void 0),className:`mt-5 border-t border-[var(--border-base)] pt-5`,children:(0,Z.jsxs)(R.Item,{value:`release-channel`,id:`preview-release-channel`,children:[(0,Z.jsxs)(R.Trigger,{className:`group justify-between gap-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`Release Channel`}),x&&(0,Z.jsx)(ie,{tone:M===`preview`?`warning`:`neutral`,children:M===`preview`?`Preview`:`Stable`})]}),(0,Z.jsx)(v,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(R.Content,{children:(0,Z.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[S&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading release channel...`]}),w&&(0,Z.jsx)(I,{tone:`error`,title:`Could not load release channel status`,children:`Refresh this page before changing release channels.`}),x&&(0,Z.jsxs)(Z.Fragment,{children:[Zn(x)&&(0,Z.jsx)(I,{tone:`neutral`,title:`Preview channel is unavailable`,children:`The Preview channel is not enabled for this assistant.`}),M===`stable`?(0,Z.jsx)($n,{status:x,isChangingChannel:N,optInDisabled:P,onOptIn:()=>s(!0)}):(0,Z.jsx)(er,{status:x,isChangingChannel:N,onOptOut:()=>{let e=D;g(e?.snapshot_name??``),m(e?`restore_backup`:ee?`standard_upgrade`:`restore_backup`),l(!0)}})]})]})})]})}),(0,Z.jsx)(nr,{open:o,isPending:A.isPending,previewVersion:x?.latest_preview_release?.version,onConfirm:async()=>{try{let t=await A.mutateAsync({path:{assistant_id:e}});V.success(t.detail||`Preview channel enabled.`),s(!1),k()}catch(e){V.error(Se(e,void 0,`Could not enable Preview channel.`))}},onCancel:()=>s(!1)}),(0,Z.jsx)(rr,{open:c,backups:E,mode:p,selectedSnapshotName:O?.snapshot_name??``,isPending:j.isPending,restoreModeDisabled:F,standardUpgradeAvailable:ee,onModeChange:m,onSnapshotChange:g,onConfirm:async()=>{if(!F)try{let t=await j.mutateAsync({path:{assistant_id:e},body:p===`restore_backup`?{mode:`restore_backup`,snapshot_name:O?.snapshot_name}:{mode:`standard_upgrade`}});V.success(t.detail||`Stable channel enabled.`),l(!1),k()}catch(e){V.error(Se(e,void 0,`Could not switch to Stable.`))}},onCancel:()=>l(!1)})]})}function $n({status:e,isChangingChannel:t,optInDisabled:n,onOptIn:r}){return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(tr,{status:e}),!e.latest_preview_release&&(0,Z.jsx)(I,{tone:`neutral`,title:`No Preview release is available`,children:`Stable remains the only available release channel.`}),(0,Z.jsx)(o,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(At,{}),disabled:n,onClick:r,children:`Opt in to Preview`})]})}function er({status:e,isChangingChannel:t,onOptOut:n}){return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(tr,{status:e}),(0,Z.jsx)(o,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(kt,{}),disabled:t,onClick:n,children:`Switch back to Stable`})]})}function tr({status:e}){return(0,Z.jsxs)(`dl`,{className:`grid gap-3 text-body-medium-lighter sm:grid-cols-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:`Latest Stable`}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_stable_release?.version??`None`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:`Latest Preview`}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_preview_release?.version??`None`})]})]})}function nr({open:e,isPending:t,previewVersion:n,onConfirm:r,onCancel:i}){return(0,Z.jsx)(B.Root,{open:e,onOpenChange:e=>!e&&i(),children:(0,Z.jsxs)(B.Content,{size:`md`,hideCloseButton:t,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{icon:P,children:`Opt in to Preview`}),(0,Z.jsx)(B.Description,{children:`Preview releases may be unstable. A 90-day safety backup is taken before the image changes.`})]}),(0,Z.jsx)(B.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(I,{tone:`warning`,title:`Data loss may occur when returning to Stable`,children:`Preview data may not be compatible with the Stable channel. The safety backup lets you restore the Stable-channel data that existed before opt-in.`}),(0,Z.jsxs)(`ol`,{className:`list-decimal space-y-2 pl-5 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,Z.jsx)(`li`,{children:`Create and verify a Preview safety backup.`}),(0,Z.jsxs)(`li`,{children:[`Switch to Preview image `,n??`latest`,`.`]}),(0,Z.jsx)(`li`,{children:`Run the normal upgrade path and wait for health.`})]})]})}),(0,Z.jsxs)(B.Footer,{children:[(0,Z.jsx)(o,{variant:`outlined`,disabled:t,onClick:i,children:`Cancel`}),(0,Z.jsx)(o,{variant:`primary`,disabled:t,leftIcon:t?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(At,{}),onClick:r,children:t?`Switching...`:`Take Backup and Switch`})]})]})})}function rr({open:e,backups:t,mode:n,selectedSnapshotName:r,isPending:i,restoreModeDisabled:a,standardUpgradeAvailable:s,onModeChange:c,onSnapshotChange:l,onConfirm:u,onCancel:d}){return(0,Z.jsx)(B.Root,{open:e,onOpenChange:e=>!e&&d(),children:(0,Z.jsxs)(B.Content,{size:`md`,hideCloseButton:i,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{icon:P,children:`Switch back to Stable`}),(0,Z.jsx)(B.Description,{children:`Choose how this assistant should leave the Preview channel.`})]}),(0,Z.jsx)(B.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(te,{value:n,onValueChange:c,disabled:i,"aria-label":`Stable channel return method`,children:[(0,Z.jsx)(L,{value:`restore_backup`,disabled:t.length===0,label:`Restore safety backup`,helperText:`Return to the Stable-channel data captured before Preview opt-in.`}),(0,Z.jsx)(L,{value:`standard_upgrade`,disabled:!s,label:`Switch to Stable without restoring backup`,helperText:s?`Keep the current data and directly switch to the Stable image.`:`Unavailable because the latest Stable release is older than this assistant's Preview release.`})]}),n===`restore_backup`&&t.length>0&&(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1 text-body-medium-default text-[var(--content-secondary)]`,children:[`Safety backup`,(0,Z.jsx)(oe,{value:r,onChange:l,disabled:i,options:t.map(e=>({value:e.snapshot_name,label:`${Yn(e)} - ${Jn(e.created_at)}`}))})]}),n===`restore_backup`&&t.length===0&&!s&&(0,Z.jsx)(I,{tone:`error`,title:`Stable requires a safety backup`,children:`This Preview release is newer than the latest Stable release, so switching directly is blocked. Wait for a newer Stable release, or run Vellum Doctor if the safety backup is missing.`}),n===`standard_upgrade`&&(0,Z.jsx)(I,{tone:`error`,title:`Preview data may not survive this`,children:`Switching directly to the Stable image without restoring the safety backup may cause data loss or leave the assistant unusable if Preview data is incompatible with Stable.`})]})}),(0,Z.jsxs)(B.Footer,{children:[(0,Z.jsx)(o,{variant:`outlined`,disabled:i,onClick:d,children:`Cancel`}),(0,Z.jsx)(o,{variant:n===`standard_upgrade`?`danger`:`primary`,disabled:i||a||n===`standard_upgrade`&&!s,leftIcon:i?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(E,{}),onClick:u,children:i?`Switching...`:`Switch to Stable`})]})]})})}function ir({assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}){let s=l(),u=d(dt()),f=u.data,p=!e.is_local,m=f?.plan_id===`pro`,h=d({...gt(),enabled:m}),g=e.machine_size||`small`,_=D(h.data?.max_machine_tier??null),v=(0,X.useMemo)(()=>k(_,g,(0,Z.jsx)(ie,{tone:`positive`,children:`Current`})),[_,g]),y=h.data?.selected_storage_gib??null,[b,x]=(0,X.useState)(!1),w=_.length>0?_[_.length-1]:null,[T,P]=(0,X.useState)(null),F=T??w??g,[ee,L]=(0,X.useState)(null),[te,R]=(0,X.useState)(null),ne=yt({onSuccess:(e,n)=>{V.success(`Resize started. Changes will apply shortly.`,{id:`assistant-resize`}),R(null),P(null),x(!1),n.body?.machine_size==null?i():a(t)},onError:e=>{R(M(e,`Failed to resize assistant. Please try again.`))}});if(u.isError&&f==null)return(0,Z.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,children:(0,Z.jsx)(I,{tone:`error`,children:`Could not load your subscription. Please try again.`})});let re=m&&_.includes(F)&&F!==g?F:null,z=m&&y!=null&&!0,ae=m&&_.length>0&&j(g)<j(_[_.length-1]),H=ne.isPending||r,U=y==null?t?.disk?.totalMb??null:y*1024,se=t?.disk&&U!=null?{value:t.disk.usedMb,max:U,caption:`${Qt(t.disk.usedMb)} of ${Qt(U)}`}:null,ce=t?.cpu?{value:t.cpu.currentPercent,max:100,caption:`${t.cpu.currentPercent.toFixed(1)}%`}:null,le=t?.memory?{value:t.memory.currentMb,max:t.memory.maxMb,caption:`${Qt(t.memory.currentMb)} of ${Qt(t.memory.maxMb)}`}:null,ue=p?m?z?(0,Z.jsxs)(`button`,{type:`button`,disabled:H,onClick:()=>x(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(N,{className:`h-3.5 w-3.5`}),`Increase Storage`]}):(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,disabled:H,onClick:()=>x(!0),children:`Resize`}):(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,onClick:()=>L(`storage`),children:`Resize`}):null,de=p?m?ae?(0,Z.jsxs)(`button`,{type:`button`,disabled:H,onClick:()=>x(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(N,{className:`h-3.5 w-3.5`}),`Increase Size`]}):(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,disabled:H,onClick:()=>x(!0),children:`Resize`}):(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,onClick:()=>L(`machine`),children:`Resize`}):null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,compactAccessory:!0,accessory:(0,Z.jsx)(o,{variant:`ghost`,size:`compact`,iconOnly:n||r?(0,Z.jsx)(C,{className:`animate-spin`}):(0,Z.jsx)(E,{}),tooltip:r?`Applying resize…`:`Refresh resource metrics`,"aria-label":`Refresh resource metrics`,disabled:n||r,onClick:()=>void i()}),children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_2fr]`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(S,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Disk`})]}),ue]}),(0,Z.jsxs)(`div`,{className:`mt-auto flex flex-col gap-1 pt-3`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Storage`}),se?(0,Z.jsx)(Jt,{value:se.value,max:se.max,caption:se.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(C,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Unavailable`})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(O,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Machine`}),(0,Z.jsx)(ie,{tone:`neutral`,children:A[g]})]}),de]}),(0,Z.jsxs)(`div`,{className:`mt-auto grid grid-cols-2 gap-3 pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`CPU`}),ce?(0,Z.jsx)(Jt,{value:ce.value,max:ce.max,caption:ce.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(C,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`Memory`}),le?(0,Z.jsx)(Jt,{value:le.value,max:le.max,caption:le.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(C,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]})]})]})]})}),(0,Z.jsx)(B.Root,{open:ee!=null,onOpenChange:e=>{e||L(null)},children:(0,Z.jsxs)(B.Content,{size:`sm`,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{children:`Upgrade to Pro`}),(0,Z.jsx)(B.Description,{children:ee===`storage`?`Upgrade to the Pro plan to increase your storage allocation and get more space for your assistant.`:`Upgrade to the Pro plan to unlock larger machine sizes with more CPU and memory for your assistant.`})]}),(0,Z.jsxs)(B.Footer,{children:[(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>L(null),children:`Cancel`}),(0,Z.jsx)(o,{onClick:()=>{L(null),s(`${K.settings.billing}?adjust_plan=1`)},children:`Upgrade`})]})]})}),(0,Z.jsx)(B.Root,{open:b,onOpenChange:e=>{e||(x(!1),P(null),R(null))},children:(0,Z.jsxs)(B.Content,{size:`sm`,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{icon:O,children:`Resize Assistant`}),(0,Z.jsx)(B.Description,{children:`Resize your assistant's compute and storage. Your assistant will briefly restart.`})]}),(0,Z.jsx)(B.Body,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[_.length===0?(0,Z.jsx)(I,{tone:`warning`,children:`No machine tier configured. Visit the community for help.`}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:`Machine Size`}),(0,Z.jsx)(oe,{options:v,value:F,onChange:P,"aria-label":`Compute machine size`,"data-testid":`resize-machine-size`})]}),z?(0,Z.jsx)(I,{tone:`info`,children:`Storage will be expanded to ${y} GiB.`}):(0,Z.jsx)(I,{tone:`neutral`,children:`Storage will not change.`}),te&&(0,Z.jsx)(I,{tone:`error`,children:te})]})}),(0,Z.jsxs)(B.Footer,{className:`items-center justify-between`,children:[(0,Z.jsxs)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,children:[`Need more?`,` `,(0,Z.jsx)(c,{to:`${K.settings.billing}?adjust_plan=1`,className:`text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 transition-colors hover:text-[var(--content-default)]`,onClick:()=>x(!1),children:`Upgrade plan`})]}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>{x(!1),P(null),R(null)},children:`Cancel`}),(0,Z.jsx)(o,{disabled:re==null&&!z||H,leftIcon:H?(0,Z.jsx)(C,{className:`animate-spin`}):void 0,onClick:()=>{R(null);let t={};re!=null&&(t.machine_size=re),z&&y!=null&&(t.storage_gib=y),ne.mutate({path:{id:e.id},body:t})},children:te?`Retry`:`Apply`})]})]})]})})]})}function ar({assistantId:e}){let t=l(),[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(o,{variant:`dangerOutline`,onClick:()=>r(!0),className:`shrink-0`,children:`Retire Assistant`}),(0,Z.jsx)(jt,{open:n,isPending:i,onConfirm:async()=>{a(!0);let n=await Et(e);if(n.ok){r(!1),t(n.nextRoute,{replace:!0});return}V.error(n.error),a(!1),r(!1)},onCancel:()=>r(!1)})]})}var or=`UTC.Africa/Cairo.Africa/Johannesburg.Africa/Lagos.Africa/Nairobi.America/Anchorage.America/Argentina/Buenos_Aires.America/Bogota.America/Chicago.America/Denver.America/Halifax.America/Lima.America/Los_Angeles.America/Mexico_City.America/New_York.America/Phoenix.America/Santiago.America/Sao_Paulo.America/Toronto.America/Vancouver.Asia/Bangkok.Asia/Dubai.Asia/Hong_Kong.Asia/Jakarta.Asia/Jerusalem.Asia/Karachi.Asia/Kolkata.Asia/Kuala_Lumpur.Asia/Manila.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Taipei.Asia/Tokyo.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Athens.Europe/Berlin.Europe/Brussels.Europe/Dublin.Europe/Istanbul.Europe/Lisbon.Europe/London.Europe/Madrid.Europe/Moscow.Europe/Paris.Europe/Rome.Europe/Stockholm.Europe/Vienna.Europe/Warsaw.Europe/Zurich.Pacific/Auckland.Pacific/Honolulu`.split(`.`);function sr(){let e=Intl;if(typeof e.supportedValuesOf==`function`)try{let t=e.supportedValuesOf(`timeZone`);if(t.length>0)return[...t].sort()}catch{}return[...or].sort()}function cr(e){let t=e.split(`/`),n=(t[t.length-1]??e).replace(/_/g,` `),r=t.length>1?(t[0]??``).replace(/_/g,` `):``,i=0,a=``;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??`GMT`;a=t.startsWith(`GMT`)||t.startsWith(`UTC`)?t:`GMT ${t}`;let n=t.match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(n){let e=n[1]===`-`?-1:1,t=parseInt(n[2]??`0`,10),r=parseInt(n[3]??`0`,10);i=e*(t*60+r)}}catch{return null}return{identifier:e,city:n,region:r,offsetLabel:a,offsetMinutes:i}}function lr(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,hour:`numeric`,minute:`2-digit`,hour12:!0}).format(new Date)}catch{return``}}function ur(e){if(!e)return`Not set`;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`long`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;if(t)return t}catch{}return e.replace(/_/g,` `)}function dr({value:e,onChange:t}){let[n,r]=(0,X.useState)(``),[i,a]=(0,X.useState)(``),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null),l=(0,X.useRef)(null),u=(0,X.useMemo)(()=>sr().map(e=>cr(e)).filter(e=>e!==null),[]);(0,X.useEffect)(()=>{let e=window.setTimeout(()=>{a(n.trim().toLowerCase())},200);return()=>window.clearTimeout(e)},[n]),(0,X.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[o]);let d=(0,X.useMemo)(()=>i?u.filter(e=>e.city.toLowerCase().includes(i)||e.region.toLowerCase().includes(i)||e.offsetLabel.toLowerCase().includes(i)||e.identifier.toLowerCase().includes(i)):u,[u,i]),f=(0,X.useMemo)(()=>{if(!e)return``;let t=e.split(`/`);return(t[t.length-1]??e).replace(/_/g,` `)},[e]),p=e=>{t(e),r(``),s(!1),l.current?.blur()};return(0,Z.jsxs)(`div`,{ref:c,className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5 md:flex-row md:items-center md:justify-between md:gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Closest city`}),(0,Z.jsxs)(`div`,{className:`relative w-full md:max-w-[280px]`,children:[(0,Z.jsx)(z,{ref:l,type:`text`,value:n,placeholder:f||`Search city or country...`,onChange:e=>{r(e.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:e=>{e.key===`Escape`&&(r(``),s(!1),l.current?.blur())},fullWidth:!0}),o&&d.length>0&&(0,Z.jsx)(`div`,{className:`absolute left-0 right-0 top-full z-20 mt-1 max-h-[240px] overflow-y-auto rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-lg`,children:d.slice(0,200).map(t=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(t.identifier),className:`flex w-full cursor-pointer items-center justify-between gap-3 px-3 py-2 text-left text-body-medium-lighter transition-colors ${t.identifier===e?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-default)] hover:bg-[var(--surface-active)]`}`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-default`,children:t.city}),t.region&&(0,Z.jsx)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:t.region})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{children:lr(t.identifier)}),(0,Z.jsx)(`span`,{children:t.offsetLabel})]})]},t.identifier))})]})]}),(0,Z.jsx)($t,{}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Time zone`}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:ur(e)})]})]})}function fr(){let e=ve.use.activeAssistantId(),[r,a]=(0,X.useState)(()=>n(`timezone`,``)),o=(0,X.useRef)(e);(0,X.useEffect)(()=>{o.current=e},[e]);let s=(0,X.useRef)(!1),c=(0,X.useRef)(null),l=(0,X.useRef)(()=>{}),u=e=>{if(s.current){c.current=e;return}let t=o.current;if(!t){c.current=null;return}s.current=!0,c.current=null,G.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:t},body:{ui:{userTimezone:e}},throwOnError:!0}).catch(e=>{i(e,{context:`settings-timezone-override`})}).finally(()=>{s.current=!1;let e=c.current;c.current=null,e!==null&&l.current(e)})};return(0,X.useEffect)(()=>{l.current=u}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Timezone`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Used when displaying times and scheduling reminders.`}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(0,Z.jsx)(dr,{value:r,onChange:e=>{a(e),t(`timezone`,e),u(e)}})})]})}var pr=[[`Mon`,0],[`Tue`,1],[`Wed`,2],[`Thu`,3],[`Fri`,4],[`Sat`,5],[`Sun`,6]];function mr(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),t,n));return`${i.getHours().toString().padStart(2,`0`)}:${i.getMinutes().toString().padStart(2,`0`)}`}function hr(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate(),t,n);return`${i.getUTCHours().toString().padStart(2,`0`)}:${i.getUTCMinutes().toString().padStart(2,`0`)}`}function gr(){return Intl.DateTimeFormat(void 0,{timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}function _r(e){let t=e?.schedule?.window.start??`06:00`,n=e?.schedule?.window.end??`08:00`;return{enabled:e?.enabled??!0,timezone:`UTC`,frequency:e?.schedule?.frequency??`weekly`,daysOfWeek:e?.schedule?.days_of_week??[0],daysOfMonth:e?.schedule?.days_of_month??[],windowStart:mr(t),windowEnd:mr(n)}}function vr({assistantId:e}){let t=u(),{data:n,isLoading:r,isError:i}=d(ot({path:{id:e}})),a=(0,X.useMemo)(()=>_r(n),[n]),[s,c]=(0,X.useState)(null),l=s??a,p=s!==null,m=(0,X.useMemo)(()=>gr(),[]),[h,g]=(0,X.useState)(null),_=h??l.daysOfMonth.join(`, `),v=f({mutationFn:async t=>{let{data:n}=await He({path:{id:e},body:t,throwOnError:!0});return n}}),y=e=>{c(t=>({...t??a,...e}))},b=e=>{y({daysOfWeek:l.daysOfWeek.includes(e)?l.daysOfWeek.filter(t=>t!==e):[...l.daysOfWeek,e].sort((e,t)=>e-t)})},x=e=>e.split(`,`).map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)&&e>=1&&e<=31);return r?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading update window settings...`]}):i?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:`Failed to load update window policy. Refresh the page to try again.`}):(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsx)(ae,{checked:l.enabled,onChange:e=>y({enabled:e}),label:`Automatic updates`,helperText:`Update automatically during a configured time window`}),l.enabled&&(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Frequency`}),(0,Z.jsx)(`div`,{className:`max-w-[400px]`,children:(0,Z.jsx)(ne,{ariaLabel:`Frequency`,value:l.frequency,onChange:e=>{e!==`monthly`&&g(null),y({frequency:e})},items:[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}]})})]}),l.frequency===`weekly`&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:`Day(s) of week`}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:pr.map(([e,t])=>(0,Z.jsx)(o,{variant:`outlined`,size:`compact`,active:l.daysOfWeek.includes(t),onClick:()=>b(t),children:e},t))})]}),l.frequency===`monthly`&&(0,Z.jsx)(z,{label:`Day(s) of month`,type:`text`,value:_,onChange:e=>g(e.target.value),onBlur:e=>{let t=x(e.target.value);y({daysOfMonth:t}),g(t.join(`, `))},placeholder:`e.g. 1, 15`,helperText:`Comma-separated day numbers (1–31)`,className:`w-48`}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:[`Update window`,m?` (${m})`:``]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(z,{type:`time`,value:l.windowStart,onChange:e=>y({windowStart:e.target.value})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`to`}),(0,Z.jsx)(z,{type:`time`,value:l.windowEnd,onChange:e=>y({windowEnd:e.target.value})})]})]})]}),(0,Z.jsx)(o,{variant:`primary`,leftIcon:v.isPending?(0,Z.jsx)(C,{className:`animate-spin`}):void 0,onClick:async()=>{let n=l.frequency===`monthly`&&h!==null?x(h):l.daysOfMonth;try{await v.mutateAsync({enabled:l.enabled,timezone:`UTC`,schedule:{frequency:l.frequency,days_of_week:l.frequency===`weekly`?l.daysOfWeek:[],days_of_month:l.frequency===`monthly`?n:[],window:{start:hr(l.windowStart),end:hr(l.windowEnd)}}}),V.success(`Auto-update policy saved.`),c(null),g(null),t.invalidateQueries({queryKey:tt({path:{id:e}})})}catch{V.error(`Failed to save policy. Please try again.`)}},disabled:v.isPending||!p,children:`Save policy`})]})}function yr({assistantId:e,open:t,onClose:n}){return(0,Z.jsx)(B.Root,{open:t,onOpenChange:e=>{e||n()},children:(0,Z.jsxs)(B.Content,{size:`md`,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{children:`Update Window`}),(0,Z.jsx)(B.Description,{children:`Configure when automatic updates are applied.`})]}),(0,Z.jsx)(B.Body,{children:(0,Z.jsx)(vr,{assistantId:e})})]})})}function br(e){if(typeof e==`object`&&e&&`code`in e){let t=e.code;if(typeof t==`string`)return t}}function xr({open:e,onOpenChange:t}){let n=u(),[r,i]=(0,X.useState)(null),[a,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(null),d=(0,X.useRef)(!1),f=(0,X.useRef)(e),p=()=>n.invalidateQueries({queryKey:it()}),m=e=>{ze({path:{id:e}}).catch(()=>void 0).finally(()=>void p())},h=ht({onSuccess:e=>{if(!f.current){m(e.factor_id);return}i(e)},onError:e=>{let n=br(e);n===`no_workos_account`?V.error(`Two-factor authentication is only available for Vellum platform accounts.`):n===`throttled`||n===`workos_rate_limited`?V.error(`Too many attempts. Try again in a minute.`):n===`factor_limit_reached`?V.error(`An authenticator app is already set up. Remove it before adding another.`):V.error(`Failed to start setup. Please try again.`),t(!1)}}),g=pt({onSuccess:e=>{e.valid?(d.current=!0,V.success(`Two-factor authentication is on.`),p(),t(!1)):l(`That code didn't match. Check your authenticator app and try again.`)},onError:e=>{let n=br(e);if(n===`challenge_already_verified`){d.current=!0,V.success(`Two-factor authentication is on.`),p(),t(!1);return}if(n===`challenge_expired`||n===`challenge_not_found`){r&&m(r.factor_id),i(null),s(``),l(`This setup session expired. Scan the new QR code and try again.`),h.mutate({});return}if(n===`throttled`||n===`workos_rate_limited`){l(`Too many attempts. Wait a minute and try again.`);return}l(`Couldn't verify the code. Wait a moment and try again.`)}});(0,X.useEffect)(()=>{f.current=e,e&&(d.current=!1,i(null),s(``),l(null),h.mutate({}))},[e]);let _=e=>{!e&&g.isPending||(!e&&r&&!d.current&&m(r.factor_id),t(e))},v=()=>{r&&navigator.clipboard.writeText(r.secret).then(()=>V.success(`Setup key copied.`)).catch(()=>V.error(`Couldn't copy the setup key.`))},y=()=>{!r||a.length!==6||g.isPending||(l(null),g.mutate({body:{challenge_id:r.challenge_id,code:a}}))};return(0,Z.jsx)(B.Root,{open:e,onOpenChange:_,children:(0,Z.jsxs)(B.Content,{size:`sm`,children:[(0,Z.jsxs)(B.Header,{children:[(0,Z.jsx)(B.Title,{children:`Set up authenticator app`}),(0,Z.jsx)(B.Description,{children:`Scan the QR code with an authenticator app such as Google Authenticator or 1Password, then enter the 6-digit code it shows.`})]}),(0,Z.jsx)(B.Body,{children:r===null?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Z.jsx)(C,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,Z.jsxs)(`form`,{className:`flex flex-col items-center gap-4`,onSubmit:e=>{e.preventDefault(),y()},children:[(0,Z.jsx)(`img`,{src:r.qr_code,alt:`QR code for your authenticator app`,className:`h-44 w-44 rounded-lg bg-white p-2`}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Can't scan it? Enter this setup key manually:`}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:`flex cursor-pointer items-center gap-2 self-start font-mono text-body-small-default text-[var(--content-default)] hover:text-[var(--content-emphasised)]`,children:[(0,Z.jsx)(`span`,{className:`break-all text-left`,children:r.secret}),(0,Z.jsx)(x,{className:`h-3.5 w-3.5 shrink-0`})]})]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`label`,{htmlFor:`totp-code`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:`6-digit code`}),(0,Z.jsx)(z,{id:`totp-code`,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:6,placeholder:`123456`,value:a,onChange:e=>s(e.target.value.replace(/\D/g,``).slice(0,6))}),c&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})]})}),(0,Z.jsxs)(B.Footer,{children:[(0,Z.jsx)(o,{variant:`outlined`,onClick:()=>_(!1),disabled:g.isPending,children:`Cancel`}),(0,Z.jsx)(o,{onClick:y,disabled:r===null||a.length!==6||g.isPending,children:g.isPending?`Verifying…`:`Verify`})]})]})})}function Sr(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Cr(){let e=u(),[t,n]=(0,X.useState)(!1),[r,i]=(0,X.useState)(null),a=d({...rt()}),s=a.data??[],c=()=>e.invalidateQueries({queryKey:it()}),l=Qe({onSuccess:()=>{V.success(`Authenticator app removed.`),c()},onError:e=>{if(br(e)===`factor_not_found`){c();return}V.error(`Failed to remove the authenticator app. Please try again.`)}});return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[a.isPending?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:`Loading authenticator apps…`})]}):a.isError?(0,Z.jsxs)(I,{tone:`error`,children:[`Couldn't load your authenticator apps.`,` `,(0,Z.jsx)(`button`,{type:`button`,className:`cursor-pointer underline`,onClick:()=>void a.refetch(),children:`Try again`})]}):s.length===0?(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`No authenticator app is set up. Add one to require a one-time code at sign-in.`}):(0,Z.jsx)(`ul`,{className:`flex flex-col divide-y divide-[var(--border-base)]`,children:s.map(e=>(0,Z.jsxs)(`li`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(Tt,{className:`h-5 w-5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Authenticator app`}),(0,Z.jsxs)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:[e.user,e.created_at?` · Added ${Sr(e.created_at)}`:``]})]})]}),(0,Z.jsx)(o,{variant:`dangerOutline`,onClick:()=>i(e),disabled:l.isPending,children:`Remove`})]},e.id))}),!a.isPending&&!a.isError&&s.length===0&&(0,Z.jsx)(o,{onClick:()=>n(!0),className:`self-start`,children:`Add authenticator app`}),(0,Z.jsx)(xr,{open:t,onOpenChange:n}),(0,Z.jsx)(H,{open:r!==null,title:`Remove authenticator app`,message:`Signing in will no longer ask for a code from this app. You can set up a new authenticator app at any time.`,confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{r&&l.mutate({path:{id:r.id}}),i(null)},onCancel:()=>i(null)})]})}var Q=class extends Error{code;constructor(e,t){super(t),this.name=`TeleportError`,this.code=e}},wr=`local`,Tr=`docker`,Er=`vellum`;function Dr(e){switch((e??``).toLowerCase()){case wr:return`local`;case Tr:return`docker`;case Er:return`managed`;default:return`other`}}function Or(e){let t=Dr(e);return t===`managed`?`local`:t===`local`?`platform`:null}function kr(e){switch(e){case`docker`:return`Move to Docker`;case`platform`:return`Move to Cloud (Platform)`;case`local`:return`Move to Local`}}function Ar(e){switch(e){case`docker`:return`Run your assistant in a Docker container on this Mac.`;case`platform`:return`Run your assistant in the cloud, managed by the Vellum platform.`;case`local`:return`Run your assistant locally on this Mac.`}}function jr(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.reason!==`version_mismatch`)return null;let n=t.bundle_compat,r=t.target_runtime_version;if(!n||typeof n!=`object`||typeof r!=`string`)return null;let i=n,a=i.min_runtime_version;if(typeof a!=`string`)return null;let o=typeof i.max_runtime_version==`string`?i.max_runtime_version:null;return`Cannot import: bundle requires runtime ${o?`${a}–${o}`:`${a}+`}, but this local runtime is ${r}. Update your local runtime before importing.`}async function Mr(e,t){let n=Number(e.headers.get(`Content-Length`)??0);if(!e.body||!t||n<=0){let n=await e.arrayBuffer();return t?.(1),n}let r=e.body.getReader(),i=[],a=0;for(;;){let{done:e,value:o}=await r.read();if(e)break;i.push(o),a+=o.length,t(a/n)}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return t(1),o.buffer}function Nr(e){let t=pe(e);if(!t)throw new Q(`local_assistant_not_found`,`Assistant ${e.assistantId} has no resolved local gateway.`);return`${window.location.origin}${t}`}async function Pr(e,t){let n=await se(e.assistantId),r=await fetch(`${t}/auth/token`,{method:`POST`,headers:{Authorization:`Bearer ${n}`}});if(!r.ok)throw new Q(`not_signed_in`,`Gateway token request failed (HTTP ${r.status}).`);let{token:i}=await r.json();return i}async function Fr(e,t){let n=Nr(e),r=await Pr(e,n),i=await fetch(`${n}/v1/migrations/export`,{method:`POST`,headers:{Authorization:`Bearer ${r}`}});if(!i.ok)throw new Q(`export_failed`,`Export failed (HTTP ${i.status}).`);return Mr(i,t)}async function Ir(e,t){let n=Nr(e),r=await Pr(e,n),i=await fetch(`${n}/v1/migrations/import`,{method:`POST`,headers:{Authorization:`Bearer ${r}`},body:new Blob([t],{type:`application/octet-stream`})});if(!i.ok)throw new Q(`import_failed`,`Import failed (HTTP ${i.status}).`);let a=await zr(i);if(a&&a.success===!1)throw new Q(`import_failed`,a.error??`Import reported failure`)}async function Lr(e,t){let{data:n,response:r}=await G.post({url:`/v1/assistants/{assistant_id}/migrations/export-to-gcs/`,path:{assistant_id:e},body:{upload_url:t},throwOnError:!1}),i=r?.status??0;if(!(r?.ok??!1)&&i!==202)throw new Q(`export_failed`,`Export failed (HTTP ${i}).`);let a=n?.job_id;if(!a)throw new Q(`export_failed`,`Export accepted but no job ID was returned.`);return a}async function Rr(e,t){let{data:n,response:r}=await G.get({url:`/v1/assistants/{assistant_id}/migrations/jobs/{job_id}`,path:{assistant_id:e,job_id:t},throwOnError:!1}),i=r?.status??0;if(i>=500)return`processing`;if(!(r?.ok??!1))throw new Q(`export_job_failed`,`Job status check failed (HTTP ${i})`);let a=n;if(a?.status===`failed`)throw new Q(`export_job_failed`,a.error??`Export job failed`);return a?.status??`processing`}async function zr(e){try{return await e.json()}catch{return null}}var Br=new Set([500,502,503,504]),$=3,Vr=e=>new Promise(t=>setTimeout(t,e));async function Hr(e,t=new Set){for(let n=0;n<=$;n++){let{response:r,data:i,error:a}=await e(),o=r?.status??0;if(n<$&&Br.has(o)&&!t.has(o)){await Vr(2**n*1e3);continue}return{status:o,data:i,error:a}}throw new Q(`unknown`,`Unexpected retry loop exit`)}async function Ur(e,t){let n={operation:`upload`};e&&(n.min_runtime_version=e,n.max_runtime_version=null),t&&(n.consumer=t);let{status:r,data:i}=await Hr(()=>G.post({url:`/v1/migrations/signed-url/`,body:n,throwOnError:!1}),new Set([404,503]));if(r===503||r===404)throw new Q(`export_failed`,`Signed URL uploads are not available — the platform may not support this feature yet.`);if(r!==201)throw new Q(`export_failed`,`Migration request failed (HTTP ${r}).`);let a=i;return{url:a.url,bundleKey:a.bundle_key,expiresAt:a.expires_at}}async function Wr(e,t){let{status:n,data:r,error:i}=await Hr(()=>G.post({url:`/v1/migrations/signed-url/`,body:{operation:`download`,bundle_key:e,target_runtime_version:t},throwOnError:!1}),new Set([422]));if(n===422){let e=jr(i);if(e)throw new Q(`version_mismatch`,e)}if(n!==200&&n!==201)throw new Q(`import_failed`,`Migration request failed (HTTP ${n}).`);return r.url}async function Gr(e,t,n){for(let r=0;r<=$;r++){let i=await Kr(e,t,n);if(r<$&&Br.has(i)){await Vr(2**r*1e3),n?.(0);continue}if(i<200||i>=300)throw new Q(`export_failed`,`Bundle upload failed (HTTP ${i}).`);return}}function Kr(e,t,n){return new Promise((r,i)=>{let a=new XMLHttpRequest;a.open(`PUT`,e),a.setRequestHeader(`Content-Type`,`application/octet-stream`),a.timeout=36e5,n&&(a.upload.onprogress=e=>{e.lengthComputable&&n(e.loaded/e.total)}),a.onload=()=>{n?.(1),r(a.status)},a.onerror=()=>i(new Q(`export_failed`,`Bundle upload failed.`)),a.ontimeout=()=>i(new Q(`export_timed_out`,`Bundle upload timed out.`)),a.send(t)})}async function qr(e,t){for(let n=0;n<=$;n++){let r=await fetch(e,{method:`GET`});if(n<$&&Br.has(r.status)){await Vr(2**n*1e3),t?.(0);continue}if(!r.ok)throw new Q(`import_failed`,`Bundle download failed (HTTP ${r.status}).`);return Mr(r,t)}throw new Q(`import_failed`,`Unexpected retry loop exit`)}async function Jr(e){let{status:t,data:n,error:r}=await Hr(()=>G.post({url:`/v1/migrations/import-from-gcs/`,body:{bundle_key:e},throwOnError:!1}));return{status:t,body:n??r??null}}async function Yr(e){let{status:t,data:n}=await Hr(()=>G.get({url:`/v1/migrations/jobs/{job_id}/`,path:{job_id:e},throwOnError:!1}));if(t!==200)throw new Q(`import_failed`,`Job status check failed (HTTP ${t})`);let r=n??{};return{status:typeof r.status==`string`?r.status:`unknown`,jobId:typeof r.job_id==`string`?r.job_id:null,error:typeof r.error==`string`?r.error:null}}var Xr=5e3,Zr=36e5,Qr=5*6e4,$r=30,ei=e=>new Promise(t=>setTimeout(t,e));function ti(){let e=l(),t=he(),n=Or(t?.cloud),[r,a]=(0,X.useState)({kind:`idle`}),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null),u=(0,X.useRef)(null),d=(0,X.useCallback)(e=>{a({kind:`transferring`,step:e,progress:null})},[]),f=(0,X.useCallback)(e=>{a(t=>t.kind===`transferring`?{...t,progress:e}:t)},[]),p=(0,X.useCallback)(async()=>{if(!(!t||!n)){u.current={id:t.assistantId,kind:Dr(t.cloud)===`managed`?`managed`:`local`,createdFresh:!1};try{if(n===`platform`)await ni(t,d,f,c);else if(n===`local`)await ri(t,d,f,c);else throw new Q(`unknown`,`Unsupported teleport destination.`);a({kind:`verifying`})}catch(e){a({kind:`failed`,error:`Teleport failed: ${e instanceof Q||e instanceof Error?e.message:`Teleport failed.`}`}),i(e,{context:`teleport-execute`}),await ai(c.current,u.current,`teleport-execute-cleanup`),c.current=null}}},[t,n,d,f]),m=(0,X.useCallback)(()=>s(!0),[]),h=(0,X.useCallback)(()=>s(!1),[]),g=(0,X.useCallback)(()=>{s(!1),p()},[p]),_=(0,X.useCallback)(()=>{c.current=null,u.current=null,a({kind:`idle`})},[]);return{destination:n,phase:r,confirmOpen:o,requestTeleport:m,cancelConfirm:h,confirm:g,confirmAndSwitch:(0,X.useCallback)(()=>{let t=c.current,n=u.current;t&&(async()=>{try{let e=je.getState();t.kind===`managed`?await e.connectPlatformAssistant(t.id):(await e.connectLocalAssistant(t.id),Pe(t.id,{onError:e=>i(e,{context:`teleport-inject-platform-identity`})}))}catch(e){a({kind:`failed`,error:`Switch failed: ${e instanceof Error?e.message:`Failed to switch assistant.`}`}),i(e,{context:`teleport-confirm-switch`});return}n&&Et(n.id).then(e=>{e.ok||i(Error(e.error),{context:`teleport-retire-source`})}),_(),e(K.assistant,{replace:!0})})()},[e,_]),cancelTeleport:(0,X.useCallback)(()=>{let e=c.current,t=u.current;c.current=null,u.current=null,a({kind:`idle`}),ai(e,t,`teleport-cancel-retire-target`)},[]),reset:_}}async function ni(e,t,n,r){t(`Exporting assistant data...`);let i=await Fr(e,n);t(`Resolving organization...`);let a=await si();t(`Checking for existing assistant...`);let o=(await Be({query:{hosting:`platform`},throwOnError:!1})).data?.results?.[0];if(o)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${o.id}'. Retire it first, then retry the teleport.`);t(`Uploading data to cloud...`);let s=await Ur(e.resources?.runtimeVersion);await Gr(s.url,i,n),t(`Setting up cloud assistant...`);let c=await Ge(void 0,`create`);if(!c.ok)throw new Q(`import_failed`,`Failed to set up the cloud assistant.`);if(c.status===200)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${c.data.id}'. Retire it first, then retry the teleport.`);let l=c.data.id;await ce({assistantId:l,name:c.data.name,cloud:`vellum`,runtimeUrl:ue(),hatchedAt:c.data.created??new Date().toISOString(),organizationId:a}),await U(e.assistantId),r.current={id:l,kind:`managed`,createdFresh:!0},t(`Finalizing cloud assistant...`),await ci(l),t(`Importing data to cloud...`);let u=await Jr(s.bundleKey);if(u.status<200||u.status>=300){let e=u.body;throw new Q(`import_failed`,e?.error??`Import failed (HTTP ${u.status}).`)}if(u.status===202){let e=u.body?.job_id;if(!e)throw new Q(`import_failed`,`Import accepted but no job ID returned.`);await li(e)}else{let e=u.body;if(e&&e.success===!1)throw new Q(`import_failed`,e.error??`Import reported failure.`)}}async function ri(e,t,n,r){t(`Preparing export...`);let i=await Ur(await oi(e.assistantId),`runtime`);t(`Exporting cloud data...`);let a=await Lr(e.assistantId,i.url);await ui(e.assistantId,a),t(`Preparing local assistant...`);let{assistant:o,createdFresh:s}=await di();r.current={id:o.assistantId,kind:`local`,createdFresh:s};let c=await ii(o,s);if(!c)throw new Q(`local_assistant_not_found`,`Could not determine the local assistant's runtime version. Restart or upgrade the local assistant, then retry the teleport.`);t(`Preparing import...`);let l=await Wr(i.bundleKey,c);t(`Downloading data...`);let u=await qr(l,n);t(`Importing data...`),await pi(o,u),await U(e.assistantId)}async function ii(e,t){if(e.resources?.runtimeVersion)return e.resources.runtimeVersion;if(t)return(await Kt())?.version??void 0}async function ai(e,t,n){if(e?.createdFresh){let t=await Et(e.id);t.ok||i(Error(t.error),{context:n})}t&&await U(t.id)}async function oi(e){let t=await We(e);return t.ok?t.data.version??void 0:void 0}async function si(){let e=we.getState();e.organizations.length===0&&await e.fetchOrganizations();let t=we.getState().organizations,n=Ne();if(n&&t.some(e=>e.id===n))return n;if(t.length===0)throw new Q(`no_organizations`,`No organizations found for this account.`);if(t.length>1)throw new Q(`multiple_organizations`,`Multiple organizations found — please select one in account settings first.`);let r=t[0].id;return we.getState().setCurrentOrganizationId(r),r}async function ci(e){let t=Date.now();for(;Date.now()-t<Qr;){let{data:t,response:n}=await Ue({path:{id:e},throwOnError:!1});if(n?.ok&&t?.state===`active`)return;await ei(Xr)}}async function li(e){let t=Date.now();for(;Date.now()-t<Zr;){await ei(Xr);let t=await Yr(e);if(t.status===`complete`)return;if(t.status===`failed`)throw new Q(`import_failed`,t.error??`Import job failed`)}throw new Q(`import_failed`,`Import timed out after 60 minutes.`)}async function ui(e,t){let n=Date.now();for(;Date.now()-n<Zr;)if(await ei(Xr),await Rr(e,t)===`complete`)return;throw new Q(`export_timed_out`,`Export timed out.`)}async function di(){let e=await me(void 0,void 0);if(!e.ok)throw new Q(`local_assistant_not_found`,e.error??`Could not create a local assistant.`);await le();let t=e.assistantId?_e().find(t=>t.assistantId===e.assistantId):fi();if(!t)throw new Q(`local_assistant_not_found`,`Could not find or create a local assistant.`);return{assistant:t,createdFresh:!0}}function fi(){return _e().slice().sort((e,t)=>(t.hatchedAt??``).localeCompare(e.hatchedAt??``))[0]}async function pi(e,t){let n;for(let r=0;r<$r;r++)try{await Ir(e,t);return}catch(e){n=e,await ei(1e3)}throw n instanceof Error?n:new Q(`import_failed`,`Import failed.`)}function mi(){let e=ti(),{destination:t,phase:n}=e;return t?(0,Z.jsxs)(Y,{title:`Teleport`,subtitle:`Move your assistant to a different hosting environment.`,children:[n.kind===`idle`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:Ar(t)}),(0,Z.jsx)(o,{variant:`outlined`,className:`self-start`,onClick:e.requestTeleport,children:kr(t)})]}),n.kind===`transferring`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.progress==null&&(0,Z.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:n.step})]}),n.progress!=null&&(0,Z.jsx)(ee,{value:n.progress,"aria-label":`Teleport progress`,className:`max-w-[240px]`})]}),n.kind===`verifying`&&(0,Z.jsx)(I,{tone:`success`,icon:(0,Z.jsx)(b,{className:`h-4 w-4`}),title:`Transfer complete — verify your new assistant is working.`,actions:(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(o,{variant:`primary`,onClick:e.confirmAndSwitch,children:`Confirm & Switch`}),(0,Z.jsx)(o,{variant:`outlined`,onClick:e.cancelTeleport,children:`Cancel`})]})}),n.kind===`failed`&&(0,Z.jsx)(I,{tone:`error`,title:n.error,actions:(0,Z.jsx)(o,{variant:`outlined`,onClick:e.reset,children:`Try Again`})}),(0,Z.jsx)(H,{open:e.confirmOpen,title:kr(t),message:`Your data will be copied to the new environment. The current assistant will remain available until you confirm the new one works.`,confirmLabel:`Teleport`,onConfirm:e.confirm,onCancel:e.cancelConfirm})]}):null}function hi(){let{assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}=Xt(),c=q.use.multiPlatformAssistant(),u=q.use.teleport(),d=q.use.accountMfa(),f=bt.use.settingsSleepPolicy(),p=De(),m=l(),h=Dt(),g=Dt({platformHostedOnly:!0}),_=Nt(),v=Ot({assistantId:e?.id??null,enabled:g===`full`&&_}),[y,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1),[C,w]=s();(0,X.useEffect)(()=>{if(C.get(`preferences`)!==`open`)return;let e=new URLSearchParams(C);e.delete(`preferences`),w(e,{replace:!0}),S(!0)},[C,w]);let T=e?.is_local&&!ge()?null:e,E=he(),D=ge()&&!!e&&!!E&&de(E),O=D,k=D&&!fe(),A=g===`full`&&!!T||k&&!!e;(0,X.useEffect)(()=>{!e||window.location.hash!==`#storage-resources`||requestAnimationFrame(()=>{document.getElementById(`storage-resources`)?.scrollIntoView({block:`start`})})},[e]);let j=t?.version??e?.current_release_version??null,M=(h===`full`||O)&&!!T||h===`disabled`&&!O,N=g!==`gated`;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[v.status&&v.mode!==`inactive`&&(0,Z.jsx)(Rt,{status:v.status,mode:v.mode,isAcknowledging:v.isAcknowledging,acknowledgeError:v.acknowledgeError?.message??null,onAcknowledge:()=>void v.acknowledge(),onReviewWorkspaceData:()=>void m(`${K.workspace}?sort=size`),onUpgradeStorage:g===`full`?()=>void m(`${K.settings.billing}?adjust_plan=1`):null}),(0,Z.jsxs)(hn,{assistant:_?T:null,showHandles:p&&h===`full`,children:[(0,Z.jsx)(fr,{}),d&&h!==`gated`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Two-Factor Authentication`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Require a code from an authenticator app when you sign in.`}),(0,Z.jsx)(`div`,{className:`mt-1`,children:h===`disabled`?(0,Z.jsx)(J,{children:`Log in to the Vellum platform to manage two-factor authentication.`}):(0,Z.jsx)(Cr,{})})]})]})]}),(0,Z.jsx)(Y,{title:`Version`,subtitle:`Manage your assistant's software version and updates.`,accessory:g===`full`&&T?(0,Z.jsx)(o,{variant:`outlined`,onClick:()=>b(!0),children:`Update Window`}):void 0,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[g===`full`&&T&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Tn,{assistantId:T.id,currentVersion:j,releaseChannel:T.release_channel,onUpgradeComplete:()=>{i()}}),(0,Z.jsx)(Qn,{assistantId:T.id,onComplete:()=>{i()}})]}),k&&e&&(0,Z.jsx)(En,{assistantId:e.id,currentVersion:j,onUpgradeComplete:()=>{i()}}),!A&&e&&(0,Z.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Current`}),(0,Z.jsx)(Zt,{version:j,loading:n&&!e.current_release_version,assistantId:e.id??null})]}),g===`disabled`&&!k&&(0,Z.jsx)(J,{children:`Log in to the Vellum platform to manage software updates.`})]})}),g===`full`&&T&&(0,Z.jsx)(yr,{assistantId:T.id,open:y,onClose:()=>b(!1)}),g===`full`&&e&&(0,Z.jsx)(ir,{assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}),g===`disabled`&&(0,Z.jsx)(Y,{id:`storage-resources`,title:`Compute & Resources`,subtitle:`Monitor resource usage and manage your assistant's compute profile.`,children:(0,Z.jsx)(J,{children:`Log in to the Vellum platform to manage compute resources.`})}),(0,Z.jsx)(Y,{title:`Preferences`,subtitle:`Customize appearance, shortcuts, and how Vellum behaves on this device.`,accessory:(0,Z.jsx)(o,{variant:`outlined`,onClick:()=>S(!0),children:`Customize`})}),(0,Z.jsx)(Kn,{open:x,onClose:()=>S(!1)}),u&&W()&&(0,Z.jsx)(mi,{}),(0,Z.jsx)(kn,{}),g===`full`&&T&&f&&(0,Z.jsx)(Y,{title:`Sleep Policy`,subtitle:`Control how long this assistant stays awake when idle.`,children:(0,Z.jsx)(xn,{assistantId:T.id})}),g===`disabled`&&f&&(0,Z.jsx)(Y,{title:`Sleep Policy`,subtitle:`Control how long this assistant stays awake when idle.`,children:(0,Z.jsx)(J,{children:`Log in to the Vellum platform to manage sleep policy.`})}),c&&(0,Z.jsx)(vn,{}),(M||N)&&(0,Z.jsx)(Y,{variant:`danger`,title:`Danger Zone`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[M&&(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:`Retire Assistant`}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`Permanently retire this assistant and delete all associated data.`}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(h===`full`||O)&&T?(0,Z.jsx)(ar,{assistantId:T.id}):(0,Z.jsx)(J,{children:`Log in to the Vellum platform to retire this assistant.`})})]}),M&&N&&(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(Dn,{})]})})]})}export{hi as GeneralPage};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]);export{t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-C0eM5us1.js","assets/preload-helper-BewR0kVT.js","assets/dist-DyRKd0bN2.js","assets/definitions-Ce8XXjMI.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-BewR0kVT.js";import{u as t}from"./native-biometric-BvCjSInu.js";var n=async e=>{if(t())try{await e()}catch{}},r={light:()=>n(async()=>{let{Haptics:t,ImpactStyle:n}=await e(async()=>{let{Haptics:e,ImpactStyle:t}=await import(`./esm-C0eM5us1.js`);return{Haptics:e,ImpactStyle:t}},__vite__mapDeps([0,1,2,3]));await t.impact({style:n.Light})}),medium:()=>n(async()=>{let{Haptics:t,ImpactStyle:n}=await e(async()=>{let{Haptics:e,ImpactStyle:t}=await import(`./esm-C0eM5us1.js`);return{Haptics:e,ImpactStyle:t}},__vite__mapDeps([0,1,2,3]));await t.impact({style:n.Medium})}),success:()=>n(async()=>{let{Haptics:t,NotificationType:n}=await e(async()=>{let{Haptics:e,NotificationType:t}=await import(`./esm-C0eM5us1.js`);return{Haptics:e,NotificationType:t}},__vite__mapDeps([0,1,2,3]));await t.notification({type:n.Success})}),error:()=>n(async()=>{let{Haptics:t,NotificationType:n}=await e(async()=>{let{Haptics:e,NotificationType:t}=await import(`./esm-C0eM5us1.js`);return{Haptics:e,NotificationType:t}},__vite__mapDeps([0,1,2,3]));await t.notification({type:n.Error})})};export{r as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-Dhiismgm.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-BQVYX8n_.js";import{m as a,u as o}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{t as l}from"./progress-bar-Wa6qo8OT.js";import{S as u,_ as ee,b as te,c as d,k as ne,p as f,rt as re,v as ie}from"./local-mode-Bskd5bsT.js";import{t as p}from"./is-electron-y5bNUVyG.js";import{n as m}from"./resolved-assistants-store-DAzPZ1eV.js";import{r as ae}from"./api-errors-CrWDzVca.js";import{E as h,I as oe,L as se,N as g,O as _,R as v,k as ce,n as y,z as le}from"./auth-store-Ce9wqr8c.js";import{a as ue,o as de,r as b}from"./api-BsCfy4XV.js";import{u as fe}from"./native-biometric-BvCjSInu.js";import{c as x}from"./routes-Bzvx8bnp.js";import{a as pe,m as me}from"./prefs-BhGkdtWC.js";import{r as S,t as C}from"./build-state-Cc8lgfTd.js";import{t as w}from"./avatar-bundled-components-DgzHRe6Z.js";import{t as T}from"./avatar-svg-compositor-C_lXkZLZ.js";import{fr as E,gr as D,hr as O,nn as k}from"./index-31nbLUeS.js";import{t as he}from"./provider-key-BIMvWJCe.js";var A=e(r(),1);async function ge(e,t,r){try{await O(e)||await D(e,t),r.invalidateQueries({queryKey:E(e)})}catch(e){n(e,{context:`onboarding_avatar_sync`})}}function j(e){let t=e=>e[Math.floor(Math.random()*e.length)];return{bodyShape:t(e.bodyShapes).id,eyeStyle:t(e.eyeStyles).id,color:t(e.colors).id}}var M=c(),N=3e3,_e=800,P=3e5,F=null,I=null,L=null;function R(){F=null,I=null,L=null}var ve={initializing:0,provisioning:.33,connecting:.66,ready:1},z=1500,ye={initializing:`Getting things ready…`,provisioning:`Setting up your assistant…`,connecting:`Connecting to your assistant…`,ready:`Ready`};function be(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/z))**3;return e+(t-e)*r}function xe(){let e=S(C(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function B(){let e=o(),r=s(),[c]=a(),S=c.get(`hosting`),C=c.get(`fail`),E=p(),D=f()&&S!==null&&S!==`vellum-cloud`,O=y.use.sessionStatus(),z=D?g(O):O,[B]=(0,A.useState)(()=>L??=j(w)),V=(0,A.useMemo)(()=>{let e=T(w,B.bodyShape,B.eyeStyle,B.color,320);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`},[B]),[H,U]=(0,A.useState)(`initializing`),[W,G]=(0,A.useState)(null),[Se,K]=(0,A.useState)(!1),[Ce,we]=(0,A.useState)(0),[Te,q]=(0,A.useState)(0),[Ee,J]=(0,A.useState)(0),Y=(0,A.useRef)(H),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,U(e),J(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(C!==null){G(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let i=xe();if(i.kind===`redirect`){e(i.to,{replace:!0});return}if(i.kind===`wait`)return;K(!1);let a=!1,o=null,s=null,c=null,l=Date.now(),p,g=!1,w=!1,T=pe(),E=t=>{try{me(``)}catch(e){n(e,{context:`onboarding_mark_completed`})}q(1),Q.current=1,X.current=1,U(`ready`),Y.current=`ready`,s=setTimeout(()=>{a||(R(),(async()=>{if(await ce.checkAssistant(),!a){if(fe()){ce.markExpectingFirstMessage(),e(`${x.assistant}?onboarding=1`,{replace:!0});return}if(D){let n=new URLSearchParams;S&&n.set(`hosting`,S),t&&n.set(`assistant`,t);let r=n.toString();e(`${x.onboarding.research}${r?`?${r}`:``}`,{replace:!0});return}e(x.onboarding.prechat,{replace:!0})}})())},_e)},O=e=>ge(e,B,r),k=async()=>{if($(`provisioning`),!D){try{let e=await b(),t=v(e);if(!a&&e.ok&&t.kind===`active`){f()&&u({assistantId:e.data.id,name:e.data.name,cloud:`vellum`,runtimeUrl:d(),hatchedAt:new Date().toISOString(),organizationId:h.getState().currentOrganizationId??void 0}),E();return}t.kind===`auto_hatch`&&(w=!0)}catch{}if(a)return}if(D){try{F||=ne(void 0,S===`docker`?`docker`:void 0);let e=await F;if(a)return;if(!e.ok){R(),G(e.error??`Failed to hatch local assistant.`);return}await ee(),e.assistantId&&_(e.assistantId),$(`connecting`);let t=!1;for(;!a&&!t;){if(await te()){re(),await ie(),t=!0;break}if(Date.now()-l>=P){R(),G(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{c=setTimeout(e,N)}),c=null}if(a)return;if(e.assistantId)try{await he(e.assistantId)}catch(e){n(e,{context:`onboarding_apply_provider_key`})}e.assistantId&&await y.getState().connectLocalAssistant(e.assistantId),e.assistantId&&(m.getState().upsertFromApi({id:e.assistantId,name:e.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),_(e.assistantId),O(e.assistantId)),E(e.assistantId)}catch{if(R(),a)return;G(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{I||=de(T?{version:T}:void 0);let e=await I;if(I=null,a)return;if(e.ok&&(p=e.data.id),g=e.ok&&e.status===201,!e.ok){if(t(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),se(e.status,e.error)){G(oe),K(!0);return}if(!le(e.status)){G(ae(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(I=null,n(e,{context:`onboarding_hatch_assistant`}),a)return}A(0)},A=e=>{a||(o=setTimeout(j,e))},j=async()=>{if(!a){if(Date.now()-l>=P){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:P}}),G(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await b(p);if(a||p&&!e.ok&&e.status===404&&(p=void 0,e=await b(),a))return;let t=v(e);if(t.kind===`active`){if(e.ok){let t=e.data.id;for(m.getState().upsertFromApi(e.data),_(t),(g||w)&&O(t),f()&&u({assistantId:t,name:e.data.name,cloud:`vellum`,runtimeUrl:d(),hatchedAt:new Date().toISOString(),organizationId:h.getState().currentOrganizationId??void 0}),$(`connecting`);!a;){try{if((await ue(t)).ok)break}catch{}if(Date.now()-l>=P){G(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,N)}),o=null}if(a)return}E();return}if(t.kind===`error`){G(t.message);return}t.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),A(N)}catch(e){if(n(e,{context:`onboarding_poll_assistant`}),a)return;A(N)}}};return k(),()=>{a=!0,o&&clearTimeout(o),s&&clearTimeout(s),c&&clearTimeout(c)}},[Ce,C,B,z,e,r,$,D]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=ve[Y.current],i=be(X.current,r,n);Q.current=i,q(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Ee]),W?(0,M.jsx)(k,{children:(0,M.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${E?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,M.jsx)(`h1`,{className:E?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:`Something went wrong`}),(0,M.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${E?`mt-3.5`:`mt-4`}`,children:W}),Se&&(0,M.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,M.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Get started today with a local assistant`}),(0,M.jsx)(i,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,children:(0,M.jsx)(`a`,{href:`${window.location.origin}/download`,children:`Download the macOS app`})})]}),(0,M.jsx)(`img`,{src:V,alt:``,width:160,height:160,className:`${E?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,M.jsxs)(`div`,{className:`flex w-full flex-col ${E?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[(0,M.jsx)(i,{variant:`primary`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,U(`initializing`),q(0),J(e=>e+1),G(null),K(!1),we(e=>e+1)},children:`Try again`}),(0,M.jsx)(i,{variant:`outlined`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,onClick:()=>void e(D?x.onboarding.hosting:x.onboarding.privacy,{replace:!0}),children:`Back`})]})]})}):(0,M.jsx)(k,{children:(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${E?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,M.jsx)(`h1`,{className:E?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:H===`ready`?`Your assistant is ready!`:`Waking up…`}),H!==`ready`&&(0,M.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${E?`mt-3.5`:`mt-4`}`,children:`Hang tight — your assistant will have a few questions for you once it's up.`}),(0,M.jsx)(`img`,{src:V,alt:``,width:160,height:160,className:`${E?`my-auto py-8`:`my-16`} ${H===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,M.jsx)(l,{value:Te,height:6,className:`w-full ${E?`max-w-[200px]`:`max-w-sm`}`,"aria-label":`Assistant startup progress`}),(0,M.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${E?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:ye[H]})]})})}export{B as HatchingScreen};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{P as r,n as i,t as a}from"./button-BQVYX8n_.js";import{f as o,l as s,u as c}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./typography-Cqi8q9o7.js";import{t as p}from"./createLucideIcon-Bjb-Kuq7.js";import{t as m}from"./arrow-left-C2re-gYj.js";import{t as h}from"./bell-BbESwsZk.js";import{t as g}from"./brain-CMiHVWFK.js";import{t as _}from"./calendar-D0labpMU.js";import{t as v}from"./chevron-down-DpYf9Gwq.js";import{t as y}from"./chevron-right-jRymmL7S.js";import{t as b,w as x}from"./menu-CLA56vz8.js";import{n as S}from"./list-row-B9k-FoZv.js";import{t as C}from"./loader-circle-C9QrtO3C.js";import{t as w}from"./repeat-BRYsTqh_.js";import{t as T}from"./shield-check-kgUZeU9b.js";import{t as E}from"./sparkles-BK3KXCjl.js";import{t as D}from"./x-BYcSiJRX.js";import{t as O}from"./notice-BiZA71pR.js";import{F as ee,d as k,h as A,i as j,j as M}from"./src-A8hMQd90.js";import{t as N}from"./tag-D0AE0-aA.js";import{n as P,t as F}from"./input-6HVXMszw.js";import{t as I}from"./toggle-CWrJ2t4S.js";import{t as L}from"./modal-bIQsMU63.js";import{t as te}from"./panel-item-CfuwAm7q.js";import{n as R}from"./toast-B5Hr1kIL.js";import{t as z}from"./dropdown-BxYrCXBS.js";import{Gn as ne,Jn as re,Kn as B,Xn as ie,Zn as ae,qn as oe}from"./sdk.gen-CFgJ4K6f.js";import{Bt as se,F as ce,Jt as V,M as le,N as ue,P as de,R as fe,Yt as pe,_ as me,c as he,d as ge,dt as _e,ft as ve,g as ye,ht as be,j as xe,mt as Se,pt as Ce,ut as we,v as Te,y as Ee,z as De}from"./react-query.gen-JxTd3SS8.js";import{n as Oe}from"./utils-CNB1P-cO.js";import{n as H,r as U,t as W}from"./api-errors-CrWDzVca.js";import{a as ke}from"./api-BsCfy4XV.js";import{c as G}from"./routes-Bzvx8bnp.js";import{t as Ae}from"./conversation-store-CnRrUeSu.js";import{r as je}from"./viewer-store-CFywMdJp.js";import{i as Me}from"./composer-focus-CpeV_gfi.js";import{t as Ne}from"./conversation-selection-DYJPsAjJ.js";import{t as Pe}from"./effective-timezone-D6A5ISj1.js";import{t as Fe}from"./assistant-feature-flag-store-eHqy0FOb.js";import{Cr as Ie,Dn as Le,En as Re,Fi as ze,Gi as Be,Ji as Ve,Ln as He,Mi as Ue,Nn as We,Oa as Ge,On as Ke,Ui as qe,Vi as Je,_t as Ye,bi as Xe,dr as Ze,ga as Qe,jn as $e,ki as et,la as tt}from"./index-31nbLUeS.js";import{t as nt}from"./use-active-assistant-id-KipCgPNT.js";import{t as rt}from"./detail-card-ft5Na6Jw.js";import{t as it}from"./page-shell-BvXbg7Db.js";import{n as at,r as ot}from"./format-date-Cda44k2J.js";import{r as st,t as ct}from"./profile-metadata-CbcuGTHP.js";import{t as lt}from"./schedules-oC-weaYP.js";var ut=p(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),dt=p(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),ft=p(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),pt=p(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),K=e(n(),1);async function mt(e,t){let{error:n,response:r}=await ie({path:{assistant_id:e},body:t,throwOnError:!1});if(H(r,n,`Failed to create schedule.`),!r.ok)throw new W(r.status,U(n,r,`Failed to create schedule.`))}async function ht(e){return lt(e)}async function gt(e,t,n=10,r){let{data:i,error:a,response:o}=await oe({path:{assistant_id:e,id:t},query:{limit:n,before:r},throwOnError:!1});if(H(o,a,`Failed to load schedule runs.`),!o.ok)throw new W(o.status,U(a,o,`Failed to load schedule runs.`));return{runs:i?.runs??[],nextCursor:i?.nextCursor??null}}async function _t(e,t){let{data:n,error:r,response:i}=await ae({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(H(i,r,`Failed to load schedule usage.`),!i.ok)throw new W(i.status,U(r,i,`Failed to load schedule usage.`));return n?.summaries??[]}async function vt(e,t,n){let{error:r,response:i}=await re({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(H(i,r,`Failed to toggle schedule.`),!i.ok)throw new W(i.status,U(r,i,`Failed to toggle schedule.`))}async function yt(e,t){let{error:n,response:r}=await ne({path:{assistant_id:e,id:t},throwOnError:!1});if(H(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new W(r.status,U(n,r,`Failed to delete schedule.`))}async function bt(e,t){let{error:n,response:r}=await B({path:{assistant_id:e,id:t},throwOnError:!1});if(H(r,n,`Failed to run schedule.`),!r.ok)throw new W(r.status,U(n,r,`Failed to run schedule.`))}var xt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},St=[{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`}],Ct=[1,2,3,4,5];function q(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function wt(e){let t=Array.from(new Set(e.map(e=>q(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Tt(e){let t=q(e.minute,0,59),n=q(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${wt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${q(e.dayOfMonth,1,28)} * *`}}function Et(e,t){let n=q(e,0,23),r=q(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function Dt(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function Ot(e){let t=wt(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&Ct.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 ${St[t[0]]?.full??`day`}`;let r=t.map(e=>St[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function kt(e){let t=Et(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=q(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 ${Ot(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${Dt(q(e.dayOfMonth,1,28))} of every month at ${t}`}}var J=d(),At=[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],jt=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),Mt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}}),Nt=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:Dt(n)}}),{value:`last`,label:`Last day`}],Pt=[{value:`AM`,label:`AM`},{value:`PM`,label:`PM`}];function Ft(e,t){let n=e%12;return t===`PM`?n+12:n}function It(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 Lt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,J.jsx)(L.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,J.jsx)(Rt,{assistantId:t,onClose:n,onCreated:r}):null})}function Rt({assistantId:e,onClose:t,onCreated:n}){let r=He(),[i,o]=(0,K.useState)(``),[s,c]=(0,K.useState)(``),[l,u]=(0,K.useState)(``),[d,f]=(0,K.useState)(`simple`),[p,m]=(0,K.useState)(xt),[h,g]=(0,K.useState)(``),[_,v]=(0,K.useState)(!1),[y,b]=(0,K.useState)(null),x=i.trim(),S=s.trim(),C=l.trim(),w=h.trim(),T=(0,K.useMemo)(()=>d===`simple`?Tt(p):w,[d,p,w]),E=(0,K.useMemo)(()=>d===`simple`?kt(p):w||`Enter a cron expression to continue.`,[d,p,w]),D=(0,K.useMemo)(()=>It(r),[r]),O=x.length>0&&S.length>0&&C.length>0&&T.length>0&&!_;return(0,J.jsxs)(L.Content,{size:`md`,children:[(0,J.jsxs)(L.Header,{children:[(0,J.jsx)(L.Title,{children:`Create schedule`}),(0,J.jsx)(L.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,J.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),O){v(!0),b(null);try{await mt(e,{name:x,description:S,expression:T,message:C,timezone:r}),v(!1),n()}catch(e){b(e instanceof Error?e.message:`Failed to create schedule.`),v(!1)}}},children:[(0,J.jsx)(L.Body,{children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,J.jsx)(F,{label:`Name`,placeholder:`Morning briefing`,value:i,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,J.jsx)(P,{label:`Description`,placeholder:`What is this schedule for?`,value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,J.jsx)(Ut,{label:`Repeat`,children:d===`simple`?(0,J.jsx)(zt,{cadence:p,onChange:m}):(0,J.jsx)(Ht,{value:h,onChange:g,onUseSimple:()=>f(`simple`)})}),(0,J.jsx)(Gt,{summary:E,mono:d===`advanced`&&w.length>0,timezoneLabel:D}),d===`simple`?(0,J.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e||Tt(p)),f(`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:`Advanced — write a cron expression`}):null,(0,J.jsx)(P,{label:`Message`,placeholder:`What should the assistant do on each fire?`,value:l,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:4}),y?(0,J.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:y}):null]})}),(0,J.jsxs)(L.Footer,{children:[(0,J.jsx)(a,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,J.jsx)(a,{variant:`primary`,type:`submit`,disabled:!O,children:_?`Creating…`:`Create schedule`})]})]})]})}function zt({cadence:e,onChange:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(M,{items:At,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,J.jsx)(Wt,{label:`At minute`,children:(0,J.jsx)(z,{options:Mt,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":`Minute`,className:`w-24`})}):null,e.frequency===`weekly`?(0,J.jsx)(Wt,{label:`On these days`,children:(0,J.jsx)(Vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,J.jsx)(Wt,{label:`On day`,children:(0,J.jsx)(z,{options:Nt,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":`Day of month`,className:`w-32`})}):null,e.frequency===`hourly`?null:(0,J.jsx)(Wt,{label:`At time`,children:(0,J.jsx)(Bt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function Bt({hour24:e,minute:t,onChange:n}){let r=e<12?`AM`:`PM`,i=e%12==0?12:e%12;return(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(z,{options:jt,value:String(i),onChange:e=>n(Ft(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,J.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,J.jsx)(z,{options:Mt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,J.jsx)(`div`,{className:`w-[112px]`,children:(0,J.jsx)(M,{items:Pt,value:r,onChange:e=>n(Ft(i,e),t),ariaLabel:`AM or PM`})})]})}function Vt({value:e,onChange:t}){let n=new Set(e),i=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,J.jsx)(`div`,{className:`flex gap-1.5`,children:St.map(e=>{let t=n.has(e.value);return(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:r(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function Ht({value:e,onChange:t,onUseSimple:n}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(F,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":`Cron expression`,helperText:`Standard 5-field cron (minute hour day month weekday). RRULE expressions are also accepted.`}),(0,J.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:`← Back to the simple builder`})]})}function Ut({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function Wt({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,J.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Gt({summary:e,mono:t,timezoneLabel:n}){return(0,J.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,J.jsx)(Qe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`p`,{className:r(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,J.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function Kt(e=Pe(),t=Date.now()){return st(`7d`,e,t)}function Y(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function qt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Jt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function X(e){return e==null||!Number.isFinite(e)?`—`:Jt.format(e)}function Yt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Xt(e){let t=Math.round(e/6e4);return t>=60&&t%60==0?`Every ${t/60} hr`:`Every ${t} min`}function Zt(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 Qt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function $t(e){return Qt(e)?e.conversationId??null:null}function Z(e){return typeof e==`string`&&e.length>0}var en={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function tn(e){if(e.cronExpression)return e.timezone?`Cron: ${e.cronExpression} (${e.timezone})`:`Cron: ${e.cronExpression}`;let t=Xt(e.intervalMs);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(t+=` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),t}function nn(e){return Xt(e.intervalMs)}var rn=`After conversation activity`;function an(e,t){return e.status===`fired`||e.status===`cancelled`?!0:e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t}function on(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?an(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 sn(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?_t(e,Kt(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function cn(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function ln(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return 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 un({status:e}){return(0,J.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??`unknown`})}function dn({scheduleName:e,usage:t,onOpenUsage:n}){if(t.status===`loading`)return(0,J.jsxs)(`div`,{"aria-label":`Loading schedule usage`,className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,J.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,J.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`})]});let r=t.status===`error`,i=r?`--`:X(t.summary.totalEstimatedCostUsd),a=r?`--`:Yt(t.summary.runCount),o=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),s=t.status===`ready`&&t.summary.runCount===0,c=o?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,J.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,J.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`View usage for ${e}`,className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${c}`,children:i}):(0,J.jsx)(`span`,{"aria-label":`Cost for ${e} in the last 7 days: ${i}`,className:`block min-w-[64px] px-1 py-0.5 ${c}`,children:i}),(0,J.jsx)(`span`,{"aria-label":`Runs for ${e} in the last 7 days: ${a}`,className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a})]})}function fn({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){return(0,J.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,J.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":`Open ${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,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,J.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,J.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,J.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,J.jsxs)(`span`,{children:[`Next: `,Y(r)]}):null,i?(0,J.jsxs)(`span`,{children:[`Last: `,Y(i)]}):null]})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,J.jsx)(dn,{scheduleName:e,usage:a}),s?(0,J.jsx)(N,{tone:c,children:s}):(0,J.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,J.jsx)(y,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function pn({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:l,onSelectConsolidation:u,onSelectRetrospective:d}){let f=e!=null,p=t?.available===!0,m=n?.available===!0,h=f||p||m;if(!o&&!s&&!h)return null;let g=[...f?[r]:[],...p?[i]:[],...m?[a]:[]].filter(e=>e.status===`ready`),_=g.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),y=o?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(C,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!h?(0,J.jsxs)(O,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,J.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,J.jsxs)(`div`,{children:[f?(0,J.jsx)(fn,{name:`Heartbeat`,subtitle:tn(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,p?(0,J.jsx)(fn,{name:`Consolidation`,subtitle:nn(t),enabled:t.enabled,helperText:t.enabled?void 0:`Memory is off, so consolidation is paused.`,nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:`Paused`,statusTone:`warning`,onClick:u}):null,m?(0,J.jsx)(fn,{name:`Memory retrospective`,subtitle:rn,enabled:n.enabled,helperText:n.enabled?void 0:`Memory is off, so retrospectives are paused.`,nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:`Paused`,statusTone:`warning`,onClick:d}):null,s?(0,J.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,J.jsxs)(O,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,J.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]});return(0,J.jsx)(rt,{children:(0,J.jsx)(j.Root,{type:`multiple`,children:(0,J.jsxs)(j.Item,{value:`system-jobs`,children:[(0,J.jsxs)(j.Trigger,{className:`group justify-between gap-3`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,J.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`System`}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Built-in jobs managed by the assistant runtime`})]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[g.length>0?(0,J.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[X(_),` (7d)`]}):null,(0,J.jsx)(v,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,J.jsx)(j.Content,{children:(0,J.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}function mn(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:`skipReason`in e&&e.skipReason?`Skipped: ${e.skipReason}`:null,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 hn(e){return e.runs.map(e=>mn(e,`heartbeat`))}function gn(e){return e.runs.map(e=>mn(e,`consolidation`))}function _n(e){return e.runs.map(e=>mn(e,`retrospective`))}var Q=1e4;function vn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:ln(n,r,i)}}function yn(e,n){let r=l(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:c}=u({...xe(i),enabled:!!e,staleTime:Q}),{data:d,isLoading:f,isError:p,refetch:m}=u({...ye(i),enabled:!!e,staleTime:Q}),{data:h,isLoading:g,isError:_,refetch:v}=u({...we(i),enabled:!!e,staleTime:Q}),y={path:{assistant_id:e??``},query:{limit:100}},{data:b,isLoading:x,isError:S,refetch:C}=u({...ce(y),select:hn,enabled:!!e&&a!=null,staleTime:Q}),{data:w,isLoading:T,isError:E,refetch:D}=u({...Ee(y),select:gn,enabled:!!e&&d?.available===!0,staleTime:Q}),{data:O,isLoading:ee,isError:k,refetch:A}=u({...Ce(y),select:_n,enabled:!!e&&h?.available===!0,staleTime:Q}),j=(0,K.useMemo)(()=>Kt(n),[n]),M=(0,K.useMemo)(()=>vn(x,S,en.heartbeat,b,j),[b,S,x,j]),N=(0,K.useMemo)(()=>vn(T,E,en.consolidation,w,j),[w,E,T,j]),P=(0,K.useMemo)(()=>vn(ee,k,en.retrospective,O,j),[O,k,ee,j]),F=t=>{if(!e)return;let n={heartbeat:{config:xe(i).queryKey,runs:ce(y).queryKey,infinite:de(i)},consolidation:{config:ye(i).queryKey,runs:Ee(y).queryKey,infinite:Te(i)},retrospective:{config:we(i).queryKey,runs:Ce(y).queryKey,infinite:ve(i)}}[t];r.invalidateQueries({queryKey:n.config}),r.invalidateQueries({queryKey:n.runs}),r.invalidateQueries({queryKey:n.infinite})},I=pe({onSuccess:e=>{e.ran?R.success(`Heartbeat started.`):R.info(`Heartbeat skipped.`)},onError:e=>{t(e,{context:`heartbeat_run_now`}),R.error(`Failed to run heartbeat.`)},onSettled:()=>F(`heartbeat`)}),L=se({onSuccess:e=>{e.ran?R.success(`Consolidation queued.`):R.info(`Consolidation already queued or running.`)},onError:e=>{t(e,{context:`consolidation_run_now`}),R.error(`Failed to run consolidation.`)},onSettled:()=>F(`consolidation`)}),te=V({onSuccess:e=>{le(r,i,e),R.success(e.enabled?`Heartbeat enabled.`:`Heartbeat disabled.`)},onError:e=>{t(e,{context:`heartbeat_toggle`}),R.error(`Failed to toggle heartbeat.`)}});return{heartbeatConfig:a,consolidationConfig:d,retrospectiveConfig:h,heartbeatUsage:M,consolidationUsage:N,retrospectiveUsage:P,isLoading:o||f||g,hasError:s||p||_,isHeartbeatRunning:I.isPending,isConsolidationRunning:L.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:f,isConsolidationError:p,isRetrospectiveLoading:g,isRetrospectiveError:_,refetchHeartbeat:c,refetchConsolidation:m,refetchRetrospective:v,runHeartbeatNow:()=>{e&&I.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&L.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&te.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{c(),m(),v(),C(),D(),A()}}}var bn=`0.10.5`;function xn(){return Oe(bn)}function Sn({icon:e,title:t,description:n,actions:r}){return(0,J.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,J.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,J.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,J.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,J.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,J.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function Cn(e){if(e.status===`loading`)return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`h-4 w-12 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,J.jsx)(`span`,{className:`h-4 w-10 animate-pulse rounded bg-[var(--surface-muted)]`})]});if(e.status===`error`)return(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:X(t.totalEstimatedCostUsd)}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Yt(t.runCount)})]})}function wn({name:e,metaParts:t,usage:n,enabled:r,selected:i,onClick:a,onToggle:o,toggleAriaLabel:s}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${i?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[o?(0,J.jsx)(I,{checked:r,onChange:o,"aria-label":s}):null,(0,J.jsxs)(`button`,{type:`button`,onClick:a,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,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t.length>0?(0,J.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:t.map((e,t)=>(0,J.jsxs)(K.Fragment,{children:[t>0?(0,J.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}):null,(0,J.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[Cn(n),(0,J.jsx)(y,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Tn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let a=e.isOneShot?``:e.cadenceDescription.trim(),o=e.lastRunAt??e.nextRunAt,s=[a,o?Y(o):``].filter(Boolean);return(0,J.jsx)(wn,{name:e.name,metaParts:s,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?`Toggle ${e.name}`:void 0})}function En({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:i,isError:o,refetch:s,onToggle:c,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,systemTasksSlot:h}){let g=e=>(0,J.jsx)(Tn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>c(e.id,t)},e.id),v=e=>(0,J.jsx)(Tn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),b=n.length>0?(0,J.jsx)(j.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,J.jsxs)(j.Item,{value:`past`,children:[(0,J.jsxs)(j.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,J.jsxs)(`span`,{children:[`Past (`,n.length,`)`]})]}),(0,J.jsx)(j.Content,{children:(0,J.jsx)(`div`,{className:`pt-1`,children:n.map(v)})})]})}):null;return(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i?(0,J.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,J.jsx)(`div`,{className:`h-12 animate-pulse rounded-md bg-[var(--surface-muted)]`},t))}):o&&e.length===0?(0,J.jsx)(O,{tone:`error`,actions:(0,J.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:`Retry`}),children:`Failed to load schedules.`}):e.length===0&&t.length===0&&n.length===0?(0,J.jsx)(Sn,{icon:_,title:`No schedules yet`,description:`Ask your assistant to set one up, or create one yourself.`,actions:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(a,{variant:`primary`,size:`regular`,onClick:d,children:`New Conversation`}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`or`}),(0,J.jsx)(a,{variant:`outlined`,size:`regular`,onClick:f,children:`Create schedule`})]})}):(0,J.jsxs)(`div`,{children:[e.map(g),t.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:`One-time`}),t.map(v)]}):null,b]}),h?(0,J.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:h}):null]})}function Dn({children:e}){return(0,J.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function On({label:e,value:t}){return(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,J.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,J.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function kn({icon:e,value:t,label:n}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,J.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-sunken)] text-[var(--content-secondary)]`,children:e}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,J.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function An({usage:e}){return e.status===`loading`?(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,J.jsx)(`div`,{className:`h-[60px] animate-pulse rounded-lg bg-[var(--surface-muted)]`},t))}):e.status===`error`?null:(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,J.jsx)(kn,{icon:(0,J.jsx)(tt,{className:`h-4 w-4`}),value:X(e.summary.totalEstimatedCostUsd),label:`7 Day Cost`}),(0,J.jsx)(kn,{icon:(0,J.jsx)(w,{className:`h-4 w-4`}),value:Yt(e.summary.runCount),label:`7 Day Runs`})]})}function jn(e){return e.exists&&e.archivedAt==null}function Mn({run:e,index:t,isExpanded:n,disableDirectOpen:i,onOpenConversation:a,onToggleDetails:o}){let s=$t(e),c=e.conversations??(s?[{id:s,title:null,exists:!0,archivedAt:null}]:[]),l=Z(e.output),u=Z(e.error),d=!i&&c.length===1&&jn(c[0])?c[0].id:null,f=!d&&(c.length>0||l||u),p=`schedule-run-details-${t}`,m=!!d||f,h=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(un,{status:e.status}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:Y(e.startedAt)}),(0,J.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[qt(e.durationMs),` ·`,` `,X(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,J.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]}),m?(0,J.jsx)(y,{className:r(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,f&&n?`rotate-90`:``)}):null]}),g=f&&n?(0,J.jsx)(`div`,{id:p,className:`px-2 pb-3`,children:(0,J.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[c.length>0?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Conversations`}),(0,J.jsx)(`div`,{className:`space-y-1`,children:c.map(e=>jn(e)?(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:Z(e.title)?e.title:`Conversation`},e.id):(0,J.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[Z(e.title)?e.title:`Conversation`,` `,e.exists?`(archived)`:`(unavailable)`]},e.id))})]}):null,l?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,J.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,u?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,J.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 d?(0,J.jsx)(`div`,{children:(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(d),"aria-label":`Open conversation for run at ${Y(e.startedAt)}`,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:h})}):f?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-label":`Toggle details for run at ${Y(e.startedAt)}`,"aria-expanded":n,"aria-controls":p,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:h}),g]}):(0,J.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:h})}function Nn({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let[i,a]=(0,K.useState)(null);return t?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,J.jsx)(C,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,J.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No runs yet.`}):(0,J.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,J.jsx)(Mn,{run:e,index:t,isExpanded:i===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>a(t=>t===e?null:e)},e.id))})}function Pn({schedule:e,assistantId:n,usage:i,isMobile:o,onClose:s,onDeleted:l}){let d=c(),{data:p,isLoading:m}=u({queryKey:Se({path:{assistant_id:n,id:e.id}}),queryFn:()=>gt(n,e.id),staleTime:1e4}),[h,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)(!1),[y,b]=(0,K.useState)(!1),x=async()=>{g(!0);try{await bt(n,e.id)}catch(e){t(e,{context:`schedule_run_now`}),R.error(`Failed to run schedule.`)}finally{g(!1)}},S=async()=>{b(!0);try{await yt(n,e.id),l()}catch(e){t(e,{context:`schedule_delete`}),R.error(`Failed to delete schedule.`),b(!1),v(!1)}};return(0,J.jsxs)(`div`,{className:r(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,J.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,J.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:e.name})}),(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(D,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,J.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[e.description?(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,J.jsxs)(`section`,{children:[(0,J.jsx)(Dn,{children:`Details`}),(0,J.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-2`,children:[e.cadenceDescription?(0,J.jsx)(On,{label:`Cadence`,value:e.cadenceDescription}):null,(0,J.jsx)(On,{label:`Mode`,value:e.mode}),(0,J.jsx)(On,{label:`Status`,value:e.enabled?`Enabled`:`Disabled`}),(0,J.jsx)(On,{label:`Next run`,value:Y(e.nextRunAt)}),e.lastRunAt?(0,J.jsx)(On,{label:`Last run`,value:(0,J.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,J.jsx)(un,{status:e.lastStatus}),Y(e.lastRunAt)]})}):null]})]}),(0,J.jsx)(An,{usage:i}),(0,J.jsxs)(`section`,{children:[(0,J.jsx)(Dn,{children:`Recent runs`}),(0,J.jsx)(Nn,{runs:p?.runs,isLoading:m,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>d(G.conversation(e))})]})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[_?(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(a,{variant:`ghost`,onClick:()=>v(!1),disabled:y,children:`Cancel`}),(0,J.jsx)(a,{variant:`danger`,onClick:()=>void S(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,J.jsx)(a,{variant:`dangerOutline`,leftIcon:(0,J.jsx)(Xe,{className:`h-3.5 w-3.5`}),onClick:()=>v(!0),children:`Delete`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(a,{variant:`outlined`,leftIcon:(0,J.jsx)(dt,{className:`h-3.5 w-3.5`}),onClick:()=>d(G.settings.usageForSchedule(e.id)),children:`View usage`}),e.mode===`script`?(0,J.jsx)(a,{variant:`primary`,leftIcon:h?(0,J.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void x(),disabled:h,children:h?`Running…`:`Run now`}):null]})]})]})}var Fn=`Default (assistant's main model)`,In=`Custom call-site model`;function Ln(e,t){return t?.[e]?.displayName??e}function Rn(e,t){if(e==null)return;if(e.provider!=null||e.model!=null)return In;let n=e.profile?.trim();return n?`Override (${Ln(n,t)})`:void 0}function zn({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r=Fn,respectCallSiteOverride:i=!1}){let a=t==null,{data:o}=u({...he({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),s=(0,K.useMemo)(()=>o?ct(o):{},[o]),{data:c}=u({...ge({path:{assistant_id:e}}),enabled:!!e&&a,staleTime:6e4}),l=a&&i?Rn(o?.llm?.callSites?.[n],s):void 0,d=a?c?.callSites.find(e=>e.id===n)?.defaultProfile:void 0,f=t==null?l??(d==null?r:`Default (${Ln(d,s)})`):Ln(t,s);return(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,J.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Model profile`}),(0,J.jsx)(`span`,{className:`min-w-0 text-right`,children:f})]})}function Bn({runs:e,isLoading:t,emptyMessage:n=`No runs yet.`,hasMore:r=!1,isLoadingMore:i=!1,onLoadMore:o}){let s=c(),[l,u]=(0,K.useState)(null);return(0,J.jsx)(rt,{title:`Recent runs`,children:t?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(C,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:n}):(0,J.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=$t(e),r=Z(e.output),i=Z(e.error),a=!n&&(r||i),o=l===e.id,c=`schedule-run-details-${t}`;return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(te,{label:(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,J.jsx)(un,{status:e.status}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:Z(e.title)?e.title:Y(e.startedAt)}),(0,J.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[Z(e.title)?`${Y(e.startedAt)} · `:``,qt(e.durationMs),` ·`,` `,X(e.estimatedCostUsd),e.status===`error`&&e.error&&(0,J.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||a?(0,J.jsx)(y,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${o?`rotate-90`:``}`}):null]}),onSelect:n?()=>s(G.conversation(n)):a?()=>u(o?null:e.id):void 0,"aria-label":`Run at ${Y(e.startedAt)}`,"aria-expanded":a?o:void 0,"aria-controls":a?c:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),a&&o?(0,J.jsx)(`div`,{id:c,className:`px-2 pb-3`,children:(0,J.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,J.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,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,J.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)}),r&&o?(0,J.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,J.jsx)(a,{variant:`outlined`,size:`compact`,onClick:o,disabled:i,leftIcon:i?(0,J.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:i?`Loading…`:`Load more`})}):null]})})}var Vn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function Hn({children:e}){return(0,J.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Un({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:i,isMobile:o,onClose:s}){let l=c(),{heartbeatConfig:u,consolidationConfig:d,retrospectiveConfig:p}=n,m,h,g,_,v,y,b;e===`heartbeat`?(m=`Heartbeat`,h=u?tn(u):``,g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(m=`Consolidation`,h=d?nn(d):``,g=d?.enabled??!1,_=d?.nextRunAt??null,v=d?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(m=`Memory retrospective`,h=rn,g=p?.enabled??!1,_=p?.nextRunAt??null,v=p?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,S=e===`retrospective`,w=x&&!g,T=y||w,E=x?g?`On · Managed by Memory`:`Paused`:g?`Enabled`:`Disabled`,ee=S?`Memory is off, so retrospectives are paused. Turn Memory back on to resume them.`:`Memory is off, so consolidation is paused. Turn Memory back on to resume consolidation.`,k=x&&g&&i,A={path:{assistant_id:t},query:{limit:25}},j=e===`heartbeat`?ue(A):e===`consolidation`?me(A):_e(A),{data:M,isLoading:N,fetchNextPage:P,hasNextPage:F,isFetchingNextPage:L}=Ge({queryKey:j.queryKey,queryFn:j.queryFn,initialPageParam:{path:A.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),te=Zt(M?.pages.map(t=>({runs:t.runs.map(t=>mn(t,e))})));return(0,J.jsxs)(`div`,{className:r(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:m}),h?(0,J.jsx)(f,{variant:`body-small-default`,as:`p`,className:`truncate text-[var(--content-tertiary)]`,children:h}):null]}),(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(D,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,J.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,J.jsxs)(`section`,{children:[(0,J.jsx)(Hn,{children:`Details`}),(0,J.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-3 text-body-medium-lighter`,children:[(0,J.jsx)(zn,{assistantId:t,defaultCallSite:Vn[e],fallbackLabel:`Default (system task model)`,respectCallSiteOverride:!0}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,J.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,J.jsxs)(`span`,{className:`flex items-center gap-2 text-[var(--content-default)]`,children:[(0,J.jsx)(`span`,{children:E}),x?null:(0,J.jsx)(I,{checked:g,onChange:n.toggleHeartbeat,"aria-label":`Toggle ${m}`})]})]}),S?null:(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,J.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,J.jsx)(`span`,{className:`text-[var(--content-default)]`,children:Y(_)})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,J.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,J.jsx)(`span`,{className:`text-[var(--content-default)]`,children:Y(v)})]})]}),w?(0,J.jsx)(O,{tone:`warning`,className:`mt-4`,actions:i?(0,J.jsx)(a,{variant:`outlined`,size:`compact`,onClick:()=>l(`${G.settings.developer}?tab=memory`),children:`Turn on Memory`}):void 0,children:ee}):null]}),(0,J.jsx)(Bn,{runs:te,isLoading:N,hasMore:F,isLoadingMore:L,onLoadMore:()=>void P()})]}),k||b?(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[k?(0,J.jsx)(a,{variant:`outlined`,leftIcon:(0,J.jsx)(et,{className:`h-3.5 w-3.5`}),onClick:()=>l(`${G.settings.developer}?tab=memory`),children:`Memory settings`}):null,b?(0,J.jsx)(a,{variant:`primary`,leftIcon:y?(0,J.jsx)(C,{className:`h-3.5 w-3.5 animate-spin`}):(0,J.jsx)(ze,{className:`h-3.5 w-3.5`}),onClick:b,disabled:T,children:y?`Running…`:`Run now`}):null]}):null]})}var $={security:{icon:T,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:Be,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:Qe,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:et,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:h,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},Wn=[`security`,`email`,`scheduling`,`background`,`system`],Gn=`all`;function Kn({categories:e,activeFilter:t,onFilterChange:n}){let r=Wn.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:Gn,label:`All`,icon:(0,J.jsx)(Ve,{className:`h-4 w-4`})},...r.map(e=>{let t=$[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,J.jsx)(t,{className:`h-4 w-4`})}})];return(0,J.jsx)(M,{ariaLabel:`Filter notifications`,value:t??Gn,onChange:e=>n(e===Gn?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}var qn={p:({children:e})=>(0,J.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,J.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,J.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,J.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>Ye(t,e),children:t}),ul:({children:e})=>(0,J.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,J.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,J.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,J.jsx)(`code`,{className:`rounded px-1 py-0.5 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 8%, transparent)`,color:`var(--content-default)`},children:e}),pre:({children:e})=>(0,J.jsx)(`pre`,{className:`mb-2 overflow-x-auto rounded p-3 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`,color:`var(--content-default)`},children:e}),h1:({children:e})=>(0,J.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,J.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,J.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,J.jsx)(`blockquote`,{className:`mb-2 border-l-2 pl-3 text-body-medium-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:e}),table:({children:e})=>(0,J.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,J.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,J.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,J.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,J.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,J.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,J.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function Jn({content:e,className:t}){return(0,J.jsx)(`div`,{className:r(`text-body-medium-default`,t),children:(0,J.jsx)(A,{remarkPlugins:[k],components:qn,children:e})})}function Yn({item:e}){return(0,J.jsx)(Jn,{content:e.summary})}function Xn(e){switch(e){case`revoked`:case`expired`:return`var(--system-negative-strong)`;case`missing_scopes`:case`missing_token`:case`ping_failed`:return`var(--system-mid-strong)`;default:return`var(--content-disabled)`}}function Zn(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Qn({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,J.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:e.title??e.summary});let r=t?.accountInfo??null,i=t?.status??`unreachable`,a=t?.details??``,o=Array.isArray(t?.missingScopes)?t.missingScopes:[];return(0,J.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,J.jsx)(f,{variant:`title-small`,as:`h3`,children:n}),r?(0,J.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,J.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,J.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Xn(i)},"aria-hidden":`true`}),(0,J.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Zn(i)})]}),a?(0,J.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,J.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,J.jsx)(f,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,J.jsx)(`ul`,{className:`m-0 flex list-disc flex-col gap-[var(--app-spacing-xxs)] pl-[var(--app-spacing-lg)]`,children:o.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}function $n(e){return e&&$[e]?$[e]:$.system}function er(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function tr({item:e,isMobile:t,validConversationIds:n,onClose:r,onGoToThread:i,onUpdateStatus:o,onDismiss:s,onViewSchedule:c}){if(!e)return null;let l=e.detailPanel?.kind,u=er(e),d=$n(e.category),p=d.icon,h=e.status===`new`,g=e.status===`dismissed`,v=!!e.conversationId&&n.has(e.conversationId);return t?(0,J.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,J.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(m,{}),onClick:r,"aria-label":`Back`,tooltip:`Back`}),(0,J.jsx)(f,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,J.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,J.jsx)(a,{variant:`ghost`,iconOnly:h?(0,J.jsx)(pt,{}):(0,J.jsx)(Be,{}),onClick:()=>o(e.id,h?`seen`:`new`),"aria-label":h?`Mark as read`:`Mark as unread`,tooltip:h?`Mark as read`:`Mark as unread`}),g?(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(Ue,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(Xe,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,J.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:40,height:40,backgroundColor:d.weak},"aria-hidden":`true`,children:(0,J.jsx)(p,{width:18,height:18,style:{color:d.strong}})}),(0,J.jsx)(f,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:u}),(0,J.jsx)(N,{tone:`neutral`,className:`shrink-0`,title:at(e.timestamp),children:ot(e.timestamp)})]}),(0,J.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:l===`toolPermission`?(0,J.jsx)(Qn,{item:e}):(0,J.jsx)(Yn,{item:e})}),v||c?(0,J.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[c?(0,J.jsx)(a,{variant:`outlined`,fullWidth:!0,leftIcon:(0,J.jsx)(_,{className:`size-4`}),onClick:c,children:`View schedule`}):null,v?(0,J.jsx)(a,{variant:`primary`,fullWidth:!0,onClick:()=>i(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,J.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,J.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:28,height:28,backgroundColor:d.weak},"aria-hidden":`true`,children:(0,J.jsx)(p,{width:14,height:14,style:{color:d.strong}})}),(0,J.jsx)(f,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:u}),v?(0,J.jsx)(a,{variant:`outlined`,onClick:()=>i(e.conversationId),children:`Go to Convo`}):null,(0,J.jsx)(a,{variant:`outlined`,iconOnly:(0,J.jsx)(D,{}),onClick:r,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[l===`toolPermission`?(0,J.jsx)(Qn,{item:e}):(0,J.jsx)(Yn,{item:e}),(0,J.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,J.jsx)(N,{tone:`neutral`,title:at(e.timestamp),children:ot(e.timestamp)})})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-[var(--app-spacing-sm)] border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,J.jsx)(`div`,{children:c?(0,J.jsx)(a,{variant:`outlined`,leftIcon:(0,J.jsx)(_,{className:`size-4`}),onClick:c,children:`View schedule`}):null}),(0,J.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:g?(0,J.jsx)(a,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(a,{variant:`outlined`,onClick:()=>o(e.id,h?`seen`:`new`),children:h?`Mark as read`:`Mark as unread`}),(0,J.jsx)(a,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var nr={heartbeat:ut,memory_consolidation:g,schedule:Qe,auto_analysis:E,user:qe,other:x},rr=`all`;function ir({sources:e,activeSource:t,onSourceChange:n}){if(e.length<=1)return null;let r=e.find(e=>e.key===t)??null,i=r?nr[r.type]:ft;return(0,J.jsxs)(b.Root,{children:[(0,J.jsx)(b.Trigger,{children:(0,J.jsx)(a,{variant:`outlined`,size:`compact`,active:r!==null,leftIcon:(0,J.jsx)(i,{className:`h-4 w-4`}),rightIcon:(0,J.jsx)(v,{className:`h-3.5 w-3.5`}),"aria-label":`Filter notifications by source`,children:r?r.label:`All sources`})}),(0,J.jsx)(b.Content,{align:`start`,className:`max-h-80 overflow-y-auto`,children:(0,J.jsxs)(b.RadioGroup,{value:t??rr,onValueChange:e=>n(e===rr?null:e),children:[(0,J.jsx)(b.RadioItem,{value:rr,children:`All sources`}),(0,J.jsx)(b.Separator,{}),e.map(e=>(0,J.jsx)(b.RadioItem,{value:e.key,children:e.label},e.key))]})})]})}function ar({label:e,onClick:t,className:n,children:a}){return(0,J.jsx)(i,{content:e,children:(0,J.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:r(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n),children:a})})}function or(e){return e&&$[e]?$[e]:$.system}function sr({item:e,isActive:t=!1,validConversationIds:n,onSelect:i,onDismiss:a,onToggleRead:o,onGoToThread:s,trailingAction:c=`dismiss`}){let[l,u]=(0,K.useState)(!1),d=or(e.category),f=d.icon,p=e.status===`new`,m=c===`restore`;return(0,J.jsxs)(`button`,{type:`button`,onClick:()=>i(e),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:r(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:l?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!p&&!t&&`opacity-70`),children:[(0,J.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,J.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:d.weak},children:(0,J.jsx)(f,{width:12,height:12,style:{color:d.strong}})}),p&&(0,J.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,J.jsx)(`span`,{className:r(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),l&&!m?(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[o&&(0,J.jsx)(ar,{label:p?`Mark as read`:`Mark as unread`,onClick:()=>o(e.id,p?`seen`:`new`),children:p?(0,J.jsx)(pt,{width:16,height:16}):(0,J.jsx)(Be,{width:16,height:16})}),s&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,J.jsx)(ar,{label:`Go to thread`,onClick:()=>{p&&o&&o(e.id,`seen`),s(e.conversationId)},children:(0,J.jsx)(Je,{width:16,height:16})}),(0,J.jsx)(ar,{label:`Dismiss`,onClick:()=>a(e.id),children:(0,J.jsx)(Xe,{width:16,height:16})})]}):l&&m?(0,J.jsxs)(ar,{label:`Restore`,onClick:()=>a(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,J.jsx)(Ue,{width:16,height:16,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,J.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:ot(e.timestamp)})]})}function cr(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function lr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function ur(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function dr(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function fr(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}var pr={heartbeat:0,memory_consolidation:1,schedule:2,auto_analysis:3,user:4,other:5};function mr(e){let t=new Map;for(let n of e){let e=n.sourceKey;!e||t.has(e)||t.set(e,{key:e,label:n.sourceLabel??e,type:n.sourceType??`other`})}return[...t.values()].sort((e,t)=>{let n=pr[e.type]-pr[t.type];return n===0?e.label.localeCompare(t.label):n})}function hr(e,t){return t===null?e:e.filter(e=>e.sourceKey===t)}var gr={today:`Today`,yesterday:`Yesterday`,older:`Older`},_r=10080*60*1e3;function vr(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>_r}function yr({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s,archivedOpen:c,onArchivedOpenChange:l,dismissedOpen:u,onDismissedOpenChange:d}){let[p,m]=(0,K.useState)(null),[g,_]=(0,K.useState)(null),[v]=(0,K.useState)(()=>Date.now()),b=dr(e.filter(e=>e.status!==`dismissed`)),x=b.filter(e=>!vr(e,v)),S=cr(b.filter(e=>vr(e,v))),C=fr(x),w=mr(x),T=p&&C.includes(p)?p:null,E=g&&w.some(e=>e.key===g)?g:null;p!==T&&m(T),g!==E&&_(E);let D=lr(cr(hr(ur(x,T),E))),O=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,J.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(C.length>1||w.length>1)&&(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-[var(--app-spacing-sm)]`,children:[(0,J.jsx)(Kn,{categories:C,activeFilter:T,onFilterChange:m}),(0,J.jsx)(ir,{sources:w,activeSource:E,onSourceChange:_})]}),D.size===0?T||E?(0,J.jsx)(f,{variant:`body-medium-lighter`,className:`py-[var(--app-spacing-xl)] text-center text-[var(--content-disabled)]`,children:`No items match the selected filter.`}):(0,J.jsx)(Sn,{icon:h,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...D.entries()].map(([e,a])=>(0,J.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,J.jsx)(f,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:gr[e]}),(0,J.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:a.map(e=>(0,J.jsx)(sr,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),S.length>0&&(0,J.jsx)(j.Root,{type:`single`,collapsible:!0,value:c?`archived-read`:``,onValueChange:e=>l?.(e===`archived-read`),children:(0,J.jsxs)(j.Item,{value:`archived-read`,children:[(0,J.jsxs)(j.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,J.jsxs)(`span`,{children:[`Earlier (`,S.length,`)`]})]}),(0,J.jsx)(j.Content,{children:(0,J.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:S.map(e=>(0,J.jsx)(sr,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),O.length>0&&(0,J.jsx)(j.Root,{type:`single`,collapsible:!0,value:u?`dismissed`:``,onValueChange:e=>d?.(e===`dismissed`),children:(0,J.jsxs)(j.Item,{value:`dismissed`,children:[(0,J.jsxs)(j.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,J.jsxs)(`span`,{children:[`Dismissed (`,O.length,`)`]})]}),(0,J.jsx)(j.Content,{children:(0,J.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:O.map(e=>(0,J.jsx)(sr,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function br(){return(0,J.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function xr(e){let n=He(),[r]=(0,K.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=u({queryKey:be({path:{assistant_id:e??``}}),queryFn:()=>e?ht(e):Promise.resolve([]),staleTime:1e4}),{data:c,isLoading:l,isError:d}=u(sn(e,n,!0)),{recurring:f,oneTime:p,pastOneTime:m}=(0,K.useMemo)(()=>{let e=on(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,K.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:f,oneTime:p,pastOneTime:m,usageForSchedule:(0,K.useCallback)(e=>l?{status:`loading`}:d?{status:`error`}:{status:`ready`,summary:h.get(e)??cn(e)},[d,l,h]),handleToggle:(0,K.useCallback)(async(n,r)=>{if(e)try{await vt(e,n,r),s()}catch(e){t(e,{context:`schedule_toggle`}),R.error(`Failed to toggle schedule.`)}},[e,s]),isLoading:a,isError:o,refetch:(0,K.useCallback)(()=>{s()},[s])}}function Sr(e){let t=l(),n=(0,K.useMemo)(()=>De({path:{assistant_id:e??``}}),[e]),r=u({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,K.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function Cr(){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,J.jsx)(`div`,{className:`h-7 w-64 animate-pulse rounded-md bg-[var(--surface-lift)]`}),(0,J.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,J.jsx)(`div`,{className:`h-16 animate-pulse rounded-md bg-[var(--surface-lift)]`},t))})]})}function wr(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}function Tr({assistantId:e,validConversationIds:t,activeTab:n,onTabChange:r,routeScheduleId:i,onSelectScheduleId:o,onStartNewChat:s,onOpenConversation:c}){let l=Ie(),d=He(),f=$e(e);Sr(e);let p=xr(e),m=yn(e,d),{data:h=!1}=u({queryKey:[`assistant-memory-opt-out-capability`,e],queryFn:async()=>{let t=await ke(e);return t.ok&&t.data.capabilities?.memoryOptOut===!0},retry:!1,staleTime:1e4}),g=Fe.use.settingsDeveloperNav(),_=h&&g===!0,[v,y]=(0,K.useState)(!1),b=i,[x,C]=(0,K.useState)(null),[w,T]=(0,K.useState)(null),[E,D]=(0,K.useState)(!1),[O,k]=(0,K.useState)(!1),[A,j]=(0,K.useState)(!1),M=b?p.recurring.find(e=>e.id===b)??p.oneTime.find(e=>e.id===b)??p.pastOneTime.find(e=>e.id===b)??null:null;(0,K.useEffect)(()=>{b&&!p.isLoading&&!M&&o(null)},[b,M,p.isLoading,o]);let N=w===`heartbeat`?m.heartbeatConfig!=null:w===`consolidation`?m.consolidationConfig?.available===!0:w===`retrospective`?m.retrospectiveConfig?.available===!0:!1;(0,K.useEffect)(()=>{w&&!m.isLoading&&!N&&T(null)},[w,N,m.isLoading]);let P=(0,K.useCallback)(e=>{C(null),T(null),o(e)},[o]),F=(0,K.useCallback)(e=>{C(null),b&&o(null),T(e)},[o,b]),I=(0,K.useCallback)(e=>{T(null),e.status===`new`?(C({...e,status:`seen`}),f.updateStatus.mutate({itemId:e.id,status:`seen`})):C(e)},[f.updateStatus]),L=(0,K.useCallback)(()=>{C(null)},[]),te=(0,K.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`dismissed`}),x?.id===e&&C(null)},[f.updateStatus,x?.id]),R=(0,K.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`seen`}),C(t=>t?.id===e?{...t,status:`seen`}:t)},[f.updateStatus]),z=(0,K.useCallback)((e,t)=>{f.updateStatus.mutate({itemId:e,status:t}),C(n=>n?.id===e?{...n,status:t}:n)},[f.updateStatus]),ne=(0,K.useCallback)(e=>{C(null),c(e)},[c]),re=f.data?.items??[],B=dr(re.filter(e=>e.status!==`dismissed`)),ie=B.filter(e=>e.status===`new`).length,ae=B.length,oe=xn(),se=(0,K.useCallback)(()=>{f.markAll.mutate({from:[`new`],to:`seen`,ids:B.filter(e=>e.status===`new`).map(e=>e.id)})},[f.markAll,B]),ce=(0,K.useCallback)(()=>{f.markAll.mutate({from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:B.map(e=>e.id)}),C(null)},[f.markAll,B]),V=wr(x),le=V!=null&&(p.recurring.some(e=>e.id===V)||p.oneTime.some(e=>e.id===V)||p.pastOneTime.some(e=>e.id===V)),ue=x?(0,J.jsx)(tr,{item:x,isMobile:l,validConversationIds:t,onClose:L,onGoToThread:ne,onUpdateStatus:z,onDismiss:te,onViewSchedule:le?()=>{P(V)}:void 0}):null,de=(M?(0,J.jsx)(Pn,{schedule:M,assistantId:e,usage:p.usageForSchedule(M.id),isMobile:l,onClose:()=>o(null),onDeleted:()=>{o(null),p.refetch()}}):null)??(w&&N?(0,J.jsx)(Un,{kind:w,assistantId:e,systemTasks:m,canOpenMemorySettings:_,isMobile:l,onClose:()=>T(null)}):null),fe=ue??de,pe=(e,t,n)=>t&&!l?(0,J.jsx)(ee,{className:`min-h-0 flex-1`,storageKey:`homeDetailDrawerWidth`,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,J.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:e}),right:(0,J.jsx)(`div`,{className:`home-detail-drawer`,children:t},n)}):e,me=(0,J.jsx)(En,{recurring:p.recurring,oneTime:p.oneTime,pastOneTime:p.pastOneTime,usageForSchedule:p.usageForSchedule,isLoading:p.isLoading,isError:p.isError,refetch:p.refetch,onToggle:p.handleToggle,onSelectSchedule:P,selectedScheduleId:b,onStartNewChat:s,onCreateSchedule:()=>y(!0),pastOpen:E,onPastOpenChange:D,systemTasksSlot:(0,J.jsx)(pn,{heartbeatConfig:m.heartbeatConfig,consolidationConfig:m.consolidationConfig,retrospectiveConfig:m.retrospectiveConfig,heartbeatUsage:m.heartbeatUsage,consolidationUsage:m.consolidationUsage,retrospectiveUsage:m.retrospectiveUsage,isLoading:m.isLoading,hasError:m.hasError,onRetry:m.refetchAll,onSelectHeartbeat:()=>F(`heartbeat`),onSelectConsolidation:()=>F(`consolidation`),onSelectRetrospective:()=>F(`retrospective`)})}),he=(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[f.isError?(0,J.jsxs)(`div`,{role:`alert`,className:`rounded-md border border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] px-[var(--app-spacing-lg)] py-[var(--app-spacing-md)] text-[var(--system-negative-strong)]`,children:[`Couldn't load home feed`,f.error instanceof Error?`: ${f.error.message}`:`.`]}):null,oe&&(ie>0||ae>0)&&(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-[var(--app-spacing-sm)]`,children:[ie>0&&(0,J.jsx)(a,{variant:`ghost`,size:`compact`,onClick:se,disabled:f.markAll.isPending,children:`Mark all as read`}),ae>0&&(0,J.jsx)(a,{variant:`ghost`,size:`compact`,onClick:ce,disabled:f.markAll.isPending,children:`Clear all`})]}),(0,J.jsx)(yr,{items:re,selectedItemId:x?.id,validConversationIds:t,onSelectItem:I,onDismissItem:te,onRestoreItem:R,onToggleRead:z,onGoToThread:ne,archivedOpen:O,onArchivedOpenChange:k,dismissedOpen:A,onDismissedOpenChange:j})]}),ge=(0,J.jsxs)(S.Root,{value:n,onValueChange:e=>r(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,J.jsxs)(S.List,{className:`shrink-0`,children:[(0,J.jsx)(S.Trigger,{value:`notifications`,children:`Notifications`}),(0,J.jsx)(S.Trigger,{value:`schedules`,children:`Schedules`})]}),(0,J.jsx)(S.Panel,{value:`notifications`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:pe(he,ue,x?.id)}),(0,J.jsx)(S.Panel,{value:`schedules`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:pe(me,de,b??w??void 0)})]}),_e=f.isLoading?(0,J.jsx)(Cr,{}):(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[l?null:(0,J.jsx)(br,{}),ge]});return fe&&l?(0,J.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:fe}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(it,{children:_e}),(0,J.jsx)(Lt,{isOpen:v,assistantId:e,onClose:()=>y(!1),onCreated:()=>{y(!1),p.refetch()}})]})}function Er(){let e=c(),t=s(),{scheduleId:n}=o(),r=nt(),i=t.pathname===G.schedules.root||t.pathname.startsWith(`${G.schedules.root}/`)?`schedules`:`notifications`,a=n??null,l=(0,K.useCallback)(t=>{e(t===`schedules`?G.schedules.root:G.home)},[e]),u=(0,K.useCallback)(t=>{e(t?G.schedules.detail(t):G.schedules.root)},[e]),d=We.use.setTopBarCenter(),p=Ie(),{conversations:m}=Le(r),{conversations:h}=Re(r,!0),{conversations:g}=Ke(r,!0),_=(0,K.useMemo)(()=>new Set(Ze(m,h,g).map(e=>e.conversationId)),[m,h,g]);return(0,K.useEffect)(()=>(d(p?(0,J.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{d(null)}),[p,d]),(0,J.jsx)(Tr,{assistantId:r,validConversationIds:_,activeTab:i,onTabChange:l,routeScheduleId:a,onSelectScheduleId:u,onStartNewChat:()=>{je.getState().setMainView(`chat`);let t=Ne();Ae.getState().setActiveConversationId(t),e(G.conversation(t)),Me()},onOpenConversation:t=>e(G.conversation(t))})}export{Er as HomePageRoute};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{nt as o,rt as s}from"./local-mode-grqHUoNh.js";import{t as c}from"./is-electron-y5bNUVyG.js";import{n as l}from"./resolved-assistants-store-BSZbT8Ju.js";import{i as u}from"./auth-store-C09YAZEu.js";import{c as d,r as f}from"./routes-BbeIx_F9.js";import{t as p}from"./client-feature-flag-store-DkJl-g9A.js";import{t as m}from"./use-onboarding-login-B-1jrjFL.js";import{ha as h,rn as g,ta as _}from"./index-yu6nDHvG.js";import{r as v}from"./provider-key-3AHnKoz9.js";var y=e(t(),1),b=a(),x=`h-5 w-5 shrink-0 text-[var(--content-secondary)]`;function S(){let e=u(),t=p.use.multiPlatformAssistant(),n=l.use.assistants().some(e=>e.isPlatformHosted);return[{mode:`vellum-cloud`,label:`Vellum Cloud`,subtitle:`Always on, 24/7, even when your computer is off. Runs on Vellum's secure infrastructure.`,icon:(0,b.jsx)(h,{className:x}),...!e||!t&&n?{disabled:!0,badge:e?`Limit Reached`:`Requires Account`}:{}},{mode:`local`,label:`Local`,subtitle:`Runs directly on your machine. Your data never leaves your computer.`,icon:(0,b.jsx)(_,{className:x})}]}function C(){let e=r(),[t]=i(),a=t.get(`from`)===`select-assistant`,l=u(),p=c(),h=S(),_=h.find(e=>e.mode===`vellum-cloud`)?.disabled,[x,C]=(0,y.useState)(l&&!_?`vellum-cloud`:`local`);(0,y.useEffect)(()=>{_&&x===`vellum-cloud`&&C(`local`)},[_,x]);let{loading:T,error:E,login:D,cancel:O}=m(`${d.onboarding.hosting}?from=select-assistant`),k=a&&!l&&!p;return(0,b.jsx)(g,{children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Where do you want your assistant to live?`}),E&&(0,b.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:E}),(0,b.jsx)(`div`,{className:`grid w-full ${p?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:h.map(e=>(0,b.jsx)(w,{option:e,selected:x===e.mode,onSelect:()=>{e.disabled||C(e.mode)}},e.mode))}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,b.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{x===`vellum-cloud`?(s(),o(null),v(null),e(d.onboarding.privacy)):e(`${d.onboarding.apiKey}?hosting=${x}`)},children:`Continue`}),k&&(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:T?O:()=>void D(),children:T?`Cancel`:`Log In`}),(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{e(a?d.selectAssistant:d.welcome)},disabled:T,children:`Back`})]}),(0,b.jsx)(`a`,{href:f(d.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`prechat-md-regular mt-6 text-body-medium-default text-[var(--content-default)] underline`,style:{animation:`fadeInUp 0.5s ease-out 0.6s both`},children:`Need help choosing?`})]})})}function w({option:e,selected:t,onSelect:n}){let r=c();return(0,b.jsxs)(`button`,{type:`button`,onClick:n,disabled:e.disabled,className:`flex w-full items-center border text-left transition-colors ${r?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-xl px-4 py-4`} ${e.disabled?`cursor-not-allowed opacity-60`:`cursor-pointer`} ${t&&!e.disabled?`${r?`border-[var(--primary-base)]/50`:`border-[var(--primary-base)]`} bg-[var(--primary-base)]/5`:`${r?`border-[var(--border-disabled)]`:`border-[var(--border-element)]`} bg-transparent`}`,children:[e.icon,(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.badge&&(0,b.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${r?`text-label-medium-default`:`text-body-small-default`}`,children:e.badge})]}),(0,b.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${r?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),!e.disabled&&(0,b.jsx)(`div`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${r?`border-[1.5px]`:`border-2`} ${t?r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--primary-base)]`:`border-[var(--border-element)]`}`,children:t&&(0,b.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full ${r?`bg-[var(--aux-white)]`:`bg-[var(--primary-base)]`}`})})]})}export{C as HostingScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-BQVYX8n_.js";import{m as r,u as i}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{nt as o,rt as s}from"./local-mode-Bskd5bsT.js";import{t as c}from"./is-electron-y5bNUVyG.js";import{n as l}from"./resolved-assistants-store-DAzPZ1eV.js";import{i as u}from"./auth-store-Ce9wqr8c.js";import{c as d,r as f}from"./routes-Bzvx8bnp.js";import{t as p}from"./client-feature-flag-store-BWSPRAZI.js";import{t as m}from"./use-onboarding-login-_LAXettN.js";import{$i as h,nn as g,ua as _}from"./index-31nbLUeS.js";import{r as v}from"./provider-key-BIMvWJCe.js";var y=e(t(),1),b=a(),x=`h-5 w-5 shrink-0 text-[var(--content-secondary)]`;function S(){let e=u(),t=p.use.multiPlatformAssistant(),n=l.use.assistants().some(e=>e.isPlatformHosted);return[{mode:`vellum-cloud`,label:`Vellum Cloud`,subtitle:`Always on, 24/7, even when your computer is off. Runs on Vellum's secure infrastructure.`,icon:(0,b.jsx)(_,{className:x}),...!e||!t&&n?{disabled:!0,badge:e?`Limit Reached`:`Requires Account`}:{}},{mode:`local`,label:`Local`,subtitle:`Runs directly on your machine. Your data never leaves your computer.`,icon:(0,b.jsx)(h,{className:x})}]}function C(){let e=i(),[t]=r(),a=t.get(`from`)===`select-assistant`,l=u(),p=c(),h=S(),_=h.find(e=>e.mode===`vellum-cloud`)?.disabled,[x,C]=(0,y.useState)(l&&!_?`vellum-cloud`:`local`);(0,y.useEffect)(()=>{_&&x===`vellum-cloud`&&C(`local`)},[_,x]);let{loading:T,error:E,login:D,cancel:O}=m(`${d.onboarding.hosting}?from=select-assistant`),k=a&&!l&&!p;return(0,b.jsx)(g,{children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Where do you want your assistant to live?`}),E&&(0,b.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:E}),(0,b.jsx)(`div`,{className:`grid w-full ${p?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:h.map(e=>(0,b.jsx)(w,{option:e,selected:x===e.mode,onSelect:()=>{e.disabled||C(e.mode)}},e.mode))}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,b.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{x===`vellum-cloud`?(s(),o(null),v(null),e(d.onboarding.privacy)):e(`${d.onboarding.apiKey}?hosting=${x}`)},children:`Continue`}),k&&(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:T?O:()=>void D(),children:T?`Cancel`:`Log In`}),(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{e(a?d.selectAssistant:d.welcome)},disabled:T,children:`Back`})]}),(0,b.jsx)(`a`,{href:f(d.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`prechat-md-regular mt-6 text-body-medium-default text-[var(--content-default)] underline`,style:{animation:`fadeInUp 0.5s ease-out 0.6s both`},children:`Need help choosing?`})]})})}function w({option:e,selected:t,onSelect:n}){let r=c();return(0,b.jsxs)(`button`,{type:`button`,onClick:n,disabled:e.disabled,className:`flex w-full items-center border text-left transition-colors ${r?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-xl px-4 py-4`} ${e.disabled?`cursor-not-allowed opacity-60`:`cursor-pointer`} ${t&&!e.disabled?`${r?`border-[var(--primary-base)]/50`:`border-[var(--primary-base)]`} bg-[var(--primary-base)]/5`:`${r?`border-[var(--border-disabled)]`:`border-[var(--border-element)]`} bg-transparent`}`,children:[e.icon,(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.badge&&(0,b.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${r?`text-label-medium-default`:`text-body-small-default`}`,children:e.badge})]}),(0,b.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${r?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),!e.disabled&&(0,b.jsx)(`div`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${r?`border-[1.5px]`:`border-2`} ${t?r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--primary-base)]`:`border-[var(--border-element)]`}`,children:t&&(0,b.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full ${r?`bg-[var(--aux-white)]`:`bg-[var(--primary-base)]`}`})})]})}export{C as HostingScreen};
@@ -0,0 +1,7 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-BQVYX8n_.js";import{t as r}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./card-D8zyWtZh.js";import{t as c}from"./createLucideIcon-Bjb-Kuq7.js";import{t as l}from"./brain-CMiHVWFK.js";import{t as u}from"./chevron-left-B_RAz34t.js";import{t as d}from"./chevron-right-jRymmL7S.js";import{n as f}from"./animated-avatar-Y-A_0vmk.js";import{t as p}from"./folder-open-7DKBH5WB.js";import{t as m}from"./puzzle-0_oQwgsv.js";import{t as h}from"./sparkles-BK3KXCjl.js";import"./src-A8hMQd90.js";import{t as g}from"./tag-D0AE0-aA.js";import{t as _}from"./modal-bIQsMU63.js";import{n as v}from"./toast-B5Hr1kIL.js";import{St as y,b,ht as x,ln as S,o as C}from"./react-query.gen-JxTd3SS8.js";import{t as w}from"./assistant-identity-store-Bc4hbSCe.js";import{c as T}from"./routes-Bzvx8bnp.js";import{t as E}from"./assistant-feature-flag-store-eHqy0FOb.js";import{t as D}from"./proxy-Cadlowdl.js";import{t as O}from"./use-reduced-motion-BPBlq9_a.js";import{_i as k,_r as ee,dn as A,et as j,fi as M,fn as N,gr as te,mr as ne,mt as P,pr as F,un as I,yi as re,zt as L}from"./index-31nbLUeS.js";import{t as R}from"./use-active-assistant-id-KipCgPNT.js";import{t as ie}from"./page-shell-BvXbg7Db.js";import{i as z}from"./latest-assistant-text-B12Sw3_u.js";import{a as ae,i as oe,n as se,r as ce,s as le,t as B,u as V}from"./use-assistant-identity-details-BpbmaZva.js";import{t as H}from"./plugins-surface-B2vYGNIS.js";import{t as ue}from"./schedules-oC-weaYP.js";var U=c(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),de=c(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),W=e(t(),1),G=o();function K(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function fe({open:e,onClose:t,assistantId:r,components:i,traits:a,customImageUrl:o,onSaveCharacter:s,onUploadImage:c,assistantName:l,onRenameSubmit:u,isRenaming:d=!1}){let p=(0,W.useRef)(null),[m,h]=(0,W.useState)(null),[g,v]=(0,W.useState)(!1),y=i??m,[b,x]=(0,W.useState)(0),[S,C]=(0,W.useState)(0),[w,T]=(0,W.useState)(0),[E,D]=(0,W.useState)(`character`),[O,k]=(0,W.useState)(null),[A,M]=(0,W.useState)(!1),[N,P]=(0,W.useState)(!1),[F,I]=(0,W.useState)(l??``),L=O??o,R=!!L;(0,W.useEffect)(()=>{e&&I(l??``)},[e,l]);let ie=(0,W.useRef)(!1);(0,W.useEffect)(()=>{e&&!ie.current&&D(o?`custom`:`character`),ie.current=e},[e,o]),(0,W.useEffect)(()=>{if(e)if(y&&a){let e=y.bodyShapes.findIndex(e=>e.id===a.bodyShape),t=y.eyeStyles.findIndex(e=>e.id===a.eyeStyle),n=y.colors.findIndex(e=>e.id===a.color);x(e>=0?e:0),C(t>=0?t:0),T(n>=0?n:0)}else x(0),C(0),T(0)},[e,y,a]),(0,W.useEffect)(()=>{if(!e||y||g)return;let t=!1;return v(!0),ne(r).then(e=>{t||(h(e),v(!1))}),()=>{t=!0}},[e,y,g,r]),(0,W.useEffect)(()=>{if(O)return()=>{URL.revokeObjectURL(O)}},[O]),(0,W.useEffect)(()=>{e||k(null)},[e]);let z=F.trim(),ae=!!u&&z.length>0&&z!==(l??``),oe=(0,W.useCallback)(()=>{y&&(D(`character`),x(Math.floor(Math.random()*y.bodyShapes.length)),C(Math.floor(Math.random()*y.eyeStyles.length)),T(Math.floor(Math.random()*y.colors.length)))},[y]),se=(0,W.useCallback)(()=>{p.current?.click()},[]),ce=(0,W.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;P(!0);let n=await ee(r,t);P(!1),n&&(c(),k(URL.createObjectURL(t)),D(`custom`)),p.current&&(p.current.value=``)},[r,c]),le=(0,W.useCallback)(async e=>{if(e.preventDefault(),!(A||d)){if(ae&&u&&u(z),y&&E===`character`){let e={bodyShape:y.bodyShapes[b].id,eyeStyle:y.eyeStyles[S].id,color:y.colors[w].id};M(!0);try{await te(r,e),k(null),s(e)}finally{M(!1)}}t()}},[A,d,ae,u,z,y,E,b,S,w,r,s,t]),B=y?.bodyShapes[b],V=y?.eyeStyles[S],H=y?.colors[w],ue=E===`custom`&&R,U=l!==void 0&&u?(0,G.jsx)(pe,{value:F,onChange:I,disabled:d}):null;return(0,G.jsx)(_.Root,{open:e,onOpenChange:e=>!e&&t(),children:(0,G.jsxs)(_.Content,{size:`sm`,children:[(0,G.jsx)(_.Header,{children:(0,G.jsx)(_.Title,{children:`Update Avatar`})}),(0,G.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:le,children:[(0,G.jsx)(_.Body,{className:`space-y-4`,children:ue?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,G.jsx)(`img`,{src:L,alt:`Uploaded avatar`,className:`h-40 w-40 rounded-xl object-cover`})})}),(0,G.jsxs)(`div`,{className:`space-y-3`,children:[U,(0,G.jsx)(me,{label:`Use a character instead`,description:`Pick from our built-in avatars`,onClick:()=>D(`character`),thumbnail:y&&B&&V&&H?(0,G.jsx)(j,{components:y,bodyShapeId:B.id,eyeStyleId:V.id,colorId:H.id,size:32}):(0,G.jsx)(f,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]})]}):y?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,G.jsx)(j,{components:y,bodyShapeId:B.id,eyeStyleId:V.id,colorId:H.id,size:160})})}),(0,G.jsxs)(`div`,{className:`space-y-3`,children:[U,(0,G.jsx)(q,{label:`Body`,value:B.id,onPrev:()=>x(K(b,y.bodyShapes.length,`backward`)),onNext:()=>x(K(b,y.bodyShapes.length,`forward`))}),(0,G.jsx)(q,{label:`Eyes`,value:V.id,onPrev:()=>C(K(S,y.eyeStyles.length,`backward`)),onNext:()=>C(K(S,y.eyeStyles.length,`forward`))}),(0,G.jsx)(q,{label:`Color`,value:H.id,colorHex:H.hex,onPrev:()=>T(K(w,y.colors.length,`backward`)),onNext:()=>T(K(w,y.colors.length,`forward`))})]}),R&&(0,G.jsx)(me,{label:`Keep your uploaded image`,description:`Saving the character replaces it`,onClick:()=>D(`custom`),thumbnail:(0,G.jsx)(`img`,{src:L,alt:``,className:`h-8 w-8 rounded-md object-cover`})})]}):(0,G.jsxs)(G.Fragment,{children:[U,g?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})}):(0,G.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`})]})}),(0,G.jsxs)(_.Footer,{className:`justify-between`,children:[(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsx)(n,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(f,{}),"aria-label":`Randomize`,tooltip:`Randomize`,onClick:oe,disabled:!y}),(0,G.jsx)(n,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(re,{}),"aria-label":`Upload image`,tooltip:`Upload image`,onClick:se,disabled:N})]}),(0,G.jsx)(n,{type:`submit`,variant:`primary`,disabled:A||d||N,children:A||d?`Saving…`:`Save`})]})]}),(0,G.jsx)(`input`,{ref:p,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:ce})]})})}function pe({value:e,onChange:t,disabled:n}){return(0,G.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:`Name`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`div`,{className:`flex min-w-[80px] items-center justify-center`,children:(0,G.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:40,size:8,placeholder:`Name`,"aria-label":`Name`,className:`h-7 min-w-0 field-sizing-content bg-transparent text-center text-body-medium-default text-[var(--content-strong)] outline-none placeholder:text-[var(--content-tertiary)] disabled:cursor-not-allowed disabled:opacity-60`})}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-7 w-7 shrink-0`})]})]})}function me({label:e,description:t,thumbnail:n,onClick:r}){return(0,G.jsxs)(`button`,{type:`button`,onClick:r,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,G.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-md bg-[var(--surface-sunken)]`,children:n}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate text-body-medium-default text-[var(--content-strong)]`,children:e}),(0,G.jsx)(`span`,{className:`block truncate text-body-small-default text-[var(--content-quiet)]`,children:t})]}),(0,G.jsx)(d,{className:`h-4 w-4 shrink-0 text-[var(--content-quiet)]`})]})}function q({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Previous ${e.toLowerCase()}`,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(u,{className:`h-4 w-4`})}),(0,G.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,G.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,G.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,G.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Next ${e.toLowerCase()}`,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(d,{className:`h-4 w-4`})})]})]})}function he(e){let t=e.trim();return`<system-message>
2
+ The user renamed you: your name is now ${t}.
3
+
4
+ Update IDENTITY.md so its name line reads exactly \`- **Name:** ${t}\`. This is a rename only — keep everything else in IDENTITY.md and SOUL.md exactly as it is, and do not touch users/ (that is your user's profile, not your identity). If your name appears elsewhere in those files, update those mentions to ${t} too.
5
+
6
+ Reply with a single short sentence acknowledging your new name.
7
+ </system-message>`}async function ge(e,t){return le({assistantId:e,content:he(t),title:`Updating name`,context:`identity_overview_rename`})}var _e=6e4,ve=3,ye=3;function be(e,t,n){return e===1?t:n}function xe(e,{supportsPlugins:t,showChannels:n}){let r={assistant_id:e},i={staleTime:_e,retry:!1,enabled:!0},o=a({...y({path:r,query:{kind:`installed`}}),select:e=>e.skills.length,...i}),s=a({...P(e),select:e=>e.plugins.filter(e=>e.enabled).slice(0,ve).map(e=>e.name),enabled:t}),c=a({...S({path:r}),select:e=>e.entries.length,...i}),l=a({...b({path:r}),select:e=>e.contacts.length,...i}),u=a({...C({path:r}),select:e=>e.snapshots.filter(e=>e.ready).length,...i,enabled:n}),d=a({queryKey:x({path:r}),queryFn:()=>ue(e),select:e=>{let t=e.filter(e=>e.enabled).sort((e,t)=>e.nextRunAt-t.nextRunAt);return{count:t.length,items:t.slice(0,ye).map(e=>({id:e.id,name:e.name,cadence:e.cadenceDescription,nextRunAt:e.nextRunAt}))}},...i}),f=a({queryKey:ae(e),queryFn:()=>oe(e),...i});return{personality:{radar:f.data?ce(f.data):void 0},skills:o.data===void 0?void 0:{value:o.data,label:`installed`},plugins:s.data===void 0?void 0:s.data.length>0?{chips:s.data}:{text:`None yet`},workspace:c.data===void 0?void 0:{value:c.data,label:be(c.data,`item`,`items`)},contacts:l.data===void 0?void 0:{value:l.data,label:be(l.data,`person`,`people`)},channels:u.data===void 0?void 0:{value:u.data,label:`connected`},schedules:d.data===void 0?void 0:{value:d.data.count,label:`active`,schedules:{items:d.data.items,more:d.data.count-d.data.items.length}}}}var J=96,Y=150,Se=36,Ce=46,we=58,Te=(e,t,n)=>Math.max(t,Math.min(n,e));function Ee(e,t,n){let r=Te(n.x-e.left,J,e.width-J),i=Te(n.y-e.top,J,e.height-J);return{rect:e,facing:t,peek:t===`top`?{x:r,y:0}:t===`bottom`?{x:r,y:e.height}:t===`left`?{x:0,y:i}:{x:e.width,y:i}}}var De={top:{x:0,y:-1},bottom:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0}},Oe={type:`spring`,stiffness:150,damping:19},ke=.22,Ae=.15;function je({hex:e,components:t,traits:n,target:r}){let i=r!==null,[a,o]=(0,W.useState)(null);r&&r!==a&&o(r);let s=r??a,[c,l]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=!1,t,n=()=>{t=setTimeout(()=>{e||(l(!0),t=setTimeout(()=>{e||(l(!1),n())},140))},2500+Math.random()*4e3)};return n(),()=>{e=!0,clearTimeout(t)}},[]);let u=(0,W.useMemo)(()=>{let e=t.eyeStyles.find(e=>e.id===n.eyeStyle);return e?{paths:e.paths,bbox:A(e.paths.map(e=>I(e.svgPath)))}:null},[t,n.eyeStyle]);if(!u||!s)return null;let{rect:d,facing:f,peek:p}=s,m={x:d.left+p.x,y:d.top+p.y},h=De[f],g=u.bbox.h/u.bbox.w,_=we,v=_*g,y={x:m.x+h.x*Se,y:m.y+h.y*Se},b={x:-h.x*Ce,y:-h.y*Ce},x=u.bbox.x+u.bbox.w/2,S=u.bbox.y+u.bbox.h/2,C=i?{...Oe,delay:ke,opacity:{duration:.15,delay:ke}}:{duration:Ae};return(0,G.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-0`,children:[(0,G.jsx)(D.div,{className:`absolute top-0 left-0 rounded-full`,style:{backgroundColor:e,width:Y,height:Y},initial:!1,animate:{x:m.x-Y/2+(i?0:b.x),y:m.y-Y/2+(i?0:b.y),opacity:+!!i},transition:C}),(0,G.jsx)(D.div,{className:`absolute top-0 left-0`,initial:!1,animate:{x:y.x-_/2+(i?0:b.x),y:y.y-v/2+(i?0:b.y),width:_,height:v,opacity:+!!i},transition:C,children:(0,G.jsx)(`svg`,{viewBox:`${u.bbox.x} ${u.bbox.y} ${u.bbox.w} ${u.bbox.h}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,style:{overflow:`visible`,display:`block`},children:(0,G.jsx)(`g`,{style:{transform:c?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${x}px ${S}px`,transition:`transform 0.14s ease-in-out`},children:u.paths.map((e,t)=>(0,G.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})]})}var Me=65,Ne=26;function Pe(e,t){let n=O(),[r,i]=(0,W.useState)(n?e.length:0);return(0,W.useEffect)(()=>{if(n){i(e.length);return}i(0);let r=setInterval(()=>{i(t=>t>=e.length?(clearInterval(r),t):t+1)},t);return()=>clearInterval(r)},[e,t,n]),{typed:e.slice(0,r),typing:r<e.length}}function Fe({name:e,isRenaming:t,overrideText:n=null}){let r=n??`Hi, I’m ${e}`,{typed:i,typing:a}=Pe(r,n?Ne:Me);return(0,G.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,children:[(0,G.jsxs)(`h1`,{"aria-label":r,className:`relative leading-none whitespace-nowrap text-[var(--content-strong)] ${n?`text-[2.1rem] max-sm:text-[1.4rem]`:`text-[3.25rem] max-sm:text-[2rem]`}`,style:{fontFamily:`var(--font-serif)`},children:[(0,G.jsx)(`span`,{className:`invisible`,"aria-hidden":`true`,children:r}),(0,G.jsxs)(`span`,{className:`absolute inset-0`,"aria-hidden":`true`,children:[i,a&&(0,G.jsx)(`span`,{className:`animate-pulse`,children:`▎`})]})]}),!n&&t&&(0,G.jsx)(`div`,{"aria-label":`Renaming in progress`,className:`h-5 w-5 shrink-0 animate-spin rounded-full border-2 border-[var(--border-base)]`,style:{borderTopColor:`var(--content-default)`}})]})}function Ie({supportsPlugins:e,showChannels:t,showMemory:n}){let r=[{key:`personality`,label:`Personality`,description:`Tune how I talk`,to:T.personality},{key:`schedules`,label:`Schedules`,description:`My routines`,to:T.schedules.root},{key:`skills`,label:`Skills`,description:`What I can do`,to:T.skills.root}];return n&&r.push({key:`memory`,label:`Memory`,description:`What I remember`,to:T.memory}),e&&r.push({key:`plugins`,label:`Plugins`,description:`My add-ons`,to:T.plugins}),r.push({key:`workspace`,label:`Workspace`,description:`My files`,to:T.workspace},{key:`contacts`,label:`Contacts`,description:`People I know`,to:T.contacts.root}),t&&r.push({key:`channels`,label:`Channels`,description:`Where I listen`,to:T.channels}),r}var X=[{label:`Coworker`,sub:`vs. companion`,value:e=>Z(e,`companion-coworker`)},{label:`Baby Boomer`,sub:`vs. Gen Z`,value:e=>Z(e,`genz-boomer`)},{label:`Collaborative`,sub:`vs. independent`,value:e=>Z(e,`execute-collaborate`)},{label:`Serious`,sub:`vs. playful`,value:e=>Z(e,`playful-serious`)},{label:`Unfiltered`,sub:`vs. polite`,value:e=>Z(e,`polite-unfiltered`)}];function Z(e,t){let n=e[t]??50;return Math.max(0,Math.min(100,n))}var Le=356,Re=246,ze=Le/2,Be=132,Q=100,Ve=.1,He=[.25,.5,.75,1],Ue=[{anchor:`middle`,dx:0,dy:-18},{anchor:`start`,dx:9,dy:-2},{anchor:`start`,dx:-10,dy:17},{anchor:`end`,dx:10,dy:17},{anchor:`end`,dx:-9,dy:-2}];function $(e,t){let n=-Math.PI/2+e*2*Math.PI/X.length;return{x:ze+t*Math.cos(n),y:Be+t*Math.sin(n)}}function We(e){return X.map((t,n)=>{let r=$(n,e(n));return`${r.x.toFixed(1)},${r.y.toFixed(1)}`}).join(` `)}function Ge({values:e,className:t}){let n=X.map(t=>`${t.label} ${Math.round(t.value(e))}`).join(`, `);return(0,G.jsxs)(`svg`,{viewBox:`0 0 ${Le} ${Re}`,role:`img`,"aria-label":`Personality: ${n}`,className:t,children:[He.map(e=>(0,G.jsx)(`polygon`,{points:We(()=>Q*e),fill:`none`,stroke:`currentColor`,strokeOpacity:.25,strokeWidth:1,strokeLinejoin:`round`},e)),X.map((e,t)=>{let n=$(t,Q);return(0,G.jsx)(`line`,{x1:ze,y1:Be,x2:n.x,y2:n.y,stroke:`currentColor`,strokeOpacity:.25,strokeWidth:1},t)}),(0,G.jsx)(D.g,{initial:{scale:.4,opacity:0},animate:{scale:1,opacity:1},transition:{type:`spring`,stiffness:140,damping:16},style:{transformOrigin:`${ze}px ${Be}px`},children:(0,G.jsx)(`polygon`,{points:We(t=>Q*Math.max(Ve,X[t].value(e)/100)),fill:`var(--card-accent)`,fillOpacity:.25,stroke:`var(--card-accent)`,strokeWidth:2,strokeLinejoin:`round`})}),X.map((e,t)=>{let n=Ue[t],r=$(t,Q),i=r.x+n.dx;return(0,G.jsxs)(`text`,{x:i,y:r.y+n.dy,textAnchor:n.anchor,children:[(0,G.jsx)(`tspan`,{x:i,fontSize:11.5,fontWeight:500,fill:`currentColor`,children:e.label}),(0,G.jsx)(`tspan`,{x:i,dy:12.5,fontSize:10,fill:`currentColor`,fillOpacity:.8,children:e.sub})]},e.label)})]})}var Ke={personality:h,schedules:U,skills:M,memory:l,plugins:m,workspace:p,contacts:k,channels:de},qe={personality:`rounded-3xl`,schedules:`rounded-3xl`,skills:`rounded-[1.25rem_2.75rem_1.25rem_2.5rem]`,channels:`rounded-[2.25rem_1rem_2.5rem_1.25rem]`,contacts:`rounded-[1rem_2.5rem_1.25rem_2.75rem]`,plugins:`rounded-[2.5rem_1.25rem_2.75rem_1rem]`,workspace:`rounded-[1.25rem_2.5rem_1rem_2.5rem]`},Je=720,Ye=480,Xe=[`skills`,`memory`,`plugins`,`workspace`,`contacts`,`channels`],Ze={personality:`Go ahead — tweak my soul`,skills:`Everything I know how to do`,memory:`Everything I remember`,plugins:`My add-ons — extra superpowers`,schedules:`What I do on repeat`,workspace:`All the files that power me`,contacts:`The people I know and trust`,channels:`All the places you can reach me`};function Qe(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}var $e=280,et=140,tt=.44,nt=1118,rt=300,it=.09,at=14,ot=5,st=22;function ct({assistantId:e}){let t=i(),{components:n,traits:r,customImageUrl:a,isLoading:o,invalidate:s}=F(e),c=se(e),l=H(),u=E.use.channelTrustFloors(),d=E.use.memoryConceptGraph(),f=xe(e,{supportsPlugins:l,showChannels:u}),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),_=(0,W.useCallback)(n=>{g(!0),ge(e,n).then(r=>{if(g(!1),r){t.invalidateQueries({queryKey:B(e)});let{version:r,setIdentity:i}=w.getState();i(n,r),v.success(`Say hi to ${n}!`)}else v.error(`The rename didn't go through. Please try again.`)})},[e,t]),y=(0,W.useCallback)(()=>{s()},[s]),b=Ie({supportsPlugins:l,showChannels:u,showMemory:d}),x=o||c.isLoading,S=V(n,r);return(0,G.jsxs)(ie,{style:S?{backgroundColor:`color-mix(in srgb, ${S} ${at}%, var(--surface-overlay))`}:void 0,children:[x?(0,G.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):(0,G.jsx)(dt,{components:n,traits:r,customImageUrl:a,name:c.data?.identity?.name||`Assistant`,sections:b,stats:f,avatarHex:S,isRenaming:h,onOpenAvatarModal:()=>m(!0)}),(0,G.jsx)(fe,{open:p,onClose:()=>m(!1),assistantId:e,components:n,traits:r,customImageUrl:a,onSaveCharacter:y,onUploadImage:y,assistantName:c.data?.identity?.name||`Assistant`,onRenameSubmit:_,isRenaming:h})]})}function lt({section:e,stat:t,gridArea:n,cardStyle:i,hoverFill:a,mini:o,flooded:c=!1,floodOrigin:l,linkRef:u,onHoverChange:d}){let f=Ke[e.key]??h,[p,m]=(0,W.useState)({x:50,y:100});l&&l!==p&&m(l);let _=c?`text-[var(--card-flood-fg)]`:`text-[var(--content-default)]`,v=c?`text-[var(--card-flood-fg)]`:`text-[var(--content-strong)]`,y=c?`text-[var(--card-flood-fg)] opacity-75`:`text-[var(--content-secondary)]`,b=(0,G.jsx)(D.span,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,style:{backgroundColor:`var(--card-accent)`},initial:!1,animate:{clipPath:c?`circle(141% at ${p.x}% ${p.y}%)`:`circle(0% at ${p.x}% ${p.y}%)`},transition:c?{duration:.5,ease:`easeOut`}:{duration:.35,ease:`easeIn`}});if(o){let n=t?.value===void 0?t?.chips&&t.chips.length>0?t.chips.join(` · `):t?.text:`${t.value} ${t.label}`;return(0,G.jsx)(s.Root,{asChild:!0,elevated:!0,clipContents:!0,className:`rounded-[12px] bg-[var(--card-bg)]`,children:(0,G.jsxs)(r,{to:e.to,ref:u,onMouseEnter:()=>d?.(!0),onMouseLeave:()=>d?.(!1),className:`relative flex h-full flex-1 cursor-pointer items-center gap-2 px-4 py-2.5 transition-all duration-150 active:scale-[0.98] ${a?`hover:bg-[var(--card-hover)]`:``}`,children:[b,(0,G.jsx)(`span`,{className:`relative flex h-10 w-10 shrink-0 items-center justify-center`,children:(0,G.jsx)(f,{className:`h-5 w-5 transition-colors duration-300 ${y}`,"aria-hidden":!0})}),(0,G.jsxs)(`span`,{className:`relative flex min-w-0 flex-col gap-1`,children:[(0,G.jsx)(`span`,{className:`truncate text-title-small leading-normal transition-colors duration-300 ${v}`,children:e.label}),n&&(0,G.jsx)(`span`,{className:`truncate text-[11px] leading-normal font-medium transition-colors duration-300 ${c?`text-[var(--card-flood-fg)] opacity-75`:`text-[var(--content-tertiary)]`}`,children:n})]})]})})}let x=e.key===`personality`||e.key===`schedules`;return(0,G.jsx)(s.Root,{asChild:!0,bordered:!x,elevated:!x,className:`${qe[e.key]??``} ${x?`bg-[var(--card-feature-bg,var(--card-bg))]`:`bg-[var(--card-bg)]`}`,style:{...n?{gridArea:n}:{},...i},children:(0,G.jsxs)(r,{to:e.to,ref:u,onMouseEnter:()=>d?.(!0),onMouseLeave:()=>d?.(!1),className:`relative flex h-full w-full cursor-pointer flex-col justify-between gap-3 overflow-hidden p-5 text-left transition-all duration-150 active:scale-[0.98] ${a?`hover:bg-[var(--card-hover)]`:``}`,children:[b,n&&t?.radar&&(0,G.jsx)(`span`,{className:`absolute inset-x-5 top-14 bottom-4 flex items-center justify-center transition-colors duration-300 ${c?`text-[var(--card-flood-fg)]`:`text-[var(--content-secondary)]`}`,style:c?{"--card-accent":`var(--card-flood-fg)`}:void 0,children:(0,G.jsx)(Ge,{values:t.radar,className:`h-auto w-full`})}),x?(0,G.jsxs)(`span`,{className:`relative flex items-center gap-2`,children:[(0,G.jsx)(f,{className:`h-5 w-5 transition-colors duration-300 ${_}`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default transition-colors duration-300 ${_}`,children:e.label})]}):(0,G.jsxs)(`span`,{className:`relative flex flex-col items-start gap-1.5`,children:[(0,G.jsx)(f,{className:`h-6 w-6 transition-colors duration-300 ${_}`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`flex flex-col`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default transition-colors duration-300 ${_}`,children:e.label}),(0,G.jsx)(`span`,{className:`text-[13px] transition-colors duration-300 ${y}`,children:e.description})]})]}),n&&t?.schedules&&t.schedules.items.length>0&&(0,G.jsxs)(`span`,{className:`relative flex min-h-0 flex-1 flex-col justify-start gap-2 overflow-hidden py-2`,children:[t.schedules.items.map(e=>(0,G.jsxs)(`span`,{className:`flex flex-col gap-0.5 rounded-xl px-3 py-2 transition-colors duration-300`,style:{backgroundColor:c?`color-mix(in srgb, var(--card-flood-fg) 12%, transparent)`:`color-mix(in srgb, var(--content-default) 5%, transparent)`},children:[(0,G.jsx)(`span`,{className:`truncate text-[13px] font-medium transition-colors duration-300 ${_}`,children:e.name}),(0,G.jsxs)(`span`,{className:`truncate text-[12px] transition-colors duration-300 ${y}`,children:[e.cadence,` · next `,Qe(e.nextRunAt)]})]},e.id)),t.schedules.more>0&&(0,G.jsxs)(`span`,{className:`text-[12px] font-medium transition-colors duration-300 ${y}`,children:[`View `,t.schedules.more,` more…`]})]}),t?.value===void 0?t?.chips&&t.chips.length>0?(0,G.jsx)(`span`,{className:`relative flex flex-wrap items-center gap-1`,children:t.chips.map(e=>(0,G.jsx)(g,{children:e},e))}):t?.text?(0,G.jsx)(`span`,{className:`relative text-[14px] font-medium italic transition-colors duration-300 ${_}`,children:t.text}):null:(0,G.jsxs)(`span`,{className:`relative flex flex-col leading-none`,children:[(0,G.jsx)(`span`,{className:`text-[3.25rem] transition-colors duration-300 max-lg:text-[2.5rem] ${v}`,style:{fontFamily:`var(--font-serif)`},children:t.value}),(0,G.jsx)(`span`,{className:`mt-1 text-[13px] transition-colors duration-300 ${y}`,children:t.label})]})]})})}function ut({components:e,traits:t,customImageUrl:n,name:r,avatarSize:i,isRenaming:a,onEdit:o}){return(0,G.jsxs)(`div`,{className:`relative z-[1] flex flex-col items-center justify-center gap-5`,children:[(0,G.jsx)(Fe,{name:r,isRenaming:a}),(0,G.jsx)(`button`,{type:`button`,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:o,className:`avatar-edit-cursor outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:n&&!t?(0,G.jsx)(`img`,{src:n,alt:``,width:i,height:i,className:`rounded-full object-cover`,style:{width:i,height:i}}):(0,G.jsx)(L,{components:e,traits:t,customImageUrl:n,size:i,interactive:!0})})]})}function dt({components:e,traits:t,customImageUrl:n,name:r,sections:i,stats:a,avatarHex:o,isRenaming:s,onOpenAvatarModal:c}){let{ref:l,size:u}=z(),d=O(),f=u.w>=Je&&u.h>=Ye,p=Math.round(Math.min($e,Math.max(et,Math.min(u.w,u.h)*.32))),m=!!(o&&e&&t),h=f&&!d&&m,g=(0,W.useRef)(null),_=(0,W.useRef)({}),[v,y]=(0,W.useState)(null),b=(0,W.useCallback)(e=>{g.current=e,l(e)},[l]),x=(0,W.useCallback)((e,t)=>{if(!h)return;if(!t){y(null);return}let n=g.current,r=_.current[e];if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o={left:a.left-i.left,top:a.top-i.top,width:a.width,height:a.height},s=(o.left+o.width/2-i.width/2)/(i.width/2),c=(o.top+o.height/2-i.height/2)/(i.height/2),l=Ee(o,Math.abs(s)>Math.abs(c)?s<0?`right`:`left`:c<0?`bottom`:`top`,{x:i.width/2,y:i.height/2});y({key:e,target:l,origin:{x:l.peek.x/o.width*100,y:l.peek.y/o.height*100}})},[h]),S=h?v:null,C=S?Ze[S.key]??null:null,w={"--card-bg":o?`color-mix(in srgb, ${o} var(--card-tint-pct, ${ot}%), var(--card-surface, var(--surface-lift)))`:`var(--surface-lift)`,"--card-feature-bg":o?`color-mix(in srgb, var(--card-accent) 28%, var(--card-surface, var(--surface-lift)))`:`var(--surface-lift)`,"--card-hover":o?`color-mix(in srgb, ${o} ${st}%, var(--card-surface, var(--surface-lift)))`:`var(--surface-hover)`,"--card-accent":o??`var(--content-default)`,"--card-flood-fg":o?N(o):`var(--content-default)`},T=(u.h-8)/(1-it),E=Math.round(Math.min(nt,T,Math.max(rt,u.w*tt))),k=Math.round(E*it),ee=(0,G.jsx)(ut,{components:e,traits:t,customImageUrl:n,name:r,avatarSize:p,isRenaming:s,onEdit:c});if(!f)return(0,G.jsxs)(`div`,{ref:b,className:`identity-bento flex min-h-0 flex-1 flex-col items-center gap-6 overflow-y-auto px-2 py-4`,style:w,children:[ee,(0,G.jsx)(`div`,{className:`grid w-full max-w-md shrink-0 grid-cols-2 gap-3`,children:i.map(e=>(0,G.jsx)(lt,{section:e,stat:a[e.key],hoverFill:!0},e.key))})]});let A=i.filter(e=>!Xe.includes(e.key)),j=i.filter(e=>Xe.includes(e.key)),M=[1.15,1,.45,.3],te=(u.h-(M.length-1)*12)/M.reduce((e,t)=>e+t,0),ne=Math.round(te*M[0]),P=(m?[`"personality greeting greeting greeting schedules"`,`". . . . schedules"`,`". . . . ."`,`"smalls smalls smalls smalls smalls"`]:[`"personality greeting greeting greeting schedules"`,`". avatar avatar avatar schedules"`,`". avatar avatar avatar ."`,`"smalls smalls smalls smalls smalls"`]).join(` `),F=e=>({section:e,stat:a[e.key],hoverFill:!h,flooded:S?.key===e.key,floodOrigin:S?.key===e.key?S.origin:void 0,linkRef:t=>{_.current[e.key]=t},onHoverChange:t=>x(e.key,t)});return(0,G.jsxs)(`div`,{ref:b,className:`identity-bento relative grid min-h-0 flex-1 gap-3 overflow-hidden`,style:{...w,gridTemplateColumns:`1.55fr 1fr 1fr 1fr 1.55fr`,gridTemplateRows:M.map(e=>`${e}fr`).join(` `),gridTemplateAreas:P},children:[m?(0,G.jsx)(D.div,{className:`pointer-events-none absolute left-1/2 z-0`,style:{width:E,height:E,bottom:-k,x:`-50%`},initial:!1,animate:S?{scale:.4,opacity:0}:{scale:1,opacity:1},transition:S?{duration:.15}:{delay:.25,type:`spring`,stiffness:210,damping:18},children:(0,G.jsx)(`div`,{role:`button`,tabIndex:0,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},className:`avatar-edit-cursor pointer-events-auto relative h-full w-full outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:(0,G.jsx)(L,{components:e,traits:t,customImageUrl:n,size:E,interactive:!0})})}):(0,G.jsx)(`div`,{className:`relative z-[1] flex items-start justify-center`,style:{gridArea:`avatar`},children:(0,G.jsx)(`button`,{type:`button`,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:c,className:`avatar-edit-cursor rounded-full outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:n?(0,G.jsx)(`img`,{src:n,alt:``,width:p,height:p,className:`rounded-full object-cover`,style:{width:p,height:p}}):(0,G.jsx)(L,{components:e,traits:t,customImageUrl:null,size:p})})}),(0,G.jsx)(`div`,{className:`relative z-[1] flex items-center justify-center`,style:{gridArea:`greeting`},children:(0,G.jsx)(Fe,{name:r,isRenaming:s,overrideText:C})}),h&&o&&e&&t&&(0,G.jsx)(je,{hex:o,components:e,traits:t,target:S?.target??null}),A.map(e=>(0,G.jsx)(lt,{...F(e),gridArea:e.key,cardStyle:e.key===`schedules`?{alignSelf:`start`,height:`auto`,minHeight:ne}:void 0},e.key)),(0,G.jsx)(`div`,{className:`flex min-h-0 items-stretch gap-3`,style:{gridArea:`smalls`},children:j.map(e=>(0,G.jsx)(lt,{...F(e),mini:!0},e.key))})]})}function ft(){return(0,G.jsx)(ct,{assistantId:R()})}function pt(){return(0,G.jsx)(ft,{},R())}export{pt as IdentityPageRoute};