@vellumai/web 0.10.4 → 0.10.5-dev.202607022329.d89bf2f

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 (270) hide show
  1. package/dist/assets/{AnimatePresence-k-NoyzmC.js → AnimatePresence-uY0BR2n2.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-BcXA4t1n.js → BundleConfirmPage-BEQyQVeN.js} +1 -1
  3. package/dist/assets/{Combination-4Qc3vrtW.js → Combination-UBPhVLWy.js} +1 -1
  4. package/dist/assets/{about-page-BQQ9OMS-.js → about-page-Ck4iLq7E.js} +1 -1
  5. package/dist/assets/account-page-DmI8Zm1K.js +1 -0
  6. package/dist/assets/{account-shell-DLtzg6bW.js → account-shell-CL67zFht.js} +1 -1
  7. package/dist/assets/acp-run-detail-panel-gEL8OqNU.js +5 -0
  8. package/dist/assets/{add-credits-modal-p8hs2R5Q.js → add-credits-modal-BnXqKqkz.js} +1 -1
  9. package/dist/assets/advanced-page-BQvsLeue.js +1 -0
  10. package/dist/assets/ai-page-BcR8KPT5.js +1 -0
  11. package/dist/assets/{animated-avatar-BSEt2q64.js → animated-avatar-CEC1DGcI.js} +1 -1
  12. package/dist/assets/{api-Deex2etA.js → api-DnqFanVx.js} +1 -1
  13. package/dist/assets/api-key-screen-Ct1qhQGe.js +1 -0
  14. package/dist/assets/{archive-page-CjnYMSCA.js → archive-page-Dp4CDPFL.js} +1 -1
  15. package/dist/assets/assistant-api-BFL8kRU6.js +1 -0
  16. package/dist/assets/{assistant-feature-flag-store-oe00IJMB.js → assistant-feature-flag-store-C94SGLWJ.js} +1 -1
  17. package/dist/assets/{assistant-identity-store-iWGqR8uz.js → assistant-identity-store-cODRsfVo.js} +1 -1
  18. package/dist/assets/{assistant-status-panel-CUEIZEyr.js → assistant-status-panel-CWYmm239.js} +1 -1
  19. package/dist/assets/auth-store-DfeW0asJ.js +2 -0
  20. package/dist/assets/background-task-detail-panel-CH7efUDj.js +1 -0
  21. package/dist/assets/billing-page-tzTltPcQ.js +3 -0
  22. package/dist/assets/{bookmarks-page-G8JL2TRr.js → bookmarks-page-DQNTR2lx.js} +1 -1
  23. package/dist/assets/{browser-B4y6LCLX.js → browser-DM38C5zq.js} +2 -2
  24. package/dist/assets/build-state-C1h3J6U4.js +1 -0
  25. package/dist/assets/{button-D7s2Q_uG.js → button-D-AX8Voo.js} +1 -1
  26. package/dist/assets/by-tool-use-id-index-Dbdu-8Kf.js +1 -0
  27. package/dist/assets/chat-rA5AbKPD.js +1 -0
  28. package/dist/assets/{checkbox-BqCzUvXM.js → checkbox-ueHEk2G-.js} +1 -1
  29. package/dist/assets/{client-feature-flag-store-k_bI655l.js → client-feature-flag-store-CWOJ-CVU.js} +1 -1
  30. package/dist/assets/{client-identity-B8CM527c.js → client-identity-KGlckm6M.js} +1 -1
  31. package/dist/assets/{command-palette-0moHjYai.js → command-palette-Dlt7m1I6.js} +1 -1
  32. package/dist/assets/{command-palette-window-page-utfVpPv0.js → command-palette-window-page-DGfCcu4v.js} +1 -1
  33. package/dist/assets/{community-page-BLtaVXOe.js → community-page-BhuuMsyS.js} +1 -1
  34. package/dist/assets/{confirm-dialog-CfOXCE1N.js → confirm-dialog-bfBx6UYv.js} +1 -1
  35. package/dist/assets/{connect-page-Cu_qaH-z.js → connect-page-iwfq05E5.js} +1 -1
  36. package/dist/assets/{consent-controls-CwEkJRom.js → consent-controls-BzFFpG2p.js} +1 -1
  37. package/dist/assets/{contacts-gateway-B23m6emG.js → contacts-gateway-BDJYh797.js} +1 -1
  38. package/dist/assets/contacts-page-route-6RKPZpDS.js +9 -0
  39. package/dist/assets/{conversation-list-fetchers-B5KLYIZZ.js → conversation-list-fetchers-COStMaVO.js} +1 -1
  40. package/dist/assets/conversation-store-B8D6wE18.js +1 -0
  41. package/dist/assets/{danger-zone-redirect-page-ChVePZyJ.js → danger-zone-redirect-page-DK4QwO4q.js} +1 -1
  42. package/dist/assets/debug-page-D33Lzv5V.js +4 -0
  43. package/dist/assets/{deploy-dialogs-DYPOGbGL.js → deploy-dialogs-BhpmZiBK.js} +1 -1
  44. package/dist/assets/{detail-card-acc7KIet.js → detail-card-Bga8Jc8y.js} +1 -1
  45. package/dist/assets/detail-panel-stop-button-Dt15JaIv.js +1 -0
  46. package/dist/assets/detail-shell-BlzaPKeI.js +4 -0
  47. package/dist/assets/{developer-page-nLBkSigq.js → developer-page-D-cN0uAY.js} +1 -1
  48. package/dist/assets/{devices-page-CFg1FAIT.js → devices-page-Bi8jZe8c.js} +1 -1
  49. package/dist/assets/diagnostics-BAjanSbk.js +1 -0
  50. package/dist/assets/{dictation-overlay-page-CIIcRSZr.js → dictation-overlay-page-BurDS8z_.js} +1 -1
  51. package/dist/assets/{dist-B0Gf-knw.js → dist-CGS5MDkK.js} +1 -1
  52. package/dist/assets/{dist-cApvLul2.js → dist-Ddn3FnfV.js} +1 -1
  53. package/dist/assets/{document-viewer-page-CNWyP82k.js → document-viewer-page-BiaJTF17.js} +1 -1
  54. package/dist/assets/{dropdown-CL8VmqrY.js → dropdown-ChWAdhLG.js} +1 -1
  55. package/dist/assets/{earn-credits-modal-BkXk_l9a.js → earn-credits-modal-CAUyJwmh.js} +1 -1
  56. package/dist/assets/{emails-page-C9mr_lzm.js → emails-page-CAXZA30r.js} +1 -1
  57. package/dist/assets/esm--RA963YO.js +2 -0
  58. package/dist/assets/esm-BSRBg0oR.js +2 -0
  59. package/dist/assets/esm-CJ8uY1wn.js +2 -0
  60. package/dist/assets/esm-DTj81fJQ.js +1 -0
  61. package/dist/assets/{esm-B_Dgz4mc.js → esm-O9mDOR47.js} +2 -2
  62. package/dist/assets/esm-cB02a8J9.js +2 -0
  63. package/dist/assets/feature-flag-catalog-C8w5_UfU.js +1 -0
  64. package/dist/assets/{file-editor-BWfAnSsG.js → file-editor-ZqIEJw6T.js} +1 -1
  65. package/dist/assets/general-page-DIvhLrLC.js +1 -0
  66. package/dist/assets/hatching-screen-C0HPTyMQ.js +1 -0
  67. package/dist/assets/home-page-route-B3-EkviT.js +1 -0
  68. package/dist/assets/hosting-screen-DWqZD5MS.js +1 -0
  69. package/dist/assets/identity-page-route-HyRfxaiP.js +1 -0
  70. package/dist/assets/index-F6qy8udC.css +2 -0
  71. package/dist/assets/index-FlO-C4WJ.js +129 -0
  72. package/dist/assets/{input-C8kfrq9r.js → input-D4W4p0pZ.js} +1 -1
  73. package/dist/assets/{inspect-page-BWSvIJ2d.js → inspect-page-Dh2BRN8h.js} +4 -4
  74. package/dist/assets/{install-s7InKiDi.js → install-DwGUGZQw.js} +1 -1
  75. package/dist/assets/integrations-page-DwiPISi_.js +1 -0
  76. package/dist/assets/{intelligence-layout-B_UDPu0L.js → intelligence-layout-DZ-lWsS-.js} +1 -1
  77. package/dist/assets/{keyboard-shortcuts-page-E8rGDLiG.js → keyboard-shortcuts-page-CI4UDQMl.js} +1 -1
  78. package/dist/assets/{library-detail-page-BlrRC_ny.js → library-detail-page-Dijlp-Ed.js} +1 -1
  79. package/dist/assets/{library-page-Dct5o6_9.js → library-page-CI_i8xZv.js} +1 -1
  80. package/dist/assets/{list-row-Cw9JYESP.js → list-row-Di0MK3wu.js} +1 -1
  81. package/dist/assets/local-mode-CgrENuVf.js +39 -0
  82. package/dist/assets/{login-flow-BtdVqmTm.js → login-flow-Ds9vsrwI.js} +1 -1
  83. package/dist/assets/login-page-CCwMU8NR.js +1 -0
  84. package/dist/assets/{logout-page-BCcEjyS2.js → logout-page-DYzv53xW.js} +1 -1
  85. package/dist/assets/{logs-layout-Btvxnin8.js → logs-layout-BCn0lQCq.js} +1 -1
  86. package/dist/assets/{memory-router-playground-page-D5ruL9dQ.js → memory-router-playground-page-DgSeE_5U.js} +1 -1
  87. package/dist/assets/{menu-C_97pis4.js → menu-BLJEjTFD.js} +1 -1
  88. package/dist/assets/messages-ChEiS3wF.js +13 -0
  89. package/dist/assets/{metric-card-DqAVWY-G.js → metric-card-B5-OTPcX.js} +1 -1
  90. package/dist/assets/{mobile-sidebar-drawer-BBHy-x2N.js → mobile-sidebar-drawer-dkZfF4ic.js} +1 -1
  91. package/dist/assets/{modal-D0Q3UWD0.js → modal-BNAVT2FK.js} +1 -1
  92. package/dist/assets/mutation-error-Iab5I7oz.js +1 -0
  93. package/dist/assets/native-biometric-BK6_QtW5.js +6 -0
  94. package/dist/assets/{native-file-Bm3eyig_.js → native-file-DIJL6af-.js} +2 -2
  95. package/dist/assets/{notifications-page-cOGpYgqy.js → notifications-page-Dla1bt2V.js} +1 -1
  96. package/dist/assets/{oauth-complete-page-C2RjDFuA.js → oauth-complete-page-BMqf56bD.js} +1 -1
  97. package/dist/assets/{oauth-popup-complete-page-Cwy2jqJN.js → oauth-popup-complete-page-CdaOFiQI.js} +1 -1
  98. package/dist/assets/{page-shell-5T-Jxz7G.js → page-shell-rqT8-trD.js} +1 -1
  99. package/dist/assets/pairing-page-BDCtiLsq.js +1 -0
  100. package/dist/assets/{panel-item-nGTDevWP.js → panel-item-Q1g7DFJw.js} +1 -1
  101. package/dist/assets/{password-reset-page-yn0MrnNq.js → password-reset-page-T_0pamrF.js} +1 -1
  102. package/dist/assets/platform-detection-Ceodt3Hu.js +1 -0
  103. package/dist/assets/platform-loopback-page-BnZPdxIk.js +1 -0
  104. package/dist/assets/{plugin-detail-page-sX6m5HV3.js → plugin-detail-page-3mf9oR80.js} +1 -1
  105. package/dist/assets/plugins-page-TAy4hev4.js +1 -0
  106. package/dist/assets/plugins-surface-gCrqfOas.js +1 -0
  107. package/dist/assets/{popover-CL-JL6vG.js → popover-BUj2v1xo.js} +1 -1
  108. package/dist/assets/{prechat-qvhqEHmK.js → prechat-RG0Q0UrS.js} +1 -1
  109. package/dist/assets/prechat-route-CtfsGLw2.js +1 -0
  110. package/dist/assets/{prefs-OrKWJGM_.js → prefs-ef69V836.js} +1 -1
  111. package/dist/assets/privacy-page-BB9GR4ZD.js +1 -0
  112. package/dist/assets/privacy-screen-onaZtGUE.js +1 -0
  113. package/dist/assets/provider-callback-page-yXBMI0Uv.js +1 -0
  114. package/dist/assets/provider-key-Bf5qJwbE.js +1 -0
  115. package/dist/assets/provider-signup-page-8w9h5zSj.js +1 -0
  116. package/dist/assets/{quick-input-page-DA2vqGas.js → quick-input-page-CyO-UVOQ.js} +1 -1
  117. package/dist/assets/react-query.gen-BwkZCSTW.js +1 -0
  118. package/dist/assets/remote-gateway-session-BigLiDPm.js +1 -0
  119. package/dist/assets/{research-mock-page-DRkJQuq2.js → research-mock-page-COuqgh_8.js} +1 -1
  120. package/dist/assets/research-onboarding-route-B7TnjNJV.js +61 -0
  121. package/dist/assets/{resolved-assistants-store-Cp4J43BK.js → resolved-assistants-store-Dqf0LJrA.js} +1 -1
  122. package/dist/assets/return-to-yMLvlnXN.js +1 -0
  123. package/dist/assets/{review-terms-screen-Cmcw1D67.js → review-terms-screen-BLPeTbkx.js} +1 -1
  124. package/dist/assets/{schedules-B7I0imdw.js → schedules-D_sclJNA.js} +1 -1
  125. package/dist/assets/sdk.gen-zA5ns5LT.js +1 -0
  126. package/dist/assets/select-assistant-screen-C99Fb0km.js +1 -0
  127. package/dist/assets/{settings-layout-B9Uu1igg.js → settings-layout-sq8M5TJV.js} +1 -1
  128. package/dist/assets/share-feedback-modal-sXMDmgKy.js +1 -0
  129. package/dist/assets/{sidebar-tree-CHyPnNA0.js → sidebar-tree-rpSGyrYj.js} +1 -1
  130. package/dist/assets/signup-page-BhFDh2Lp.js +1 -0
  131. package/dist/assets/{signup-shell-DgwKMvn2.js → signup-shell-DMX1tgqB.js} +1 -1
  132. package/dist/assets/skills-page-QKhhIUlC.js +1 -0
  133. package/dist/assets/{sound-manager-BnZ7SwXM.js → sound-manager-45n1b-Bl.js} +1 -1
  134. package/dist/assets/{sounds-page-ZCBq6ru9.js → sounds-page-DBXH5tQz.js} +1 -1
  135. package/dist/assets/{src-mai-NajT.js → src-B-I7oowl.js} +3 -3
  136. package/dist/assets/{stat-square-B0S3fO7O.js → stat-square-8mff1dLC.js} +1 -1
  137. package/dist/assets/subagent-detail-panel-jJiEVAKj.js +4 -0
  138. package/dist/assets/subagent-store-C0UOU-pG.js +3 -0
  139. package/dist/assets/{system-events-page-CQUZjHbp.js → system-events-page-BODl2I6C.js} +1 -1
  140. package/dist/assets/{system-events-redirect-page-B6WgM0Vv.js → system-events-redirect-page-C16Xg1C_.js} +1 -1
  141. package/dist/assets/{tag-B_-QAvJF.js → tag-CW6WC4fE.js} +1 -1
  142. package/dist/assets/{tiptap-document-editor-tDTTC-Je.js → tiptap-document-editor-B_8p2exF.js} +2 -2
  143. package/dist/assets/{toast-2TW5tj1Y.js → toast-sdJJ6aTV.js} +1 -1
  144. package/dist/assets/tool-detail-panel-C3ycGHP8.js +2 -0
  145. package/dist/assets/trace-page-C5Oc1vIh.js +1 -0
  146. package/dist/assets/{upgrade-cancel-page-BVr06o5p.js → upgrade-cancel-page-DsiFRuzo.js} +1 -1
  147. package/dist/assets/{upgrade-success-page-CIBIIMbB.js → upgrade-success-page-DKb4tC71.js} +1 -1
  148. package/dist/assets/{usage-page-CcGNq6p_.js → usage-page-BJy1XgXv.js} +1 -1
  149. package/dist/assets/{use-active-assistant-id-D4UJEQM5.js → use-active-assistant-id-BVzVN4_g.js} +1 -1
  150. package/dist/assets/use-is-org-ready-NO84DVDo.js +1 -0
  151. package/dist/assets/use-onboarding-login-ULmWc73o.js +1 -0
  152. package/dist/assets/{use-reduced-motion-DmsjJfoE.js → use-reduced-motion-BG6r0Z46.js} +1 -1
  153. package/dist/assets/use-skill-categories-Bgl1CV8z.js +1 -0
  154. package/dist/assets/{utils-Bg9t-lBx.js → utils-P-AuKiE9.js} +1 -1
  155. package/dist/assets/viewer-store-BR99G-Ii.js +1 -0
  156. package/dist/assets/{voice-page-BOFy-jR_.js → voice-page-C8R_9E8j.js} +1 -1
  157. package/dist/assets/{weather-forecast-display-bZDWJOMu.js → weather-forecast-display-0tn6PGg8.js} +1 -1
  158. package/dist/assets/{web-CReVlJcu.js → web-CxyEb7Lp.js} +1 -1
  159. package/dist/assets/{web-BpH9TOnx.js → web-DFw1Yfb1.js} +1 -1
  160. package/dist/assets/{web-Cd-q_a1I.js → web-DGDlV45i.js} +1 -1
  161. package/dist/assets/{web-BlDBGu36.js → web-GWxiW7or.js} +1 -1
  162. package/dist/assets/{web-Cly_79wU.js → web-YggPvEM4.js} +1 -1
  163. package/dist/assets/{web-CWJUzKI_.js → web-b9SjJqdc.js} +1 -1
  164. package/dist/assets/{web-CFYymSzw.js → web-lNls6p99.js} +1 -1
  165. package/dist/assets/{welcome-screen-Cka_lktU.js → welcome-screen-BPSvhAJD.js} +1 -1
  166. package/dist/assets/workflow-detail-panel-CpusEKvv.js +1 -0
  167. package/dist/assets/workspace-page-BnQ2Z57D.js +1 -0
  168. package/dist/index.html +77 -74
  169. package/package.json +1 -1
  170. package/dist/assets/account-page-cTyLtFgE.js +0 -1
  171. package/dist/assets/acp-run-detail-panel-DaNqQ4AU.js +0 -5
  172. package/dist/assets/advanced-page-CK4tCgvV.js +0 -1
  173. package/dist/assets/ai-page-Bf5G1nk8.js +0 -1
  174. package/dist/assets/api-key-screen-BToN0-XM.js +0 -1
  175. package/dist/assets/assistant-api-D8xSkh-5.js +0 -1
  176. package/dist/assets/auth-store-B2Zo6DUE.js +0 -7
  177. package/dist/assets/billing-page-Cjqv3hFX.js +0 -3
  178. package/dist/assets/build-state-CtsLvNgP.js +0 -1
  179. package/dist/assets/chat-CdO26JJs.js +0 -1
  180. package/dist/assets/contacts-page-route-Swz0yPYv.js +0 -9
  181. package/dist/assets/conversation-store-SjqDbOcn.js +0 -1
  182. package/dist/assets/debug-page-CVw2bzGN.js +0 -4
  183. package/dist/assets/detail-shell-CoKg1S7U.js +0 -3
  184. package/dist/assets/diagnostics-CGIesPpg.js +0 -1
  185. package/dist/assets/esm-BPR7F84K.js +0 -1
  186. package/dist/assets/esm-C7SZoG5u.js +0 -2
  187. package/dist/assets/esm-CMxBpGk-.js +0 -2
  188. package/dist/assets/esm-XqRGVrcj.js +0 -2
  189. package/dist/assets/esm-oLFwK0Kw.js +0 -2
  190. package/dist/assets/feature-flag-catalog-C7oM7PZ_.js +0 -1
  191. package/dist/assets/funnel-CUPE93jb.js +0 -1
  192. package/dist/assets/general-page-Cx6tlYeL.js +0 -1
  193. package/dist/assets/hatching-screen-DbVpuOai.js +0 -1
  194. package/dist/assets/home-page-route-CweAnlJn.js +0 -1
  195. package/dist/assets/hosting-screen-DpWTAyj2.js +0 -1
  196. package/dist/assets/identity-page-route-TiI1OQgN.js +0 -1
  197. package/dist/assets/index-0XgM92Lz.js +0 -130
  198. package/dist/assets/index-N8IeZea9.css +0 -2
  199. package/dist/assets/integrations-page-CMYurvd3.js +0 -1
  200. package/dist/assets/local-mode-CvrNMtPF.js +0 -39
  201. package/dist/assets/login-page-sS8t_Aik.js +0 -1
  202. package/dist/assets/messages-B5v7xWiw.js +0 -13
  203. package/dist/assets/mutation-error-NiVTbM-q.js +0 -1
  204. package/dist/assets/pairing-page-DHF2ThH-.js +0 -1
  205. package/dist/assets/platform-loopback-page-DSx9flbF.js +0 -1
  206. package/dist/assets/plugins-page-_kqpdU-W.js +0 -1
  207. package/dist/assets/plugins-surface-KFX25A-q.js +0 -1
  208. package/dist/assets/prechat-route-D2HszqA0.js +0 -1
  209. package/dist/assets/privacy-page-BJfuoXgs.js +0 -1
  210. package/dist/assets/privacy-screen-BGNcisJ2.js +0 -1
  211. package/dist/assets/provider-callback-page-LZHmOo01.js +0 -1
  212. package/dist/assets/provider-key-DIchy_Bc.js +0 -1
  213. package/dist/assets/provider-signup-page-D327vCgu.js +0 -1
  214. package/dist/assets/react-query.gen-CsMIK93J.js +0 -1
  215. package/dist/assets/research-onboarding-route-Dk-9KwG_.js +0 -37
  216. package/dist/assets/return-to-D0TfUwsP.js +0 -1
  217. package/dist/assets/sdk.gen-BwKkHEki.js +0 -1
  218. package/dist/assets/select-assistant-screen-oJuFe0vU.js +0 -1
  219. package/dist/assets/share-feedback-modal-DN1agJEb.js +0 -1
  220. package/dist/assets/signup-page-BaIcYI50.js +0 -1
  221. package/dist/assets/skills-page-wOVBvBdB.js +0 -1
  222. package/dist/assets/subagent-detail-panel-C_GwZcyl.js +0 -4
  223. package/dist/assets/subagent-store-BANqfUgA.js +0 -3
  224. package/dist/assets/three-dot-indicator-DAKo-L_x.js +0 -1
  225. package/dist/assets/tool-detail-panel-DIk8Db76.js +0 -2
  226. package/dist/assets/trace-page-TdKZ1dXH.js +0 -1
  227. package/dist/assets/use-is-org-ready-Dj2-PRLz.js +0 -1
  228. package/dist/assets/use-onboarding-login-CyEAqbC7.js +0 -1
  229. package/dist/assets/viewer-store-BKkbfdPD.js +0 -1
  230. package/dist/assets/workflow-detail-panel-C_rq6yGi.js +0 -1
  231. package/dist/assets/workspace-page-4CJ_pIeB.js +0 -1
  232. package/dist/skills/meet-join/assets/icon.svg +0 -1
  233. /package/dist/assets/{app-info-VB6EcPqh.js → app-info-DJQFoVxX.js} +0 -0
  234. /package/dist/assets/{avatar-bundled-components-DUNo-SZc.js → avatar-bundled-components-w37NPF4o.js} +0 -0
  235. /package/dist/assets/{avatar-svg-compositor-DMVZdMXC.js → avatar-svg-compositor-CNy1XmWD.js} +0 -0
  236. /package/dist/assets/{build.umd-BO4u00Aj.js → build.umd-4R02MPXx.js} +0 -0
  237. /package/dist/assets/{composer-focus-CpeV_gfi.js → composer-focus-n921WsjZ.js} +0 -0
  238. /package/dist/assets/{conversation-selection-DA_7HozA.js → conversation-selection-CNssqGbG.js} +0 -0
  239. /package/dist/assets/{definitions-DiTBkL0Z.js → definitions-BughTGuV.js} +0 -0
  240. /package/dist/assets/{dist-FMUOufe0.js → dist-Ztj3rqLK.js} +0 -0
  241. /package/dist/assets/{edit-chat-session-B8pCxoj8.js → edit-chat-session-DcCgw5Qy.js} +0 -0
  242. /package/dist/assets/{effective-timezone-CND2iNaq.js → effective-timezone-B99h9zr7.js} +0 -0
  243. /package/dist/assets/{emoji-catalog-data-Bg0TbcxL.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
  244. /package/dist/assets/{environment-store-DX2nQ26G.js → environment-store-CnVyTyZ7.js} +0 -0
  245. /package/dist/assets/{format-9aopHqZI.js → format-BDkwdD2m.js} +0 -0
  246. /package/dist/assets/{format-date-C4llqVi6.js → format-date-D4tzd1DT.js} +0 -0
  247. /package/dist/assets/{format-file-size-CCd1QKOV.js → format-file-size-BflZ4oxc.js} +0 -0
  248. /package/dist/assets/{haptics-sqdfYVvS.js → haptics-BE_0g4mc.js} +0 -0
  249. /package/dist/assets/{impersonate-version-flag-v7MjXJjg.js → impersonate-version-flag-DyVWQf97.js} +0 -0
  250. /package/dist/assets/{lib-BUVy-xYr.js → lib-BNGjysgr.js} +0 -0
  251. /package/dist/assets/{llm-dimension-lLHLPAPE.js → llm-dimension-8g-Go8uq.js} +0 -0
  252. /package/dist/assets/{misc-Bm2e0rTa.js → misc-CFzLzLPH.js} +0 -0
  253. /package/dist/assets/{native-deep-link-DGAUYRAY.js → native-deep-link-C2-dXaz_.js} +0 -0
  254. /package/dist/assets/{pdf-RkJbZQTD.js → pdf-B-YWzK66.js} +0 -0
  255. /package/dist/assets/{prechat-names-DqbiM_xi.js → prechat-names-NPlBAwCy.js} +0 -0
  256. /package/dist/assets/{proxy-i05YF9w2.js → proxy-BgtfAoJj.js} +0 -0
  257. /package/dist/assets/{public-asset-B78MSgNd.js → public-asset-C2P77n3W.js} +0 -0
  258. /package/dist/assets/{react-query.gen-DiTBi6eG.js → react-query.gen-gQ1_8EHv.js} +0 -0
  259. /package/dist/assets/{routes-Cj4wRAOK.js → routes-C6gxiCrz.js} +0 -0
  260. /package/dist/assets/{semver-ilCx6Qwk.js → semver-0cyB3qXO.js} +0 -0
  261. /package/dist/assets/{setting-row-DodPe3yk.js → setting-row-BGQgDyhv.js} +0 -0
  262. /package/dist/assets/{status-badge-pill-Bwe3k-op.js → status-badge-pill-j3ke1d9o.js} +0 -0
  263. /package/dist/assets/{step-indicator-dots-DjUaEVje.js → step-indicator-dots-Bc6X141I.js} +0 -0
  264. /package/dist/assets/{typed-storage-CNJeje_7.js → typed-storage-DjORmu8t.js} +0 -0
  265. /package/dist/assets/{usage-window-CL2KEFPC.js → usage-window-B-YOzKJi.js} +0 -0
  266. /package/dist/assets/{use-bus-subscription-CNRtVrPC.js → use-bus-subscription-BNaztnO7.js} +0 -0
  267. /package/dist/assets/{use-is-mobile-BGESxQUL.js → use-is-mobile-jACt_z2d.js} +0 -0
  268. /package/dist/assets/{workflow-status-PqQ1OqJN.js → workflow-status-ByHycBJ_.js} +0 -0
  269. /package/dist/assets/{xterm-CRS9jN9Y.js → xterm-B8LaLTHh.js} +0 -0
  270. /package/dist/assets/{xterm-addon-fit-gN9udZ6n.js → xterm-addon-fit--RE59D-m.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{n as r,t as i}from"./button-D7s2Q_uG.js";import{d as a,p as o,u as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as c}from"./QueryClientProvider-DKhXIxGb.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./cn-DvW5mxZR.js";import{t as f}from"./typography-BscuIPxA.js";import{t as p}from"./dropdown-CL8VmqrY.js";import{t as m}from"./panel-item-nGTDevWP.js";import{t as h}from"./menu-C_97pis4.js";import{n as g,u as _}from"./src-mai-NajT.js";import{t as v}from"./notice-CqRgVmeL.js";import{t as y}from"./tag-B_-QAvJF.js";import{n as b,t as x}from"./input-C8kfrq9r.js";import{t as S}from"./toggle-X_kQW5my.js";import{n as C}from"./list-row-Cw9JYESP.js";import{n as w}from"./stat-square-B0S3fO7O.js";import{t as T}from"./modal-D0Q3UWD0.js";import{n as E}from"./toast-2TW5tj1Y.js";import{t as D}from"./createLucideIcon-BlMXrA59.js";import{t as O}from"./arrow-left-CP-EhDNF.js";import{t as k}from"./bell-DB1SrBre.js";import{t as A}from"./brain-Bs6LnfHO.js";import{t as j}from"./calendar-CpgH8CqM.js";import{t as M}from"./chevron-right-B6vEpVY0.js";import{t as N}from"./loader-circle-BFRVtR3K.js";import{t as ee}from"./repeat-nCGBxntG.js";import{t as P}from"./sparkles-Bla177ar.js";import{t as F}from"./x-DxL-bCuT.js";import{Dn as I,En as L,Mn as R,On as z,jn as te,kn as ne}from"./sdk.gen-BwKkHEki.js";import{A as re,At as ie,F as ae,I as oe,It as se,Lt as ce,M as le,O as ue,at as de,c as fe,ct as pe,d as me,g as he,h as ge,j as _e,k as ve,lt as ye,m as be,ot as xe,p as Se,st as Ce,ut as we}from"./react-query.gen-CsMIK93J.js";import{n as B,r as V,t as H}from"./api-errors-DPruG7q9.js";import{k as Te}from"./auth-store-B2Zo6DUE.js";import{a as Ee}from"./api-Deex2etA.js";import{a as U}from"./routes-Cj4wRAOK.js";import{n as De}from"./use-is-mobile-BGESxQUL.js";import{n as Oe}from"./viewer-store-BKkbfdPD.js";import{t as ke}from"./conversation-store-SjqDbOcn.js";import{t as Ae}from"./conversation-selection-DA_7HozA.js";import{t as je}from"./effective-timezone-CND2iNaq.js";import{i as Me}from"./composer-focus-CpeV_gfi.js";import{t as Ne}from"./browser-B4y6LCLX.js";import{t as Pe}from"./lib-BUVy-xYr.js";import{Ai as Fe,Ci as Ie,Li as Le,Mi as Re,Oa as ze,On as Be,Pi as Ve,Qn as He,Sa as Ue,V as We,_n as Ge,aa as Ke,fa as qe,fi as Je,gn as Ye,ma as Xe,pi as Ze,ri as Qe,vi as $e,vn as et,xa as tt,xn as nt,yn as rt}from"./index-0XgM92Lz.js";import{t as it}from"./use-active-assistant-id-D4UJEQM5.js";import{t as at}from"./detail-card-acc7KIet.js";import{t as ot}from"./page-shell-5T-Jxz7G.js";import{n as st,r as ct}from"./format-date-C4llqVi6.js";import{n as lt}from"./usage-window-CL2KEFPC.js";import{n as ut,t as dt}from"./schedules-B7I0imdw.js";var ft=D(`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`}]]),pt=D(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),mt=D(`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`}]]),W=e(n(),1);async function ht(e,t){let{error:n,response:r}=await te({path:{assistant_id:e},body:t,throwOnError:!1});if(B(r,n,`Failed to create schedule.`),!r.ok)throw new H(r.status,V(n,r,`Failed to create schedule.`))}async function gt(e){return dt(e)}async function _t(e,t,n=10,r){let{data:i,error:a,response:o}=await z({path:{assistant_id:e,id:t},query:{limit:n,before:r},throwOnError:!1});if(B(o,a,`Failed to load schedule runs.`),!o.ok)throw new H(o.status,V(a,o,`Failed to load schedule runs.`));return{runs:i?.runs??[],nextCursor:i?.nextCursor??null}}async function vt(e,t){let{data:n,error:r,response:i}=await R({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(B(i,r,`Failed to load schedule usage.`),!i.ok)throw new H(i.status,V(r,i,`Failed to load schedule usage.`));return n?.summaries??[]}async function yt(e,t,n){let{error:r,response:i}=await ne({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(B(i,r,`Failed to toggle schedule.`),!i.ok)throw new H(i.status,V(r,i,`Failed to toggle schedule.`))}async function bt(e,t){let{error:n,response:r}=await L({path:{assistant_id:e,id:t},throwOnError:!1});if(B(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new H(r.status,V(n,r,`Failed to delete schedule.`))}async function xt(e,t){let{error:n,response:r}=await I({path:{assistant_id:e,id:t},throwOnError:!1});if(B(r,n,`Failed to run schedule.`),!r.ok)throw new H(r.status,V(n,r,`Failed to run schedule.`))}var St={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},Ct=[{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`}],wt=[1,2,3,4,5];function G(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function Tt(e){let t=Array.from(new Set(e.map(e=>G(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Et(e){let t=G(e.minute,0,59),n=G(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${Tt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${G(e.dayOfMonth,1,28)} * *`}}function Dt(e,t){let n=G(e,0,23),r=G(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function Ot(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function kt(e){let t=Tt(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&wt.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 ${Ct[t[0]]?.full??`day`}`;let r=t.map(e=>Ct[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function At(e){let t=Dt(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=G(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${kt(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${Ot(G(e.dayOfMonth,1,28))} of every month at ${t}`}}var K=u(),jt=[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],Mt=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),Nt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}}),Pt=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:Ot(n)}}),{value:`last`,label:`Last day`}],Ft=[{value:`AM`,label:`AM`},{value:`PM`,label:`PM`}];function It(e,t){let n=e%12;return t===`PM`?n+12:n}function Lt(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function Rt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,K.jsx)(T.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,K.jsx)(zt,{assistantId:t,onClose:n,onCreated:r}):null})}function zt({assistantId:e,onClose:t,onCreated:n}){let r=Be(),[a,o]=(0,W.useState)(``),[s,c]=(0,W.useState)(``),[l,u]=(0,W.useState)(``),[d,f]=(0,W.useState)(`simple`),[p,m]=(0,W.useState)(St),[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(!1),[y,S]=(0,W.useState)(null),C=a.trim(),w=s.trim(),E=l.trim(),D=h.trim(),O=(0,W.useMemo)(()=>d===`simple`?Et(p):D,[d,p,D]),k=(0,W.useMemo)(()=>d===`simple`?At(p):D||`Enter a cron expression to continue.`,[d,p,D]),A=(0,W.useMemo)(()=>Lt(r),[r]),j=C.length>0&&w.length>0&&E.length>0&&O.length>0&&!_;return(0,K.jsxs)(T.Content,{size:`md`,children:[(0,K.jsxs)(T.Header,{children:[(0,K.jsx)(T.Title,{children:`Create schedule`}),(0,K.jsx)(T.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,K.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),j){v(!0),S(null);try{await ht(e,{name:C,description:w,expression:O,message:E,timezone:r}),v(!1),n()}catch(e){S(e instanceof Error?e.message:`Failed to create schedule.`),v(!1)}}},children:[(0,K.jsx)(T.Body,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,K.jsx)(x,{label:`Name`,placeholder:`Morning briefing`,value:a,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,K.jsx)(b,{label:`Description`,placeholder:`What is this schedule for?`,value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,K.jsx)(Wt,{label:`Repeat`,children:d===`simple`?(0,K.jsx)(Bt,{cadence:p,onChange:m}):(0,K.jsx)(Ut,{value:h,onChange:g,onUseSimple:()=>f(`simple`)})}),(0,K.jsx)(Gt,{summary:k,mono:d===`advanced`&&D.length>0,timezoneLabel:A}),d===`simple`?(0,K.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e||Et(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,K.jsx)(b,{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,K.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:y}):null]})}),(0,K.jsxs)(T.Footer,{children:[(0,K.jsx)(i,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,K.jsx)(i,{variant:`primary`,type:`submit`,disabled:!j,children:_?`Creating…`:`Create schedule`})]})]})]})}function Bt({cadence:e,onChange:t}){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsx)(w,{items:jt,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,K.jsx)(q,{label:`At minute`,children:(0,K.jsx)(p,{options:Nt,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,K.jsx)(q,{label:`On these days`,children:(0,K.jsx)(Ht,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,K.jsx)(q,{label:`On day`,children:(0,K.jsx)(p,{options:Pt,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,K.jsx)(q,{label:`At time`,children:(0,K.jsx)(Vt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function Vt({hour24:e,minute:t,onChange:n}){let r=e<12?`AM`:`PM`,i=e%12==0?12:e%12;return(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(p,{options:Mt,value:String(i),onChange:e=>n(It(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,K.jsx)(p,{options:Nt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,K.jsx)(`div`,{className:`w-[112px]`,children:(0,K.jsx)(w,{items:Ft,value:r,onChange:e=>n(It(i,e),t),ariaLabel:`AM or PM`})})]})}function Ht({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,K.jsx)(`div`,{className:`flex gap-1.5`,children:Ct.map(e=>{let t=n.has(e.value);return(0,K.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:d(`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 Ut({value:e,onChange:t,onUseSimple:n}){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(x,{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,K.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`← Back to the simple builder`})]})}function Wt({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function q({label:e,children:t}){return(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,K.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Gt({summary:e,mono:t,timezoneLabel:n}){return(0,K.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,K.jsx)(qe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`p`,{className:d(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,K.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function Kt(e=je(),t=Date.now()){return lt(`7d`,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function 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 Y(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 X(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?vt(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,K.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function dn({scheduleName:e,usage:t,onOpenUsage:n}){if(t.status===`loading`)return(0,K.jsxs)(`div`,{"aria-label":`Loading schedule usage`,className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,K.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,K.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`})]});let r=t.status===`error`,i=r?`--`:Y(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,K.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,K.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,K.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,K.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,K.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,K.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":`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,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,K.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,K.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,K.jsxs)(`span`,{children:[`Next: `,J(r)]}):null,i?(0,K.jsxs)(`span`,{children:[`Last: `,J(i)]}):null]})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,K.jsx)(dn,{scheduleName:e,usage:a}),s?(0,K.jsx)(y,{tone:c,children:s}):(0,K.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,K.jsx)(M,{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 _=[...f?[r]:[],...p?[i]:[],...m?[a]:[]].filter(e=>e.status===`ready`),y=_.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),b=o?(0,K.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,K.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!h?(0,K.jsxs)(v,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,K.jsxs)(`div`,{children:[f?(0,K.jsx)(fn,{name:`Heartbeat`,subtitle:tn(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,p?(0,K.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,K.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,K.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,K.jsxs)(v,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]});return(0,K.jsx)(at,{children:(0,K.jsx)(g.Root,{type:`multiple`,children:(0,K.jsxs)(g.Item,{value:`system-jobs`,children:[(0,K.jsxs)(g.Trigger,{className:`group justify-between gap-3`,children:[(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`System`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Built-in jobs managed by the assistant runtime`})]}),(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[_.length>0?(0,K.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Y(y),` (7d)`]}):null,(0,K.jsx)(tt,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,K.jsx)(g.Content,{children:(0,K.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}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 Z=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=c(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:u}=l({...ue(i),enabled:!!e,staleTime:Z}),{data:d,isLoading:f,isError:p,refetch:m}=l({...Se(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:_,refetch:v}=l({...de(i),enabled:!!e,staleTime:Z}),y={path:{assistant_id:e??``},query:{limit:100}},{data:b,isLoading:x,isError:S,refetch:C}=l({...le(y),select:hn,enabled:!!e&&a!=null,staleTime:Z}),{data:w,isLoading:T,isError:D,refetch:O}=l({...he(y),select:gn,enabled:!!e&&d?.available===!0,staleTime:Z}),{data:k,isLoading:A,isError:j,refetch:M}=l({...pe(y),select:_n,enabled:!!e&&h?.available===!0,staleTime:Z}),N=(0,W.useMemo)(()=>Kt(n),[n]),ee=(0,W.useMemo)(()=>vn(x,S,en.heartbeat,b,N),[b,S,x,N]),P=(0,W.useMemo)(()=>vn(T,D,en.consolidation,w,N),[w,D,T,N]),F=(0,W.useMemo)(()=>vn(A,j,en.retrospective,k,N),[k,j,A,N]),I=t=>{if(!e)return;let n={heartbeat:{config:ue(i).queryKey,runs:le(y).queryKey,infinite:_e(i)},consolidation:{config:Se(i).queryKey,runs:he(y).queryKey,infinite:ge(i)},retrospective:{config:de(i).queryKey,runs:pe(y).queryKey,infinite:Ce(i)}}[t];r.invalidateQueries({queryKey:n.config}),r.invalidateQueries({queryKey:n.runs}),r.invalidateQueries({queryKey:n.infinite})},L=ce({onSuccess:e=>{e.ran?E.success(`Heartbeat started.`):E.info(`Heartbeat skipped.`)},onError:e=>{t(e,{context:`heartbeat_run_now`}),E.error(`Failed to run heartbeat.`)},onSettled:()=>I(`heartbeat`)}),R=ie({onSuccess:e=>{e.ran?E.success(`Consolidation queued.`):E.info(`Consolidation already queued or running.`)},onError:e=>{t(e,{context:`consolidation_run_now`}),E.error(`Failed to run consolidation.`)},onSettled:()=>I(`consolidation`)}),z=se({onSuccess:e=>{ve(r,i,e),E.success(e.enabled?`Heartbeat enabled.`:`Heartbeat disabled.`)},onError:e=>{t(e,{context:`heartbeat_toggle`}),E.error(`Failed to toggle heartbeat.`)}});return{heartbeatConfig:a,consolidationConfig:d,retrospectiveConfig:h,heartbeatUsage:ee,consolidationUsage:P,retrospectiveUsage:F,isLoading:o||f||g,hasError:s||p||_,isHeartbeatRunning:L.isPending,isConsolidationRunning:R.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:f,isConsolidationError:p,isRetrospectiveLoading:g,isRetrospectiveError:_,refetchHeartbeat:u,refetchConsolidation:m,refetchRetrospective:v,runHeartbeatNow:()=>{e&&L.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&R.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&z.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{u(),m(),v(),C(),O(),M()}}}function bn({icon:e,title:t,description:n,actions:r}){return(0,K.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,K.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,K.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function xn(e){if(e.status===`loading`)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`h-4 w-12 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,K.jsx)(`span`,{className:`h-4 w-10 animate-pulse rounded bg-[var(--surface-muted)]`})]});if(e.status===`error`)return(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Yt(t.runCount)})]})}function Sn({name:e,metaParts:t,usage:n,enabled:r,selected:i,onClick:a,onToggle:o,toggleAriaLabel:s}){return(0,K.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${i?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[o?(0,K.jsx)(S,{checked:r,onChange:o,"aria-label":s}):null,(0,K.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,K.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t.length>0?(0,K.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,K.jsxs)(W.Fragment,{children:[t>0?(0,K.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}):null,(0,K.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[xn(n),(0,K.jsx)(M,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Cn({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?J(o):``].filter(Boolean);return(0,K.jsx)(Sn,{name:e.name,metaParts:s,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?`Toggle ${e.name}`:void 0})}function wn({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:a,isError:o,refetch:s,onToggle:c,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,systemTasksSlot:h}){let _=e=>(0,K.jsx)(Cn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>c(e.id,t)},e.id),y=e=>(0,K.jsx)(Cn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),b=n.length>0?(0,K.jsx)(g.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,K.jsxs)(g.Item,{value:`past`,children:[(0,K.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,K.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,K.jsxs)(`span`,{children:[`Past (`,n.length,`)`]})]}),(0,K.jsx)(g.Content,{children:(0,K.jsx)(`div`,{className:`pt-1`,children:n.map(y)})})]})}):null;return(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,K.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(`div`,{className:`h-12 animate-pulse rounded-md bg-[var(--surface-muted)]`},t))}):o&&e.length===0?(0,K.jsx)(v,{tone:`error`,actions:(0,K.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,K.jsx)(bn,{icon:j,title:`No schedules yet`,description:`Ask your assistant to set one up, or create one yourself.`,actions:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(i,{variant:`primary`,size:`regular`,onClick:d,children:`New Conversation`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`or`}),(0,K.jsx)(i,{variant:`outlined`,size:`regular`,onClick:f,children:`Create schedule`})]})}):(0,K.jsxs)(`div`,{children:[e.map(_),t.length>0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:`One-time`}),t.map(y)]}):null,b]}),h?(0,K.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:h}):null]})}function Tn({children:e}){return(0,K.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Q({label:e,value:t}){return(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,K.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function En({icon:e,value:t,label:n}){return(0,K.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,K.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,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,K.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function Dn({usage:e}){return e.status===`loading`?(0,K.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,K.jsx)(`div`,{className:`h-[60px] animate-pulse rounded-lg bg-[var(--surface-muted)]`},t))}):e.status===`error`?null:(0,K.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,K.jsx)(En,{icon:(0,K.jsx)(Ke,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:`7 Day Cost`}),(0,K.jsx)(En,{icon:(0,K.jsx)(ee,{className:`h-4 w-4`}),value:Yt(e.summary.runCount),label:`7 Day Runs`})]})}function On({run:e,index:t,isExpanded:n,onOpenConversation:r,onToggleDetails:i}){let a=$t(e),o=X(e.output),s=X(e.error),c=!a&&(o||s),l=`schedule-run-details-${t}`,u=!!a||c,f=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(un,{status:e.status}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,K.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[qt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,K.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),u?(0,K.jsx)(M,{className:d(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,c&&n?`rotate-90`:``)}):null]}),p=c&&n?(0,K.jsx)(`div`,{id:l,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[o?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,K.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,s?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,K.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return a?(0,K.jsx)(`div`,{children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>r(a),"aria-label":`Open conversation for run at ${J(e.startedAt)}`,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:f})}):c?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),"aria-label":`Toggle output for run at ${J(e.startedAt)}`,"aria-expanded":n,"aria-controls":l,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:f}),p]}):(0,K.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:f})}function kn({runs:e,isLoading:t,onOpenConversation:n}){let[r,i]=(0,W.useState)(null);return t?(0,K.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,K.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,K.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No runs yet.`}):(0,K.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,K.jsx)(On,{run:e,index:t,isExpanded:r===e.id,onOpenConversation:n,onToggleDetails:e=>i(t=>t===e?null:e)},e.id))})}function An({schedule:e,assistantId:n,usage:r,isMobile:o,onClose:s,onDeleted:c}){let u=a(),{data:p,isLoading:m}=l({queryKey:ye({path:{assistant_id:n,id:e.id}}),queryFn:()=>_t(n,e.id),staleTime:1e4}),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),x=async()=>{g(!0);try{await xt(n,e.id)}catch(e){t(e,{context:`schedule_run_now`}),E.error(`Failed to run schedule.`)}finally{g(!1)}},S=async()=>{b(!0);try{await bt(n,e.id),c()}catch(e){t(e,{context:`schedule_delete`}),E.error(`Failed to delete schedule.`),b(!1),v(!1)}};return(0,K.jsxs)(`div`,{className:d(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,K.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,K.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:e.name})}),(0,K.jsx)(i,{variant:`ghost`,iconOnly:(0,K.jsx)(F,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,K.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,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,K.jsxs)(`section`,{children:[(0,K.jsx)(Tn,{children:`Details`}),(0,K.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-2`,children:[e.cadenceDescription?(0,K.jsx)(Q,{label:`Cadence`,value:e.cadenceDescription}):null,(0,K.jsx)(Q,{label:`Mode`,value:e.mode}),(0,K.jsx)(Q,{label:`Status`,value:e.enabled?`Enabled`:`Disabled`}),(0,K.jsx)(Q,{label:`Next run`,value:J(e.nextRunAt)}),e.lastRunAt?(0,K.jsx)(Q,{label:`Last run`,value:(0,K.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,K.jsx)(un,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})]}),(0,K.jsx)(Dn,{usage:r}),(0,K.jsxs)(`section`,{children:[(0,K.jsx)(Tn,{children:`Recent runs`}),(0,K.jsx)(kn,{runs:p?.runs,isLoading:m,onOpenConversation:e=>u(U.conversation(e))})]})]}),(0,K.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,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(i,{variant:`ghost`,onClick:()=>v(!1),disabled:y,children:`Cancel`}),(0,K.jsx)(i,{variant:`danger`,onClick:()=>void S(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,K.jsx)(i,{variant:`dangerOutline`,leftIcon:(0,K.jsx)(Qe,{className:`h-3.5 w-3.5`}),onClick:()=>v(!0),children:`Delete`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(i,{variant:`outlined`,leftIcon:(0,K.jsx)(Ue,{className:`h-3.5 w-3.5`}),onClick:()=>u(U.logs.usageForSchedule(e.id)),children:`View usage`}),e.mode===`script`?(0,K.jsx)(i,{variant:`primary`,leftIcon:h?(0,K.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void x(),disabled:h,children:h?`Running…`:`Run now`}):null]})]})]})}var jn=`Default (assistant's main model)`,Mn=`Custom call-site model`;function Nn(e,t){return t?.[e]?.displayName??e}function Pn(e,t){if(e==null)return;if(e.provider!=null||e.model!=null)return Mn;let n=e.profile?.trim();return n?`Override (${Nn(n,t)})`:void 0}function Fn({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r=jn,respectCallSiteOverride:i=!1}){let a=t==null,{data:o}=l({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),s=(0,W.useMemo)(()=>o?ut(o):{},[o]),{data:c}=l({...me({path:{assistant_id:e}}),enabled:!!e&&a,staleTime:6e4}),u=a&&i?Pn(o?.llm?.callSites?.[n],s):void 0,d=a?c?.callSites.find(e=>e.id===n)?.defaultProfile:void 0,f=t==null?u??(d==null?r:`Default (${Nn(d,s)})`):Nn(t,s);return(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Model profile`}),(0,K.jsx)(`span`,{className:`min-w-0 text-right`,children:f})]})}function In({runs:e,isLoading:t,emptyMessage:n=`No runs yet.`,hasMore:r=!1,isLoadingMore:o=!1,onLoadMore:s}){let c=a(),[l,u]=(0,W.useState)(null);return(0,K.jsx)(at,{title:`Recent runs`,children:t?(0,K.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,K.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,K.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:n}):(0,K.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=$t(e),r=X(e.output),i=X(e.error),a=!n&&(r||i),o=l===e.id,s=`schedule-run-details-${t}`;return(0,K.jsxs)(`div`,{children:[(0,K.jsx)(m,{label:(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,K.jsx)(un,{status:e.status}),(0,K.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,K.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,qt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd),e.status===`error`&&e.error&&(0,K.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||a?(0,K.jsx)(M,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${o?`rotate-90`:``}`}):null]}),onSelect:n?()=>c(U.conversation(n)):a?()=>u(o?null:e.id):void 0,"aria-label":`Run at ${J(e.startedAt)}`,"aria-expanded":a?o:void 0,"aria-controls":a?s:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),a&&o?(0,K.jsx)(`div`,{id:s,className:`px-2 pb-3`,children:(0,K.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,K.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,K.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),r&&s?(0,K.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,K.jsx)(i,{variant:`outlined`,size:`compact`,onClick:s,disabled:o,leftIcon:o?(0,K.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:o?`Loading…`:`Load more`})}):null]})})}var Ln={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function Rn({children:e}){return(0,K.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function zn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,isMobile:o,onClose:s}){let c=a(),{heartbeatConfig:l,consolidationConfig:u,retrospectiveConfig:p}=n,m,h,g,_,y,b,x;e===`heartbeat`?(m=`Heartbeat`,h=l?tn(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,y=l?.lastRunAt??null,b=n.isHeartbeatRunning,x=n.runHeartbeatNow):e===`consolidation`?(m=`Consolidation`,h=u?nn(u):``,g=u?.enabled??!1,_=u?.nextRunAt??null,y=u?.lastRunAt??null,b=n.isConsolidationRunning,x=n.runConsolidationNow):(m=`Memory retrospective`,h=rn,g=p?.enabled??!1,_=p?.nextRunAt??null,y=p?.lastRunAt??null,b=!1,x=void 0);let C=e!==`heartbeat`,w=e===`retrospective`,T=C&&!g,E=b||T,D=C?g?`On · Managed by Memory`:`Paused`:g?`Enabled`:`Disabled`,O=w?`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=C&&g&&r,A={path:{assistant_id:t},query:{limit:25}},j=e===`heartbeat`?re(A):e===`consolidation`?be(A):xe(A),{data:M,isLoading:ee,fetchNextPage:P,hasNextPage:I,isFetchingNextPage:L}=ze({queryKey:j.queryKey,queryFn:j.queryFn,initialPageParam:{path:A.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),R=Zt(M?.pages.map(t=>({runs:t.runs.map(t=>mn(t,e))})));return(0,K.jsxs)(`div`,{className:d(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:m}),h?(0,K.jsx)(f,{variant:`body-small-default`,as:`p`,className:`truncate text-[var(--content-tertiary)]`,children:h}):null]}),(0,K.jsx)(i,{variant:`ghost`,iconOnly:(0,K.jsx)(F,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,K.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,K.jsxs)(`section`,{children:[(0,K.jsx)(Rn,{children:`Details`}),(0,K.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,K.jsx)(Fn,{assistantId:t,defaultCallSite:Ln[e],fallbackLabel:`Default (system task model)`,respectCallSiteOverride:!0}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,K.jsxs)(`span`,{className:`flex items-center gap-2 text-[var(--content-default)]`,children:[(0,K.jsx)(`span`,{children:D}),C?null:(0,K.jsx)(S,{checked:g,onChange:n.toggleHeartbeat,"aria-label":`Toggle ${m}`})]})]}),w?null:(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,K.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(_)})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,K.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(y)})]})]}),T?(0,K.jsx)(v,{tone:`warning`,className:`mt-4`,actions:r?(0,K.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>c(U.settings.advanced),children:`Turn on Memory`}):void 0,children:O}):null]}),(0,K.jsx)(In,{runs:R,isLoading:ee,hasMore:I,isLoadingMore:L,onLoadMore:()=>void P()})]}),k||x?(0,K.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,K.jsx)(i,{variant:`outlined`,leftIcon:(0,K.jsx)(Ze,{className:`h-3.5 w-3.5`}),onClick:()=>c(U.settings.advanced),children:`Memory settings`}):null,x?(0,K.jsx)(i,{variant:`primary`,leftIcon:b?(0,K.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):(0,K.jsx)(Ie,{className:`h-3.5 w-3.5`}),onClick:x,disabled:E,children:b?`Running…`:`Run now`}):null]}):null]})}var $={security:{icon:Je,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:Ve,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:Ze,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:k,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},Bn=[`security`,`email`,`scheduling`,`background`,`system`],Vn=`all`;function Hn({categories:e,activeFilter:t,onFilterChange:n}){let r=Bn.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:Vn,label:`All`,icon:(0,K.jsx)(Le,{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,K.jsx)(t,{className:`h-4 w-4`})}})];return(0,K.jsx)(w,{ariaLabel:`Filter notifications`,value:t??Vn,onChange:e=>n(e===Vn?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}function Un(e,t){!t||!Te()||(e.preventDefault(),Ne(t))}var Wn={p:({children:e})=>(0,K.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,K.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,K.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,K.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>Un(t,e),children:t}),ul:({children:e})=>(0,K.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,K.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,K.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,K.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,K.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,K.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,K.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,K.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,K.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,K.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,K.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,K.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,K.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,K.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,K.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,K.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function Gn({content:e,className:t}){return(0,K.jsx)(`div`,{className:d(`text-body-medium-default`,t),children:(0,K.jsx)(Pe,{remarkPlugins:[We],components:Wn,children:e})})}function Kn({item:e}){return(0,K.jsx)(Gn,{content:e.summary})}function qn(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 Jn(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Yn({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,K.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,K.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,K.jsx)(f,{variant:`title-small`,as:`h3`,children:n}),r?(0,K.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,K.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,K.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:qn(i)},"aria-hidden":`true`}),(0,K.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Jn(i)})]}),a?(0,K.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,K.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,K.jsx)(f,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,K.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,K.jsx)(`li`,{children:(0,K.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}function Xn(e){return e&&$[e]?$[e]:$.system}function Zn(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function Qn({item:e,isMobile:t,validConversationIds:n,onClose:r,onGoToThread:a,onUpdateStatus:o,onDismiss:s,onViewSchedule:c}){if(!e)return null;let l=e.detailPanel?.kind,u=Zn(e),d=Xn(e.category),p=d.icon,m=e.status===`new`,h=e.status===`dismissed`,g=!!e.conversationId&&n.has(e.conversationId);return t?(0,K.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,K.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,K.jsx)(i,{variant:`ghost`,iconOnly:(0,K.jsx)(O,{}),onClick:r,"aria-label":`Back`,tooltip:`Back`}),(0,K.jsx)(f,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,K.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,K.jsx)(i,{variant:`ghost`,iconOnly:m?(0,K.jsx)(mt,{}):(0,K.jsx)(Ve,{}),onClick:()=>o(e.id,m?`seen`:`new`),"aria-label":m?`Mark as read`:`Mark as unread`,tooltip:m?`Mark as read`:`Mark as unread`}),h?(0,K.jsx)(i,{variant:`ghost`,iconOnly:(0,K.jsx)($e,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,K.jsx)(i,{variant:`ghost`,iconOnly:(0,K.jsx)(Qe,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,K.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,K.jsx)(p,{width:18,height:18,style:{color:d.strong}})}),(0,K.jsx)(f,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:u}),(0,K.jsx)(y,{tone:`neutral`,className:`shrink-0`,title:st(e.timestamp),children:ct(e.timestamp)})]}),(0,K.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:l===`toolPermission`?(0,K.jsx)(Yn,{item:e}):(0,K.jsx)(Kn,{item:e})}),g||c?(0,K.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[c?(0,K.jsx)(i,{variant:`outlined`,fullWidth:!0,leftIcon:(0,K.jsx)(j,{className:`size-4`}),onClick:c,children:`View schedule`}):null,g?(0,K.jsx)(i,{variant:`primary`,fullWidth:!0,onClick:()=>a(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,K.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,K.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,K.jsx)(p,{width:14,height:14,style:{color:d.strong}})}),(0,K.jsx)(f,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:u}),g?(0,K.jsx)(i,{variant:`outlined`,onClick:()=>a(e.conversationId),children:`Go to Convo`}):null,(0,K.jsx)(i,{variant:`outlined`,iconOnly:(0,K.jsx)(F,{}),onClick:r,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,K.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[l===`toolPermission`?(0,K.jsx)(Yn,{item:e}):(0,K.jsx)(Kn,{item:e}),(0,K.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,K.jsx)(y,{tone:`neutral`,title:st(e.timestamp),children:ct(e.timestamp)})})]}),(0,K.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,K.jsx)(`div`,{children:c?(0,K.jsx)(i,{variant:`outlined`,leftIcon:(0,K.jsx)(j,{className:`size-4`}),onClick:c,children:`View schedule`}):null}),(0,K.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:h?(0,K.jsx)(i,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(i,{variant:`outlined`,onClick:()=>o(e.id,m?`seen`:`new`),children:m?`Mark as read`:`Mark as unread`}),(0,K.jsx)(i,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var $n={heartbeat:ft,memory_consolidation:A,schedule:qe,auto_analysis:P,user:Re,other:Xe},er=`all`;function tr({sources:e,activeSource:t,onSourceChange:n}){if(e.length<=1)return null;let r=e.find(e=>e.key===t)??null,a=r?$n[r.type]:pt;return(0,K.jsxs)(h.Root,{children:[(0,K.jsx)(h.Trigger,{children:(0,K.jsx)(i,{variant:`outlined`,size:`compact`,active:r!==null,leftIcon:(0,K.jsx)(a,{className:`h-4 w-4`}),rightIcon:(0,K.jsx)(tt,{className:`h-3.5 w-3.5`}),"aria-label":`Filter notifications by source`,children:r?r.label:`All sources`})}),(0,K.jsx)(h.Content,{align:`start`,className:`max-h-80 overflow-y-auto`,children:(0,K.jsxs)(h.RadioGroup,{value:t??er,onValueChange:e=>n(e===er?null:e),children:[(0,K.jsx)(h.RadioItem,{value:er,children:`All sources`}),(0,K.jsx)(h.Separator,{}),e.map(e=>(0,K.jsx)(h.RadioItem,{value:e.key,children:e.label},e.key))]})})]})}function nr({label:e,onClick:t,className:n,children:i}){return(0,K.jsx)(r,{content:e,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:d(`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:i})})}function rr(e){return e&&$[e]?$[e]:$.system}function ir({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:s=`dismiss`}){let[c,l]=(0,W.useState)(!1),u=rr(e.category),f=u.icon,p=e.status===`new`,m=s===`restore`;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:d(`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)]`:c?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!p&&!t&&`opacity-70`),children:[(0,K.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:u.weak},children:(0,K.jsx)(f,{width:12,height:12,style:{color:u.strong}})}),p&&(0,K.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,K.jsx)(`span`,{className:d(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),c&&!m?(0,K.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,K.jsx)(nr,{label:p?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,p?`seen`:`new`),children:p?(0,K.jsx)(mt,{width:16,height:16}):(0,K.jsx)(Ve,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,K.jsx)(nr,{label:`Go to thread`,onClick:()=>{p&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,K.jsx)(Fe,{width:16,height:16})}),(0,K.jsx)(nr,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,K.jsx)(Qe,{width:16,height:16})})]}):c&&m?(0,K.jsxs)(nr,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,K.jsx)($e,{width:16,height:16,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,K.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:ct(e.timestamp)})]})}function ar(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 or(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 sr(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function cr(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function lr(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}var ur={heartbeat:0,memory_consolidation:1,schedule:2,auto_analysis:3,user:4,other:5};function dr(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=ur[e.type]-ur[t.type];return n===0?e.label.localeCompare(t.label):n})}function fr(e,t){return t===null?e:e.filter(e=>e.sourceKey===t)}var pr={today:`Today`,yesterday:`Yesterday`,older:`Older`},mr=10080*60*1e3;function hr(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>mr}function gr({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,W.useState)(null),[h,_]=(0,W.useState)(null),[v]=(0,W.useState)(()=>Date.now()),y=cr(e.filter(e=>e.status!==`dismissed`)),b=y.filter(e=>!hr(e,v)),x=ar(y.filter(e=>hr(e,v))),S=lr(b),C=dr(b),w=p&&S.includes(p)?p:null,T=h&&C.some(e=>e.key===h)?h:null;p!==w&&m(w),h!==T&&_(T);let E=or(ar(fr(sr(b,w),T))),D=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,K.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(S.length>1||C.length>1)&&(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-[var(--app-spacing-sm)]`,children:[(0,K.jsx)(Hn,{categories:S,activeFilter:w,onFilterChange:m}),(0,K.jsx)(tr,{sources:C,activeSource:T,onSourceChange:_})]}),E.size===0?w||T?(0,K.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,K.jsx)(bn,{icon:k,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...E.entries()].map(([e,a])=>(0,K.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,K.jsx)(f,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:pr[e]}),(0,K.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:a.map(e=>(0,K.jsx)(ir,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),x.length>0&&(0,K.jsx)(g.Root,{type:`single`,collapsible:!0,value:c?`archived-read`:``,onValueChange:e=>l?.(e===`archived-read`),children:(0,K.jsxs)(g.Item,{value:`archived-read`,children:[(0,K.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,K.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,K.jsxs)(`span`,{children:[`Earlier (`,x.length,`)`]})]}),(0,K.jsx)(g.Content,{children:(0,K.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:x.map(e=>(0,K.jsx)(ir,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),D.length>0&&(0,K.jsx)(g.Root,{type:`single`,collapsible:!0,value:u?`dismissed`:``,onValueChange:e=>d?.(e===`dismissed`),children:(0,K.jsxs)(g.Item,{value:`dismissed`,children:[(0,K.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,K.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,K.jsxs)(`span`,{children:[`Dismissed (`,D.length,`)`]})]}),(0,K.jsx)(g.Content,{children:(0,K.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:D.map(e=>(0,K.jsx)(ir,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function _r(){return(0,K.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function vr(e){let n=Be(),[r]=(0,W.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=l({queryKey:we({path:{assistant_id:e??``}}),queryFn:()=>e?gt(e):Promise.resolve([]),staleTime:1e4}),{data:c,isLoading:u,isError:d}=l(sn(e,n,!0)),{recurring:f,oneTime:p,pastOneTime:m}=(0,W.useMemo)(()=>{let e=on(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,W.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:f,oneTime:p,pastOneTime:m,usageForSchedule:(0,W.useCallback)(e=>u?{status:`loading`}:d?{status:`error`}:{status:`ready`,summary:h.get(e)??cn(e)},[d,u,h]),handleToggle:(0,W.useCallback)(async(n,r)=>{if(e)try{await yt(e,n,r),s()}catch(e){t(e,{context:`schedule_toggle`}),E.error(`Failed to toggle schedule.`)}},[e,s]),isLoading:a,isError:o,refetch:(0,W.useCallback)(()=>{s()},[s])}}function yr(e){let t=c(),n=(0,W.useMemo)(()=>oe({path:{assistant_id:e??``}}),[e]),r=l({...ae({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,W.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function br(){return(0,K.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,K.jsx)(`div`,{className:`h-7 w-64 animate-pulse rounded-md bg-[var(--surface-lift)]`}),(0,K.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,K.jsx)(`div`,{className:`h-16 animate-pulse rounded-md bg-[var(--surface-lift)]`},t))})]})}function xr(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}function Sr({assistantId:e,validConversationIds:t,activeTab:n,onTabChange:r,routeScheduleId:i,onSelectScheduleId:a,onStartNewChat:o,onOpenConversation:s}){let c=De(),u=Be(),d=rt(e);yr(e);let f=vr(e),p=yn(e,u),{data:m=!1}=l({queryKey:[`assistant-memory-opt-out-capability`,e],queryFn:async()=>{let t=await Ee(e);return t.ok&&t.data.capabilities?.memoryOptOut===!0},retry:!1,staleTime:1e4}),[h,g]=(0,W.useState)(!1),v=i,[y,b]=(0,W.useState)(null),[x,S]=(0,W.useState)(null),[w,T]=(0,W.useState)(!1),[E,D]=(0,W.useState)(!1),[O,k]=(0,W.useState)(!1),A=v?f.recurring.find(e=>e.id===v)??f.oneTime.find(e=>e.id===v)??f.pastOneTime.find(e=>e.id===v)??null:null;(0,W.useEffect)(()=>{v&&!f.isLoading&&!A&&a(null)},[v,A,f.isLoading,a]);let j=x===`heartbeat`?p.heartbeatConfig!=null:x===`consolidation`?p.consolidationConfig?.available===!0:x===`retrospective`?p.retrospectiveConfig?.available===!0:!1;(0,W.useEffect)(()=>{x&&!p.isLoading&&!j&&S(null)},[x,j,p.isLoading]);let M=(0,W.useCallback)(e=>{b(null),S(null),a(e)},[a]),N=(0,W.useCallback)(e=>{b(null),v&&a(null),S(e)},[a,v]),ee=(0,W.useCallback)(e=>{S(null),e.status===`new`?(b({...e,status:`seen`}),d.updateStatus.mutate({itemId:e.id,status:`seen`})):b(e)},[d.updateStatus]),P=(0,W.useCallback)(()=>{b(null)},[]),F=(0,W.useCallback)(e=>{d.updateStatus.mutate({itemId:e,status:`dismissed`}),y?.id===e&&b(null)},[d.updateStatus,y?.id]),I=(0,W.useCallback)(e=>{d.updateStatus.mutate({itemId:e,status:`seen`}),b(t=>t?.id===e?{...t,status:`seen`}:t)},[d.updateStatus]),L=(0,W.useCallback)((e,t)=>{d.updateStatus.mutate({itemId:e,status:t}),b(n=>n?.id===e?{...n,status:t}:n)},[d.updateStatus]),R=(0,W.useCallback)(e=>{b(null),s(e)},[s]),z=xr(y),te=z!=null&&(f.recurring.some(e=>e.id===z)||f.oneTime.some(e=>e.id===z)||f.pastOneTime.some(e=>e.id===z)),ne=y?(0,K.jsx)(Qn,{item:y,isMobile:c,validConversationIds:t,onClose:P,onGoToThread:R,onUpdateStatus:L,onDismiss:F,onViewSchedule:te?()=>{M(z)}:void 0}):null,re=(A?(0,K.jsx)(An,{schedule:A,assistantId:e,usage:f.usageForSchedule(A.id),isMobile:c,onClose:()=>a(null),onDeleted:()=>{a(null),f.refetch()}}):null)??(x&&j?(0,K.jsx)(zn,{kind:x,assistantId:e,systemTasks:p,canOpenMemorySettings:m,isMobile:c,onClose:()=>S(null)}):null),ie=ne??re,ae=(e,t,n)=>t&&!c?(0,K.jsx)(_,{className:`min-h-0 flex-1`,storageKey:`homeDetailDrawerWidth`,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,K.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:e}),right:(0,K.jsx)(`div`,{className:`home-detail-drawer`,children:t},n)}):e,oe=(0,K.jsx)(wn,{recurring:f.recurring,oneTime:f.oneTime,pastOneTime:f.pastOneTime,usageForSchedule:f.usageForSchedule,isLoading:f.isLoading,isError:f.isError,refetch:f.refetch,onToggle:f.handleToggle,onSelectSchedule:M,selectedScheduleId:v,onStartNewChat:o,onCreateSchedule:()=>g(!0),pastOpen:w,onPastOpenChange:T,systemTasksSlot:(0,K.jsx)(pn,{heartbeatConfig:p.heartbeatConfig,consolidationConfig:p.consolidationConfig,retrospectiveConfig:p.retrospectiveConfig,heartbeatUsage:p.heartbeatUsage,consolidationUsage:p.consolidationUsage,retrospectiveUsage:p.retrospectiveUsage,isLoading:p.isLoading,hasError:p.hasError,onRetry:p.refetchAll,onSelectHeartbeat:()=>N(`heartbeat`),onSelectConsolidation:()=>N(`consolidation`),onSelectRetrospective:()=>N(`retrospective`)})}),se=(0,K.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[d.isError?(0,K.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`,d.error instanceof Error?`: ${d.error.message}`:`.`]}):null,(0,K.jsx)(gr,{items:d.data?.items??[],selectedItemId:y?.id,validConversationIds:t,onSelectItem:ee,onDismissItem:F,onRestoreItem:I,onToggleRead:L,onGoToThread:R,archivedOpen:E,onArchivedOpenChange:D,dismissedOpen:O,onDismissedOpenChange:k})]}),ce=(0,K.jsxs)(C.Root,{value:n,onValueChange:e=>r(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,K.jsxs)(C.List,{className:`shrink-0`,children:[(0,K.jsx)(C.Trigger,{value:`notifications`,children:`Notifications`}),(0,K.jsx)(C.Trigger,{value:`schedules`,children:`Schedules`})]}),(0,K.jsx)(C.Panel,{value:`notifications`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:ae(se,ne,y?.id)}),(0,K.jsx)(C.Panel,{value:`schedules`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:ae(oe,re,v??x??void 0)})]}),le=d.isLoading?(0,K.jsx)(br,{}):(0,K.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[c?null:(0,K.jsx)(_r,{}),ce]});return ie&&c?(0,K.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:ie}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(ot,{children:le}),(0,K.jsx)(Rt,{isOpen:h,assistantId:e,onClose:()=>g(!1),onCreated:()=>{g(!1),f.refetch()}})]})}function Cr(){let e=a(),t=s(),{scheduleId:n}=o(),r=it(),i=t.pathname===U.schedules.root||t.pathname.startsWith(`${U.schedules.root}/`)?`schedules`:`notifications`,c=n??null,l=(0,W.useCallback)(t=>{e(t===`schedules`?U.schedules.root:U.home)},[e]),u=(0,W.useCallback)(t=>{e(t?U.schedules.detail(t):U.schedules.root)},[e]),d=nt.use.setTopBarCenter(),p=De(),{conversations:m}=Ge(r),{conversations:h}=Ye(r,!0),{conversations:g}=et(r,!0),_=(0,W.useMemo)(()=>new Set(He(m,h,g).map(e=>e.conversationId)),[m,h,g]);return(0,W.useEffect)(()=>(d(p?(0,K.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{d(null)}),[p,d]),(0,K.jsx)(Sr,{assistantId:r,validConversationIds:_,activeTab:i,onTabChange:l,routeScheduleId:c,onSelectScheduleId:u,onStartNewChat:()=>{Oe.getState().setMainView(`chat`);let t=Ae();ke.getState().setActiveConversationId(t),e(U.conversation(t)),Me()},onOpenConversation:t=>e(U.conversation(t))})}export{Cr as HomePageRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{$ as o,et as s}from"./local-mode-CvrNMtPF.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{n as l}from"./resolved-assistants-store-Cp4J43BK.js";import{i as u}from"./auth-store-B2Zo6DUE.js";import{a as d,r as f}from"./routes-Cj4wRAOK.js";import{t as p}from"./client-feature-flag-store-k_bI655l.js";import{t as m}from"./use-onboarding-login-CyEAqbC7.js";import{Hi as h,Qt as g,oa as _}from"./index-0XgM92Lz.js";import{r as v}from"./provider-key-DIchy_Bc.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=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 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{O as r,t as i}from"./button-D7s2Q_uG.js";import{d as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./useMutation-Lj4VunQV.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./card-BibIM9x3.js";import"./src-mai-NajT.js";import{t as d}from"./confirm-dialog-CfOXCE1N.js";import{n as f,s as p,t as m}from"./install-s7InKiDi.js";import{t as h}from"./chevron-left-DghyKSEE.js";import{t as g}from"./chevron-right-B6vEpVY0.js";import{n as _}from"./animated-avatar-BSEt2q64.js";import{t as v}from"./file-text-ClqzuFsu.js";import{n as y,t as b}from"./minimize-2-dKm10qRD.js";import{t as x}from"./pencil-B90pDI55.js";import{t as S}from"./save-BpAesNEP.js";import{t as C}from"./sparkles-Bla177ar.js";import{t as w}from"./x-DxL-bCuT.js";import{Gt as T,_t as E,gt as ee}from"./react-query.gen-CsMIK93J.js";import{r as D}from"./api-Deex2etA.js";import{a as O}from"./routes-Cj4wRAOK.js";import{n as k}from"./viewer-store-BKkbfdPD.js";import{t as A}from"./conversation-store-SjqDbOcn.js";import{t as j}from"./conversation-selection-DA_7HozA.js";import{t as M}from"./misc-Bm2e0rTa.js";import{t as N}from"./proxy-i05YF9w2.js";import{t as te}from"./AnimatePresence-k-NoyzmC.js";import{Gi as P,Jr as ne,Xr as F,Yr as I,_i as L,ar as re,er as ie,ft as ae,gt as R,ir as oe,qr as z,rr as B,tr as V}from"./index-0XgM92Lz.js";import{t as H}from"./use-active-assistant-id-D4UJEQM5.js";var se=e(r(),1),U=e(n(),1),W=l();function G(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function K({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,U.useState)(null),[o,s]=(0,U.useState)(!0),[c,l]=(0,U.useState)(!1),u=(0,U.useRef)(null),[d,f]=(0,U.useState)(0),[p,m]=(0,U.useState)(0),[h,g]=(0,U.useState)(0);(0,U.useEffect)(()=>{if(u.current===e)return;let n=!1;return V(e).then(r=>{if(!n&&(u.current=e,a(r),s(!1),r&&t)){let e=r.bodyShapes.findIndex(e=>e.id===t.bodyShape),n=r.eyeStyles.findIndex(e=>e.id===t.eyeStyle),i=r.colors.findIndex(e=>e.id===t.color);e>=0&&f(e),n>=0&&m(n),i>=0&&g(i)}}),()=>{n=!0}},[e,t]);let v=(0,U.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),m(Math.floor(Math.random()*i.eyeStyles.length)),g(Math.floor(Math.random()*i.colors.length)))},[i]),y=(0,U.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[p].id,color:i.colors[h].id};l(!0);try{await B(e,t),n?.(t)}finally{l(!1)}},[i,d,p,h,e,n]);if(o)return(0,W.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,W.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})});if(!i)return(0,W.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.`});let b=i.bodyShapes[d],x=i.eyeStyles[p],C=i.colors[h];return(0,W.jsxs)(`div`,{className:`space-y-6`,children:[(0,W.jsx)(`div`,{className:`flex justify-center`,children:(0,W.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,W.jsx)(ae,{components:i,bodyShapeId:b.id,eyeStyleId:x.id,colorId:C.id,size:160})})}),(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(q,{label:`Body`,value:b.id,onPrev:()=>f(G(d,i.bodyShapes.length,`backward`)),onNext:()=>f(G(d,i.bodyShapes.length,`forward`))}),(0,W.jsx)(q,{label:`Eyes`,value:x.id,onPrev:()=>m(G(p,i.eyeStyles.length,`backward`)),onNext:()=>m(G(p,i.eyeStyles.length,`forward`))}),(0,W.jsx)(q,{label:`Color`,value:C.id,colorHex:C.hex,onPrev:()=>g(G(h,i.colors.length,`backward`)),onNext:()=>g(G(h,i.colors.length,`forward`))})]}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsxs)(`button`,{type:`button`,onClick:v,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,W.jsx)(_,{className:`h-4 w-4`}),`Randomize`]}),(0,W.jsxs)(`button`,{type:`button`,onClick:y,disabled:c,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] px-3 py-2 text-body-medium-default text-[var(--system-positive-strong)] transition-colors hover:opacity-90 disabled:opacity-50`,children:[(0,W.jsx)(S,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,W.jsx)(`button`,{type:`button`,onClick:r,className:`flex cursor-pointer items-center justify-center rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,W.jsx)(w,{className:`h-4 w-4`})})]})]})}function q({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,W.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,W.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:r,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,W.jsx)(h,{className:`h-4 w-4`})}),(0,W.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,W.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,W.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,W.jsx)(`button`,{type:`button`,onClick:i,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,W.jsx)(g,{className:`h-4 w-4`})})]})]})}function ce({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,U.useId)(),u=(0,U.useRef)(null),d=(0,U.useRef)(null),f=(0,U.useRef)(null),[p,m]=(0,U.useState)(`actions`),[_,v]=(0,U.useState)(!1);(0,U.useEffect)(()=>{e&&d.current?.focus()},[e]),(0,U.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let y=(0,U.useCallback)(()=>{m(`actions`),t()},[t]),b=(0,U.useCallback)(e=>{e.key===`Escape`&&(p===`character-builder`?m(`actions`):y())},[y,p]),x=(0,U.useCallback)(e=>{e.target===u.current&&y()},[y]),S=(0,U.useCallback)(()=>{m(`actions`)},[]),T=(0,U.useCallback)(()=>{m(`character-builder`)},[]),E=(0,U.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await oe(n,t);v(!1),r&&(s(),y()),f.current&&(f.current.value=``)},[n,s,y]),ee=(0,U.useCallback)(()=>{f.current?.click()},[]),D=(0,U.useCallback)(()=>{y(),c?.()},[y,c]),O=(0,U.useCallback)(e=>{o(e),y()},[o,y]);return e?(0,se.createPortal)((0,W.jsxs)(`div`,{ref:u,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:b,onClick:x,children:[(0,W.jsxs)(`div`,{className:`mx-4 flex w-full max-w-md flex-col rounded-xl border shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`85vh`},children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p===`character-builder`&&(0,W.jsx)(`button`,{type:`button`,onClick:S,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Back`,children:(0,W.jsx)(h,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,W.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:p===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,W.jsx)(`button`,{ref:d,type:`button`,onClick:y,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Close`,children:(0,W.jsx)(w,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,W.jsx)(`div`,{className:`overflow-y-auto p-6`,children:p===`actions`?(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,W.jsx)(R,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,W.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,W.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,W.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,W.jsx)(F,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,W.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,W.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,W.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,W.jsxs)(`button`,{type:`button`,onClick:ee,disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,W.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,W.jsx)(P,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,W.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,W.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,W.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,W.jsxs)(`button`,{type:`button`,onClick:D,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,W.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,W.jsx)(C,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,W.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,W.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,W.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,W.jsx)(K,{assistantId:n,initialTraits:i,onSave:O,onCancel:S})})]}),(0,W.jsx)(`input`,{ref:f,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var le={displayName:`Other`,color:`#888`,emoji:`?`},ue={email:{displayName:`Email`,color:`#A665C9`,emoji:`📧`},calendar:{displayName:`Calendar`,color:`#0E9B8B`,emoji:`📅`},messaging:{displayName:`Messaging`,color:`#6B8AE0`,emoji:`💬`},browsing:{displayName:`Browsing`,color:`#E9642F`,emoji:`🌐`},productivity:{displayName:`Productivity`,color:`#0E9B8B`,emoji:`📋`},development:{displayName:`Development`,color:`#EF4400`,emoji:`🔨`},voice:{displayName:`Voice`,color:`#DB4B77`,emoji:`🎤`},commerce:{displayName:`Commerce`,color:`#E9C91A`,emoji:`🛒`},content:{displayName:`Content`,color:`#DB4B77`,emoji:`🎨`},health:{displayName:`Health`,color:`#4C9B50`,emoji:`❤️`},system:{displayName:`System`,color:`#8D99A5`,emoji:`⚙️`},integrations:{displayName:`Integrations`,color:`#8D99A5`,emoji:`🔗`}};function J(e){return ue[e]??le}var Y=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],de={email:[{label:`Sending`,emoji:`📨`,skillIds:new Set([`agentmail`,`email-setup`])},{label:`Reading`,emoji:`📬`,skillIds:new Set([`email-channel`,`gmail`])}],messaging:[{label:`Chat`,emoji:`💬`,skillIds:new Set([`messaging`,`slack`,`telegram`])},{label:`Notifications`,emoji:`🔔`,skillIds:new Set([`notifications`])},{label:`People`,emoji:`👥`,skillIds:new Set([`contacts`,`followups`])}],development:[{label:`Coding`,emoji:`💻`,skillIds:new Set([`typescript-eval`,`frontend-design`])},{label:`Dev Tools`,emoji:`🔧`,skillIds:new Set([`api-mapping`,`cli-discover`,`subagent`,`app-builder`])}],browsing:[{label:`Control`,emoji:`🎮`,skillIds:new Set([`computer-use`,`macos-automation`,`browser`])},{label:`Triggers`,emoji:`⏰`,skillIds:new Set([`watcher`,`time-based-actions`])}],commerce:[{label:`Shopping`,emoji:`🛒`,skillIds:new Set([`amazon`,`doordash`,`restaurant-reservation`])}],system:[{label:`Core`,emoji:`🧠`,skillIds:new Set([`knowledge-graph`,`skills-catalog`,`self-upgrade`])},{label:`Daily`,emoji:`☀️`,skillIds:new Set([`start-the-day`,`weather`])}]},fe=14,pe=10,me=6;function he(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:fe};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:pe};case`skill`:return{shape:`diamond`,size:64,cornerRadius:me}}}function ge(e,t,n,r){let i=Math.min(Math.max(0,t),e),a=Math.abs(n),o=Math.abs(r);if(a<1e-6&&o<1e-6)return e;let s=e/Math.max(a,o),c=s*n,l=s*r;if(!(Math.abs(c)>e-i&&Math.abs(l)>e-i))return s;let u=Math.sign(c)*(e-i),d=Math.sign(l)*(e-i),f=n*u+r*d,p=u*u+d*d-i*i,m=f*f-p;return m<0?s:f+Math.sqrt(m)}function _e(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return ge(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return ge(e.size/2,e.cornerRadius,r,i)}}}function ve(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);if(i<1e-6)return{x1:e.x,y1:e.y,x2:t.x,y2:t.y};let a=n/i,o=r/i,s=Math.max(0,_e(he(e),a,o)-3),c=Math.max(0,_e(he(t),-a,-o)-3);if(s+c>=i){let n=(e.x+t.x)/2,r=(e.y+t.y)/2;return{x1:n,y1:r,x2:n,y2:r}}return{x1:e.x+a*s,y1:e.y+o*s,x2:t.x-a*c,y2:t.y-o*c}}var ye=10,be=200,xe=160,X=160;function Se(e,t,n,r){let i={x:e.x,y:e.y};for(let e=0;e<30;e++){let e=0,a=0,o=0;for(let s of n){let n=i.x-s.x,c=i.y-s.y,l=Math.sqrt(n*n+c*c),u=t+s.radius+r-l;u>e&&(e=u,l<.1?(a=u+1,o=0):(a=n/l*(u+1),o=c/l*(u+1)))}if(e<=0)break;i={x:i.x+a,y:i.y+o}}return i}function Ce(e,t,n,r,i,a,o,s,c,l,u,d){if(e.length===0)return;let f=a+o,p=Math.cos(r),m=Math.sin(r),h=-m,g=p,_=f*.88,v=J(c).color;e.forEach((r,c)=>{let y=Math.floor(c/3),b=c%3,x=Math.min(3,e.length-y*3),S=(b-(x-1)/2)*f,C=y%2==1&&x<3?f*.5:0,w=i+y*_,T=Se({x:n.x+w*p+(S+C)*h,y:n.y+w*m+(S+C)*g},a/2,u,o);u.push({id:r.id,kind:{type:`skill`,item:r},parentId:t,depth:s,x:T.x,y:T.y,radius:a/2}),d.push({id:`edge-${l}-skill-${c}`,fromId:t,toId:r.id,color:v})})}function we(e,t,n=90){let r=[],i=[],a=ye;if(r.push({id:`__center__`,kind:{type:`center`},parentId:null,depth:0,x:e.x,y:e.y,radius:n/2}),t.length===0)return{nodes:r,edges:i};let o=t.length,s=2*Math.PI/o;return t.forEach((t,n)=>{let o=-Math.PI/2+n*s,c=`cat-${t.category}`,l=J(t.category).color,u=Se({x:e.x+be*Math.cos(o),y:e.y+be*Math.sin(o)},80/2,r,a);r.push({id:c,kind:{type:`category`,category:t.category},parentId:`__center__`,depth:1,x:u.x,y:u.y,radius:80/2}),i.push({id:`edge-center-${t.category}`,fromId:`__center__`,toId:c,color:l});let d=de[t.category];if(d&&d.length>0){let e=[],n=new Set;for(let r of d){let i=t.items.filter(e=>r.skillIds.has(e.id));i.length>0&&(e.push({def:r,items:i}),i.forEach(e=>n.add(e.id)))}let f=t.items.filter(e=>!n.has(e.id));if(f.length>0){if(e.length===0){Ce(t.items,c,u,o,X,64,a,2,t.category,t.category,r,i);return}let n=e[e.length-1];n&&n.items.push(...f)}let p=e.length,m=s*.55,h=p<=1?0:Math.min(m,(p-1)*.35);e.forEach((e,n)=>{let s;s=p===1?o:o+(n/(p-1)-.5)*h*2;let d=`subcat-${t.category}-${n}`,f=Se({x:u.x+xe*Math.cos(s),y:u.y+xe*Math.sin(s)},56/2,r,a);r.push({id:d,kind:{type:`subCategory`,label:e.def.label,emoji:e.def.emoji,category:t.category},parentId:c,depth:2,x:f.x,y:f.y,radius:56/2}),i.push({id:`edge-${t.category}-sub-${n}`,fromId:c,toId:d,color:l}),Ce(e.items,d,f,s,X,64,a,3,t.category,d,r,i)})}else Ce(t.items,c,u,o,X,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Te(e){let t=new Map;for(let n of e){let e=t.get(n.category);e?e.push(n):t.set(n.category,[n])}let n=[];for(let e of Y){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!Y.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function Ee(e,t,n,r,i=120,a=.4,o=3){if(e.length===0)return{zoom:1,panX:0,panY:0};let s=1/0,c=-1/0,l=1/0,u=-1/0;for(let t of e)s=Math.min(s,t.x),c=Math.max(c,t.x),l=Math.min(l,t.y),u=Math.max(u,t.y);let d=c-s+i*2,f=u-l+i*2;if(d<=0||f<=0||n<=0||r<=0)return{zoom:1,panX:0,panY:0};let p=Math.min(n/d,r/f),m=Math.max(a,Math.min(o,p)),h=(s+c)/2-t.x,g=(l+u)/2-t.y;return{zoom:m,panX:-h*m,panY:-g*m}}var De=.4,Oe=.25,Z={x:600,y:450},ke={type:`spring`,stiffness:180,damping:20},Ae={category:{size:80,cornerRadius:14,dashed:!1,fillPct:14,fillHoverPct:25,strokePct:55,strokeHoverPct:85,strokeWidth:2,strokeHoverWidth:2.5},subcategory:{size:56,cornerRadius:10,dashed:!0,fillPct:10,fillHoverPct:20,strokePct:40,strokeHoverPct:70,strokeWidth:1.5,strokeHoverWidth:2}},je={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`};function Me({edges:e,nodeById:t,visible:n}){return(0,W.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 h-full w-full overflow-visible`,children:e.map(e=>{let r=t.get(e.fromId),i=t.get(e.toId);if(!r||!i)return null;let{x1:a,y1:o,x2:s,y2:c}=ve(r,i);return(0,W.jsx)(`line`,{x1:a,y1:o,x2:s,y2:c,stroke:e.color,strokeWidth:1.5,opacity:n?.45:0,style:{transition:`opacity 0.4s ease`}},e.id)})})}function Q({shape:e,label:t}){return(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,W.jsx)(`span`,{className:M(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,je[e])})}),(0,W.jsx)(`span`,{children:t})]})}function Ne({visible:e}){return(0,W.jsx)(`div`,{"data-constellation-control":!0,className:`pointer-events-none absolute bottom-4 left-4 rounded-md px-3 py-2 text-body-small-default`,style:{backgroundColor:`color-mix(in srgb, var(--surface-overlay) 80%, transparent)`,border:`1px solid color-mix(in srgb, var(--content-tertiary) 20%, transparent)`,color:`var(--content-secondary)`,opacity:+!!e,transition:`opacity 0.35s ease`},children:(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsx)(Q,{shape:`category`,label:`Category`}),(0,W.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,W.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,W.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function Pe({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,a=e.kind===`skill`?I:v;return(0,W.jsxs)(u,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-body-small-emphasised text-[var(--content-default)]`,style:{backgroundColor:`${t}33`},children:[(0,W.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,W.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,W.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,W.jsx)(p,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,W.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function Fe({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,U.useRef)(null);return(0,U.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,U.useCallback)(i=>{r.current&&=(clearTimeout(r.current),null),e&&i.detail===1&&(r.current=setTimeout(()=>{r.current=null,e()},n)),t&&i.detail>=2&&i.detail%2==0&&t()},[e,t,n])}function Ie(e,t,n){let[r,i]=(0,U.useState)(!1),a=r||n===!0,o=Fe({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,U.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,U.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,U.useCallback)(()=>i(!0),[]),onMouseLeave:(0,U.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function Le(e,t){switch(e.kind.type){case`center`:return{visible:t>=1};case`category`:return{visible:t>=2};case`subCategory`:return{visible:t>=3};case`skill`:return{visible:t>=4}}}function Re(e,t){switch(e.kind.type){case`center`:return .05;case`category`:return t*.04;case`subCategory`:return t*.03;case`skill`:return .08+t*.02}}function ze(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=J(e.kind.category);return{id:e.id,label:t.displayName,emoji:t.emoji,category:e.kind.category,kind:`workspaceFile`}}case`subCategory`:return{id:e.id,label:e.kind.label,emoji:e.kind.emoji,category:e.kind.category,kind:`workspaceFile`};default:return}}function Be({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Ae[e],{active:f,...p}=Ie(l,u,c),m={left:t-d.size/2,top:n-d.size/2,width:d.size,height:d.size,borderRadius:d.cornerRadius,backgroundColor:$(r,f?d.fillHoverPct:d.fillPct),borderStyle:d.dashed?`dashed`:`solid`,borderColor:$(r,f?d.strokeHoverPct:d.strokePct),borderWidth:f?d.strokeHoverWidth:d.strokeWidth,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`,cursor:l||u?`pointer`:`default`};return(0,W.jsx)(N.div,{className:`pointer-events-auto absolute flex flex-col items-center justify-center`,"data-constellation-node":!0,style:m,initial:{opacity:0,scale:.3},animate:{opacity:+!!a.visible,scale:a.visible?1:.3},transition:{...ke,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function Ve({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=Ie(c,l,s);return(0,W.jsxs)(N.div,{className:`pointer-events-auto absolute`,"data-constellation-node":!0,style:{left:e-64/2,top:t-64/2,width:64,height:64,cursor:c||l?`pointer`:`default`},initial:{opacity:0,scale:.4},animate:{opacity:+!!a.visible,scale:a.visible?1:.4},transition:{...ke,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,W.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0 rounded-md`,style:{transform:`rotate(45deg)`,backgroundColor:$(r,u?20:10),border:`${u?2:1.5}px solid ${$(r,u?70:40)}`,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`}}),(0,W.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,W.jsx)(p,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,W.jsx)(`span`,{className:`mt-0.5 max-w-[42px] truncate text-[9px] font-medium leading-tight text-[var(--content-default)]`,title:n.label,children:n.label})]})]})}function He({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=Le(e,n),u=Re(e,t);if(e.kind.type===`center`)return(0,W.jsx)(N.div,{className:`pointer-events-none absolute`,style:{left:e.x-90/2,top:e.y-90/2,width:90,height:90},initial:{opacity:0,scale:.6},animate:{opacity:+!!l.visible,scale:l.visible?1:.6},transition:{...ke,delay:u},children:(0,W.jsx)(R,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=J(e.kind.category),n=e.kind.type===`category`?`category`:`subcategory`,r=e.kind.type===`category`?t.emoji:e.kind.emoji,i=e.kind.type===`category`?t.displayName:e.kind.label,a=n===`category`?`text-[20px]`:`text-[14px]`,d=n===`category`?`mt-1 max-w-[85%] truncate text-label-medium-default leading-tight text-[var(--content-default)]`:`mt-0.5 max-w-[85%] truncate text-[9.5px] font-medium leading-tight text-[var(--content-default)]`;return(0,W.jsxs)(Be,{variant:n,x:e.x,y:e.y,color:t.color,tooltip:i,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c,children:[(0,W.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,W.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=J(t.category);return(0,W.jsx)(Ve,{x:e.x,y:e.y,item:t,color:n.color,fallbackEmoji:n.emoji,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c})}return null}function Ue(e,t,n,r){let[i,a]=(0,U.useState)({width:0,height:0}),[o,s]=(0,U.useState)(null),[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(!1),[f,p]=(0,U.useState)(null),[m,h]=(0,U.useState)(!1),g=(0,U.useRef)(null),_=(0,U.useRef)(null);(0,U.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;a({width:e,height:n})}});n.observe(t);let r=t.getBoundingClientRect();return a({width:r.width,height:r.height}),()=>n.disconnect()},[e]);let v=(0,U.useMemo)(()=>Ee(t,Z,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,U.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,U.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,U.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,U.useCallback)((e,t)=>{let n=Math.max(De,Math.min(3,e));if(n===y)return;let r=n/y;l({x:b.x*r,y:b.y*r}),s(n),p(null),t?.animate&&x()},[b.x,b.y,x,y]),w=(0,U.useCallback)(()=>{C(y+Oe,{animate:!0})},[C,y]),T=(0,U.useCallback)(()=>{C(y-Oe,{animate:!0})},[C,y]),E=(0,U.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Z.x-t.x)*r,y:(Z.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,U.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.preventDefault();let t=e.ctrlKey||e.metaKey?150:400;C(y*(1+-e.deltaY/t))};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[C,e,y]),{zoom:y,pan:b,isDragging:u,isAnimating:m,viewSize:i,zoomedNodeId:f,zoomIn:w,zoomOut:T,fitAll:S,zoomToNode:E,handlePointerDown:(0,U.useCallback)(e=>{if(e.button!==0)return;let t=e.target;t.closest(`[data-constellation-control]`)||(t.closest(`[data-constellation-node]`)||r?.(),_.current={startX:e.clientX,startY:e.clientY,panStartX:b.x,panStartY:b.y,pointerId:e.pointerId,moved:!1},d(!0),g.current!=null&&(window.clearTimeout(g.current),g.current=null),h(!1),e.currentTarget.setPointerCapture(e.pointerId))},[r,b.x,b.y]),handlePointerMove:(0,U.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;!t.moved&&(Math.abs(n)>3||Math.abs(r)>3)&&(t.moved=!0,p(null)),l({x:t.panStartX+n,y:t.panStartY+r})},[]),handlePointerUp:(0,U.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function We({skills:e,components:t,traits:n,customImageUrl:r,className:a,isFullscreen:o,onToggleFullscreen:s,onSelectSkill:c}){let l=(0,U.useRef)(null),u=(0,U.useRef)(null),[d,f]=(0,U.useState)(0),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)({width:240,height:120}),{nodes:_,edges:v}=(0,U.useMemo)(()=>we(Z,Te(e.map(e=>({id:e.id,label:e.name,icon:e.icon,emoji:e.emoji,category:e.category??`system`,description:e.description,kind:`skill`}))),90),[e]),x=(0,U.useMemo)(()=>{let e=new Map;for(let t of _)e.set(t.id,t);return e},[_]),S=(0,U.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?ze(e)??null:null},[p,x]),C=(0,U.useCallback)(()=>{m(null)},[]),w=Ue(l,_,x,C),T=e.length;(0,U.useEffect)(()=>{let e=!1,t=t=>{e||f(t)};t(0);let n=[setTimeout(()=>t(1),100),setTimeout(()=>t(2),300),setTimeout(()=>t(3),500),setTimeout(()=>t(4),700)];return()=>{e=!0,n.forEach(clearTimeout)}},[T]);let E=(0,U.useCallback)(e=>{m(t=>t===e?null:e)},[]),ee=(0,U.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,U.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,U.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();g({width:t.width,height:t.height})},[S]);let D={x:w.viewSize.width/2,y:w.viewSize.height/2},O=D.x-Z.x*w.zoom+w.pan.x,k=D.y-Z.y*w.zoom+w.pan.y,A=p==null?void 0:x.get(p),j=0,M=0;if(S!=null&&A){let e=O+A.x*w.zoom,t=k+A.y*w.zoom,n=e,r=t-60,i=h.width/2,a=h.height/2,o=i+8,s=Math.max(o,w.viewSize.width-i-8),c=a+8,l=Math.max(c,w.viewSize.height-a-8);j=Math.min(Math.max(n,o),s),M=Math.min(Math.max(r,c),l)}let P=(0,U.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,W.jsxs)(`div`,{ref:l,className:`relative select-none overflow-hidden rounded-xl ${a??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle, color-mix(in srgb, var(--content-tertiary) 20%, transparent) 1px, transparent 1px)`,backgroundSize:`24px 24px`,backgroundPosition:`12px 12px`,touchAction:`none`,cursor:w.isDragging?`grabbing`:`grab`,userSelect:`none`,WebkitUserSelect:`none`},onPointerDown:w.handlePointerDown,onPointerMove:w.handlePointerMove,onPointerUp:w.handlePointerUp,onPointerCancel:w.handlePointerUp,children:[(0,W.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 6%, transparent), transparent 60%)`}}),(0,W.jsxs)(`div`,{className:`absolute inset-0`,style:{transform:`translate(${O}px, ${k}px) scale(${w.zoom})`,transformOrigin:`0 0`,transition:w.isAnimating?`transform 0.4s cubic-bezier(0.22, 1, 0.36, 1)`:`none`},children:[(0,W.jsx)(Me,{edges:v,nodeById:x,visible:d>=2}),_.map((e,i)=>(0,W.jsx)(He,{node:e,index:i,phase:d,components:t,traits:n,customImageUrl:r,isSelected:p===e.id||w.zoomedNodeId===e.id,onSingleClick:()=>E(e.id),onDoubleClick:()=>P(e.id)},e.id))]}),s&&(0,W.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,W.jsx)(i,{variant:`ghost`,iconOnly:o?(0,W.jsx)(b,{}):(0,W.jsx)(y,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,W.jsx)(Ne,{visible:d>=4}),(0,W.jsx)(te,{children:S==null?null:(0,W.jsx)(N.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:j,top:M,transform:`translate(-50%, -50%)`},initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:`easeOut`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,W.jsx)(Pe,{item:S,color:J(S.category).color,onViewDetails:c&&S.kind===`skill`?ee:void 0})},`constellation-popover`)}),(0,W.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,W.jsx)(i,{variant:`ghost`,iconOnly:(0,W.jsx)(z,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,W.jsx)(i,{variant:`ghost`,iconOnly:(0,W.jsx)(ne,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,W.jsx)(i,{variant:`ghost`,iconOnly:(0,W.jsx)(L,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function Ge({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:a,traits:o,customImageUrl:s,onOpenThread:c,onOpenModal:l}){return(0,W.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,W.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,W.jsx)(`div`,{className:`pr-8 text-center`,children:(0,W.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,W.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,W.jsx)(x,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your name`),disabled:!c,"aria-label":`Edit identity`,title:`Edit Name`,className:`absolute right-6 top-6`,tintColor:`var(--content-tertiary)`})]}),(0,W.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,W.jsx)(R,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,W.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,W.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,W.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,W.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,W.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,W.jsx)(x,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your role description`),disabled:!c,"aria-label":`Edit role`,title:`Edit Role`,tintColor:`var(--content-tertiary)`})]}),(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,W.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,W.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,W.jsx)(x,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your personality`),disabled:!c,"aria-label":`Edit personality`,title:`Edit Personality`,tintColor:`var(--content-tertiary)`})]}),(0,W.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,W.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,W.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Ke({assistantId:e,onOpenThread:n}){let r=o(),{components:i,traits:a,customImageUrl:l,isLoading:u,invalidate:p}=ie(e),[h,g]=(0,U.useState)(null),[_,v]=(0,U.useState)(null),[y,b]=(0,U.useState)(null),[x,S]=(0,U.useState)(!1),[C,w]=(0,U.useState)(null),[O,k]=(0,U.useState)(null),[A,j]=(0,U.useState)(null),[M,N]=(0,U.useState)(null);(0,U.useEffect)(()=>{let n=!1;return Promise.all([re(e),D(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(g(t),r.ok?v(r.data.created):v(null),b(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let te=y!==e||u,[P,ne]=(0,U.useState)(!1),F=s({...ee({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e}),I=(0,U.useMemo)(()=>F.data??[],[F.data]),L=(0,U.useCallback)(()=>{p()},[p]),ae=(0,U.useCallback)(()=>{S(!0)},[]),R=(0,U.useCallback)(()=>{S(!1)},[]),oe=(0,U.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]),z=(0,U.useCallback)(()=>{r.invalidateQueries({queryKey:E({path:{assistant_id:e}})})},[e,r]),B=c({mutationFn:t=>m(e,t),onMutate:e=>k(e),onSettled:()=>{k(null),z()}}),V=T({onMutate:e=>j(e.path.id),onSettled:()=>{j(null),z()}}),H=(0,U.useCallback)(e=>{B.mutate(e.slug??e.id)},[B]),se=(0,U.useCallback)(e=>{N(e)},[]),G=(0,U.useCallback)(()=>{M&&(V.mutate({path:{assistant_id:e,id:M.id}}),N(null))},[e,M,V]),K=(0,U.useMemo)(()=>C?I.find(e=>e.id===C)??null:null,[I,C]),q=(0,W.jsx)(d,{open:M!==null,title:`Remove skill`,message:M?`Remove "${M.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:G,onCancel:()=>N(null)});if(K)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(f,{assistantId:e,skill:K,onBack:()=>w(null),onInstall:()=>H(K),onRemove:()=>se(K),isInstalling:O===(K.slug??K.id),isRemoving:A===K.id}),q]});if(te)return(0,W.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,W.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let le=h?.name||`Assistant`,ue=h?.personality||``,J=h?.role||`Not set`,Y=_?new Date(_).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,W.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,W.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${P?`hidden`:`flex`}`,children:(0,W.jsx)(Ge,{assistantName:le,assistantPersonality:ue,assistantRole:J,hatchedDate:Y,components:i,traits:a,customImageUrl:l,onOpenThread:n,onOpenModal:ae})}),(0,W.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:(0,W.jsx)(We,{skills:I,components:i,traits:a,customImageUrl:l,className:`h-full w-full`,isFullscreen:P,onToggleFullscreen:()=>ne(e=>!e),onSelectSkill:w})}),(0,W.jsx)(ce,{open:x,onClose:R,assistantId:e,components:i,traits:a,customImageUrl:l,onSaveCharacter:L,onUploadImage:L,onGenerateWithAI:n?oe:void 0}),q]})}function qe({onOpenThread:e}){return(0,W.jsx)(Ke,{assistantId:H(),onOpenThread:e})}function Je(){let e=a();return(0,W.jsx)(qe,{onOpenThread:t=>{k.getState().setMainView(`chat`);let n=j();A.getState().setActiveConversationId(n),e(`${O.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},H())}export{Je as IdentityPageRoute};