@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
@@ -0,0 +1 @@
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-D-AX8Voo.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-ChWAdhLG.js";import{t as m}from"./panel-item-Q1g7DFJw.js";import{t as h}from"./menu-BLJEjTFD.js";import{n as g,u as _}from"./src-B-I7oowl.js";import{t as v}from"./notice-CqRgVmeL.js";import{t as y}from"./tag-CW6WC4fE.js";import{n as b,t as x}from"./input-D4W4p0pZ.js";import{t as S}from"./toggle-X_kQW5my.js";import{n as C}from"./list-row-Di0MK3wu.js";import{n as w}from"./stat-square-8mff1dLC.js";import{t as T}from"./modal-BNAVT2FK.js";import{n as E}from"./toast-sdJJ6aTV.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 P}from"./repeat-nCGBxntG.js";import{t as ee}from"./sparkles-Bla177ar.js";import{t as F}from"./x-DxL-bCuT.js";import{Bn as I,Fn as L,In as R,Ln as te,Rn as ne,Vn as z}from"./sdk.gen-zA5ns5LT.js";import{A as re,F as ie,I as ae,M as oe,Mt as se,O as B,Rt as ce,c as le,ct as ue,d as de,dt as fe,ft as pe,g as me,h as he,j as ge,k as _e,lt as ve,m as ye,p as be,st as xe,ut as Se,zt as Ce}from"./react-query.gen-BwkZCSTW.js";import{n as V,r as H,t as U}from"./api-errors-DPruG7q9.js";import{a as we}from"./api-DnqFanVx.js";import{u as Te}from"./native-biometric-BK6_QtW5.js";import{a as W}from"./routes-C6gxiCrz.js";import{n as Ee}from"./utils-P-AuKiE9.js";import{n as De}from"./use-is-mobile-jACt_z2d.js";import{t as Oe}from"./effective-timezone-B99h9zr7.js";import{n as ke}from"./viewer-store-BR99G-Ii.js";import{t as Ae}from"./conversation-store-B8D6wE18.js";import{t as je}from"./conversation-selection-CNssqGbG.js";import{i as Me}from"./composer-focus-n921WsjZ.js";import{t as Ne}from"./browser-DM38C5zq.js";import{t as Pe}from"./lib-BNGjysgr.js";import{Ai as Fe,An as Ie,Cn as Le,En as Re,Fa as ze,Li as Be,Oa as Ve,Sn as He,Ti as Ue,Vi as We,Wi as Ge,bi as Ke,er as qe,fa as Je,ka as Ye,ui as Xe,wn as Ze,xa as Qe,xn as $e,ya as et,yi as tt,z as nt,zi as rt}from"./index-FlO-C4WJ.js";import{t as it}from"./use-active-assistant-id-BVzVN4_g.js";import{t as at}from"./detail-card-Bga8Jc8y.js";import{t as ot}from"./page-shell-rqT8-trD.js";import{n as st,r as ct}from"./format-date-D4tzd1DT.js";import{n as lt}from"./usage-window-B-YOzKJi.js";import{n as ut,t as dt}from"./schedules-D_sclJNA.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`}]]),G=e(n(),1);async function ht(e,t){let{error:n,response:r}=await I({path:{assistant_id:e},body:t,throwOnError:!1});if(V(r,n,`Failed to create schedule.`),!r.ok)throw new U(r.status,H(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 te({path:{assistant_id:e,id:t},query:{limit:n,before:r},throwOnError:!1});if(V(o,a,`Failed to load schedule runs.`),!o.ok)throw new U(o.status,H(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 z({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(V(i,r,`Failed to load schedule usage.`),!i.ok)throw new U(i.status,H(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(V(i,r,`Failed to toggle schedule.`),!i.ok)throw new U(i.status,H(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(V(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new U(r.status,H(n,r,`Failed to delete schedule.`))}async function xt(e,t){let{error:n,response:r}=await R({path:{assistant_id:e,id:t},throwOnError:!1});if(V(r,n,`Failed to run schedule.`),!r.ok)throw new U(r.status,H(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 K(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=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Et(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${Tt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function Dt(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function 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=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${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(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=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,q.jsx)(T.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(zt,{assistantId:t,onClose:n,onCreated:r}):null})}function zt({assistantId:e,onClose:t,onCreated:n}){let r=Ie(),[a,o]=(0,G.useState)(``),[s,c]=(0,G.useState)(``),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`simple`),[p,m]=(0,G.useState)(St),[h,g]=(0,G.useState)(``),[_,v]=(0,G.useState)(!1),[y,S]=(0,G.useState)(null),C=a.trim(),w=s.trim(),E=l.trim(),D=h.trim(),O=(0,G.useMemo)(()=>d===`simple`?Et(p):D,[d,p,D]),k=(0,G.useMemo)(()=>d===`simple`?At(p):D||`Enter a cron expression to continue.`,[d,p,D]),A=(0,G.useMemo)(()=>Lt(r),[r]),j=C.length>0&&w.length>0&&E.length>0&&O.length>0&&!_;return(0,q.jsxs)(T.Content,{size:`md`,children:[(0,q.jsxs)(T.Header,{children:[(0,q.jsx)(T.Title,{children:`Create schedule`}),(0,q.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,q.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,q.jsx)(T.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(x,{label:`Name`,placeholder:`Morning briefing`,value:a,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.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,q.jsx)(Wt,{label:`Repeat`,children:d===`simple`?(0,q.jsx)(Bt,{cadence:p,onChange:m}):(0,q.jsx)(Ut,{value:h,onChange:g,onUseSimple:()=>f(`simple`)})}),(0,q.jsx)(Kt,{summary:k,mono:d===`advanced`&&D.length>0,timezoneLabel:A}),d===`simple`?(0,q.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,q.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,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:y}):null]})}),(0,q.jsxs)(T.Footer,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,q.jsx)(i,{variant:`primary`,type:`submit`,disabled:!j,children:_?`Creating…`:`Create schedule`})]})]})]})}function Bt({cadence:e,onChange:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(w,{items:jt,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,q.jsx)(Gt,{label:`At minute`,children:(0,q.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,q.jsx)(Gt,{label:`On these days`,children:(0,q.jsx)(Ht,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(Gt,{label:`On day`,children:(0,q.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,q.jsx)(Gt,{label:`At time`,children:(0,q.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,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(p,{options:Mt,value:String(i),onChange:e=>n(It(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(p,{options:Nt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.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,q.jsx)(`div`,{className:`flex gap-1.5`,children:Ct.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className: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,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.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,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`← Back to the simple builder`})]})}function Wt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function Gt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Kt({summary:e,mono:t,timezoneLabel:n}){return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(et,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:d(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function qt(e=Oe(),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 Jt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Yt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Yt.format(e)}function Xt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Zt(e){let t=Math.round(e/6e4);return t>=60&&t%60==0?`Every ${t/60} hr`:`Every ${t} min`}function Qt(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 $t(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function en(e){return $t(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}var tn={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function nn(e){if(e.cronExpression)return e.timezone?`Cron: ${e.cronExpression} (${e.timezone})`:`Cron: ${e.cronExpression}`;let t=Zt(e.intervalMs);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(t+=` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),t}function rn(e){return Zt(e.intervalMs)}var an=`After conversation activity`;function on(e,t){return e.status===`fired`||e.status===`cancelled`?!0:e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t}function sn(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?on(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 cn(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?vt(e,qt(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function ln(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function un(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 dn({status:e}){return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function fn({scheduleName:e,usage:t,onOpenUsage:n}){if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":`Loading schedule usage`,className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,q.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?`--`:Xt(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,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`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,q.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,q.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 pn({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":`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,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsxs)(`span`,{children:[`Next: `,J(r)]}):null,i?(0,q.jsxs)(`span`,{children:[`Last: `,J(i)]}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(fn,{scheduleName:e,usage:a}),s?(0,q.jsx)(y,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,q.jsx)(M,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function mn({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,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!h?(0,q.jsxs)(v,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,q.jsxs)(`div`,{children:[f?(0,q.jsx)(pn,{name:`Heartbeat`,subtitle:nn(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,p?(0,q.jsx)(pn,{name:`Consolidation`,subtitle:rn(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,q.jsx)(pn,{name:`Memory retrospective`,subtitle:an,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,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsxs)(v,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]});return(0,q.jsx)(at,{children:(0,q.jsx)(g.Root,{type:`multiple`,children:(0,q.jsxs)(g.Item,{value:`system-jobs`,children:[(0,q.jsxs)(g.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`System`}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Built-in jobs managed by the assistant runtime`})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[_.length>0?(0,q.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Y(y),` (7d)`]}):null,(0,q.jsx)(Ve,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(g.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:b})})]})})})}function hn(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 gn(e){return e.runs.map(e=>hn(e,`heartbeat`))}function _n(e){return e.runs.map(e=>hn(e,`consolidation`))}function vn(e){return e.runs.map(e=>hn(e,`retrospective`))}var Z=1e4;function yn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:un(n,r,i)}}function bn(e,n){let r=c(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:u}=l({...B(i),enabled:!!e,staleTime:Z}),{data:d,isLoading:f,isError:p,refetch:m}=l({...be(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:_,refetch:v}=l({...xe(i),enabled:!!e,staleTime:Z}),y={path:{assistant_id:e??``},query:{limit:100}},{data:b,isLoading:x,isError:S,refetch:C}=l({...oe(y),select:gn,enabled:!!e&&a!=null,staleTime:Z}),{data:w,isLoading:T,isError:D,refetch:O}=l({...me(y),select:_n,enabled:!!e&&d?.available===!0,staleTime:Z}),{data:k,isLoading:A,isError:j,refetch:M}=l({...Se(y),select:vn,enabled:!!e&&h?.available===!0,staleTime:Z}),N=(0,G.useMemo)(()=>qt(n),[n]),P=(0,G.useMemo)(()=>yn(x,S,tn.heartbeat,b,N),[b,S,x,N]),ee=(0,G.useMemo)(()=>yn(T,D,tn.consolidation,w,N),[w,D,T,N]),F=(0,G.useMemo)(()=>yn(A,j,tn.retrospective,k,N),[k,j,A,N]),I=t=>{if(!e)return;let n={heartbeat:{config:B(i).queryKey,runs:oe(y).queryKey,infinite:ge(i)},consolidation:{config:be(i).queryKey,runs:me(y).queryKey,infinite:he(i)},retrospective:{config:xe(i).queryKey,runs:Se(y).queryKey,infinite:ve(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=se({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`)}),te=ce({onSuccess:e=>{_e(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:P,consolidationUsage:ee,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&&te.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{u(),m(),v(),C(),O(),M()}}}var xn=`0.10.5`;function Sn(){return Ee(xn)}function Cn({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function wn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`h-4 w-12 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,q.jsx)(`span`,{className:`h-4 w-10 animate-pulse rounded bg-[var(--surface-muted)]`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Xt(t.runCount)})]})}function Tn({name:e,metaParts:t,usage:n,enabled:r,selected:i,onClick:a,onToggle:o,toggleAriaLabel:s}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${i?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[o?(0,q.jsx)(S,{checked:r,onChange:o,"aria-label":s}):null,(0,q.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,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t.length>0?(0,q.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,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[wn(n),(0,q.jsx)(M,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function En({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,q.jsx)(Tn,{name:e.name,metaParts:s,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?`Toggle ${e.name}`:void 0})}function Dn({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,q.jsx)(En,{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,q.jsx)(En,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),b=n.length>0?(0,q.jsx)(g.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(g.Item,{value:`past`,children:[(0,q.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Past (`,n.length,`)`]})]}),(0,q.jsx)(g.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(y)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(`div`,{className:`h-12 animate-pulse rounded-md bg-[var(--surface-muted)]`},t))}):o&&e.length===0?(0,q.jsx)(v,{tone:`error`,actions:(0,q.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,q.jsx)(Cn,{icon:j,title:`No schedules yet`,description:`Ask your assistant to set one up, or create one yourself.`,actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`primary`,size:`regular`,onClick:d,children:`New Conversation`}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`or`}),(0,q.jsx)(i,{variant:`outlined`,size:`regular`,onClick:f,children:`Create schedule`})]})}):(0,q.jsxs)(`div`,{children:[e.map(_),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:`One-time`}),t.map(y)]}):null,b]}),h?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:h}):null]})}function On({children:e}){return(0,q.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,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function kn({icon:e,value:t,label:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,q.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,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,q.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function An({usage:e}){return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(`div`,{className:`h-[60px] animate-pulse rounded-lg bg-[var(--surface-muted)]`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(kn,{icon:(0,q.jsx)(Je,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:`7 Day Cost`}),(0,q.jsx)(kn,{icon:(0,q.jsx)(P,{className:`h-4 w-4`}),value:Xt(e.summary.runCount),label:`7 Day Runs`})]})}function jn({run:e,index:t,isExpanded:n,onOpenConversation:r,onToggleDetails:i}){let a=en(e),o=X(e.output),s=X(e.error),c=!a&&(o||s),l=`schedule-run-details-${t}`,u=!!a||c,f=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(dn,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Jt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),u?(0,q.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,q.jsx)(`div`,{id:l,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[o?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,s?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return a?(0,q.jsx)(`div`,{children:(0,q.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,q.jsxs)(`div`,{children:[(0,q.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,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:f})}function Mn({runs:e,isLoading:t,onOpenConversation:n}){let[r,i]=(0,G.useState)(null);return t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,q.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No runs yet.`}):(0,q.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(jn,{run:e,index:t,isExpanded:r===e.id,onOpenConversation:n,onToggleDetails:e=>i(t=>t===e?null:e)},e.id))})}function Nn({schedule:e,assistantId:n,usage:r,isMobile:o,onClose:s,onDeleted:c}){let u=a(),{data:p,isLoading:m}=l({queryKey:fe({path:{assistant_id:n,id:e.id}}),queryFn:()=>_t(n,e.id),staleTime:1e4}),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(!1),[y,b]=(0,G.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,q.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,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:e.name})}),(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(F,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,q.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,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsxs)(`section`,{children:[(0,q.jsx)(On,{children:`Details`}),(0,q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:`Cadence`,value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:`Mode`,value:e.mode}),(0,q.jsx)(Q,{label:`Status`,value:e.enabled?`Enabled`:`Disabled`}),(0,q.jsx)(Q,{label:`Next run`,value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:`Last run`,value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(dn,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})]}),(0,q.jsx)(An,{usage:r}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(On,{children:`Recent runs`}),(0,q.jsx)(Mn,{runs:p?.runs,isLoading:m,onOpenConversation:e=>u(W.conversation(e))})]})]}),(0,q.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,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`ghost`,onClick:()=>v(!1),disabled:y,children:`Cancel`}),(0,q.jsx)(i,{variant:`danger`,onClick:()=>void S(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,q.jsx)(i,{variant:`dangerOutline`,leftIcon:(0,q.jsx)(Xe,{className:`h-3.5 w-3.5`}),onClick:()=>v(!0),children:`Delete`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(Ye,{className:`h-3.5 w-3.5`}),onClick:()=>u(W.logs.usageForSchedule(e.id)),children:`View usage`}),e.mode===`script`?(0,q.jsx)(i,{variant:`primary`,leftIcon:h?(0,q.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 Pn=`Default (assistant's main model)`,Fn=`Custom call-site model`;function In(e,t){return t?.[e]?.displayName??e}function Ln(e,t){if(e==null)return;if(e.provider!=null||e.model!=null)return Fn;let n=e.profile?.trim();return n?`Override (${In(n,t)})`:void 0}function Rn({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r=Pn,respectCallSiteOverride:i=!1}){let a=t==null,{data:o}=l({...le({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),s=(0,G.useMemo)(()=>o?ut(o):{},[o]),{data:c}=l({...de({path:{assistant_id:e}}),enabled:!!e&&a,staleTime:6e4}),u=a&&i?Ln(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 (${In(d,s)})`):In(t,s);return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Model profile`}),(0,q.jsx)(`span`,{className:`min-w-0 text-right`,children:f})]})}function zn({runs:e,isLoading:t,emptyMessage:n=`No runs yet.`,hasMore:r=!1,isLoadingMore:o=!1,onLoadMore:s}){let c=a(),[l,u]=(0,G.useState)(null);return(0,q.jsx)(at,{title:`Recent runs`,children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(N,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:n}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=en(e),r=X(e.output),i=X(e.error),a=!n&&(r||i),o=l===e.id,s=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(m,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(dn,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,Jt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||a?(0,q.jsx)(M,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${o?`rotate-90`:``}`}):null]}),onSelect:n?()=>c(W.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,q.jsx)(`div`,{id:s,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),r&&s?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:s,disabled:o,leftIcon:o?(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:o?`Loading…`:`Load more`})}):null]})})}var Bn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function Vn({children:e}){return(0,q.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Hn({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?nn(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,y=l?.lastRunAt??null,b=n.isHeartbeatRunning,x=n.runHeartbeatNow):e===`consolidation`?(m=`Consolidation`,h=u?rn(u):``,g=u?.enabled??!1,_=u?.nextRunAt??null,y=u?.lastRunAt??null,b=n.isConsolidationRunning,x=n.runConsolidationNow):(m=`Memory retrospective`,h=an,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`?ye(A):ue(A),{data:M,isLoading:P,fetchNextPage:ee,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=Qt(M?.pages.map(t=>({runs:t.runs.map(t=>hn(t,e))})));return(0,q.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,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:m}),h?(0,q.jsx)(f,{variant:`body-small-default`,as:`p`,className:`truncate text-[var(--content-tertiary)]`,children:h}):null]}),(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(F,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Vn,{children:`Details`}),(0,q.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,q.jsx)(Rn,{assistantId:t,defaultCallSite:Bn[e],fallbackLabel:`Default (system task model)`,respectCallSiteOverride:!0}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,q.jsxs)(`span`,{className:`flex items-center gap-2 text-[var(--content-default)]`,children:[(0,q.jsx)(`span`,{children:D}),C?null:(0,q.jsx)(S,{checked:g,onChange:n.toggleHeartbeat,"aria-label":`Toggle ${m}`})]})]}),w?null:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,q.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(_)})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,q.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(y)})]})]}),T?(0,q.jsx)(v,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>c(W.settings.advanced),children:`Turn on Memory`}):void 0,children:O}):null]}),(0,q.jsx)(zn,{runs:R,isLoading:P,hasMore:I,isLoadingMore:L,onLoadMore:()=>void ee()})]}),k||x?(0,q.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,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(Ke,{className:`h-3.5 w-3.5`}),onClick:()=>c(W.settings.advanced),children:`Memory settings`}):null,x?(0,q.jsx)(i,{variant:`primary`,leftIcon:b?(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`}),onClick:x,disabled:E,children:b?`Running…`:`Run now`}):null]}):null]})}var $={security:{icon:tt,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:We,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:et,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:Ke,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:k,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},Un=[`security`,`email`,`scheduling`,`background`,`system`],Wn=`all`;function Gn({categories:e,activeFilter:t,onFilterChange:n}){let r=Un.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:Wn,label:`All`,icon:(0,q.jsx)(Ge,{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,q.jsx)(t,{className:`h-4 w-4`})}})];return(0,q.jsx)(w,{ariaLabel:`Filter notifications`,value:t??Wn,onChange:e=>n(e===Wn?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}function Kn(e,t){!t||!Te()||(e.preventDefault(),Ne(t))}var qn={p:({children:e})=>(0,q.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,q.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,q.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,q.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>Kn(t,e),children:t}),ul:({children:e})=>(0,q.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,q.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,q.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,q.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,q.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,q.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,q.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,q.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,q.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,q.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,q.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,q.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,q.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,q.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,q.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,q.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function Jn({content:e,className:t}){return(0,q.jsx)(`div`,{className:d(`text-body-medium-default`,t),children:(0,q.jsx)(Pe,{remarkPlugins:[nt],components:qn,children:e})})}function Yn({item:e}){return(0,q.jsx)(Jn,{content:e.summary})}function Xn(e){switch(e){case`revoked`:case`expired`:return`var(--system-negative-strong)`;case`missing_scopes`:case`missing_token`:case`ping_failed`:return`var(--system-mid-strong)`;default:return`var(--content-disabled)`}}function Zn(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Qn({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,q.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,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,q.jsx)(f,{variant:`title-small`,as:`h3`,children:n}),r?(0,q.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,q.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,q.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Xn(i)},"aria-hidden":`true`}),(0,q.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Zn(i)})]}),a?(0,q.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,q.jsx)(f,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,q.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,q.jsx)(`li`,{children:(0,q.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}function $n(e){return e&&$[e]?$[e]:$.system}function er(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function tr({item:e,isMobile:t,validConversationIds:n,onClose:r,onGoToThread:a,onUpdateStatus:o,onDismiss:s,onViewSchedule:c}){if(!e)return null;let l=e.detailPanel?.kind,u=er(e),d=$n(e.category),p=d.icon,m=e.status===`new`,h=e.status===`dismissed`,g=!!e.conversationId&&n.has(e.conversationId);return t?(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,q.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(O,{}),onClick:r,"aria-label":`Back`,tooltip:`Back`}),(0,q.jsx)(f,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:m?(0,q.jsx)(mt,{}):(0,q.jsx)(We,{}),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,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(Ue,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(Xe,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,q.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,q.jsx)(p,{width:18,height:18,style:{color:d.strong}})}),(0,q.jsx)(f,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:u}),(0,q.jsx)(y,{tone:`neutral`,className:`shrink-0`,title:st(e.timestamp),children:ct(e.timestamp)})]}),(0,q.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:l===`toolPermission`?(0,q.jsx)(Qn,{item:e}):(0,q.jsx)(Yn,{item:e})}),g||c?(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[c?(0,q.jsx)(i,{variant:`outlined`,fullWidth:!0,leftIcon:(0,q.jsx)(j,{className:`size-4`}),onClick:c,children:`View schedule`}):null,g?(0,q.jsx)(i,{variant:`primary`,fullWidth:!0,onClick:()=>a(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,q.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.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,q.jsx)(p,{width:14,height:14,style:{color:d.strong}})}),(0,q.jsx)(f,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:u}),g?(0,q.jsx)(i,{variant:`outlined`,onClick:()=>a(e.conversationId),children:`Go to Convo`}):null,(0,q.jsx)(i,{variant:`outlined`,iconOnly:(0,q.jsx)(F,{}),onClick:r,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[l===`toolPermission`?(0,q.jsx)(Qn,{item:e}):(0,q.jsx)(Yn,{item:e}),(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,q.jsx)(y,{tone:`neutral`,title:st(e.timestamp),children:ct(e.timestamp)})})]}),(0,q.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,q.jsx)(`div`,{children:c?(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(j,{className:`size-4`}),onClick:c,children:`View schedule`}):null}),(0,q.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:h?(0,q.jsx)(i,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:()=>o(e.id,m?`seen`:`new`),children:m?`Mark as read`:`Mark as unread`}),(0,q.jsx)(i,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var nr={heartbeat:ft,memory_consolidation:A,schedule:et,auto_analysis:ee,user:rt,other:Qe},rr=`all`;function ir({sources:e,activeSource:t,onSourceChange:n}){if(e.length<=1)return null;let r=e.find(e=>e.key===t)??null,a=r?nr[r.type]:pt;return(0,q.jsxs)(h.Root,{children:[(0,q.jsx)(h.Trigger,{children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,active:r!==null,leftIcon:(0,q.jsx)(a,{className:`h-4 w-4`}),rightIcon:(0,q.jsx)(Ve,{className:`h-3.5 w-3.5`}),"aria-label":`Filter notifications by source`,children:r?r.label:`All sources`})}),(0,q.jsx)(h.Content,{align:`start`,className:`max-h-80 overflow-y-auto`,children:(0,q.jsxs)(h.RadioGroup,{value:t??rr,onValueChange:e=>n(e===rr?null:e),children:[(0,q.jsx)(h.RadioItem,{value:rr,children:`All sources`}),(0,q.jsx)(h.Separator,{}),e.map(e=>(0,q.jsx)(h.RadioItem,{value:e.key,children:e.label},e.key))]})})]})}function ar({label:e,onClick:t,className:n,children:i}){return(0,q.jsx)(r,{content:e,children:(0,q.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 or(e){return e&&$[e]?$[e]:$.system}function sr({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:s=`dismiss`}){let[c,l]=(0,G.useState)(!1),u=or(e.category),f=u.icon,p=e.status===`new`,m=s===`restore`;return(0,q.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,q.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:u.weak},children:(0,q.jsx)(f,{width:12,height:12,style:{color:u.strong}})}),p&&(0,q.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,q.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,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,q.jsx)(ar,{label:p?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,p?`seen`:`new`),children:p?(0,q.jsx)(mt,{width:16,height:16}):(0,q.jsx)(We,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,q.jsx)(ar,{label:`Go to thread`,onClick:()=>{p&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,q.jsx)(Be,{width:16,height:16})}),(0,q.jsx)(ar,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,q.jsx)(Xe,{width:16,height:16})})]}):c&&m?(0,q.jsxs)(ar,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,q.jsx)(Ue,{width:16,height:16,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,q.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:ct(e.timestamp)})]})}function cr(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function lr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function ur(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function dr(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function fr(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}var pr={heartbeat:0,memory_consolidation:1,schedule:2,auto_analysis:3,user:4,other:5};function mr(e){let t=new Map;for(let n of e){let e=n.sourceKey;!e||t.has(e)||t.set(e,{key:e,label:n.sourceLabel??e,type:n.sourceType??`other`})}return[...t.values()].sort((e,t)=>{let n=pr[e.type]-pr[t.type];return n===0?e.label.localeCompare(t.label):n})}function hr(e,t){return t===null?e:e.filter(e=>e.sourceKey===t)}var gr={today:`Today`,yesterday:`Yesterday`,older:`Older`},_r=10080*60*1e3;function vr(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>_r}function yr({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s,archivedOpen:c,onArchivedOpenChange:l,dismissedOpen:u,onDismissedOpenChange:d}){let[p,m]=(0,G.useState)(null),[h,_]=(0,G.useState)(null),[v]=(0,G.useState)(()=>Date.now()),y=dr(e.filter(e=>e.status!==`dismissed`)),b=y.filter(e=>!vr(e,v)),x=cr(y.filter(e=>vr(e,v))),S=fr(b),C=mr(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=lr(cr(hr(ur(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,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(S.length>1||C.length>1)&&(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-[var(--app-spacing-sm)]`,children:[(0,q.jsx)(Gn,{categories:S,activeFilter:w,onFilterChange:m}),(0,q.jsx)(ir,{sources:C,activeSource:T,onSourceChange:_})]}),E.size===0?w||T?(0,q.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,q.jsx)(Cn,{icon:k,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...E.entries()].map(([e,a])=>(0,q.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,q.jsx)(f,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:gr[e]}),(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:a.map(e=>(0,q.jsx)(sr,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),x.length>0&&(0,q.jsx)(g.Root,{type:`single`,collapsible:!0,value:c?`archived-read`:``,onValueChange:e=>l?.(e===`archived-read`),children:(0,q.jsxs)(g.Item,{value:`archived-read`,children:[(0,q.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Earlier (`,x.length,`)`]})]}),(0,q.jsx)(g.Content,{children:(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:x.map(e=>(0,q.jsx)(sr,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),D.length>0&&(0,q.jsx)(g.Root,{type:`single`,collapsible:!0,value:u?`dismissed`:``,onValueChange:e=>d?.(e===`dismissed`),children:(0,q.jsxs)(g.Item,{value:`dismissed`,children:[(0,q.jsxs)(g.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(M,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Dismissed (`,D.length,`)`]})]}),(0,q.jsx)(g.Content,{children:(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:D.map(e=>(0,q.jsx)(sr,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function br(){return(0,q.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function xr(e){let n=Ie(),[r]=(0,G.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=l({queryKey:pe({path:{assistant_id:e??``}}),queryFn:()=>e?gt(e):Promise.resolve([]),staleTime:1e4}),{data:c,isLoading:u,isError:d}=l(cn(e,n,!0)),{recurring:f,oneTime:p,pastOneTime:m}=(0,G.useMemo)(()=>{let e=sn(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,G.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:f,oneTime:p,pastOneTime:m,usageForSchedule:(0,G.useCallback)(e=>u?{status:`loading`}:d?{status:`error`}:{status:`ready`,summary:h.get(e)??ln(e)},[d,u,h]),handleToggle:(0,G.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,G.useCallback)(()=>{s()},[s])}}function Sr(e){let t=c(),n=(0,G.useMemo)(()=>ae({path:{assistant_id:e??``}}),[e]),r=l({...ie({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,G.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function Cr(){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,q.jsx)(`div`,{className:`h-7 w-64 animate-pulse rounded-md bg-[var(--surface-lift)]`}),(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,q.jsx)(`div`,{className:`h-16 animate-pulse rounded-md bg-[var(--surface-lift)]`},t))})]})}function wr(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}function Tr({assistantId:e,validConversationIds:t,activeTab:n,onTabChange:r,routeScheduleId:a,onSelectScheduleId:o,onStartNewChat:s,onOpenConversation:c}){let u=De(),d=Ie(),f=Ze(e);Sr(e);let p=xr(e),m=bn(e,d),{data:h=!1}=l({queryKey:[`assistant-memory-opt-out-capability`,e],queryFn:async()=>{let t=await we(e);return t.ok&&t.data.capabilities?.memoryOptOut===!0},retry:!1,staleTime:1e4}),[g,v]=(0,G.useState)(!1),y=a,[b,x]=(0,G.useState)(null),[S,w]=(0,G.useState)(null),[T,E]=(0,G.useState)(!1),[D,O]=(0,G.useState)(!1),[k,A]=(0,G.useState)(!1),j=y?p.recurring.find(e=>e.id===y)??p.oneTime.find(e=>e.id===y)??p.pastOneTime.find(e=>e.id===y)??null:null;(0,G.useEffect)(()=>{y&&!p.isLoading&&!j&&o(null)},[y,j,p.isLoading,o]);let M=S===`heartbeat`?m.heartbeatConfig!=null:S===`consolidation`?m.consolidationConfig?.available===!0:S===`retrospective`?m.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{S&&!m.isLoading&&!M&&w(null)},[S,M,m.isLoading]);let N=(0,G.useCallback)(e=>{x(null),w(null),o(e)},[o]),P=(0,G.useCallback)(e=>{x(null),y&&o(null),w(e)},[o,y]),ee=(0,G.useCallback)(e=>{w(null),e.status===`new`?(x({...e,status:`seen`}),f.updateStatus.mutate({itemId:e.id,status:`seen`})):x(e)},[f.updateStatus]),F=(0,G.useCallback)(()=>{x(null)},[]),I=(0,G.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`dismissed`}),b?.id===e&&x(null)},[f.updateStatus,b?.id]),L=(0,G.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`seen`}),x(t=>t?.id===e?{...t,status:`seen`}:t)},[f.updateStatus]),R=(0,G.useCallback)((e,t)=>{f.updateStatus.mutate({itemId:e,status:t}),x(n=>n?.id===e?{...n,status:t}:n)},[f.updateStatus]),te=(0,G.useCallback)(e=>{x(null),c(e)},[c]),ne=f.data?.items??[],z=dr(ne.filter(e=>e.status!==`dismissed`)),re=z.filter(e=>e.status===`new`).length,ie=z.length,ae=Sn(),oe=(0,G.useCallback)(()=>{f.markAll.mutate({from:[`new`],to:`seen`,ids:z.filter(e=>e.status===`new`).map(e=>e.id)})},[f.markAll,z]),se=(0,G.useCallback)(()=>{f.markAll.mutate({from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:z.map(e=>e.id)}),x(null)},[f.markAll,z]),B=wr(b),ce=B!=null&&(p.recurring.some(e=>e.id===B)||p.oneTime.some(e=>e.id===B)||p.pastOneTime.some(e=>e.id===B)),le=b?(0,q.jsx)(tr,{item:b,isMobile:u,validConversationIds:t,onClose:F,onGoToThread:te,onUpdateStatus:R,onDismiss:I,onViewSchedule:ce?()=>{N(B)}:void 0}):null,ue=(j?(0,q.jsx)(Nn,{schedule:j,assistantId:e,usage:p.usageForSchedule(j.id),isMobile:u,onClose:()=>o(null),onDeleted:()=>{o(null),p.refetch()}}):null)??(S&&M?(0,q.jsx)(Hn,{kind:S,assistantId:e,systemTasks:m,canOpenMemorySettings:h,isMobile:u,onClose:()=>w(null)}):null),de=le??ue,fe=(e,t,n)=>t&&!u?(0,q.jsx)(_,{className:`min-h-0 flex-1`,storageKey:`homeDetailDrawerWidth`,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:e}),right:(0,q.jsx)(`div`,{className:`home-detail-drawer`,children:t},n)}):e,pe=(0,q.jsx)(Dn,{recurring:p.recurring,oneTime:p.oneTime,pastOneTime:p.pastOneTime,usageForSchedule:p.usageForSchedule,isLoading:p.isLoading,isError:p.isError,refetch:p.refetch,onToggle:p.handleToggle,onSelectSchedule:N,selectedScheduleId:y,onStartNewChat:s,onCreateSchedule:()=>v(!0),pastOpen:T,onPastOpenChange:E,systemTasksSlot:(0,q.jsx)(mn,{heartbeatConfig:m.heartbeatConfig,consolidationConfig:m.consolidationConfig,retrospectiveConfig:m.retrospectiveConfig,heartbeatUsage:m.heartbeatUsage,consolidationUsage:m.consolidationUsage,retrospectiveUsage:m.retrospectiveUsage,isLoading:m.isLoading,hasError:m.hasError,onRetry:m.refetchAll,onSelectHeartbeat:()=>P(`heartbeat`),onSelectConsolidation:()=>P(`consolidation`),onSelectRetrospective:()=>P(`retrospective`)})}),me=(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[f.isError?(0,q.jsxs)(`div`,{role:`alert`,className:`rounded-md border border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] px-[var(--app-spacing-lg)] py-[var(--app-spacing-md)] text-[var(--system-negative-strong)]`,children:[`Couldn't load home feed`,f.error instanceof Error?`: ${f.error.message}`:`.`]}):null,ae&&(re>0||ie>0)&&(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-[var(--app-spacing-sm)]`,children:[re>0&&(0,q.jsx)(i,{variant:`ghost`,size:`compact`,onClick:oe,disabled:f.markAll.isPending,children:`Mark all as read`}),ie>0&&(0,q.jsx)(i,{variant:`ghost`,size:`compact`,onClick:se,disabled:f.markAll.isPending,children:`Clear all`})]}),(0,q.jsx)(yr,{items:ne,selectedItemId:b?.id,validConversationIds:t,onSelectItem:ee,onDismissItem:I,onRestoreItem:L,onToggleRead:R,onGoToThread:te,archivedOpen:D,onArchivedOpenChange:O,dismissedOpen:k,onDismissedOpenChange:A})]}),he=(0,q.jsxs)(C.Root,{value:n,onValueChange:e=>r(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,q.jsxs)(C.List,{className:`shrink-0`,children:[(0,q.jsx)(C.Trigger,{value:`notifications`,children:`Notifications`}),(0,q.jsx)(C.Trigger,{value:`schedules`,children:`Schedules`})]}),(0,q.jsx)(C.Panel,{value:`notifications`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:fe(me,le,b?.id)}),(0,q.jsx)(C.Panel,{value:`schedules`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:fe(pe,ue,y??S??void 0)})]}),ge=f.isLoading?(0,q.jsx)(Cr,{}):(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[u?null:(0,q.jsx)(br,{}),he]});return de&&u?(0,q.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:de}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ot,{children:ge}),(0,q.jsx)(Rt,{isOpen:g,assistantId:e,onClose:()=>v(!1),onCreated:()=>{v(!1),p.refetch()}})]})}function Er(){let e=a(),t=s(),{scheduleId:n}=o(),r=it(),i=t.pathname===W.schedules.root||t.pathname.startsWith(`${W.schedules.root}/`)?`schedules`:`notifications`,c=n??null,l=(0,G.useCallback)(t=>{e(t===`schedules`?W.schedules.root:W.home)},[e]),u=(0,G.useCallback)(t=>{e(t?W.schedules.detail(t):W.schedules.root)},[e]),d=Re.use.setTopBarCenter(),p=De(),{conversations:m}=He(r),{conversations:h}=$e(r,!0),{conversations:g}=Le(r,!0),_=(0,G.useMemo)(()=>new Set(qe(m,h,g).map(e=>e.conversationId)),[m,h,g]);return(0,G.useEffect)(()=>(d(p?(0,q.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{d(null)}),[p,d]),(0,q.jsx)(Tr,{assistantId:r,validConversationIds:_,activeTab:i,onTabChange:l,routeScheduleId:c,onSelectScheduleId:u,onStartNewChat:()=>{ke.getState().setMainView(`chat`);let t=je();Ae.getState().setActiveConversationId(t),e(W.conversation(t)),Me()},onOpenConversation:t=>e(W.conversation(t))})}export{Er as HomePageRoute};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{et as o,tt as s}from"./local-mode-CgrENuVf.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{n as l}from"./resolved-assistants-store-Dqf0LJrA.js";import{i as u}from"./auth-store-DfeW0asJ.js";import{a as d,r as f}from"./routes-C6gxiCrz.js";import{t as p}from"./client-feature-flag-store-CWOJ-CVU.js";import{t as m}from"./use-onboarding-login-ULmWc73o.js";import{Yi as h,pa as g,rn as _}from"./index-FlO-C4WJ.js";import{r as v}from"./provider-key-Bf5qJwbE.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)(g,{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(),g=h.find(e=>e.mode===`vellum-cloud`)?.disabled,[x,C]=(0,y.useState)(l&&!g?`vellum-cloud`:`local`);(0,y.useEffect)(()=>{g&&x===`vellum-cloud`&&C(`local`)},[g,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)(_,{children:(0,b.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,b.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Where do you want your assistant to live?`}),E&&(0,b.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:E}),(0,b.jsx)(`div`,{className:`grid w-full ${p?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:h.map(e=>(0,b.jsx)(w,{option:e,selected:x===e.mode,onSelect:()=>{e.disabled||C(e.mode)}},e.mode))}),(0,b.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,b.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{x===`vellum-cloud`?(s(),o(null),v(null),e(d.onboarding.privacy)):e(`${d.onboarding.apiKey}?hosting=${x}`)},children:`Continue`}),k&&(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:T?O:()=>void D(),children:T?`Cancel`:`Log In`}),(0,b.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:p?void 0:`h-11 text-base`,onClick:()=>{e(a?d.selectAssistant:d.welcome)},disabled:T,children:`Back`})]}),(0,b.jsx)(`a`,{href:f(d.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`prechat-md-regular mt-6 text-body-medium-default text-[var(--content-default)] underline`,style:{animation:`fadeInUp 0.5s ease-out 0.6s both`},children:`Need help choosing?`})]})})}function w({option:e,selected:t,onSelect:n}){let r=c();return(0,b.jsxs)(`button`,{type:`button`,onClick:n,disabled:e.disabled,className:`flex w-full items-center border text-left transition-colors ${r?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-xl px-4 py-4`} ${e.disabled?`cursor-not-allowed opacity-60`:`cursor-pointer`} ${t&&!e.disabled?`${r?`border-[var(--primary-base)]/50`:`border-[var(--primary-base)]`} bg-[var(--primary-base)]/5`:`${r?`border-[var(--border-disabled)]`:`border-[var(--border-element)]`} bg-transparent`}`,children:[e.icon,(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.badge&&(0,b.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${r?`text-label-medium-default`:`text-body-small-default`}`,children:e.badge})]}),(0,b.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${r?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),!e.disabled&&(0,b.jsx)(`div`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${r?`border-[1.5px]`:`border-2`} ${t?r?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--primary-base)]`:`border-[var(--border-element)]`}`,children:t&&(0,b.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full ${r?`bg-[var(--aux-white)]`:`bg-[var(--primary-base)]`}`})})]})}export{C as HostingScreen};
@@ -0,0 +1 @@
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-D-AX8Voo.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-B-I7oowl.js";import{t as d}from"./confirm-dialog-bfBx6UYv.js";import{n as f,s as p,t as m}from"./install-DwGUGZQw.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-CEC1DGcI.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{Yt as T,vt as E,yt as ee}from"./react-query.gen-BwkZCSTW.js";import{r as D}from"./api-DnqFanVx.js";import{a as O}from"./routes-C6gxiCrz.js";import{n as k}from"./viewer-store-BR99G-Ii.js";import{t as A}from"./conversation-store-B8D6wE18.js";import{t as j}from"./conversation-selection-CNssqGbG.js";import{t as M}from"./misc-CFzLzLPH.js";import{t as N}from"./proxy-BgtfAoJj.js";import{t as te}from"./AnimatePresence-uY0BR2n2.js";import{Qi as P,ar as ne,at as F,cr as re,ei as I,gt as L,ni as ie,nr as ae,or as oe,ri as se,rr as R,ti as z,wi as B}from"./index-FlO-C4WJ.js";import{t as V}from"./use-active-assistant-id-BVzVN4_g.js";var ce=e(r(),1),H=e(n(),1),U=l();function W(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function G({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,H.useState)(null),[o,s]=(0,H.useState)(!0),[c,l]=(0,H.useState)(!1),u=(0,H.useRef)(null),[d,f]=(0,H.useState)(0),[p,m]=(0,H.useState)(0),[h,g]=(0,H.useState)(0);(0,H.useEffect)(()=>{if(u.current===e)return;let n=!1;return R(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,H.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,H.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 ne(e,t),n?.(t)}finally{l(!1)}},[i,d,p,h,e,n]);if(o)return(0,U.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,U.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,U.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,U.jsxs)(`div`,{className:`space-y-6`,children:[(0,U.jsx)(`div`,{className:`flex justify-center`,children:(0,U.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,U.jsx)(F,{components:i,bodyShapeId:b.id,eyeStyleId:x.id,colorId:C.id,size:160})})}),(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(K,{label:`Body`,value:b.id,onPrev:()=>f(W(d,i.bodyShapes.length,`backward`)),onNext:()=>f(W(d,i.bodyShapes.length,`forward`))}),(0,U.jsx)(K,{label:`Eyes`,value:x.id,onPrev:()=>m(W(p,i.eyeStyles.length,`backward`)),onNext:()=>m(W(p,i.eyeStyles.length,`forward`))}),(0,U.jsx)(K,{label:`Color`,value:C.id,colorHex:C.hex,onPrev:()=>g(W(h,i.colors.length,`backward`)),onNext:()=>g(W(h,i.colors.length,`forward`))})]}),(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.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,U.jsx)(_,{className:`h-4 w-4`}),`Randomize`]}),(0,U.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,U.jsx)(S,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,U.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,U.jsx)(w,{className:`h-4 w-4`})})]})]})}function K({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,U.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,U.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.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,U.jsx)(h,{className:`h-4 w-4`})}),(0,U.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,U.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,U.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,U.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,U.jsx)(g,{className:`h-4 w-4`})})]})]})}function le({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,H.useId)(),u=(0,H.useRef)(null),d=(0,H.useRef)(null),f=(0,H.useRef)(null),[p,m]=(0,H.useState)(`actions`),[_,v]=(0,H.useState)(!1);(0,H.useEffect)(()=>{e&&d.current?.focus()},[e]),(0,H.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let y=(0,H.useCallback)(()=>{m(`actions`),t()},[t]),b=(0,H.useCallback)(e=>{e.key===`Escape`&&(p===`character-builder`?m(`actions`):y())},[y,p]),x=(0,H.useCallback)(e=>{e.target===u.current&&y()},[y]),S=(0,H.useCallback)(()=>{m(`actions`)},[]),T=(0,H.useCallback)(()=>{m(`character-builder`)},[]),E=(0,H.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,H.useCallback)(()=>{f.current?.click()},[]),D=(0,H.useCallback)(()=>{y(),c?.()},[y,c]),O=(0,H.useCallback)(e=>{o(e),y()},[o,y]);return e?(0,ce.createPortal)((0,U.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,U.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,U.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p===`character-builder`&&(0,U.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,U.jsx)(h,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,U.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:p===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,U.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,U.jsx)(w,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,U.jsx)(`div`,{className:`overflow-y-auto p-6`,children:p===`actions`?(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,U.jsx)(L,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,U.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,U.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,U.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,U.jsx)(se,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,U.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,U.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,U.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,U.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,U.jsx)(P,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,U.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,U.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,U.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,U.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,U.jsx)(C,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,U.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,U.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,U.jsx)(G,{assistantId:n,initialTraits:i,onSave:O,onCancel:S})})]}),(0,U.jsx)(`input`,{ref:f,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var ue={displayName:`Other`,color:`#888`,emoji:`?`},de={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 q(e){return de[e]??ue}var J=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],fe={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`])}]},pe=14,me=10,he=6;function ge(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:pe};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:me};case`skill`:return{shape:`diamond`,size:64,cornerRadius:he}}}function _e(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 ve(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return _e(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return _e(e.size/2,e.cornerRadius,r,i)}}}function ye(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,ve(ge(e),a,o)-3),c=Math.max(0,ve(ge(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 be=10,xe=200,Se=160,Y=160;function X(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=q(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=X({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=be;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=q(t.category).color,u=X({x:e.x+xe*Math.cos(o),y:e.y+xe*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=fe[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,Y,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=X({x:u.x+Se*Math.cos(s),y:u.y+Se*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,Y,64,a,3,t.category,d,r,i)})}else Ce(t.items,c,u,o,Y,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 J){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!J.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,U.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}=ye(r,i);return(0,U.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,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,U.jsx)(`span`,{className:M(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,je[e])})}),(0,U.jsx)(`span`,{children:t})]})}function Ne({visible:e}){return(0,U.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,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(Q,{shape:`category`,label:`Category`}),(0,U.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,U.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,U.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`?ie:v;return(0,U.jsxs)(u,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,U.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,U.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,U.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,U.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,U.jsx)(p,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,U.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,H.useRef)(null);return(0,H.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,H.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,H.useState)(!1),a=r||n===!0,o=Fe({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,H.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,H.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,H.useCallback)(()=>i(!0),[]),onMouseLeave:(0,H.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=q(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,U.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,U.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,U.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,U.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,U.jsx)(p,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,U.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,U.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,U.jsx)(L,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=q(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,U.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,U.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,U.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=q(t.category);return(0,U.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,H.useState)({width:0,height:0}),[o,s]=(0,H.useState)(null),[c,l]=(0,H.useState)(null),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(null),[m,h]=(0,H.useState)(!1),g=(0,H.useRef)(null),_=(0,H.useRef)(null);(0,H.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,H.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,H.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,H.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,H.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,H.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,H.useCallback)(()=>{C(y+Oe,{animate:!0})},[C,y]),T=(0,H.useCallback)(()=>{C(y-Oe,{animate:!0})},[C,y]),E=(0,H.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,H.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,H.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,H.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,H.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,H.useRef)(null),u=(0,H.useRef)(null),[d,f]=(0,H.useState)(0),[p,m]=(0,H.useState)(null),[h,g]=(0,H.useState)({width:240,height:120}),{nodes:_,edges:v}=(0,H.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,H.useMemo)(()=>{let e=new Map;for(let t of _)e.set(t.id,t);return e},[_]),S=(0,H.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?ze(e)??null:null},[p,x]),C=(0,H.useCallback)(()=>{m(null)},[]),w=Ue(l,_,x,C),T=e.length;(0,H.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,H.useCallback)(e=>{m(t=>t===e?null:e)},[]),ee=(0,H.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,H.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,H.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,H.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,U.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,U.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,U.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,U.jsx)(Me,{edges:v,nodeById:x,visible:d>=2}),_.map((e,i)=>(0,U.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,U.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,U.jsx)(i,{variant:`ghost`,iconOnly:o?(0,U.jsx)(b,{}):(0,U.jsx)(y,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,U.jsx)(Ne,{visible:d>=4}),(0,U.jsx)(te,{children:S==null?null:(0,U.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,U.jsx)(Pe,{item:S,color:q(S.category).color,onViewDetails:c&&S.kind===`skill`?ee:void 0})},`constellation-popover`)}),(0,U.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,U.jsx)(i,{variant:`ghost`,iconOnly:(0,U.jsx)(I,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,U.jsx)(i,{variant:`ghost`,iconOnly:(0,U.jsx)(z,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,U.jsx)(i,{variant:`ghost`,iconOnly:(0,U.jsx)(B,{}),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,U.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,U.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,U.jsx)(`div`,{className:`pr-8 text-center`,children:(0,U.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,U.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,U.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,U.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,U.jsx)(L,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,U.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,U.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,U.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,U.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,U.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,U.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,U.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,U.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,U.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,U.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,U.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,U.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,U.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}=ae(e),[h,g]=(0,H.useState)(null),[_,v]=(0,H.useState)(null),[y,b]=(0,H.useState)(null),[x,S]=(0,H.useState)(!1),[C,w]=(0,H.useState)(null),[O,k]=(0,H.useState)(null),[A,j]=(0,H.useState)(null),[M,N]=(0,H.useState)(null);(0,H.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,H.useState)(!1),F=s({...E({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e}),I=(0,H.useMemo)(()=>F.data??[],[F.data]),L=(0,H.useCallback)(()=>{p()},[p]),ie=(0,H.useCallback)(()=>{S(!0)},[]),oe=(0,H.useCallback)(()=>{S(!1)},[]),se=(0,H.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]),R=(0,H.useCallback)(()=>{r.invalidateQueries({queryKey:ee({path:{assistant_id:e}})})},[e,r]),z=c({mutationFn:t=>m(e,t),onMutate:e=>k(e),onSettled:()=>{k(null),R()}}),B=T({onMutate:e=>j(e.path.id),onSettled:()=>{j(null),R()}}),V=(0,H.useCallback)(e=>{z.mutate(e.slug??e.id)},[z]),ce=(0,H.useCallback)(e=>{N(e)},[]),W=(0,H.useCallback)(()=>{M&&(B.mutate({path:{assistant_id:e,id:M.id}}),N(null))},[e,M,B]),G=(0,H.useMemo)(()=>C?I.find(e=>e.id===C)??null:null,[I,C]),K=(0,U.jsx)(d,{open:M!==null,title:`Remove skill`,message:M?`Remove "${M.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:W,onCancel:()=>N(null)});if(G)return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(f,{assistantId:e,skill:G,onBack:()=>w(null),onInstall:()=>V(G),onRemove:()=>ce(G),isInstalling:O===(G.slug??G.id),isRemoving:A===G.id}),K]});if(te)return(0,U.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,U.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let ue=h?.name||`Assistant`,de=h?.personality||``,q=h?.role||`Not set`,J=_?new Date(_).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,U.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,U.jsx)(Ge,{assistantName:ue,assistantPersonality:de,assistantRole:q,hatchedDate:J,components:i,traits:a,customImageUrl:l,onOpenThread:n,onOpenModal:ie})}),(0,U.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:(0,U.jsx)(We,{skills:I,components:i,traits:a,customImageUrl:l,className:`h-full w-full`,isFullscreen:P,onToggleFullscreen:()=>ne(e=>!e),onSelectSkill:w})}),(0,U.jsx)(le,{open:x,onClose:oe,assistantId:e,components:i,traits:a,customImageUrl:l,onSaveCharacter:L,onUploadImage:L,onGenerateWithAI:n?se:void 0}),K]})}function qe({onOpenThread:e}){return(0,U.jsx)(Ke,{assistantId:V(),onOpenThread:e})}function Je(){let e=a();return(0,U.jsx)(qe,{onOpenThread:t=>{k.getState().setMainView(`chat`);let n=j();A.getState().setActiveConversationId(n),e(`${O.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},V())}export{Je as IdentityPageRoute};