@vellumai/web 0.11.3-staging.1 → 0.11.3-staging.2

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 (184) hide show
  1. package/dist/assets/{access-BEF4g5Xz.js → access-DWtJQvRI.js} +1 -1
  2. package/dist/assets/{account-page-CjBQhkfo.js → account-page-D03pCcnz.js} +1 -1
  3. package/dist/assets/{account-shell-BwGiy59u.js → account-shell-DmVQwtZ0.js} +1 -1
  4. package/dist/assets/{acp-run-detail-panel-BPcNCjiL.js → acp-run-detail-panel-COs66Yrd.js} +1 -1
  5. package/dist/assets/{activity-steps-panel-DhuSLpCc.js → activity-steps-panel-CLjBxqNs.js} +1 -1
  6. package/dist/assets/ai-page-D4GbPprS.js +1 -0
  7. package/dist/assets/{api-key-screen-D1j3oper.js → api-key-screen-vFF5CrFw.js} +1 -1
  8. package/dist/assets/{app-card-BBt0ilaM.js → app-card-B7C46-7O.js} +1 -1
  9. package/dist/assets/{assistant-status-panel-DnkQ1jrJ.js → assistant-status-panel-CDUAp33H.js} +1 -1
  10. package/dist/assets/{auth-store-CPVpJ_c7.js → auth-store-DkOiOQNx.js} +1 -1
  11. package/dist/assets/{avatar-random-BHVo9v-a.js → avatar-random-BiLhcs1I.js} +1 -1
  12. package/dist/assets/{background-task-detail-panel-CyVrsboL.js → background-task-detail-panel-xFGqYCUz.js} +1 -1
  13. package/dist/assets/{billing-page-CvZZTRHS.js → billing-page-n2hU_EAj.js} +2 -2
  14. package/dist/assets/{bookmarks-page-M8X5Jj_q.js → bookmarks-page-DqXq2CVJ.js} +1 -1
  15. package/dist/assets/{build-state-DGpOoR0F.js → build-state-B0f3Jn2o.js} +1 -1
  16. package/dist/assets/channels-page-route-CbV05RLi.js +9 -0
  17. package/dist/assets/chat-markdown-message-WfT4JUja.js +1 -0
  18. package/dist/assets/{checkout-page-CQdvMHxx.js → checkout-page-BxYwG3J8.js} +1 -1
  19. package/dist/assets/{command-palette-DjHOOk8U.js → command-palette-DSxHNf_m.js} +1 -1
  20. package/dist/assets/{command-palette-window-page-msewbnL1.js → command-palette-window-page-9lbssBKp.js} +1 -1
  21. package/dist/assets/{common-BUQt6ee_.js → common-wFfOb0rN.js} +1 -1
  22. package/dist/assets/{composer-settings-veIRzcPS.js → composer-settings-MHDtr31Y.js} +1 -1
  23. package/dist/assets/{contacts-page-route-Caog1niM.js → contacts-page-route-BE3oNfhk.js} +1 -1
  24. package/dist/assets/{conversation-navigation-DqU55C7j.js → conversation-navigation-DbQqV_fs.js} +1 -1
  25. package/dist/assets/{conversation-queries-Bh_7RMKd.js → conversation-queries-CMEwcap1.js} +1 -1
  26. package/dist/assets/{credentials-page-D3H8KP0a.js → credentials-page-DKfIMfUB.js} +1 -1
  27. package/dist/assets/{csv-preview-Crel8fKb.js → csv-preview-DB8q0b_y.js} +1 -1
  28. package/dist/assets/{debug-page-By8-4Cjy.js → debug-page-DpWI-aFX.js} +2 -2
  29. package/dist/assets/{deploy-dialogs-Dak-wWO4.js → deploy-dialogs-BhY-urVH.js} +1 -1
  30. package/dist/assets/{deploy-store-0HlKHhLJ.js → deploy-store-OFWDAEgC.js} +1 -1
  31. package/dist/assets/{detail-card-CmSV969e.js → detail-card-Dsnf52vg.js} +1 -1
  32. package/dist/assets/{detail-drawer-HN4NsyKg.js → detail-drawer-AKY7keIJ.js} +1 -1
  33. package/dist/assets/{detail-panel-stop-button-DV6U5A7y.js → detail-panel-stop-button-Cvnn4hYA.js} +1 -1
  34. package/dist/assets/{detail-shell-rL601Rqo.js → detail-shell-g6Pw4jiP.js} +1 -1
  35. package/dist/assets/{developer-page-Bgg8qW6q.js → developer-page-CSFTdMiT.js} +1 -1
  36. package/dist/assets/{document-viewer-container-BkKmz-ar.js → document-viewer-container-Bousf9D9.js} +2 -2
  37. package/dist/assets/{document-viewer-page-B-jAUGAO.js → document-viewer-page-CJuMnNZk.js} +1 -1
  38. package/dist/assets/{emails-page-B0r-ksKy.js → emails-page-CMoX6WSY.js} +1 -1
  39. package/dist/assets/{file-editor-BQUkusyI.js → file-editor-BwWJX7zO.js} +1 -1
  40. package/dist/assets/file-markdown-CZPyyZhu.js +2 -0
  41. package/dist/assets/{first-run-scope-U5LrdMhR.js → first-run-scope-jh9sT0_v.js} +1 -1
  42. package/dist/assets/{general-page-Ce41M2hE.js → general-page-Biad-auh.js} +1 -1
  43. package/dist/assets/{hatching-screen-TI6k1_Q2.js → hatching-screen-DtMbgBm6.js} +1 -1
  44. package/dist/assets/{home-page-route-D6oL1pWj.js → home-page-route-k81d1Zsb.js} +1 -1
  45. package/dist/assets/{home-tool-permission-card-DG7KNyYY.js → home-tool-permission-card-Bytpm6bE.js} +1 -1
  46. package/dist/assets/{hosting-screen-CGkMm-2o.js → hosting-screen-C-6MdEhq.js} +1 -1
  47. package/dist/assets/identity-page-route-BEobbSBV.js +7 -0
  48. package/dist/assets/{index-3KliM4Ki.js → index-BI5VpYa-.js} +1 -1
  49. package/dist/assets/index-_S2T-6in.css +2 -0
  50. package/dist/assets/{inspect-page-DD024DeO.js → inspect-page-BSPJgPij.js} +3 -3
  51. package/dist/assets/integration-icon-R8opqT3n.js +1 -0
  52. package/dist/assets/integrations-page-DNYDhZHQ.js +1 -0
  53. package/dist/assets/{intelligence-layout-DOTYC75R.js → intelligence-layout-CDcBeu8K.js} +1 -1
  54. package/dist/assets/{library-detail-page-B2C4hPSd.js → library-detail-page-D5EeSRdZ.js} +1 -1
  55. package/dist/assets/{library-page-Y2NwunY9.js → library-page-wPVeE7u1.js} +1 -1
  56. package/dist/assets/{local-runtime-upgrade-12Yco-XF.js → local-runtime-upgrade-DyHUCz7A.js} +1 -1
  57. package/dist/assets/{login-flow-fmfcNxyU.js → login-flow-B8CUFAeg.js} +1 -1
  58. package/dist/assets/{login-page-HFoMsSuP.js → login-page-BgXMUzWB.js} +1 -1
  59. package/dist/assets/{logout-page-B_3PiI2q.js → logout-page-COe8dRLu.js} +1 -1
  60. package/dist/assets/{logs-layout-7JGOJ0Gg.js → logs-layout-BGd_aSZ_.js} +1 -1
  61. package/dist/assets/{memory-page-route-Cf8FoT6z.js → memory-page-route-BGEmbUCl.js} +1 -1
  62. package/dist/assets/{memory-router-playground-page-B4vWmkYZ.js → memory-router-playground-page-B4DX4CON.js} +1 -1
  63. package/dist/assets/{message-files-panel-B8NzbXp3.js → message-files-panel-DTDXhD0C.js} +1 -1
  64. package/dist/assets/{messages-JRZkqLeA.js → messages-D2OJUCHs.js} +1 -1
  65. package/dist/assets/{metric-card-Ba-Ju2sO.js → metric-card-DgbUgyv7.js} +1 -1
  66. package/dist/assets/{mobile-sidebar-drawer-B0rTd7jy.js → mobile-sidebar-drawer-CRXVtqcP.js} +1 -1
  67. package/dist/assets/{multi-activity-group-5OxVs26d.js → multi-activity-group-Chyfm08f.js} +1 -1
  68. package/dist/assets/{not-found-zOjj1km-.js → not-found-ClBCK2Sg.js} +1 -1
  69. package/dist/assets/{notifications-pzRj4j4m.js → notifications-G7qqgf4f.js} +1 -1
  70. package/dist/assets/{notifications-page-DTTyILgl.js → notifications-page-AW-ftrs5.js} +1 -1
  71. package/dist/assets/{open-workspace-file-FgLn-SuR.js → open-workspace-file-C4HWMBzn.js} +2 -2
  72. package/dist/assets/{page-shell-DH240m1W.js → page-shell-CkfnwmIw.js} +1 -1
  73. package/dist/assets/pairing-page-CGoWIhv7.js +1 -0
  74. package/dist/assets/{personality-page-B1BQNH7w.js → personality-page-CEbJMhDR.js} +1 -1
  75. package/dist/assets/{plans-page-B8oZfefa.js → plans-page-DXCrcLo8.js} +1 -1
  76. package/dist/assets/{platform-login-notice-3g7rHtc3.js → platform-login-notice-CIpebDVw.js} +1 -1
  77. package/dist/assets/{platform-loopback-page-DwnkFF3M.js → platform-loopback-page-BJf6yE-E.js} +1 -1
  78. package/dist/assets/{plugin-detail-page-BrrXgSIx.js → plugin-detail-page-CnlqMl6e.js} +1 -1
  79. package/dist/assets/plugins-surface-C5i913ST.js +1 -0
  80. package/dist/assets/{preview-error-Di5TH4XQ.js → preview-error-CihmwI1t.js} +1 -1
  81. package/dist/assets/{privacy-page-4LAU5IqF.js → privacy-page-CxAYEG0r.js} +1 -1
  82. package/dist/assets/{privacy-screen-CNnBXznE.js → privacy-screen-DAzWoGQI.js} +1 -1
  83. package/dist/assets/{profile-pickers-BSDVzs_G.js → profile-pickers-ChG4_Gpc.js} +1 -1
  84. package/dist/assets/{provider-callback-page-CpfaqAgJ.js → provider-callback-page--oWycq5i.js} +1 -1
  85. package/dist/assets/{provider-key-C9asexKh.js → provider-key-BZOH9D9k.js} +1 -1
  86. package/dist/assets/{provider-signup-page-MukjbwOQ.js → provider-signup-page-BaGT8Jl4.js} +1 -1
  87. package/dist/assets/{push-registration-CqXBOPNb.js → push-registration-C0GXHrCj.js} +1 -1
  88. package/dist/assets/{remove-from-device-dialog-DY5o8eIg.js → remove-from-device-dialog-C0eaWxwl.js} +1 -1
  89. package/dist/assets/{research-onboarding-route-BIY3OCwG.js → research-onboarding-route-CXimVFK6.js} +1 -1
  90. package/dist/assets/{retire-confirm-dialog-CgOoh5RG.js → retire-confirm-dialog-B1bvTlHS.js} +1 -1
  91. package/dist/assets/{review-terms-screen-BA2I_7F2.js → review-terms-screen-BxxGJL-B.js} +1 -1
  92. package/dist/assets/{routes-DuLrKyjJ.js → routes-ZeXUrnzY.js} +14 -14
  93. package/dist/assets/{runtime-upgrade-banner-9KhcwQWy.js → runtime-upgrade-banner--bSmfygH.js} +1 -1
  94. package/dist/assets/{sandbox-bridge-B6h4B0qp.js → sandbox-bridge-BlniBIsp.js} +1 -1
  95. package/dist/assets/schedules-page-DCUj-YbP.js +1 -0
  96. package/dist/assets/select-assistant-screen-C5Cl_pCp.js +1 -0
  97. package/dist/assets/self-hosted-servers-DFgP80iG.js +1 -0
  98. package/dist/assets/{settings-divider-D_vHiuYw.js → settings-divider-BuDc875f.js} +1 -1
  99. package/dist/assets/{settings-layout-CINtkHJR.js → settings-layout-Clnlm1aB.js} +1 -1
  100. package/dist/assets/{settings-navigation-CHeVLLWI.js → settings-navigation-Cn3KCxOe.js} +1 -1
  101. package/dist/assets/{share-feedback-modal-BWez_NtT.js → share-feedback-modal-COUhsUqF.js} +1 -1
  102. package/dist/assets/{sidebar-tree-aLYbZLvm.js → sidebar-tree-BXbcoj07.js} +1 -1
  103. package/dist/assets/{signup-page-CiW0Chx7.js → signup-page-C9ZrCSVo.js} +1 -1
  104. package/dist/assets/{site-favicon-B5ilr8wL.js → site-favicon-B3DMFtr3.js} +1 -1
  105. package/dist/assets/{skill-detail-page-T24C6W33.js → skill-detail-page-Ckw6_1PG.js} +2 -2
  106. package/dist/assets/{skill-detail-panel-BOPQ16Vg.js → skill-detail-panel-DdYbYHuj.js} +1 -1
  107. package/dist/assets/{skills-C2mjxWRN.js → skills-Lf85mR9L.js} +1 -1
  108. package/dist/assets/{src-BMRW2yQf.js → src-hNk11eS3.js} +1 -1
  109. package/dist/assets/{stt-language-picker-modal-BVO4V699.js → stt-language-picker-modal-B5MO-3gk.js} +1 -1
  110. package/dist/assets/{subagent-detail-panel-BCDOrwh3.js → subagent-detail-panel-BKhU7VAv.js} +1 -1
  111. package/dist/assets/{subagent-store-BOpi4xxB.js → subagent-store-9SqF-NFa.js} +1 -1
  112. package/dist/assets/{superpowers-page-bOpdIXSO.js → superpowers-page-gPiU1fsq.js} +1 -1
  113. package/dist/assets/{system-events-page-Bgo88uzO.js → system-events-page-DbcoH4sh.js} +1 -1
  114. package/dist/assets/{telegram-setup-wizard-B3MHpy56.js → telegram-setup-wizard-C4E0wi1B.js} +1 -1
  115. package/dist/assets/{text-preview-CPYq3og6.js → text-preview-KOyX3OrO.js} +1 -1
  116. package/dist/assets/{theme-stage-page-B6C95R4X.js → theme-stage-page-D4DYc_C8.js} +1 -1
  117. package/dist/assets/{tiptap-document-editor-By4wlOTs.js → tiptap-document-editor-CDIJTTa_.js} +1 -1
  118. package/dist/assets/{tool-detail-panel-E_gP0j1r.js → tool-detail-panel-CmbBw4_n.js} +1 -1
  119. package/dist/assets/typed-storage-lk6_tW16.js +1 -0
  120. package/dist/assets/{upgrade-cancel-page-DCiT0Rqi.js → upgrade-cancel-page-DfjtkvP9.js} +1 -1
  121. package/dist/assets/{upgrade-success-page-DLs3viaj.js → upgrade-success-page-BDWg5oK4.js} +1 -1
  122. package/dist/assets/{use-assistant-avatar-Dk975wdP.js → use-assistant-avatar-Dd-EU1FC.js} +1 -1
  123. package/dist/assets/{use-assistant-identity-details-DyvMGaA7.js → use-assistant-identity-details-BAgi4MHa.js} +1 -1
  124. package/dist/assets/{use-attachment-preview-DjrcSin2.js → use-attachment-preview-CB3GsEns.js} +1 -1
  125. package/dist/assets/{use-attachment-squares-DHH1eTI4.js → use-attachment-squares-DPuVHGRC.js} +1 -1
  126. package/dist/assets/{use-bookmarks-Wg8ueMhb.js → use-bookmarks-C6IlHWIK.js} +1 -1
  127. package/dist/assets/{use-checkout-dismiss-refresh-wuwzKwo_.js → use-checkout-dismiss-refresh-CDwSKr1-.js} +1 -1
  128. package/dist/assets/{use-command-palette-sections-CzHbFhwD.js → use-command-palette-sections-DXzS2Tio.js} +1 -1
  129. package/dist/assets/{use-edge-swipe-back-9-2nUEK7.js → use-edge-swipe-back-ZgANxgKE.js} +2 -2
  130. package/dist/assets/{use-edit-app-PiQBQ9vN.js → use-edit-app-BHUYCv4X.js} +1 -1
  131. package/dist/assets/{use-invite-link-dialog-C6rYwhqr.js → use-invite-link-dialog-CdY5FNQa.js} +1 -1
  132. package/dist/assets/{use-is-org-ready-BTUeuhPi.js → use-is-org-ready-BmOdacs1.js} +1 -1
  133. package/dist/assets/{use-onboarding-login-BXw1Fcg3.js → use-onboarding-login-BUaNGE_u.js} +1 -1
  134. package/dist/assets/{use-platform-assistant-id-DOBe1pF-.js → use-platform-assistant-id-CEMyKEvV.js} +1 -1
  135. package/dist/assets/{use-platform-gate-DBRG0Q26.js → use-platform-gate-CdwOyQ8A.js} +1 -1
  136. package/dist/assets/{use-return-to-short-circuit-Bl1RwuwD.js → use-return-to-short-circuit-CTYRB2Ne.js} +1 -1
  137. package/dist/assets/{use-skill-actions-kLsl5L01.js → use-skill-actions-GbdM3IIw.js} +1 -1
  138. package/dist/assets/{use-sticky-profiles-CVsR9J8_.js → use-sticky-profiles-LVe9u5gh.js} +1 -1
  139. package/dist/assets/{use-subagent-card-data-BeUTFQdm.js → use-subagent-card-data-CFKl88ab.js} +1 -1
  140. package/dist/assets/{use-supports-bookmarks-FmvOAxKu.js → use-supports-bookmarks-z9pfj1Rm.js} +1 -1
  141. package/dist/assets/use-supports-credentials-settings-CEPArXBW.js +1 -0
  142. package/dist/assets/use-transcript-message-by-id-cDbEJMB-.js +1 -0
  143. package/dist/assets/{use-transcript-messages-BAG92dqc.js → use-transcript-messages-vw2Hogaj.js} +1 -1
  144. package/dist/assets/{use-voice-sample-preview-CVVwbBcE.js → use-voice-sample-preview-BjIqIVEG.js} +1 -1
  145. package/dist/assets/{utils-CAZUrJMu.js → utils-CVoSWh7U.js} +1 -1
  146. package/dist/assets/{viewer-store-BhqBXvNu.js → viewer-store-DhrkeZmJ.js} +1 -1
  147. package/dist/assets/{voice-list-ChEr4jqe.js → voice-list-DnqRx15F.js} +1 -1
  148. package/dist/assets/{voice-page-CkdnjoLc.js → voice-page-CrrYAE9k.js} +1 -1
  149. package/dist/assets/{voice-providers-note-DC4nbaBx.js → voice-providers-note-ValSs0nz.js} +1 -1
  150. package/dist/assets/{welcome-screen-BTnikex6.js → welcome-screen-CiBqE53u.js} +1 -1
  151. package/dist/assets/{workflow-detail-panel-Bf6rP5UH.js → workflow-detail-panel-crM7HRfK.js} +1 -1
  152. package/dist/assets/{workspace-page-C8EUvGJ4.js → workspace-page-iAsgehav.js} +1 -1
  153. package/dist/images/integrations/ATTRIBUTION.md +72 -0
  154. package/dist/images/integrations/airtable.svg +1 -0
  155. package/dist/images/integrations/asana.svg +1 -0
  156. package/dist/images/integrations/discord.svg +1 -0
  157. package/dist/images/integrations/dropbox.svg +1 -0
  158. package/dist/images/integrations/hubspot.svg +1 -0
  159. package/dist/images/integrations/salesforce.svg +5 -0
  160. package/dist/images/integrations/sanity.svg +1 -0
  161. package/dist/images/integrations/spotify.svg +1 -0
  162. package/dist/images/integrations/telegram.svg +1 -0
  163. package/dist/images/integrations/todoist.svg +1 -0
  164. package/dist/images/integrations/x.svg +1 -0
  165. package/dist/index.html +57 -57
  166. package/package.json +1 -1
  167. package/dist/assets/ai-page-CsufGyQ4.js +0 -1
  168. package/dist/assets/channels-page-route-Dj500t-M.js +0 -9
  169. package/dist/assets/chat-markdown-message-Dr9rA1lM.js +0 -1
  170. package/dist/assets/file-markdown-DMq6D4CV.js +0 -2
  171. package/dist/assets/identity-page-route-CLUGVFIg.js +0 -7
  172. package/dist/assets/index-BIhXfUlg.css +0 -2
  173. package/dist/assets/integration-icon-BaoRF0qI.js +0 -1
  174. package/dist/assets/integrations-page-Dygny-c2.js +0 -1
  175. package/dist/assets/pairing-page-Tun2QZT0.js +0 -1
  176. package/dist/assets/plugins-surface-B4NuEVD_.js +0 -1
  177. package/dist/assets/schedules-page-CchXRGaR.js +0 -1
  178. package/dist/assets/select-assistant-screen-BHf9p-NL.js +0 -1
  179. package/dist/assets/typed-storage-UYklH-m5.js +0 -1
  180. package/dist/assets/use-supports-credentials-settings-BGgnzFf0.js +0 -1
  181. package/dist/assets/use-supports-schedule-profile-moves-CuKzMKxy.js +0 -1
  182. package/dist/assets/use-transcript-message-by-id-C7L609Lk.js +0 -1
  183. /package/dist/assets/{profile-metadata-DutSLpwl.js → profile-metadata-DgH7VoVU.js} +0 -0
  184. /package/dist/assets/{start-screen-zLwb2fyf.js → start-screen-CXUDtHbL.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-Cw5vs0Ef.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./button-BENY-yx_.js";import{d as a,h as o}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as s}from"./QueryClientProvider-CMu7CkQU.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./progress-bar-CrrJKpWm.js";import{C as ee,E as te,R as ne,S as re,_ as u,j as d,q as f,rt as ie}from"./local-mode-BfEgOekp.js";import{t as p}from"./is-electron-BHXrkjI3.js";import{n as m}from"./resolved-assistants-store-BFI9c7ip.js";import{i as ae}from"./api-errors-BQX1Pzcm.js";import{$ as oe,Z as h,dt as se,ft as ce,mt as le,n as g,pt as _,rt as ue,st as v}from"./auth-store-CPVpJ_c7.js";import{a as de,o as fe,r as y}from"./api-JA_IDAQk.js";import{d as b}from"./routes-iipg2wkc.js";import{h as pe,o as me}from"./prefs-CrbuxuNI.js";import{a as x,t as S}from"./navigation-resolver-DrNVOkMu.js";import{t as C}from"./build-state-DGpOoR0F.js";import{t as w}from"./avatar-bundled-components-BCCi2IoG.js";import{t as T}from"./avatar-svg-compositor-BOadabHt.js";import{t as E}from"./onboarding-layout-C534GRct.js";import{c as he,n as ge,t as _e}from"./provider-key-C9asexKh.js";import{a as ve,i as ye,n as be,r as D,t as O}from"./avatar-random-BHVo9v-a.js";import{t as k}from"./plugin-attribution-Cu32SvNF.js";var A=e(r(),1),j=c(),xe=800,M=null,N,P=null,F=null;function I(){M=null,N=void 0,P=null,F=null}var Se={initializing:0,provisioning:.33,connecting:.66,resizing:.85,ready:1},L=1500,Ce={initializing:`Getting things ready…`,provisioning:`Setting up your assistant…`,connecting:`Connecting to your assistant…`,resizing:`Setting up your machine…`,ready:`Ready`};function we(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/L))**3;return e+(t-e)*r}function Te(){let e=x(C(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function R(){let e=a(),r=s(),[c]=o(),x=c.get(`hosting`),C=c.get(`fail`),L=c.get(k),R=p(),z=u()&&x!==null&&x!==`vellum-cloud`,B=x===`vellum-cloud`,V=c.get(S)===`1`,H=g.use.sessionStatus(),Ee=z?v(H):H,[U]=(0,A.useState)(()=>F??=O(w)),De=(0,A.useMemo)(()=>{let e=T(w,U.bodyShape,U.eyeStyle,U.color,320);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`},[U]),[W,G]=(0,A.useState)(`initializing`),[Oe,K]=(0,A.useState)(null),[ke,q]=(0,A.useState)(!1),[Ae,je]=(0,A.useState)(!1),[Me,Ne]=(0,A.useState)(0),[Pe,J]=(0,A.useState)(0),[Fe,Ie]=(0,A.useState)(0),Y=(0,A.useRef)(W),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,G(e),Ie(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(C!==null){K(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let i=Te();if(i.kind===`redirect`){e(i.to,{replace:!0});return}if(i.kind===`wait`)return;B&&u()&&(f(),ie(null)),q(!1),je(!1);let a=!1,o=null,s=null,c=null,l=Date.now(),p,v=!1,S=!1,w=me(),T=t=>{try{pe(``)}catch(e){n(e,{context:`onboarding_mark_completed`})}J(1),Q.current=1,X.current=1,G(`ready`),Y.current=`ready`,s=setTimeout(()=>{a||(I(),(async()=>{if(await ue.checkAssistant(),!a){if(z){let n=new URLSearchParams;x&&n.set(`hosting`,x),t&&n.set(`assistant`,t),L&&n.set(k,L);let r=n.toString();e(`${b.onboarding.research}${r?`?${r}`:``}`,{replace:!0});return}e(b.onboarding.research,{replace:!0})}})())},xe)},E=e=>ve(e,U,r),O=async()=>{if($(`provisioning`),!z){try{let e=await y(),t=_(e);if(!a&&e.ok&&t.kind===`active`){u()&&d(e.data.id,e.data.name,oe()??void 0),await j(e.data.id);return}t.kind===`auto_hatch`&&(S=!0)}catch{}if(a)return}if(z){try{let e=x===`docker`?`docker`:void 0;M&&N!==e&&I(),M||=(N=e,ne(void 0,e));let t=await M;if(a)return;if(!t.ok){I(),K(t.error??`Failed to hatch local assistant.`);return}await re(),t.assistantId&&h(t.assistantId),$(`connecting`);let r=!1;for(;!a&&!r;){if(await te()){f(),await ee(),r=!0;break}if(Date.now()-l>=3e5){I(),K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{c=setTimeout(e,D)}),c=null}if(a)return;if(t.assistantId)try{await ge(t.assistantId)}catch(e){if(e instanceof _e){if(!a){let t=he(e.provider)?.displayName??e.provider;je(!0);let n=`Update your ${t} API key to continue.`;K(e.reason?`${e.reason} ${n}`:n)}return}n(e,{context:`onboarding_apply_provider_key`})}t.assistantId&&await g.getState().connectLocalAssistant(t.assistantId),t.assistantId&&(m.getState().upsertFromApi({id:t.assistantId,name:t.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),h(t.assistantId),E(t.assistantId)),T(t.assistantId)}catch{if(I(),a)return;K(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{P||=fe(w?{version:w}:void 0);let e=await P;if(P=null,a)return;if(e.ok&&(p=e.data.id),v=e.ok&&e.status===201,!e.ok){if(t(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),ce(e.status,e.error)){K(se),q(!0);return}if(!le(e.status)){K(ae(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(P=null,n(e,{context:`onboarding_hatch_assistant`}),a)return}A(0)},A=e=>{a||(o=setTimeout(F,e))},j=async e=>{for($(`connecting`);!a;){try{if((await de(e)).ok)break}catch{}if(Date.now()-l>=3e5){K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,D)}),o=null}if(a)return;let n=await ye({assistantId:e,postCheckoutReturn:V,managedHatch:B,hatchStartMs:l,isCancelled:()=>a,onResizeWait:()=>$(`resizing`),registerTimer:e=>{o=e}});if(!a){if(n===`health_timeout`){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:be,stage:`post_resize_health`}}),K(`Your assistant is taking longer than expected. Please try again.`);return}T()}},F=async()=>{if(!a){if(Date.now()-l>=3e5){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:be}}),K(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await y(p);if(a||p&&!e.ok&&e.status===404&&(p=void 0,e=await y(),a))return;let t=_(e);if(t.kind===`active`){if(e.ok){let t=e.data.id;m.getState().upsertFromApi(e.data),h(t),(v||S)&&E(t),u()&&d(t,e.data.name,oe()??void 0),await j(t);return}T();return}if(t.kind===`error`){K(t.message);return}t.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),A(D)}catch(e){if(n(e,{context:`onboarding_poll_assistant`}),a)return;A(D)}}};return O(),()=>{a=!0,o&&clearTimeout(o),s&&clearTimeout(s),c&&clearTimeout(c)}},[Me,C,U,B,V,Ee,e,r,$,z]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=Se[Y.current],i=we(X.current,r,n);Q.current=i,J(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Fe]),Oe?(0,j.jsx)(E,{children:(0,j.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${R?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:R?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:Ae?`Your API key didn't work`:`Something went wrong`}),(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${R?`mt-3.5`:`mt-4`}`,children:Oe}),ke&&(0,j.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,j.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Get started today with a local assistant`}),(0,j.jsx)(i,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,children:(0,j.jsx)(`a`,{href:`${window.location.origin}/download`,children:`Download the macOS app`})})]}),(0,j.jsx)(`img`,{src:De,alt:``,width:160,height:160,className:`${R?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,j.jsxs)(`div`,{className:`flex w-full flex-col ${R?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[Ae?(0,j.jsx)(i,{variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>void e(x?`${b.onboarding.apiKey}?hosting=${x}`:b.onboarding.apiKey,{replace:!0}),children:`Update API key`}):(0,j.jsx)(i,{variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,G(`initializing`),J(0),Ie(e=>e+1),K(null),q(!1),Ne(e=>e+1)},children:`Try again`}),(0,j.jsx)(i,{variant:`outlined`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>void e(z?b.onboarding.hosting:b.onboarding.privacy,{replace:!0}),children:`Back`})]})]})}):(0,j.jsx)(E,{children:(0,j.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${R?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:R?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:W===`ready`?`Your assistant is ready!`:`Waking up…`}),W!==`ready`&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${R?`mt-3.5`:`mt-4`}`,children:`Hang tight — your assistant will have a few questions for you once it's up.`}),(0,j.jsx)(`img`,{src:De,alt:``,width:160,height:160,className:`${R?`my-auto py-8`:`my-16`} ${W===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,j.jsx)(l,{value:Pe,height:6,className:`w-full ${R?`max-w-[200px]`:`max-w-sm`}`,"aria-label":`Assistant startup progress`}),(0,j.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${R?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:Ce[W]})]})})}export{R as HatchingScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-Cw5vs0Ef.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./button-BENY-yx_.js";import{d as a,h as o}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as s}from"./QueryClientProvider-CMu7CkQU.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./progress-bar-CrrJKpWm.js";import{C as ee,E as te,R as ne,S as re,_ as u,j as d,q as f,rt as ie}from"./local-mode-BfEgOekp.js";import{t as p}from"./is-electron-BHXrkjI3.js";import{n as m}from"./resolved-assistants-store-BFI9c7ip.js";import{i as ae}from"./api-errors-BQX1Pzcm.js";import{$ as oe,Z as h,dt as se,ft as ce,mt as le,n as g,pt as _,rt as ue,st as v}from"./auth-store-DkOiOQNx.js";import{a as de,o as fe,r as y}from"./api-JA_IDAQk.js";import{d as b}from"./routes-iipg2wkc.js";import{h as pe,o as me}from"./prefs-CrbuxuNI.js";import{a as x,t as S}from"./navigation-resolver-DrNVOkMu.js";import{t as C}from"./build-state-B0f3Jn2o.js";import{t as w}from"./avatar-bundled-components-BCCi2IoG.js";import{t as T}from"./avatar-svg-compositor-BOadabHt.js";import{t as E}from"./onboarding-layout-C534GRct.js";import{c as he,n as ge,t as _e}from"./provider-key-BZOH9D9k.js";import{a as ve,i as ye,n as be,r as D,t as O}from"./avatar-random-BiLhcs1I.js";import{t as k}from"./plugin-attribution-Cu32SvNF.js";var A=e(r(),1),j=c(),xe=800,M=null,N,P=null,F=null;function I(){M=null,N=void 0,P=null,F=null}var Se={initializing:0,provisioning:.33,connecting:.66,resizing:.85,ready:1},L=1500,Ce={initializing:`Getting things ready…`,provisioning:`Setting up your assistant…`,connecting:`Connecting to your assistant…`,resizing:`Setting up your machine…`,ready:`Ready`};function we(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/L))**3;return e+(t-e)*r}function Te(){let e=x(C(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function R(){let e=a(),r=s(),[c]=o(),x=c.get(`hosting`),C=c.get(`fail`),L=c.get(k),R=p(),z=u()&&x!==null&&x!==`vellum-cloud`,B=x===`vellum-cloud`,V=c.get(S)===`1`,H=g.use.sessionStatus(),Ee=z?v(H):H,[U]=(0,A.useState)(()=>F??=O(w)),De=(0,A.useMemo)(()=>{let e=T(w,U.bodyShape,U.eyeStyle,U.color,320);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`},[U]),[W,G]=(0,A.useState)(`initializing`),[Oe,K]=(0,A.useState)(null),[ke,q]=(0,A.useState)(!1),[Ae,je]=(0,A.useState)(!1),[Me,Ne]=(0,A.useState)(0),[Pe,J]=(0,A.useState)(0),[Fe,Ie]=(0,A.useState)(0),Y=(0,A.useRef)(W),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,G(e),Ie(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(C!==null){K(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let i=Te();if(i.kind===`redirect`){e(i.to,{replace:!0});return}if(i.kind===`wait`)return;B&&u()&&(f(),ie(null)),q(!1),je(!1);let a=!1,o=null,s=null,c=null,l=Date.now(),p,v=!1,S=!1,w=me(),T=t=>{try{pe(``)}catch(e){n(e,{context:`onboarding_mark_completed`})}J(1),Q.current=1,X.current=1,G(`ready`),Y.current=`ready`,s=setTimeout(()=>{a||(I(),(async()=>{if(await ue.checkAssistant(),!a){if(z){let n=new URLSearchParams;x&&n.set(`hosting`,x),t&&n.set(`assistant`,t),L&&n.set(k,L);let r=n.toString();e(`${b.onboarding.research}${r?`?${r}`:``}`,{replace:!0});return}e(b.onboarding.research,{replace:!0})}})())},xe)},E=e=>ve(e,U,r),O=async()=>{if($(`provisioning`),!z){try{let e=await y(),t=_(e);if(!a&&e.ok&&t.kind===`active`){u()&&d(e.data.id,e.data.name,oe()??void 0),await j(e.data.id);return}t.kind===`auto_hatch`&&(S=!0)}catch{}if(a)return}if(z){try{let e=x===`docker`?`docker`:void 0;M&&N!==e&&I(),M||=(N=e,ne(void 0,e));let t=await M;if(a)return;if(!t.ok){I(),K(t.error??`Failed to hatch local assistant.`);return}await re(),t.assistantId&&h(t.assistantId),$(`connecting`);let r=!1;for(;!a&&!r;){if(await te()){f(),await ee(),r=!0;break}if(Date.now()-l>=3e5){I(),K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{c=setTimeout(e,D)}),c=null}if(a)return;if(t.assistantId)try{await ge(t.assistantId)}catch(e){if(e instanceof _e){if(!a){let t=he(e.provider)?.displayName??e.provider;je(!0);let n=`Update your ${t} API key to continue.`;K(e.reason?`${e.reason} ${n}`:n)}return}n(e,{context:`onboarding_apply_provider_key`})}t.assistantId&&await g.getState().connectLocalAssistant(t.assistantId),t.assistantId&&(m.getState().upsertFromApi({id:t.assistantId,name:t.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),h(t.assistantId),E(t.assistantId)),T(t.assistantId)}catch{if(I(),a)return;K(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{P||=fe(w?{version:w}:void 0);let e=await P;if(P=null,a)return;if(e.ok&&(p=e.data.id),v=e.ok&&e.status===201,!e.ok){if(t(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),ce(e.status,e.error)){K(se),q(!0);return}if(!le(e.status)){K(ae(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(P=null,n(e,{context:`onboarding_hatch_assistant`}),a)return}A(0)},A=e=>{a||(o=setTimeout(F,e))},j=async e=>{for($(`connecting`);!a;){try{if((await de(e)).ok)break}catch{}if(Date.now()-l>=3e5){K(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{o=setTimeout(e,D)}),o=null}if(a)return;let n=await ye({assistantId:e,postCheckoutReturn:V,managedHatch:B,hatchStartMs:l,isCancelled:()=>a,onResizeWait:()=>$(`resizing`),registerTimer:e=>{o=e}});if(!a){if(n===`health_timeout`){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:be,stage:`post_resize_health`}}),K(`Your assistant is taking longer than expected. Please try again.`);return}T()}},F=async()=>{if(!a){if(Date.now()-l>=3e5){t(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:be}}),K(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await y(p);if(a||p&&!e.ok&&e.status===404&&(p=void 0,e=await y(),a))return;let t=_(e);if(t.kind===`active`){if(e.ok){let t=e.data.id;m.getState().upsertFromApi(e.data),h(t),(v||S)&&E(t),u()&&d(t,e.data.name,oe()??void 0),await j(t);return}T();return}if(t.kind===`error`){K(t.message);return}t.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),A(D)}catch(e){if(n(e,{context:`onboarding_poll_assistant`}),a)return;A(D)}}};return O(),()=>{a=!0,o&&clearTimeout(o),s&&clearTimeout(s),c&&clearTimeout(c)}},[Me,C,U,B,V,Ee,e,r,$,z]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=Se[Y.current],i=we(X.current,r,n);Q.current=i,J(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Fe]),Oe?(0,j.jsx)(E,{children:(0,j.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${R?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:R?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:Ae?`Your API key didn't work`:`Something went wrong`}),(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${R?`mt-3.5`:`mt-4`}`,children:Oe}),ke&&(0,j.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,j.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Get started today with a local assistant`}),(0,j.jsx)(i,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,children:(0,j.jsx)(`a`,{href:`${window.location.origin}/download`,children:`Download the macOS app`})})]}),(0,j.jsx)(`img`,{src:De,alt:``,width:160,height:160,className:`${R?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,j.jsxs)(`div`,{className:`flex w-full flex-col ${R?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[Ae?(0,j.jsx)(i,{variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>void e(x?`${b.onboarding.apiKey}?hosting=${x}`:b.onboarding.apiKey,{replace:!0}),children:`Update API key`}):(0,j.jsx)(i,{variant:`primary`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,G(`initializing`),J(0),Ie(e=>e+1),K(null),q(!1),Ne(e=>e+1)},children:`Try again`}),(0,j.jsx)(i,{variant:`outlined`,size:`regular`,fullWidth:!0,className:R?void 0:`h-11 text-base`,onClick:()=>void e(z?b.onboarding.hosting:b.onboarding.privacy,{replace:!0}),children:`Back`})]})]})}):(0,j.jsx)(E,{children:(0,j.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${R?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,j.jsx)(`h1`,{className:R?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:W===`ready`?`Your assistant is ready!`:`Waking up…`}),W!==`ready`&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${R?`mt-3.5`:`mt-4`}`,children:`Hang tight — your assistant will have a few questions for you once it's up.`}),(0,j.jsx)(`img`,{src:De,alt:``,width:160,height:160,className:`${R?`my-auto py-8`:`my-16`} ${W===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,j.jsx)(l,{value:Pe,height:6,className:`w-full ${R?`max-w-[200px]`:`max-w-sm`}`,"aria-label":`Assistant startup progress`}),(0,j.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${R?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:Ce[W]})]})})}export{R as HatchingScreen};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,u as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./arrow-left-BikDV6F2.js";import{t as u}from"./bell-aW0w-ROt.js";import{t as d}from"./calendar-CTyC1v1L.js";import{t as f}from"./chevron-right-DBGgpEiZ.js";import{a as p}from"./src-BMRW2yQf.js";import{_ as m,a as h,c as g,d as _,f as v,g as y,h as b,i as x,l as S,m as C,n as w,o as T,r as E,s as D,t as O,u as k,v as A}from"./home-tool-permission-card-DG7KNyYY.js";import{t as j}from"./mail-CYjppw70.js";import{t as M}from"./rotate-ccw-Dcfo4EC8.js";import{t as N}from"./trash-2-BKXSi5Tj.js";import{t as P}from"./x-338EsJDP.js";import{t as F}from"./tag-DeMzQvCo.js";import{t as I}from"./skeleton-CJJwPIil.js";import{d as L}from"./routes-iipg2wkc.js";import{H as R,U as z}from"./react-query.gen-DxjuNs-5.js";import{t as B}from"./conversation-navigation-DqU55C7j.js";import{n as V}from"./use-is-mobile-BP8UePsY.js";import{a as H}from"./conversation-cache-BmhpM_P6.js";import{t as U}from"./chat-layout-slots-store-N_sabTbs.js";import{a as W,i as G,n as ee}from"./conversation-queries-Bh_7RMKd.js";import{t as te}from"./use-active-assistant-id-BvHP5Ojg.js";import{s as ne}from"./schedules-kVuR00ra.js";import{i as K,r as q}from"./format-date-Bi9Bsv-w.js";import{t as re}from"./page-shell-DH240m1W.js";import{n as J,t as Y}from"./detail-drawer-HN4NsyKg.js";import{t as ie}from"./page-empty-state-DtjiuvvO.js";var X=e(t(),1),Z=s();function ae(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function oe({item:e,isMobile:t,validConversationIds:r,onClose:i,onGoToThread:a,onUpdateStatus:o,onDismiss:s,onViewSchedule:u}){if(!e)return null;let f=e.detailPanel?.kind,p=ae(e),m=y(e.category),h=m.icon,g=e.status===`new`,_=e.status===`dismissed`,v=!!e.conversationId&&r.has(e.conversationId);return t?(0,Z.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,Z.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(l,{}),onClick:i,"aria-label":`Back`,tooltip:`Back`}),(0,Z.jsx)(c,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Z.jsx)(n,{variant:`ghost`,iconOnly:g?(0,Z.jsx)(A,{}):(0,Z.jsx)(j,{}),onClick:()=>o(e.id,g?`seen`:`new`),"aria-label":g?`Mark as read`:`Mark as unread`,tooltip:g?`Mark as read`:`Mark as unread`}),_?(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(M,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(N,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:40,height:40,backgroundColor:m.weak},"aria-hidden":`true`,children:(0,Z.jsx)(h,{width:18,height:18,style:{color:m.strong}})}),(0,Z.jsx)(c,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:p}),(0,Z.jsx)(F,{tone:`neutral`,className:`shrink-0`,title:q(e.timestamp),children:K(e.timestamp)})]}),(0,Z.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:f===`toolPermission`?(0,Z.jsx)(O,{item:e}):(0,Z.jsx)(w,{item:e})}),v||u?(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[u?(0,Z.jsx)(n,{variant:`outlined`,fullWidth:!0,leftIcon:(0,Z.jsx)(d,{className:`size-4`}),onClick:u,children:`View schedule`}):null,v?(0,Z.jsx)(n,{variant:`primary`,fullWidth:!0,onClick:()=>a(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,Z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:28,height:28,backgroundColor:m.weak},"aria-hidden":`true`,children:(0,Z.jsx)(h,{width:14,height:14,style:{color:m.strong}})}),(0,Z.jsx)(c,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:p}),v?(0,Z.jsx)(n,{variant:`outlined`,onClick:()=>a(e.conversationId),children:`Go to Convo`}):null,(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(P,{}),onClick:i,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,Z.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[f===`toolPermission`?(0,Z.jsx)(O,{item:e}):(0,Z.jsx)(w,{item:e}),(0,Z.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,Z.jsx)(F,{tone:`neutral`,title:q(e.timestamp),children:K(e.timestamp)})})]}),(0,Z.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,Z.jsx)(`div`,{children:u?(0,Z.jsx)(n,{variant:`outlined`,leftIcon:(0,Z.jsx)(d,{className:`size-4`}),onClick:u,children:`View schedule`}):null}),(0,Z.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:_?(0,Z.jsx)(n,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(n,{variant:`outlined`,onClick:()=>o(e.id,g?`seen`:`new`),children:g?`Mark as read`:`Mark as unread`}),(0,Z.jsx)(n,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var se={today:`Today`,yesterday:`Yesterday`,older:`Older`},ce=10080*60*1e3;function Q(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>ce}function $({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s,archivedOpen:l,onArchivedOpenChange:d,dismissedOpen:m,onDismissedOpenChange:h}){let[g,v]=(0,X.useState)(null),[y]=(0,X.useState)(()=>Date.now()),w=T(e.filter(e=>e.status!==`dismissed`)),E=w.filter(e=>!Q(e,y)),O=C(w.filter(e=>Q(e,y))),k=S(E),A=g&&k.includes(g)?g:null;g!==A&&v(A);let j=_(C(D(E,A))),M=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(0,Z.jsx)(b,{categories:k,activeFilter:A,onFilterChange:v}),j.size===0?A?(0,Z.jsx)(c,{variant:`body-medium-lighter`,className:`py-[var(--app-spacing-xl)] text-center text-[var(--content-disabled)]`,children:`No items match the selected filter.`}):(0,Z.jsx)(ie,{icon:u,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...j.entries()].map(([e,a])=>(0,Z.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,Z.jsx)(c,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:se[e]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:a.map(e=>(0,Z.jsx)(x,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),O.length>0&&(0,Z.jsx)(p.Root,{type:`single`,collapsible:!0,value:l?`archived-read`:``,onValueChange:e=>d?.(e===`archived-read`),children:(0,Z.jsxs)(p.Item,{value:`archived-read`,children:[(0,Z.jsxs)(p.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(f,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,Z.jsxs)(`span`,{children:[`Earlier (`,O.length,`)`]})]}),(0,Z.jsx)(p.Content,{children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)] pt-[var(--app-spacing-sm)]`,children:O.map(e=>(0,Z.jsx)(x,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),M.length>0&&(0,Z.jsx)(p.Root,{type:`single`,collapsible:!0,value:m?`dismissed`:``,onValueChange:e=>h?.(e===`dismissed`),children:(0,Z.jsxs)(p.Item,{value:`dismissed`,children:[(0,Z.jsxs)(p.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(f,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,Z.jsxs)(`span`,{children:[`Dismissed (`,M.length,`)`]})]}),(0,Z.jsx)(p.Content,{children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)] pt-[var(--app-spacing-sm)]`,children:M.map(e=>(0,Z.jsx)(x,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function le(){return(0,Z.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function ue(e){let t=a(),n=(0,X.useMemo)(()=>z({path:{assistant_id:e??``}}),[e]),r=o({...R({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,X.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function de(){return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,Z.jsx)(I,{className:`h-7 w-64 rounded-md`}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,Z.jsx)(I,{className:`h-16 rounded-md`},t))})]})}function fe({assistantId:e,validConversationIds:t,onOpenConversation:r,onViewSchedule:i,initialFeedItemId:a,navigationKey:s,onInitialFeedItemConsumed:c}){let l=V(),u=E(e);ue(e);let{data:d}=o(ne(e)),[f,p]=(0,X.useState)(null),[_,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(!1),S=(0,X.useCallback)(e=>{e.status===`new`?(p({...e,status:`seen`}),u.updateStatus.mutate({itemId:e.id,status:`seen`})):p(e)},[u.updateStatus]),C=(0,X.useCallback)(()=>{p(null)},[]),w=(0,X.useCallback)(e=>{u.updateStatus.mutate({itemId:e,status:`dismissed`}),f?.id===e&&p(null)},[u.updateStatus,f?.id]),T=(0,X.useCallback)(e=>{u.updateStatus.mutate({itemId:e,status:`seen`}),p(t=>t?.id===e?{...t,status:`seen`}:t)},[u.updateStatus]),D=(0,X.useCallback)((e,t)=>{u.updateStatus.mutate({itemId:e,status:t}),p(n=>n?.id===e?{...n,status:t}:n)},[u.updateStatus]),O=(0,X.useCallback)(e=>{p(null),r(e)},[r]),A=u.data?.items??[],[j,M]=(0,X.useState)(null);(0,X.useEffect)(()=>{if(!a||s===j||u.isLoading)return;M(s??null);let e=A.find(e=>e.id===a);e&&e.status!==`dismissed`&&S(e),c?.()},[a,s,j,u.isLoading,A,S,c]);let N=k(A),P=N.filter(e=>e.status===`new`).length,F=N.length,I=m(),L=(0,X.useCallback)(()=>{u.markAll.mutate(v(N))},[u.markAll,N]),R=(0,X.useCallback)(()=>{u.markAll.mutate(h(N)),p(null)},[u.markAll,N]),z=g(f),B=z!=null&&(d??[]).some(e=>e.id===z),H=f?(0,Z.jsx)(oe,{item:f,isMobile:l,validConversationIds:t,onClose:C,onGoToThread:O,onUpdateStatus:D,onDismiss:w,onViewSchedule:B?()=>i(z):void 0}):null,U=(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[u.isError?(0,Z.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`,u.error instanceof Error?`: ${u.error.message}`:`.`]}):null,I&&(P>0||F>0)&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-[var(--app-spacing-sm)]`,children:[P>0&&(0,Z.jsx)(n,{variant:`ghost`,size:`compact`,onClick:L,disabled:u.markAll.isPending,children:`Mark all as read`}),F>0&&(0,Z.jsx)(n,{variant:`ghost`,size:`compact`,onClick:R,disabled:u.markAll.isPending,children:`Clear all`})]}),(0,Z.jsx)($,{items:A,selectedItemId:f?.id,validConversationIds:t,onSelectItem:S,onDismissItem:w,onRestoreItem:T,onToggleRead:D,onGoToThread:O,archivedOpen:_,onArchivedOpenChange:y,dismissedOpen:b,onDismissedOpenChange:x})]}),W=H&&!l?(0,Z.jsx)(Y,{storageKey:`homeDetailDrawerWidth`,detailKey:f?.id,section:U,detail:H}):U,G=u.isLoading?(0,Z.jsx)(de,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[l?null:(0,Z.jsx)(le,{}),W]});return H&&l?(0,Z.jsx)(J,{children:H}):(0,Z.jsx)(re,{children:G})}function pe(){let e=r(),t=i(),n=te(),a=t.state?.feedItemId??null,o=(0,X.useCallback)(()=>{e(t.pathname+t.search,{replace:!0})},[e,t.pathname,t.search]),s=U.use.setTopBarCenter(),l=V(),{conversations:u}=G(n),{conversations:d}=ee(n,!0),{conversations:f}=W(n,!0),p=(0,X.useMemo)(()=>new Set(H(u,d,f).map(e=>e.conversationId)),[u,d,f]);return(0,X.useEffect)(()=>(s(l?(0,Z.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{s(null)}),[l,s]),(0,Z.jsx)(fe,{assistantId:n,validConversationIds:p,initialFeedItemId:a,navigationKey:t.key,onInitialFeedItemConsumed:o,onOpenConversation:t=>B(e,t),onViewSchedule:t=>e(L.schedules.detail(t))})}export{pe as HomePageRoute};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,u as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./arrow-left-BikDV6F2.js";import{t as u}from"./bell-aW0w-ROt.js";import{t as d}from"./calendar-CTyC1v1L.js";import{t as f}from"./chevron-right-DBGgpEiZ.js";import{a as p}from"./src-hNk11eS3.js";import{_ as m,a as h,c as g,d as _,f as v,g as y,h as b,i as x,l as S,m as C,n as w,o as T,r as E,s as D,t as O,u as k,v as A}from"./home-tool-permission-card-Bytpm6bE.js";import{t as j}from"./mail-CYjppw70.js";import{t as M}from"./rotate-ccw-Dcfo4EC8.js";import{t as N}from"./trash-2-BKXSi5Tj.js";import{t as P}from"./x-338EsJDP.js";import{t as F}from"./tag-DeMzQvCo.js";import{t as I}from"./skeleton-CJJwPIil.js";import{d as L}from"./routes-iipg2wkc.js";import{H as R,U as z}from"./react-query.gen-DxjuNs-5.js";import{t as B}from"./conversation-navigation-DbQqV_fs.js";import{n as V}from"./use-is-mobile-BP8UePsY.js";import{a as H}from"./conversation-cache-BmhpM_P6.js";import{t as U}from"./chat-layout-slots-store-N_sabTbs.js";import{a as W,i as G,n as ee}from"./conversation-queries-CMEwcap1.js";import{t as te}from"./use-active-assistant-id-BvHP5Ojg.js";import{s as ne}from"./schedules-kVuR00ra.js";import{i as K,r as q}from"./format-date-Bi9Bsv-w.js";import{t as re}from"./page-shell-CkfnwmIw.js";import{n as J,t as Y}from"./detail-drawer-AKY7keIJ.js";import{t as ie}from"./page-empty-state-DtjiuvvO.js";var X=e(t(),1),Z=s();function ae(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function oe({item:e,isMobile:t,validConversationIds:r,onClose:i,onGoToThread:a,onUpdateStatus:o,onDismiss:s,onViewSchedule:u}){if(!e)return null;let f=e.detailPanel?.kind,p=ae(e),m=y(e.category),h=m.icon,g=e.status===`new`,_=e.status===`dismissed`,v=!!e.conversationId&&r.has(e.conversationId);return t?(0,Z.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,Z.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(l,{}),onClick:i,"aria-label":`Back`,tooltip:`Back`}),(0,Z.jsx)(c,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Z.jsx)(n,{variant:`ghost`,iconOnly:g?(0,Z.jsx)(A,{}):(0,Z.jsx)(j,{}),onClick:()=>o(e.id,g?`seen`:`new`),"aria-label":g?`Mark as read`:`Mark as unread`,tooltip:g?`Mark as read`:`Mark as unread`}),_?(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(M,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,Z.jsx)(n,{variant:`ghost`,iconOnly:(0,Z.jsx)(N,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:40,height:40,backgroundColor:m.weak},"aria-hidden":`true`,children:(0,Z.jsx)(h,{width:18,height:18,style:{color:m.strong}})}),(0,Z.jsx)(c,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:p}),(0,Z.jsx)(F,{tone:`neutral`,className:`shrink-0`,title:q(e.timestamp),children:K(e.timestamp)})]}),(0,Z.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:f===`toolPermission`?(0,Z.jsx)(O,{item:e}):(0,Z.jsx)(w,{item:e})}),v||u?(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[u?(0,Z.jsx)(n,{variant:`outlined`,fullWidth:!0,leftIcon:(0,Z.jsx)(d,{className:`size-4`}),onClick:u,children:`View schedule`}):null,v?(0,Z.jsx)(n,{variant:`primary`,fullWidth:!0,onClick:()=>a(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,Z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:28,height:28,backgroundColor:m.weak},"aria-hidden":`true`,children:(0,Z.jsx)(h,{width:14,height:14,style:{color:m.strong}})}),(0,Z.jsx)(c,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:p}),v?(0,Z.jsx)(n,{variant:`outlined`,onClick:()=>a(e.conversationId),children:`Go to Convo`}):null,(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(P,{}),onClick:i,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,Z.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[f===`toolPermission`?(0,Z.jsx)(O,{item:e}):(0,Z.jsx)(w,{item:e}),(0,Z.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,Z.jsx)(F,{tone:`neutral`,title:q(e.timestamp),children:K(e.timestamp)})})]}),(0,Z.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,Z.jsx)(`div`,{children:u?(0,Z.jsx)(n,{variant:`outlined`,leftIcon:(0,Z.jsx)(d,{className:`size-4`}),onClick:u,children:`View schedule`}):null}),(0,Z.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:_?(0,Z.jsx)(n,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(n,{variant:`outlined`,onClick:()=>o(e.id,g?`seen`:`new`),children:g?`Mark as read`:`Mark as unread`}),(0,Z.jsx)(n,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var se={today:`Today`,yesterday:`Yesterday`,older:`Older`},ce=10080*60*1e3;function Q(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>ce}function $({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s,archivedOpen:l,onArchivedOpenChange:d,dismissedOpen:m,onDismissedOpenChange:h}){let[g,v]=(0,X.useState)(null),[y]=(0,X.useState)(()=>Date.now()),w=T(e.filter(e=>e.status!==`dismissed`)),E=w.filter(e=>!Q(e,y)),O=C(w.filter(e=>Q(e,y))),k=S(E),A=g&&k.includes(g)?g:null;g!==A&&v(A);let j=_(C(D(E,A))),M=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(0,Z.jsx)(b,{categories:k,activeFilter:A,onFilterChange:v}),j.size===0?A?(0,Z.jsx)(c,{variant:`body-medium-lighter`,className:`py-[var(--app-spacing-xl)] text-center text-[var(--content-disabled)]`,children:`No items match the selected filter.`}):(0,Z.jsx)(ie,{icon:u,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...j.entries()].map(([e,a])=>(0,Z.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,Z.jsx)(c,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:se[e]}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:a.map(e=>(0,Z.jsx)(x,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),O.length>0&&(0,Z.jsx)(p.Root,{type:`single`,collapsible:!0,value:l?`archived-read`:``,onValueChange:e=>d?.(e===`archived-read`),children:(0,Z.jsxs)(p.Item,{value:`archived-read`,children:[(0,Z.jsxs)(p.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(f,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,Z.jsxs)(`span`,{children:[`Earlier (`,O.length,`)`]})]}),(0,Z.jsx)(p.Content,{children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)] pt-[var(--app-spacing-sm)]`,children:O.map(e=>(0,Z.jsx)(x,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),M.length>0&&(0,Z.jsx)(p.Root,{type:`single`,collapsible:!0,value:m?`dismissed`:``,onValueChange:e=>h?.(e===`dismissed`),children:(0,Z.jsxs)(p.Item,{value:`dismissed`,children:[(0,Z.jsxs)(p.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(f,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,Z.jsxs)(`span`,{children:[`Dismissed (`,M.length,`)`]})]}),(0,Z.jsx)(p.Content,{children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)] pt-[var(--app-spacing-sm)]`,children:M.map(e=>(0,Z.jsx)(x,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function le(){return(0,Z.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function ue(e){let t=a(),n=(0,X.useMemo)(()=>z({path:{assistant_id:e??``}}),[e]),r=o({...R({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,X.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function de(){return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,Z.jsx)(I,{className:`h-7 w-64 rounded-md`}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,Z.jsx)(I,{className:`h-16 rounded-md`},t))})]})}function fe({assistantId:e,validConversationIds:t,onOpenConversation:r,onViewSchedule:i,initialFeedItemId:a,navigationKey:s,onInitialFeedItemConsumed:c}){let l=V(),u=E(e);ue(e);let{data:d}=o(ne(e)),[f,p]=(0,X.useState)(null),[_,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(!1),S=(0,X.useCallback)(e=>{e.status===`new`?(p({...e,status:`seen`}),u.updateStatus.mutate({itemId:e.id,status:`seen`})):p(e)},[u.updateStatus]),C=(0,X.useCallback)(()=>{p(null)},[]),w=(0,X.useCallback)(e=>{u.updateStatus.mutate({itemId:e,status:`dismissed`}),f?.id===e&&p(null)},[u.updateStatus,f?.id]),T=(0,X.useCallback)(e=>{u.updateStatus.mutate({itemId:e,status:`seen`}),p(t=>t?.id===e?{...t,status:`seen`}:t)},[u.updateStatus]),D=(0,X.useCallback)((e,t)=>{u.updateStatus.mutate({itemId:e,status:t}),p(n=>n?.id===e?{...n,status:t}:n)},[u.updateStatus]),O=(0,X.useCallback)(e=>{p(null),r(e)},[r]),A=u.data?.items??[],[j,M]=(0,X.useState)(null);(0,X.useEffect)(()=>{if(!a||s===j||u.isLoading)return;M(s??null);let e=A.find(e=>e.id===a);e&&e.status!==`dismissed`&&S(e),c?.()},[a,s,j,u.isLoading,A,S,c]);let N=k(A),P=N.filter(e=>e.status===`new`).length,F=N.length,I=m(),L=(0,X.useCallback)(()=>{u.markAll.mutate(v(N))},[u.markAll,N]),R=(0,X.useCallback)(()=>{u.markAll.mutate(h(N)),p(null)},[u.markAll,N]),z=g(f),B=z!=null&&(d??[]).some(e=>e.id===z),H=f?(0,Z.jsx)(oe,{item:f,isMobile:l,validConversationIds:t,onClose:C,onGoToThread:O,onUpdateStatus:D,onDismiss:w,onViewSchedule:B?()=>i(z):void 0}):null,U=(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[u.isError?(0,Z.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`,u.error instanceof Error?`: ${u.error.message}`:`.`]}):null,I&&(P>0||F>0)&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-[var(--app-spacing-sm)]`,children:[P>0&&(0,Z.jsx)(n,{variant:`ghost`,size:`compact`,onClick:L,disabled:u.markAll.isPending,children:`Mark all as read`}),F>0&&(0,Z.jsx)(n,{variant:`ghost`,size:`compact`,onClick:R,disabled:u.markAll.isPending,children:`Clear all`})]}),(0,Z.jsx)($,{items:A,selectedItemId:f?.id,validConversationIds:t,onSelectItem:S,onDismissItem:w,onRestoreItem:T,onToggleRead:D,onGoToThread:O,archivedOpen:_,onArchivedOpenChange:y,dismissedOpen:b,onDismissedOpenChange:x})]}),W=H&&!l?(0,Z.jsx)(Y,{storageKey:`homeDetailDrawerWidth`,detailKey:f?.id,section:U,detail:H}):U,G=u.isLoading?(0,Z.jsx)(de,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[l?null:(0,Z.jsx)(le,{}),W]});return H&&l?(0,Z.jsx)(J,{children:H}):(0,Z.jsx)(re,{children:G})}function pe(){let e=r(),t=i(),n=te(),a=t.state?.feedItemId??null,o=(0,X.useCallback)(()=>{e(t.pathname+t.search,{replace:!0})},[e,t.pathname,t.search]),s=U.use.setTopBarCenter(),l=V(),{conversations:u}=G(n),{conversations:d}=ee(n,!0),{conversations:f}=W(n,!0),p=(0,X.useMemo)(()=>new Set(H(u,d,f).map(e=>e.conversationId)),[u,d,f]);return(0,X.useEffect)(()=>(s(l?(0,Z.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{s(null)}),[l,s]),(0,Z.jsx)(fe,{assistantId:n,validConversationIds:p,initialFeedItemId:a,navigationKey:t.key,onInitialFeedItemConsumed:o,onOpenConversation:t=>B(e,t),onViewSchedule:t=>e(L.schedules.detail(t))})}export{pe as HomePageRoute};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-BENY-yx_.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-DFWryB3N.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./createLucideIcon-C1mdGPB9.js";import{t as u}from"./bell-aW0w-ROt.js";import{t as d}from"./clock-B8umTTHk.js";import{C as f,R as p,b as m,m as h,v as g}from"./src-BMRW2yQf.js";import{t as _}from"./list-O_53kvwx.js";import{t as v}from"./mail-CYjppw70.js";import{t as ee}from"./message-square-BjBDqFUX.js";import{t as te}from"./rotate-ccw-Dcfo4EC8.js";import{t as ne}from"./settings-751LDGs_.js";import{t as re}from"./shield-check-zaoUwOKj.js";import{t as ie}from"./trash-2-BKXSi5Tj.js";import{t as ae}from"./tag-DeMzQvCo.js";import{i as oe}from"./utils-CAZUrJMu.js";import{Bt as se,Lt as y,Rt as b,zt as ce}from"./sdk.gen-CBPZ2IdN.js";import{B as le,V as x}from"./react-query.gen-DxjuNs-5.js";import{t as S}from"./use-bus-subscription-0lId9jya.js";import{t as ue}from"./native-anchor-CpFd0dIc.js";import{i as de}from"./format-date-Bi9Bsv-w.js";var C=l(`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`}]]),fe=`0.10.5`;function pe(){return oe(fe)}var w=e(t(),1),T=o(),E={security:{icon:re,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:v,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:d,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:ne,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:u,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}};function D(e){return e&&E[e]?E[e]:E.system}var me=[`security`,`email`,`scheduling`,`background`,`system`],O=`all`;function k({categories:e,activeFilter:t,onFilterChange:n}){let r=me.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:O,label:`All`,icon:(0,T.jsx)(_,{className:`h-4 w-4`})},...r.map(e=>{let t=E[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,T.jsx)(t,{className:`h-4 w-4`})}})];return(0,T.jsx)(p,{ariaLabel:`Filter notifications`,value:t??O,onChange:e=>n(e===O?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}var A=`system`;function j({category:e}){let t=D(e),n=e??A;return(0,T.jsx)(ae,{className:`bg-[var(--feed-chip-weak)] uppercase tracking-wide leading-none`,style:{"--feed-chip-weak":t.weak},children:n.charAt(0).toUpperCase()+n.slice(1)})}var M=12,N=280,P=4096,F=P*4,I=`.,;:!?-…`,L=/(?:…|\.{3,})$/,R=new Set([`break`,`delete`,`emphasis`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`link`,`linkReference`,`strong`,`text`]),z=m().use(f).use(h);function B(e){return I.includes(e)}function he(e){let t=e.length;for(;t>0&&B(e[t-1]);)--t;return e.slice(0,t)}function ge(e){if(e.length<=P)return V(e);let t=V(e.slice(0,P));return t.length>0||e.trim().length===0?t:V(e.slice(0,F))}function V(e){return H(z.parse(e)).replace(/\s+/g,` `).trim()}function H(e){switch(e.type){case`code`:case`html`:case`thematicBreak`:case`yaml`:return``;case`inlineCode`:case`text`:return e.value??``;case`break`:return` `;case`delete`:case`emphasis`:case`link`:case`linkReference`:case`strong`:return U(e);case`image`:case`imageReference`:{let t=e.alt??``;return t.trim().length===0?``:t}default:return e.children===void 0?e.value??``:U(e)}}function U(e){let t=``;for(let n of e.children??[]){let e=H(n);e.length!==0&&(t.length>0&&!R.has(n.type)&&(t+=` `),t+=e)}return t}function W(e){let t=[],n=!1;for(let r=0;r<e.length;r+=1){let i=e[r],a=r+1;if(/\s/.test(i)){if(n||t.length===0)continue;n=!0,t.push({char:` `,end:a});continue}n=!1;let o=i.toLowerCase();t.push({char:o.length===1?o:i,end:a})}return t}function G(e){return he(W(e).map(e=>e.char).join(``).trimEnd()).trimEnd()}function _e(e,t){if(t<=0)return e;let n=W(e);return t>n.length?``:e.slice(n[t-1].end)}function ve(e){let t=0;for(;t<e.length;){let n=e[t];if(!/\s/.test(n)&&!B(n))break;t+=1}return e.slice(t)}function K(e){return e!==void 0&&/[\p{L}\p{M}\p{N}]/u.test(e)}function q(e,t){return e.startsWith(t)?!K(e[t.length]):!1}function J(e,t){let n=t;for(;n>0&&K(e[n-1]);)--n;return n}function ye(e){if(e.length<=N)return e;let t=e.slice(0,N),n=K(e[N])?J(t,t.length):t.length,r=t.slice(0,n).trimEnd();return r.length===0?t:r}function Y(e){return ye(ge(e))}function be(e,t){let n=Y(t);if(n.length===0)return null;let r=G(n),i=G(e);if(r===i)return null;let a=L.test(e.trimEnd());if(!(a?r.startsWith(i):q(r,i)))return(a?i.startsWith(r):q(i,r))?null:n;let o=ve(_e(n,a&&K(r[i.length])?J(r,i.length):i.length));return o.length<M?null:o}function xe(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 Se(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 Ce(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function X(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function we(e){return X(e.filter(e=>e.status!==`dismissed`))}function Te(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}var Ee=`Notification`;function Z(e){let t=e.title??Y(e.summary);return t.length>0?t:Ee}function De(e){return{from:[`new`],to:`seen`,ids:e.filter(e=>e.status===`new`).map(e=>e.id)}}function Oe(e){return{from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:e.map(e=>e.id)}}function Q(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}function $({label:e,onClick:t,className:r,children:i}){return(0,T.jsx)(n,{content:e,children:(0,T.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`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)]`,r),children:i})})}var ke=new Set([`Conversation`,`Other`]),Ae={comfortable:{card:`p-[var(--app-spacing-md)]`,stack:`gap-[var(--app-spacing-xs)]`,titleVariant:`title-small`,clamp:`line-clamp-2`,showsMetaRow:!0},compact:{card:`p-[var(--app-spacing-sm)]`,stack:`gap-[var(--app-spacing-xxs)]`,titleVariant:`body-medium-default`,clamp:`line-clamp-1`,showsMetaRow:!1}};function je({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:l=`dismiss`,density:u=`comfortable`}){let d=e.status===`new`,f=l===`restore`,p=Ae[u],m=e.sourceLabel&&!ke.has(e.sourceLabel)?e.sourceLabel:null,h=(0,w.useMemo)(()=>Z({title:e.title,summary:e.summary}),[e.title,e.summary]),g=(0,w.useMemo)(()=>be(h,e.summary),[h,e.summary]),_=(0,T.jsx)(c,{"data-testid":`home-recap-row-title`,variant:p.titleVariant,className:s(`leading-snug text-[var(--content-default)]`,p.showsMetaRow?p.clamp:`min-w-0 flex-1 truncate`),children:h});return(0,T.jsxs)(`div`,{className:s(`group relative flex w-full items-start gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-lg)] border border-[var(--border-base)]`,`transition-[background-color,opacity] duration-150`,p.card,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-overlay)] hover:bg-[var(--surface-hover)]`,!d&&!t&&`opacity-70`),children:[(0,T.jsx)(`button`,{type:`button`,"aria-label":h,onClick:()=>r(e),className:`absolute inset-0 w-full cursor-pointer rounded-[var(--radius-lg)]`}),(0,T.jsx)(`div`,{"data-testid":`home-recap-row-dot-gutter`,className:`pointer-events-none relative flex h-8 w-2 shrink-0 items-center`,children:d&&(0,T.jsx)(`span`,{"data-testid":`home-recap-row-unread-dot`,"aria-hidden":`true`,className:`h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})}),(0,T.jsxs)(`div`,{className:s(`pointer-events-none relative flex min-w-0 flex-1 flex-col`,p.stack),children:[(0,T.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[p.showsMetaRow?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(j,{category:e.category}),m!==null&&(0,T.jsx)(c,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:m})]}):_,(0,T.jsxs)(`span`,{className:`ml-auto grid shrink-0 items-center justify-items-end`,children:[(0,T.jsx)(c,{variant:`body-small-default`,className:s(`col-start-1 row-start-1 text-[var(--content-tertiary)]`,`transition-opacity duration-150`,`group-hover:opacity-0 group-focus-within:opacity-0`),children:de(e.timestamp)}),(0,T.jsx)(`span`,{className:s(`col-start-1 row-start-1 flex items-center gap-[var(--app-spacing-sm)]`,`pointer-events-none opacity-0 transition-opacity duration-150`,`group-hover:pointer-events-auto group-hover:opacity-100`,`group-focus-within:pointer-events-auto group-focus-within:opacity-100`),children:f?(0,T.jsxs)($,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,T.jsx)(te,{width:16,height:16,"aria-hidden":`true`}),(0,T.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,T.jsxs)(T.Fragment,{children:[a&&(0,T.jsx)($,{label:d?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,d?`seen`:`new`),children:d?(0,T.jsx)(C,{width:16,height:16}):(0,T.jsx)(v,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,T.jsx)($,{label:`Go to thread`,onClick:()=>{d&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,T.jsx)(ee,{width:16,height:16})}),(0,T.jsx)($,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,T.jsx)(ie,{width:16,height:16})})]})})]})]}),p.showsMetaRow&&_,g!==null&&(0,T.jsx)(c,{variant:`body-medium-lighter`,className:s(`leading-normal text-[var(--content-secondary)]`,p.clamp),children:g})]})]})}function Me(e){let t=r(),n=(0,w.useRef)(null),o=(0,w.useRef)(0),s=(0,w.useMemo)(()=>({path:{assistant_id:e??``},query:{timeAwaySeconds:0}}),[e]),c=(0,w.useMemo)(()=>le(s),[s]);S(`app.hidden`,()=>{n.current=Date.now()}),S(`app.resume`,({signal:r})=>{r!==`online`&&n.current!==null&&(o.current=Math.round((Date.now()-n.current)/1e3),n.current=null,e&&t.invalidateQueries({queryKey:c}))});let l=i({queryKey:c,queryFn:async({signal:t})=>{let{data:n}=await ce({path:{assistant_id:e},query:{timeAwaySeconds:o.current},signal:t,throwOnError:!0});return n},enabled:!!e,staleTime:3e4}),u=a({mutationFn:async({itemId:t,status:n})=>{let{data:r}=await b({path:{assistant_id:e,id:t},body:{status:n},throwOnError:!0});return r},onMutate:async({itemId:e,status:n})=>{await t.cancelQueries({queryKey:c});let r=t.getQueryData(c);return x(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:n}:t)}),{previous:r}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),d=a({mutationFn:async({itemId:t,actionId:n})=>{let{data:r}=await y({path:{assistant_id:e,id:t,actionId:n},throwOnError:!0});return r},onMutate:async({itemId:e})=>{await t.cancelQueries({queryKey:c});let n=t.getQueryData(c);return x(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:`acted_on`}:t)}),{previous:n}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),f=a({mutationFn:async({from:t,to:n,ids:r})=>{let{data:i}=await se({path:{assistant_id:e},body:{from:t,to:n,ids:r},throwOnError:!0});return i},onMutate:async({from:e,to:n,ids:r})=>{await t.cancelQueries({queryKey:c});let i=t.getQueryData(c),a=new Set(e),o=r?new Set(r):null;return x(t,s,e=>{if(!e)return e;let t=e.items.map(e=>a.has(e.status)&&e.status!==n&&(!o||o.has(e.id))?{...e,status:n}:e),r=t.filter(e=>e.status===`new`).length;return{...e,items:t,contextBanner:{...e.contextBanner,newCount:r}}}),{previous:i}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),p=(0,w.useCallback)(()=>{e&&t.invalidateQueries({queryKey:c})},[e,t,c]);return{...l,updateStatus:u,triggerAction:d,markAll:f,invalidate:p}}var Ne={p:({children:e})=>(0,T.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,T.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,T.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,T.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>ue(t,e),children:t}),ul:({children:e})=>(0,T.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,T.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,T.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,T.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,T.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,T.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,T.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,T.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,T.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,T.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,T.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,T.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,T.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,T.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,T.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,T.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function Pe({content:e,className:t}){return(0,T.jsx)(`div`,{className:s(`text-body-medium-default`,t),children:(0,T.jsx)(g,{remarkPlugins:[h],components:Ne,children:e})})}function Fe({item:e,className:t}){return(0,T.jsx)(Pe,{content:e.summary,className:t})}function Ie(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 Le(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Re({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,T.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:e.summary});let r=t?.accountInfo??null,i=t?.status??`unreachable`,a=t?.details??``,o=Array.isArray(t?.missingScopes)?t.missingScopes:[];return(0,T.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,T.jsx)(c,{variant:`title-small`,as:`h3`,children:n}),r?(0,T.jsx)(c,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,T.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,T.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Ie(i)},"aria-hidden":`true`}),(0,T.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Le(i)})]}),a?(0,T.jsx)(c,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,T.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,T.jsx)(c,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,T.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,T.jsx)(`li`,{children:(0,T.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}export{pe as _,Oe as a,Te as c,Se as d,De as f,D as g,k as h,je as i,Q as l,xe as m,Fe as n,X as o,Z as p,Me as r,Ce as s,Re as t,we as u,C as v};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-BENY-yx_.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-DFWryB3N.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./createLucideIcon-C1mdGPB9.js";import{t as u}from"./bell-aW0w-ROt.js";import{t as d}from"./clock-B8umTTHk.js";import{h as f,w as p,x as m,y as h,z as g}from"./src-hNk11eS3.js";import{t as _}from"./list-O_53kvwx.js";import{t as v}from"./mail-CYjppw70.js";import{t as ee}from"./message-square-BjBDqFUX.js";import{t as te}from"./rotate-ccw-Dcfo4EC8.js";import{t as ne}from"./settings-751LDGs_.js";import{t as re}from"./shield-check-zaoUwOKj.js";import{t as ie}from"./trash-2-BKXSi5Tj.js";import{t as ae}from"./tag-DeMzQvCo.js";import{i as oe}from"./utils-CVoSWh7U.js";import{Bt as se,Lt as y,Rt as b,zt as ce}from"./sdk.gen-CBPZ2IdN.js";import{B as le,V as x}from"./react-query.gen-DxjuNs-5.js";import{t as S}from"./use-bus-subscription-0lId9jya.js";import{t as ue}from"./native-anchor-CpFd0dIc.js";import{i as de}from"./format-date-Bi9Bsv-w.js";var C=l(`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`}]]),fe=`0.10.5`;function pe(){return oe(fe)}var w=e(t(),1),T=o(),E={security:{icon:re,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:v,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:d,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:ne,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:u,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}};function D(e){return e&&E[e]?E[e]:E.system}var me=[`security`,`email`,`scheduling`,`background`,`system`],O=`all`;function k({categories:e,activeFilter:t,onFilterChange:n}){let r=me.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:O,label:`All`,icon:(0,T.jsx)(_,{className:`h-4 w-4`})},...r.map(e=>{let t=E[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,T.jsx)(t,{className:`h-4 w-4`})}})];return(0,T.jsx)(g,{ariaLabel:`Filter notifications`,value:t??O,onChange:e=>n(e===O?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}var A=`system`;function j({category:e}){let t=D(e),n=e??A;return(0,T.jsx)(ae,{className:`bg-[var(--feed-chip-weak)] uppercase tracking-wide leading-none`,style:{"--feed-chip-weak":t.weak},children:n.charAt(0).toUpperCase()+n.slice(1)})}var M=12,N=280,P=4096,F=P*4,I=`.,;:!?-…`,L=/(?:…|\.{3,})$/,R=new Set([`break`,`delete`,`emphasis`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`link`,`linkReference`,`strong`,`text`]),z=m().use(p).use(f);function B(e){return I.includes(e)}function he(e){let t=e.length;for(;t>0&&B(e[t-1]);)--t;return e.slice(0,t)}function ge(e){if(e.length<=P)return V(e);let t=V(e.slice(0,P));return t.length>0||e.trim().length===0?t:V(e.slice(0,F))}function V(e){return H(z.parse(e)).replace(/\s+/g,` `).trim()}function H(e){switch(e.type){case`code`:case`html`:case`thematicBreak`:case`yaml`:return``;case`inlineCode`:case`text`:return e.value??``;case`break`:return` `;case`delete`:case`emphasis`:case`link`:case`linkReference`:case`strong`:return U(e);case`image`:case`imageReference`:{let t=e.alt??``;return t.trim().length===0?``:t}default:return e.children===void 0?e.value??``:U(e)}}function U(e){let t=``;for(let n of e.children??[]){let e=H(n);e.length!==0&&(t.length>0&&!R.has(n.type)&&(t+=` `),t+=e)}return t}function W(e){let t=[],n=!1;for(let r=0;r<e.length;r+=1){let i=e[r],a=r+1;if(/\s/.test(i)){if(n||t.length===0)continue;n=!0,t.push({char:` `,end:a});continue}n=!1;let o=i.toLowerCase();t.push({char:o.length===1?o:i,end:a})}return t}function G(e){return he(W(e).map(e=>e.char).join(``).trimEnd()).trimEnd()}function _e(e,t){if(t<=0)return e;let n=W(e);return t>n.length?``:e.slice(n[t-1].end)}function ve(e){let t=0;for(;t<e.length;){let n=e[t];if(!/\s/.test(n)&&!B(n))break;t+=1}return e.slice(t)}function K(e){return e!==void 0&&/[\p{L}\p{M}\p{N}]/u.test(e)}function q(e,t){return e.startsWith(t)?!K(e[t.length]):!1}function J(e,t){let n=t;for(;n>0&&K(e[n-1]);)--n;return n}function ye(e){if(e.length<=N)return e;let t=e.slice(0,N),n=K(e[N])?J(t,t.length):t.length,r=t.slice(0,n).trimEnd();return r.length===0?t:r}function Y(e){return ye(ge(e))}function be(e,t){let n=Y(t);if(n.length===0)return null;let r=G(n),i=G(e);if(r===i)return null;let a=L.test(e.trimEnd());if(!(a?r.startsWith(i):q(r,i)))return(a?i.startsWith(r):q(i,r))?null:n;let o=ve(_e(n,a&&K(r[i.length])?J(r,i.length):i.length));return o.length<M?null:o}function xe(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 Se(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 Ce(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function X(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function we(e){return X(e.filter(e=>e.status!==`dismissed`))}function Te(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}var Ee=`Notification`;function Z(e){let t=e.title??Y(e.summary);return t.length>0?t:Ee}function De(e){return{from:[`new`],to:`seen`,ids:e.filter(e=>e.status===`new`).map(e=>e.id)}}function Oe(e){return{from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:e.map(e=>e.id)}}function Q(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}function $({label:e,onClick:t,className:r,children:i}){return(0,T.jsx)(n,{content:e,children:(0,T.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`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)]`,r),children:i})})}var ke=new Set([`Conversation`,`Other`]),Ae={comfortable:{card:`p-[var(--app-spacing-md)]`,stack:`gap-[var(--app-spacing-xs)]`,titleVariant:`title-small`,clamp:`line-clamp-2`,showsMetaRow:!0},compact:{card:`p-[var(--app-spacing-sm)]`,stack:`gap-[var(--app-spacing-xxs)]`,titleVariant:`body-medium-default`,clamp:`line-clamp-1`,showsMetaRow:!1}};function je({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:l=`dismiss`,density:u=`comfortable`}){let d=e.status===`new`,f=l===`restore`,p=Ae[u],m=e.sourceLabel&&!ke.has(e.sourceLabel)?e.sourceLabel:null,h=(0,w.useMemo)(()=>Z({title:e.title,summary:e.summary}),[e.title,e.summary]),g=(0,w.useMemo)(()=>be(h,e.summary),[h,e.summary]),_=(0,T.jsx)(c,{"data-testid":`home-recap-row-title`,variant:p.titleVariant,className:s(`leading-snug text-[var(--content-default)]`,p.showsMetaRow?p.clamp:`min-w-0 flex-1 truncate`),children:h});return(0,T.jsxs)(`div`,{className:s(`group relative flex w-full items-start gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-lg)] border border-[var(--border-base)]`,`transition-[background-color,opacity] duration-150`,p.card,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-overlay)] hover:bg-[var(--surface-hover)]`,!d&&!t&&`opacity-70`),children:[(0,T.jsx)(`button`,{type:`button`,"aria-label":h,onClick:()=>r(e),className:`absolute inset-0 w-full cursor-pointer rounded-[var(--radius-lg)]`}),(0,T.jsx)(`div`,{"data-testid":`home-recap-row-dot-gutter`,className:`pointer-events-none relative flex h-8 w-2 shrink-0 items-center`,children:d&&(0,T.jsx)(`span`,{"data-testid":`home-recap-row-unread-dot`,"aria-hidden":`true`,className:`h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})}),(0,T.jsxs)(`div`,{className:s(`pointer-events-none relative flex min-w-0 flex-1 flex-col`,p.stack),children:[(0,T.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[p.showsMetaRow?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(j,{category:e.category}),m!==null&&(0,T.jsx)(c,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:m})]}):_,(0,T.jsxs)(`span`,{className:`ml-auto grid shrink-0 items-center justify-items-end`,children:[(0,T.jsx)(c,{variant:`body-small-default`,className:s(`col-start-1 row-start-1 text-[var(--content-tertiary)]`,`transition-opacity duration-150`,`group-hover:opacity-0 group-focus-within:opacity-0`),children:de(e.timestamp)}),(0,T.jsx)(`span`,{className:s(`col-start-1 row-start-1 flex items-center gap-[var(--app-spacing-sm)]`,`pointer-events-none opacity-0 transition-opacity duration-150`,`group-hover:pointer-events-auto group-hover:opacity-100`,`group-focus-within:pointer-events-auto group-focus-within:opacity-100`),children:f?(0,T.jsxs)($,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,T.jsx)(te,{width:16,height:16,"aria-hidden":`true`}),(0,T.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,T.jsxs)(T.Fragment,{children:[a&&(0,T.jsx)($,{label:d?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,d?`seen`:`new`),children:d?(0,T.jsx)(C,{width:16,height:16}):(0,T.jsx)(v,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,T.jsx)($,{label:`Go to thread`,onClick:()=>{d&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,T.jsx)(ee,{width:16,height:16})}),(0,T.jsx)($,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,T.jsx)(ie,{width:16,height:16})})]})})]})]}),p.showsMetaRow&&_,g!==null&&(0,T.jsx)(c,{variant:`body-medium-lighter`,className:s(`leading-normal text-[var(--content-secondary)]`,p.clamp),children:g})]})]})}function Me(e){let t=r(),n=(0,w.useRef)(null),o=(0,w.useRef)(0),s=(0,w.useMemo)(()=>({path:{assistant_id:e??``},query:{timeAwaySeconds:0}}),[e]),c=(0,w.useMemo)(()=>le(s),[s]);S(`app.hidden`,()=>{n.current=Date.now()}),S(`app.resume`,({signal:r})=>{r!==`online`&&n.current!==null&&(o.current=Math.round((Date.now()-n.current)/1e3),n.current=null,e&&t.invalidateQueries({queryKey:c}))});let l=i({queryKey:c,queryFn:async({signal:t})=>{let{data:n}=await ce({path:{assistant_id:e},query:{timeAwaySeconds:o.current},signal:t,throwOnError:!0});return n},enabled:!!e,staleTime:3e4}),u=a({mutationFn:async({itemId:t,status:n})=>{let{data:r}=await b({path:{assistant_id:e,id:t},body:{status:n},throwOnError:!0});return r},onMutate:async({itemId:e,status:n})=>{await t.cancelQueries({queryKey:c});let r=t.getQueryData(c);return x(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:n}:t)}),{previous:r}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),d=a({mutationFn:async({itemId:t,actionId:n})=>{let{data:r}=await y({path:{assistant_id:e,id:t,actionId:n},throwOnError:!0});return r},onMutate:async({itemId:e})=>{await t.cancelQueries({queryKey:c});let n=t.getQueryData(c);return x(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:`acted_on`}:t)}),{previous:n}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),f=a({mutationFn:async({from:t,to:n,ids:r})=>{let{data:i}=await se({path:{assistant_id:e},body:{from:t,to:n,ids:r},throwOnError:!0});return i},onMutate:async({from:e,to:n,ids:r})=>{await t.cancelQueries({queryKey:c});let i=t.getQueryData(c),a=new Set(e),o=r?new Set(r):null;return x(t,s,e=>{if(!e)return e;let t=e.items.map(e=>a.has(e.status)&&e.status!==n&&(!o||o.has(e.id))?{...e,status:n}:e),r=t.filter(e=>e.status===`new`).length;return{...e,items:t,contextBanner:{...e.contextBanner,newCount:r}}}),{previous:i}},onError:(e,n,r)=>{r?.previous&&x(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),p=(0,w.useCallback)(()=>{e&&t.invalidateQueries({queryKey:c})},[e,t,c]);return{...l,updateStatus:u,triggerAction:d,markAll:f,invalidate:p}}var Ne={p:({children:e})=>(0,T.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,T.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,T.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,T.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>ue(t,e),children:t}),ul:({children:e})=>(0,T.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,T.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,T.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,T.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,T.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,T.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,T.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,T.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,T.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,T.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,T.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,T.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,T.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,T.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,T.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,T.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function Pe({content:e,className:t}){return(0,T.jsx)(`div`,{className:s(`text-body-medium-default`,t),children:(0,T.jsx)(h,{remarkPlugins:[f],components:Ne,children:e})})}function Fe({item:e,className:t}){return(0,T.jsx)(Pe,{content:e.summary,className:t})}function Ie(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 Le(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Re({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,T.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:e.summary});let r=t?.accountInfo??null,i=t?.status??`unreachable`,a=t?.details??``,o=Array.isArray(t?.missingScopes)?t.missingScopes:[];return(0,T.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,T.jsx)(c,{variant:`title-small`,as:`h3`,children:n}),r?(0,T.jsx)(c,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,T.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,T.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Ie(i)},"aria-hidden":`true`}),(0,T.jsx)(c,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Le(i)})]}),a?(0,T.jsx)(c,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,T.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,T.jsx)(c,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,T.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,T.jsx)(`li`,{children:(0,T.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}export{pe as _,Oe as a,Te as c,Se as d,De as f,D as g,k as h,je as i,Q as l,xe as m,Fe as n,X as o,Z as p,Me as r,Ce as s,Re as t,we as u,C as v};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./arrow-left-BikDV6F2.js";import{t as s}from"./check-DSgjgwlo.js";import{t as c}from"./cloud-DqktQX50.js";import{t as l}from"./laptop-BXuIFbVm.js";import{q as u,rt as d}from"./local-mode-BfEgOekp.js";import{t as f}from"./is-electron-BHXrkjI3.js";import{n as p}from"./resolved-assistants-store-BFI9c7ip.js";import{i as m}from"./auth-store-CPVpJ_c7.js";import{t as h}from"./client-feature-flag-store-C8ieIAKe.js";import{d as g,o as _}from"./routes-iipg2wkc.js";import{t as v}from"./use-onboarding-login-BXw1Fcg3.js";import{t as y}from"./onboarding-layout-C534GRct.js";import{i as b}from"./provider-key-C9asexKh.js";import{t as x}from"./radio-card-nav-B1BF1G_V.js";var S=e(t(),1),C=a(),w=`h-5 w-5 shrink-0`;function T(){let e=m(),t=h.use.multiPlatformAssistant(),n=p.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,C.jsx)(c,{className:w}),...!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,C.jsx)(l,{className:w})}]}function E(){let e=r(),[t]=i(),a=t.get(`from`)===`select-assistant`,s=m(),c=f(),l=T(),p=l.find(e=>e.mode===`vellum-cloud`)?.disabled,[h,w]=(0,S.useState)(s&&!p?`vellum-cloud`:`local`);(0,S.useEffect)(()=>{p&&h===`vellum-cloud`&&w(`local`)},[p,h]);let{loading:E,error:O,login:k,cancel:A}=v(`${g.onboarding.hosting}?from=select-assistant`),j=a&&!s&&!c;return(0,C.jsx)(y,{children:(0,C.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${c?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6`} text-[var(--content-default)]`,children:(0,C.jsxs)(`div`,{className:`flex w-full flex-col items-center ${c?``:`flex-1 justify-center`}`,children:[(0,C.jsx)(`h1`,{className:c?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,C.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${c?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[`Choose where you want your assistant to live.`,` `,(0,C.jsx)(`a`,{href:_(g.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`underline transition-colors hover:text-[var(--content-default)]`,children:`Need help deciding?`})]}),O&&(0,C.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:O}),(0,C.jsx)(`div`,{role:`radiogroup`,"aria-label":`Hosting options`,onKeyDown:x,className:`grid w-full ${c?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:l.map(e=>(0,C.jsx)(D,{option:e,selected:h===e.mode,tabStop:h===e.mode,onSelect:()=>{e.disabled||w(e.mode)},loginLabel:E?`Cancel`:`Log in to use`,onLogin:e.disabled&&e.mode===`vellum-cloud`&&j?E?A:()=>void k():void 0},e.mode))}),(0,C.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,C.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:c?void 0:`h-11 text-base`,onClick:()=>{h===`vellum-cloud`?(u(),d(null),b(null),e(g.onboarding.privacy)):e(`${g.onboarding.apiKey}?hosting=${h}`)},children:`Continue`})}),(0,C.jsx)(`div`,{className:`mt-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,C.jsx)(n,{variant:`ghost`,size:`compact`,className:`text-[var(--content-tertiary)]`,leftIcon:(0,C.jsx)(o,{}),onClick:()=>{e(a?g.selectAssistant:g.welcome)},disabled:E,children:`Back`})})]})})})}function D({option:e,selected:t,tabStop:r,onSelect:i,loginLabel:a,onLogin:o}){let c=f(),l=!!e.disabled,u=o?void 0:e.badge;return(0,C.jsxs)(`div`,{role:l?void 0:`radio`,"aria-checked":l?void 0:t,tabIndex:l?void 0:r?0:-1,onClick:l?void 0:i,onKeyDown:l?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},className:[`group flex w-full items-center border text-left`,c?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,l?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,l?``:t?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,C.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,c?`h-8 w-8 rounded-lg`:`h-10 w-10 rounded-xl`,t&&!l?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e.icon}),(0,C.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,C.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),u&&(0,C.jsx)(`span`,{className:`rounded-full bg-[var(--surface-active)]/40 px-2 py-0.5 text-[var(--content-tertiary)] ${c?`text-label-medium-default`:`text-body-small-default`}`,children:u})]}),(0,C.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${c?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),o&&(0,C.jsx)(n,{variant:`primary`,size:`regular`,className:`shrink-0`,onClick:o,children:a}),!l&&(0,C.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,C.jsx)(s,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{E as HostingScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./arrow-left-BikDV6F2.js";import{t as s}from"./check-DSgjgwlo.js";import{t as c}from"./cloud-DqktQX50.js";import{t as l}from"./laptop-BXuIFbVm.js";import{q as u,rt as d}from"./local-mode-BfEgOekp.js";import{t as f}from"./is-electron-BHXrkjI3.js";import{n as p}from"./resolved-assistants-store-BFI9c7ip.js";import{i as m}from"./auth-store-DkOiOQNx.js";import{t as h}from"./client-feature-flag-store-C8ieIAKe.js";import{d as g,o as _}from"./routes-iipg2wkc.js";import{t as v}from"./use-onboarding-login-BUaNGE_u.js";import{t as y}from"./onboarding-layout-C534GRct.js";import{i as b}from"./provider-key-BZOH9D9k.js";import{t as x}from"./radio-card-nav-B1BF1G_V.js";var S=e(t(),1),C=a(),w=`h-5 w-5 shrink-0`;function T(){let e=m(),t=h.use.multiPlatformAssistant(),n=p.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,C.jsx)(c,{className:w}),...!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,C.jsx)(l,{className:w})}]}function E(){let e=r(),[t]=i(),a=t.get(`from`)===`select-assistant`,s=m(),c=f(),l=T(),p=l.find(e=>e.mode===`vellum-cloud`)?.disabled,[h,w]=(0,S.useState)(s&&!p?`vellum-cloud`:`local`);(0,S.useEffect)(()=>{p&&h===`vellum-cloud`&&w(`local`)},[p,h]);let{loading:E,error:O,login:k,cancel:A}=v(`${g.onboarding.hosting}?from=select-assistant`),j=a&&!s&&!c;return(0,C.jsx)(y,{children:(0,C.jsx)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${c?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-6`} text-[var(--content-default)]`,children:(0,C.jsxs)(`div`,{className:`flex w-full flex-col items-center ${c?``:`flex-1 justify-center`}`,children:[(0,C.jsx)(`h1`,{className:c?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Hosting`}),(0,C.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${c?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:[`Choose where you want your assistant to live.`,` `,(0,C.jsx)(`a`,{href:_(g.docs.hostingOptions),target:`_blank`,rel:`noreferrer`,className:`underline transition-colors hover:text-[var(--content-default)]`,children:`Need help deciding?`})]}),O&&(0,C.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:O}),(0,C.jsx)(`div`,{role:`radiogroup`,"aria-label":`Hosting options`,onKeyDown:x,className:`grid w-full ${c?`mt-8 gap-2`:`auto-rows-fr mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:l.map(e=>(0,C.jsx)(D,{option:e,selected:h===e.mode,tabStop:h===e.mode,onSelect:()=>{e.disabled||w(e.mode)},loginLabel:E?`Cancel`:`Log in to use`,onLogin:e.disabled&&e.mode===`vellum-cloud`&&j?E?A:()=>void k():void 0},e.mode))}),(0,C.jsx)(`div`,{className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,C.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:c?void 0:`h-11 text-base`,onClick:()=>{h===`vellum-cloud`?(u(),d(null),b(null),e(g.onboarding.privacy)):e(`${g.onboarding.apiKey}?hosting=${h}`)},children:`Continue`})}),(0,C.jsx)(`div`,{className:`mt-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,C.jsx)(n,{variant:`ghost`,size:`compact`,className:`text-[var(--content-tertiary)]`,leftIcon:(0,C.jsx)(o,{}),onClick:()=>{e(a?g.selectAssistant:g.welcome)},disabled:E,children:`Back`})})]})})})}function D({option:e,selected:t,tabStop:r,onSelect:i,loginLabel:a,onLogin:o}){let c=f(),l=!!e.disabled,u=o?void 0:e.badge;return(0,C.jsxs)(`div`,{role:l?void 0:`radio`,"aria-checked":l?void 0:t,tabIndex:l?void 0:r?0:-1,onClick:l?void 0:i,onKeyDown:l?void 0:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},className:[`group flex w-full items-center border text-left`,c?`h-[72px] gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,l?`border-[var(--border-base)] bg-[var(--surface-overlay)]`:`cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--primary-base)]`,l?``:t?`border-[var(--primary-base)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-lift)]/60 hover:border-[var(--border-element)] hover:bg-[var(--surface-lift)]`].join(` `),children:[(0,C.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,c?`h-8 w-8 rounded-lg`:`h-10 w-10 rounded-xl`,t&&!l?`bg-[var(--primary-base)] text-[var(--surface-base)]`:`bg-[var(--surface-active)]/40 text-[var(--content-secondary)]`].join(` `),children:e.icon}),(0,C.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,C.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),u&&(0,C.jsx)(`span`,{className:`rounded-full bg-[var(--surface-active)]/40 px-2 py-0.5 text-[var(--content-tertiary)] ${c?`text-label-medium-default`:`text-body-small-default`}`,children:u})]}),(0,C.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[var(--content-tertiary)] ${c?`text-label-medium-default leading-[14px]`:`text-body-small-default`}`,children:e.subtitle})]}),o&&(0,C.jsx)(n,{variant:`primary`,size:`regular`,className:`shrink-0`,onClick:o,children:a}),!l&&(0,C.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,C.jsx)(s,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{E as HostingScreen};
@@ -0,0 +1,7 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{t as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./card-q0GJX1HZ.js";import{t as c}from"./createLucideIcon-C1mdGPB9.js";import{t as l}from"./brain-ZiC0HCCF.js";import{n as u,t as d}from"./upload-CZL0kXl9.js";import{t as f}from"./chevron-left-D-pnIQax.js";import{t as p}from"./chevron-right-DBGgpEiZ.js";import"./src-hNk11eS3.js";import{n as m,t as h}from"./animate-CEUNjqNk.js";import{t as g}from"./folder-open-BBs1-i8r.js";import{t as _}from"./layout-grid-C3h1DMhl.js";import{t as v}from"./pencil-DidiUknI.js";import{t as y}from"./sparkles-B94iNYGJ.js";import{t as b}from"./users-XI0CRYkf.js";import{n as x,t as S}from"./installed-plugins-query-CIcohCho.js";import{t as C}from"./modal-DI63s9MQ.js";import{n as w}from"./toast-BpuLSxyt.js";import{t as T}from"./assistant-identity-store-nE-e8KQw.js";import{m as E}from"./platform-detection-C_TK32Dw.js";import{d as D,r as O}from"./routes-iipg2wkc.js";import{a as k,n as A,o as ee,r as te}from"./use-assistant-avatar-Dd-EU1FC.js";import{A as j,At as M,C as N,St as P,c as F,r as I,yn as L}from"./react-query.gen-DxjuNs-5.js";import{n as R,t as z}from"./get-memory-stats-CgfjHhot.js";import{t as B}from"./plugins-surface-C5i913ST.js";import{t as V}from"./proxy-B4sTDdE4.js";import{t as H}from"./use-reduced-motion-CaGZSwLZ.js";import{r as ne}from"./avatar-tone-D1ZiIRxb.js";import{n as re,t as ie}from"./eye-bbox-hZoek1Q5.js";import{t as ae}from"./chat-avatar-BPhNOZzd.js";import{t as oe}from"./avatar-renderer-CsRuhhXn.js";import{t as U}from"./use-active-assistant-id-BvHP5Ojg.js";import{t as W}from"./schedules-CMISpWUM.js";import{t as G}from"./page-shell-CkfnwmIw.js";import{a as se,o as K,r as ce,s as le}from"./latest-assistant-text-Daw8nrLO.js";import{a as ue,i as de,n as fe,r as pe,s as me,t as he}from"./use-assistant-identity-details-BAgi4MHa.js";var ge=c(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),q=e(t(),1),J=o();function Y(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function _e({open:e,onClose:t,assistantId:r,components:i,traits:a,customImageUrl:o,onSaveCharacter:s,onUploadImage:c,assistantName:l,onRenameSubmit:u,isRenaming:f=!1}){let p=(0,q.useRef)(null),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(!1),y=i??h,[b,x]=(0,q.useState)(0),[S,w]=(0,q.useState)(0),[T,E]=(0,q.useState)(0),[D,O]=(0,q.useState)(`character`),[A,j]=(0,q.useState)(null),[M,N]=(0,q.useState)(!1),[P,F]=(0,q.useState)(!1),[I,L]=(0,q.useState)(l??``),R=A??o,z=!!R;(0,q.useEffect)(()=>{e&&L(l??``)},[e,l]);let B=(0,q.useRef)(!1);(0,q.useEffect)(()=>{e&&!B.current&&O(o?`custom`:`character`),B.current=e},[e,o]),(0,q.useEffect)(()=>{if(e)if(y&&a){let e=y.bodyShapes.findIndex(e=>e.id===a.bodyShape),t=y.eyeStyles.findIndex(e=>e.id===a.eyeStyle),n=y.colors.findIndex(e=>e.id===a.color);x(e>=0?e:0),w(t>=0?t:0),E(n>=0?n:0)}else x(0),w(0),E(0)},[e,y,a]),(0,q.useEffect)(()=>{if(!e||y||_)return;let t=!1;return v(!0),te(r).then(e=>{t||(g(e),v(!1))}),()=>{t=!0}},[e,y,_,r]),(0,q.useEffect)(()=>{if(A)return()=>{URL.revokeObjectURL(A)}},[A]),(0,q.useEffect)(()=>{e||j(null)},[e]);let V=I.trim(),H=!!u&&V.length>0&&V!==(l??``),ne=(0,q.useCallback)(()=>{y&&(O(`character`),x(Math.floor(Math.random()*y.bodyShapes.length)),w(Math.floor(Math.random()*y.eyeStyles.length)),E(Math.floor(Math.random()*y.colors.length)))},[y]),re=(0,q.useCallback)(()=>{p.current?.click()},[]),ie=(0,q.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;F(!0);let n=await ee(r,t);F(!1),n&&(c(),j(URL.createObjectURL(t)),O(`custom`)),p.current&&(p.current.value=``)},[r,c]),ae=(0,q.useCallback)(async e=>{if(e.preventDefault(),!(M||f)){if(H&&u&&u(V),y&&D===`character`){let e={bodyShape:y.bodyShapes[b].id,eyeStyle:y.eyeStyles[S].id,color:y.colors[T].id};N(!0);try{await k(r,e),j(null),s(e)}finally{N(!1)}}t()}},[M,f,H,u,V,y,D,b,S,T,r,s,t]),U=y?.bodyShapes[b],W=y?.eyeStyles[S],G=y?.colors[T],se=D===`custom`&&z,K=l!==void 0&&u?(0,J.jsx)(ve,{value:I,onChange:L,disabled:f}):null;return(0,J.jsx)(C.Root,{open:e,onOpenChange:e=>!e&&t(),children:(0,J.jsxs)(C.Content,{size:`sm`,children:[(0,J.jsx)(C.Header,{children:(0,J.jsx)(C.Title,{children:`Update Avatar`})}),(0,J.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:ae,children:[(0,J.jsx)(C.Body,{className:`space-y-4`,children:se?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex justify-center`,children:(0,J.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,J.jsx)(`img`,{src:R,alt:`Uploaded avatar`,className:`h-40 w-40 rounded-xl object-cover`})})}),(0,J.jsxs)(`div`,{className:`space-y-3`,children:[K,(0,J.jsx)(ye,{label:`Use a character instead`,description:`Pick from our built-in avatars`,onClick:()=>O(`character`),thumbnail:y&&U&&W&&G?(0,J.jsx)(oe,{components:y,bodyShapeId:U.id,eyeStyleId:W.id,colorId:G.id,size:32}):(0,J.jsx)(m,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]})]}):y?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex justify-center`,children:(0,J.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,J.jsx)(oe,{components:y,bodyShapeId:U.id,eyeStyleId:W.id,colorId:G.id,size:160})})}),(0,J.jsxs)(`div`,{className:`space-y-3`,children:[K,(0,J.jsx)(be,{label:`Body`,value:U.id,onPrev:()=>x(Y(b,y.bodyShapes.length,`backward`)),onNext:()=>x(Y(b,y.bodyShapes.length,`forward`))}),(0,J.jsx)(be,{label:`Eyes`,value:W.id,onPrev:()=>w(Y(S,y.eyeStyles.length,`backward`)),onNext:()=>w(Y(S,y.eyeStyles.length,`forward`))}),(0,J.jsx)(be,{label:`Color`,value:G.id,colorHex:G.hex,onPrev:()=>E(Y(T,y.colors.length,`backward`)),onNext:()=>E(Y(T,y.colors.length,`forward`))})]}),z&&(0,J.jsx)(ye,{label:`Keep your uploaded image`,description:`Saving the character replaces it`,onClick:()=>O(`custom`),thumbnail:(0,J.jsx)(`img`,{src:R,alt:``,className:`h-8 w-8 rounded-md object-cover`})})]}):(0,J.jsxs)(J.Fragment,{children:[K,_?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,J.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})}):(0,J.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`})]})}),(0,J.jsxs)(C.Footer,{className:`justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(n,{type:`button`,variant:`outlined`,iconOnly:(0,J.jsx)(m,{}),"aria-label":`Randomize`,tooltip:`Randomize`,onClick:ne,disabled:!y}),(0,J.jsx)(n,{type:`button`,variant:`outlined`,iconOnly:(0,J.jsx)(d,{}),"aria-label":`Upload image`,tooltip:`Upload image`,onClick:re,disabled:P})]}),(0,J.jsx)(n,{type:`submit`,variant:`primary`,disabled:M||f||P,children:M||f?`Saving…`:`Save`})]})]}),(0,J.jsx)(`input`,{ref:p,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:ie})]})})}function ve({value:e,onChange:t,disabled:n}){return(0,J.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,J.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:`Name`}),(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(`div`,{className:`flex min-w-[80px] items-center justify-center`,children:(0,J.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),disabled:n,maxLength:40,size:8,placeholder:`Name`,"aria-label":`Name`,className:`h-7 min-w-0 field-sizing-content bg-transparent text-center text-body-medium-default text-[var(--content-strong)] outline-none placeholder:text-[var(--content-tertiary)] disabled:cursor-not-allowed disabled:opacity-60`})}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-7 w-7 shrink-0`})]})]})}function ye({label:e,description:t,thumbnail:n,onClick:r}){return(0,J.jsxs)(`button`,{type:`button`,onClick:r,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,J.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-md bg-[var(--surface-sunken)]`,children:n}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-body-medium-default text-[var(--content-strong)]`,children:e}),(0,J.jsx)(`span`,{className:`block truncate text-body-small-default text-[var(--content-quiet)]`,children:t})]}),(0,J.jsx)(p,{className:`h-4 w-4 shrink-0 text-[var(--content-quiet)]`})]})}function be({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,J.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,J.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Previous ${e.toLowerCase()}`,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,J.jsx)(f,{className:`h-4 w-4`})}),(0,J.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,J.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,J.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,J.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Next ${e.toLowerCase()}`,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,J.jsx)(p,{className:`h-4 w-4`})})]})]})}function xe(e){let t=e.trim();return`<system-message>
2
+ The user renamed you: your name is now ${t}.
3
+
4
+ Update IDENTITY.md so its name line reads exactly \`- **Name:** ${t}\`. This is a rename only — keep everything else in IDENTITY.md and SOUL.md exactly as it is, and do not touch users/ (that is your user's profile, not your identity). If your name appears elsewhere in those files, update those mentions to ${t} too.
5
+
6
+ Reply with a single short sentence acknowledging your new name.
7
+ </system-message>`}async function Se(e,t){return pe({assistantId:e,content:xe(t),title:`Updating name`,context:`identity_overview_rename`})}var Ce=6e4,we=3;function X(e,t,n){return e===1?t:n}function Te(e,{supportsPlugins:t,isNativeMobile:n}){let r={assistant_id:e},i={staleTime:Ce,retry:!1,enabled:!0},o=a({...M({path:r,query:{kind:`installed`}}),select:e=>e.skills.length,...i}),s=a({...S(e),select:e=>e.plugins.length,enabled:t}),c=a({...I({path:r}),select:e=>e.apps.length,...i}),l=a({...j({path:r}),select:e=>e.documents.length,...i}),u=a({...L({path:r}),select:e=>e.entries.length,...i,enabled:!n}),d=a({...N({path:r}),select:e=>e.contacts.length,...i}),f=a({...F({path:r}),select:e=>e.snapshots.filter(e=>e.ready).length,...i}),p=a({queryKey:P({path:r}),queryFn:()=>W(e),select:e=>{let t=e.filter(e=>e.enabled).sort((e,t)=>e.nextRunAt-t.nextRunAt);return{count:t.length,items:t.slice(0,we).map(e=>({id:e.id,name:e.name,cadence:e.cadenceDescription,nextRunAt:e.nextRunAt}))}},...i}),m=a({queryKey:le(e),queryFn:()=>K(e),...i});return{personality:{signature:m.data===void 0?void 0:se(m.data??{})},superpowers:o.data===void 0?void 0:{text:[`${o.data} ${X(o.data,`skill`,`skills`)}`,...s.data===void 0?[]:[`${s.data} ${X(s.data,`plugin`,`plugins`)}`]].join(` · `)},library:c.data===void 0?void 0:{text:[`${c.data} ${X(c.data,`app`,`apps`)}`,...l.data===void 0?[]:[`${l.data} ${X(l.data,`doc`,`docs`)}`]].join(` · `)},workspace:u.data===void 0?void 0:{value:u.data,label:X(u.data,`item`,`items`)},contacts:d.data===void 0?void 0:{value:d.data,label:X(d.data,`person`,`people`)},channels:f.data===void 0?void 0:{value:f.data,label:`connected`},schedules:p.data===void 0?void 0:p.data.count===0?{text:`Nothing scheduled yet`}:{value:p.data.count,label:`active`,schedules:{items:p.data.items,more:p.data.count-p.data.items.length}}}}var Ee=96,De=150,Oe=36,ke=46,Ae=58,je=(e,t,n)=>Math.max(t,Math.min(n,e));function Me(e,t,n){let r=je(n.x-e.left,Ee,e.width-Ee),i=je(n.y-e.top,Ee,e.height-Ee);return{rect:e,facing:t,peek:t===`top`?{x:r,y:0}:t===`bottom`?{x:r,y:e.height}:t===`left`?{x:0,y:i}:{x:e.width,y:i}}}var Ne={top:{x:0,y:-1},bottom:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0}},Pe={type:`spring`,stiffness:150,damping:19},Fe=.22,Ie=.15;function Le({hex:e,components:t,traits:n,target:r}){let i=r!==null,[a,o]=(0,q.useState)(null);r&&r!==a&&o(r);let s=r??a,[c,l]=(0,q.useState)(!1);(0,q.useEffect)(()=>{let e=!1,t,n=()=>{t=setTimeout(()=>{e||(l(!0),t=setTimeout(()=>{e||(l(!1),n())},140))},2500+Math.random()*4e3)};return n(),()=>{e=!0,clearTimeout(t)}},[]);let u=(0,q.useMemo)(()=>{let e=t.eyeStyles.find(e=>e.id===n.eyeStyle);return e?{paths:e.paths,bbox:re(e.paths.map(e=>ie(e.svgPath)))}:null},[t,n.eyeStyle]);if(!u||!s)return null;let{rect:d,facing:f,peek:p}=s,m={x:d.left+p.x,y:d.top+p.y},h=Ne[f],g=u.bbox.h/u.bbox.w,_=Ae,v=_*g,y={x:m.x+h.x*Oe,y:m.y+h.y*Oe},b={x:-h.x*ke,y:-h.y*ke},x=u.bbox.x+u.bbox.w/2,S=u.bbox.y+u.bbox.h/2,C=i?{...Pe,delay:Fe,opacity:{duration:.15,delay:Fe}}:{duration:Ie};return(0,J.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-0`,children:[(0,J.jsx)(V.div,{className:`absolute top-0 left-0 rounded-full`,style:{backgroundColor:e,width:De,height:De},initial:!1,animate:{x:m.x-De/2+(i?0:b.x),y:m.y-De/2+(i?0:b.y),opacity:+!!i},transition:C}),(0,J.jsx)(V.div,{className:`absolute top-0 left-0`,initial:!1,animate:{x:y.x-_/2+(i?0:b.x),y:y.y-v/2+(i?0:b.y),width:_,height:v,opacity:+!!i},transition:C,children:(0,J.jsx)(`svg`,{viewBox:`${u.bbox.x} ${u.bbox.y} ${u.bbox.w} ${u.bbox.h}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,style:{overflow:`visible`,display:`block`},children:(0,J.jsx)(`g`,{style:{transform:c?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${x}px ${S}px`,transition:`transform 0.14s ease-in-out`},children:u.paths.map((e,t)=>(0,J.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})]})}var Re=65,ze=26;function Be(e,t){let n=H(),[r,i]=(0,q.useState)(n?e.length:0);return(0,q.useEffect)(()=>{if(n){i(e.length);return}i(0);let r=setInterval(()=>{i(t=>t>=e.length?(clearInterval(r),t):t+1)},t);return()=>clearInterval(r)},[e,t,n]),{typed:e.slice(0,r),typing:r<e.length}}function Ve({name:e,isRenaming:t,overrideText:n=null}){let r=n??`Hi, I’m ${e}`,{typed:i,typing:a}=Be(r,n?ze:Re);return(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,children:[(0,J.jsxs)(`h1`,{"aria-label":r,className:`relative leading-none whitespace-nowrap text-[var(--content-strong)] ${n?`text-[2.1rem] max-sm:text-[1.4rem]`:`text-[3.25rem] max-sm:text-[2rem]`}`,style:{fontFamily:`var(--font-serif)`},children:[(0,J.jsx)(`span`,{className:`invisible`,"aria-hidden":`true`,children:r}),(0,J.jsxs)(`span`,{className:`absolute inset-0`,"aria-hidden":`true`,children:[i,a&&(0,J.jsx)(`span`,{className:`animate-pulse`,children:`▎`})]})]}),!n&&t&&(0,J.jsx)(`div`,{"aria-label":`Renaming in progress`,className:`h-5 w-5 shrink-0 animate-spin rounded-full border-2 border-[var(--border-base)]`,style:{borderTopColor:`var(--content-default)`}})]})}function Z(e,t){let{label:n,to:r}=O(e);return{key:e,label:n,description:t,to:r}}var He=[`memory`,`workspace`];function Ue({isNativeMobile:e=!1}={}){let t=[{key:`personality`,label:`Personality`,description:`Tune how I talk`,to:D.personality},Z(`schedules`,`My routines`),Z(`superpowers`,`What I can do`),Z(`memory`,`What I remember`),Z(`library`,`My apps & docs`),Z(`workspace`,`My files`),Z(`contacts`,`People I know`),Z(`channels`,`Where I listen`)];return e?t.filter(e=>!He.includes(e.key)):t}var We=340,Ge=226,Q=113,Ke=46,qe=58,Je=15,Ye=216,Xe=11.5,Ze=5,$=10,Qe=.42,$e=.26,et=de.map((e,t)=>Ke+t*(We-Ke*2)/(de.length-1));function tt(e,t){let n=e[t]??ue;return Math.max(0,Math.min(100,n))}function nt(e){return Q-(e-50)/50*qe}function rt(e){return e.length>8&&e.includes(` `)?e.split(` `):[e]}function it({x:e,label:t,above:n,leaning:r,neutral:i,magnitude:a}){let o=rt(t),s=n?Je:Ye-(o.length-1)*Xe,c=r&&!i,l=i?Qe:c?.62+.38*a:$e;return(0,J.jsx)(`text`,{x:e,y:s,textAnchor:`middle`,fontSize:10,fontWeight:c?600:400,fill:`currentColor`,fillOpacity:l,children:o.map((t,n)=>(0,J.jsx)(`tspan`,{x:e,dy:n===0?0:Xe,children:t},t))})}function at({values:e,className:t}){let n=H(),r=de.map(t=>{let n=tt(e,t.id),r=n-50;return{axis:t,value:n,lean:r,neutral:Math.abs(r)<=Ze,magnitude:Math.abs(r)/50}}),[i,a]=(0,q.useState)(+!!n);(0,q.useEffect)(()=>{if(n){a(1);return}let e=h(0,1,{type:`spring`,stiffness:140,damping:16,onUpdate:a});return()=>e.stop()},[n]);let o=r.map(e=>nt(50+(e.value-50)*i)),s=r.map(({axis:e,lean:t,neutral:n,magnitude:r})=>n?`${e.left} and ${e.right} balanced`:`${Math.round(r*100)}% ${t>0?e.right:e.left}`).join(`, `);return(0,J.jsxs)(`svg`,{viewBox:`0 0 ${We} ${Ge}`,role:`img`,"aria-label":`Personality: ${s}`,className:t,children:[(0,J.jsx)(`line`,{x1:Ke-14,y1:Q,x2:We-Ke+14,y2:Q,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:1,strokeDasharray:`2 4`}),r.map(({axis:e},t)=>(0,J.jsx)(`rect`,{x:et[t]-$/2,y:Math.min(Q,o[t])-$/2,width:$,height:Math.abs(o[t]-Q)+$,rx:$/2,fill:`var(--card-accent)`},e.id)),r.map(({axis:e,lean:t,neutral:n,magnitude:r},i)=>(0,J.jsxs)(q.Fragment,{children:[(0,J.jsx)(it,{x:et[i],label:e.right,above:!0,leaning:t>0,neutral:n,magnitude:r}),(0,J.jsx)(it,{x:et[i],label:e.left,above:!1,leaning:t<0,neutral:n,magnitude:r})]},e.id))]})}var ot={personality:y,schedules:u,superpowers:x,memory:l,library:_,workspace:g,contacts:b,channels:ge},st={personality:`rounded-3xl`,schedules:`rounded-3xl`,superpowers:`rounded-[1.25rem_2.75rem_1.25rem_2.5rem]`,channels:`rounded-[2.25rem_1rem_2.5rem_1.25rem]`,contacts:`rounded-[1rem_2.5rem_1.25rem_2.75rem]`,workspace:`rounded-[1.25rem_2.5rem_1rem_2.5rem]`},ct=720,lt=480,ut=[`superpowers`,`memory`,`library`,`workspace`,`contacts`,`channels`],dt={personality:`Go ahead, tweak my soul`,superpowers:`Everything I know how to do`,memory:`Everything I remember`,library:`The apps and docs I've made for you`,schedules:`What I do on repeat`,workspace:`All the files that power me`,contacts:`The people I know and trust`,channels:`All the places you can reach me`};function ft(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}var pt=280,mt=140,ht=.44,gt=1118,_t=300,vt=.09,yt=14,bt=5,xt=22,St={"--card-bg":`#24292e`,"--card-feature-bg":`rgba(23, 25, 28, 0.35)`,"--card-hover":`#2d3339`,"--card-accent":`#bd4900`,"--card-flood-fg":`#fdfdfc`,"--content-default":`#fdfdfc`,"--content-strong":`#fdfdfc`,"--content-secondary":`#a9b2bb`,"--content-tertiary":`#8d99a5`,"--border-base":`rgba(255, 255, 255, 0.08)`};function Ct({assistantId:e}){let t=i(),{components:n,traits:r,customImageUrl:o,isLoading:s,invalidate:c}=A(e),l=fe(e),u=B(),d=E(),f=Te(e,{supportsPlugins:u,isNativeMobile:d}),p=z(a({...R(e),enabled:!d}).data),m={...f,memory:p===void 0?void 0:{value:p,label:p===1?`memory`:`memories`}},[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(!1),y=(0,q.useCallback)(n=>{v(!0),Se(e,n).then(r=>{if(v(!1),r){t.invalidateQueries({queryKey:he(e)});let{version:r,assistantId:i,setIdentity:a}=T.getState();a(n,r,i),w.success(`Say hi to ${n}!`)}else w.error(`The rename didn't go through. Please try again.`)})},[e,t]),b=(0,q.useCallback)(()=>{c()},[c]),x=Ue({isNativeMobile:d}),S=s||l.isLoading,C=me(n,r),D=!!o&&!C;return(0,J.jsxs)(G,{bleed:!D,className:D?`relative overflow-hidden`:void 0,style:C?{backgroundColor:`color-mix(in srgb, ${C} ${yt}%, var(--surface-overlay))`}:void 0,children:[D&&o&&(0,J.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:(0,J.jsx)(`img`,{src:o,alt:``,className:`h-full w-full scale-110 object-cover blur-[60px] brightness-[0.65]`})}),S?(0,J.jsx)(`div`,{className:`relative flex flex-1 items-center justify-center`,children:(0,J.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):(0,J.jsx)(Et,{components:n,traits:r,customImageUrl:o,name:l.data?.identity?.name||`Assistant`,sections:x,stats:m,avatarHex:C,photoBackdrop:D,isRenaming:_,onOpenAvatarModal:()=>g(!0)}),(0,J.jsx)(_e,{open:h,onClose:()=>g(!1),assistantId:e,components:n,traits:r,customImageUrl:o,onSaveCharacter:b,onUploadImage:b,assistantName:l.data?.identity?.name||`Assistant`,onRenameSubmit:y,isRenaming:_})]})}function wt({section:e,stat:t,gridArea:n,cardStyle:i,hoverFill:a,mini:o,flooded:c=!1,floodOrigin:l,photoBackdrop:u=!1,linkRef:d,onHoverChange:f}){let p=ot[e.key]??y,[m,h]=(0,q.useState)({x:50,y:100});l&&l!==m&&h(l);let g=c?`text-[var(--card-flood-fg)]`:`text-[var(--content-default)]`,_=c?`text-[var(--card-flood-fg)]`:`text-[var(--content-strong)]`,v=c?`text-[var(--card-flood-fg)] opacity-75`:`text-[var(--content-secondary)]`,b=(0,J.jsx)(V.span,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,style:{backgroundColor:`var(--card-accent)`},initial:!1,animate:{clipPath:c?`circle(141% at ${m.x}% ${m.y}%)`:`circle(0% at ${m.x}% ${m.y}%)`},transition:c?{duration:.5,ease:`easeOut`}:{duration:.35,ease:`easeIn`}});if(o){let n=t?.value===void 0?t?.text:`${t.value} ${t.label}`;return(0,J.jsx)(s.Root,{asChild:!0,bordered:!1,elevated:!0,clipContents:!0,className:`rounded-[12px] border-0 bg-[var(--card-bg)]`,children:(0,J.jsxs)(r,{to:e.to,ref:d,onMouseEnter:()=>f?.(!0),onMouseLeave:()=>f?.(!1),className:`relative flex h-full flex-1 cursor-pointer items-center gap-2 px-4 py-2.5 transition-all duration-150 active:scale-[0.98] ${a?`hover:bg-[var(--card-hover)]`:``}`,children:[b,(0,J.jsx)(`span`,{className:`relative flex h-10 w-10 shrink-0 items-center justify-center`,children:(0,J.jsx)(p,{className:`h-5 w-5 transition-colors duration-300 ${v}`,"aria-hidden":!0})}),(0,J.jsxs)(`span`,{className:`relative flex min-w-0 flex-col gap-0`,children:[(0,J.jsx)(`span`,{className:`truncate text-title-small leading-normal transition-colors duration-300 ${_}`,children:e.label}),n&&(0,J.jsx)(`span`,{className:`truncate text-[11px] leading-normal font-medium transition-colors duration-300 ${c?`text-[var(--card-flood-fg)] opacity-75`:`text-[var(--content-tertiary)]`}`,children:n})]})]})})}let x=e.key===`personality`||e.key===`schedules`;return(0,J.jsx)(s.Root,{asChild:!0,bordered:!x,elevated:!x,className:`${st[e.key]??``} ${x?`border bg-[var(--card-feature-bg,var(--card-bg))] ${u?`border-transparent backdrop-blur-[32px]`:`border-[var(--border-base)]`}`:`bg-[var(--card-bg)]`}`,style:{...n?{gridArea:n}:{},...i},children:(0,J.jsxs)(r,{to:e.to,ref:d,onMouseEnter:()=>f?.(!0),onMouseLeave:()=>f?.(!1),className:`relative flex h-full w-full cursor-pointer flex-col justify-between gap-3 overflow-hidden p-5 text-left transition-all duration-150 active:scale-[0.98] ${a?`hover:bg-[var(--card-hover)]`:``}`,children:[b,n&&t?.signature&&(0,J.jsxs)(`span`,{className:`absolute inset-x-5 top-14 bottom-9 flex flex-col justify-start transition-colors duration-300 ${c?`text-[var(--card-flood-fg)]`:u?`text-[var(--content-default)]`:`text-[var(--content-secondary)]`}`,style:c?{"--card-accent":`var(--card-flood-fg)`}:void 0,children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:`max-h-10 flex-1`}),(0,J.jsx)(at,{values:t.signature,className:`h-auto max-h-full w-full`})]}),x?(0,J.jsxs)(`span`,{className:`relative flex items-center gap-2`,children:[(0,J.jsx)(p,{className:`h-5 w-5 transition-colors duration-300 ${g}`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`text-body-medium-default transition-colors duration-300 ${g}`,children:e.label})]}):(0,J.jsxs)(`span`,{className:`relative flex flex-col items-start gap-1.5`,children:[(0,J.jsx)(p,{className:`h-6 w-6 transition-colors duration-300 ${g}`,"aria-hidden":!0}),(0,J.jsxs)(`span`,{className:`flex flex-col`,children:[(0,J.jsx)(`span`,{className:`text-body-medium-default transition-colors duration-300 ${g}`,children:e.label}),(0,J.jsx)(`span`,{className:`text-[13px] transition-colors duration-300 ${v}`,children:e.description})]})]}),n&&t?.schedules&&t.schedules.items.length>0&&(0,J.jsxs)(`span`,{className:`relative flex min-h-0 flex-1 flex-col justify-start gap-2 overflow-hidden py-2`,children:[t.schedules.items.map(e=>(0,J.jsxs)(`span`,{className:`flex flex-col gap-0.5 rounded-xl px-3 py-2 transition-colors duration-300`,style:{backgroundColor:c?`color-mix(in srgb, var(--card-flood-fg) 12%, transparent)`:`color-mix(in srgb, var(--content-default) 5%, transparent)`},children:[(0,J.jsx)(`span`,{className:`truncate text-[13px] font-medium transition-colors duration-300 ${g}`,children:e.name}),(0,J.jsxs)(`span`,{className:`truncate text-[12px] transition-colors duration-300 ${v}`,children:[e.cadence,` · next `,ft(e.nextRunAt)]})]},e.id)),t.schedules.more>0&&(0,J.jsxs)(`span`,{className:`text-[12px] font-medium transition-colors duration-300 ${v}`,children:[`View `,t.schedules.more,` more…`]})]}),t?.value===void 0?t?.text?(0,J.jsx)(`span`,{className:`relative text-[14px] font-medium italic transition-colors duration-300 ${g}`,children:t.text}):null:(0,J.jsxs)(`span`,{className:`relative flex flex-col leading-none`,children:[(0,J.jsx)(`span`,{className:`text-[3.25rem] transition-colors duration-300 max-lg:text-[2.5rem] ${_}`,style:{fontFamily:`var(--font-serif)`},children:t.value}),(0,J.jsx)(`span`,{className:`mt-1 text-[13px] transition-colors duration-300 ${v}`,children:t.label})]})]})})}function Tt({components:e,traits:t,customImageUrl:n,name:r,avatarSize:i,isRenaming:a,onEdit:o}){return(0,J.jsxs)(`div`,{className:`relative z-[1] flex flex-col items-center justify-center gap-5`,children:[(0,J.jsx)(Ve,{name:r,isRenaming:a}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:o,className:`avatar-edit-cursor outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:n&&!t?(0,J.jsx)(`img`,{src:n,alt:``,width:i,height:i,className:`rounded-[32px] object-cover`,style:{width:i,height:i}}):(0,J.jsx)(ae,{components:e,traits:t,customImageUrl:n,size:i,interactive:!0})})]})}function Et({components:e,traits:t,customImageUrl:n,name:i,sections:a,stats:o,avatarHex:c,photoBackdrop:l,isRenaming:d,onOpenAvatarModal:f}){let{ref:m,size:h}=ce(),g=H(),_=h.w>=ct&&h.h>=lt,b=Math.round(Math.min(pt,Math.max(mt,Math.min(h.w,h.h)*.32))),x=!!(c&&e&&t),S=_&&!g&&x,C=(0,q.useRef)(null),w=(0,q.useRef)({}),[T,E]=(0,q.useState)(null),D=(0,q.useCallback)(e=>{C.current=e,m(e)},[m]),O=(0,q.useCallback)((e,t)=>{if(!S)return;if(!t){E(null);return}let n=C.current,r=w.current[e];if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o={left:a.left-i.left,top:a.top-i.top,width:a.width,height:a.height},s=(o.left+o.width/2-i.width/2)/(i.width/2),c=(o.top+o.height/2-i.height/2)/(i.height/2),l=Me(o,Math.abs(s)>Math.abs(c)?s<0?`right`:`left`:c<0?`bottom`:`top`,{x:i.width/2,y:i.height/2});E({key:e,target:l,origin:{x:l.peek.x/o.width*100,y:l.peek.y/o.height*100}})},[S]),k=S?T:null,A=k?dt[k.key]??null:null,ee=l?St:{"--card-bg":c?`color-mix(in srgb, ${c} var(--card-tint-pct, ${bt}%), var(--card-surface, var(--surface-lift)))`:`var(--surface-lift)`,"--card-feature-bg":c?`color-mix(in srgb, var(--card-accent) 28%, var(--card-surface, var(--surface-lift)))`:`var(--surface-lift)`,"--card-hover":c?`color-mix(in srgb, ${c} ${xt}%, var(--card-surface, var(--surface-lift)))`:`var(--surface-hover)`,"--card-accent":c??`var(--content-default)`,"--card-flood-fg":c?ne(c):`var(--content-default)`},te=(h.h-8)/(1-vt),j=Math.round(Math.min(gt,te,Math.max(_t,h.w*ht))),M=Math.round(j*vt),N=(0,J.jsx)(Tt,{components:e,traits:t,customImageUrl:n,name:i,avatarSize:b,isRenaming:d,onEdit:f});if(!_){let e=a.find(e=>e.key===`schedules`),t=a.find(e=>e.key===`personality`),n=a.filter(e=>e.key!==`schedules`&&e.key!==`personality`),i=o.schedules?.schedules,c=i?i.items.length+i.more:void 0,d=o.personality?.signature,f=`w-full rounded-[12px] border bg-[var(--card-feature-bg,var(--card-bg))] ${l?`border-transparent backdrop-blur-[32px]`:`border-[var(--border-base)]`}`;return(0,J.jsxs)(`div`,{ref:D,className:`identity-bento relative flex min-h-0 flex-1 flex-col items-center gap-6 overflow-y-auto px-2 py-4`,style:l?{...ee,"--card-bg":`#17191c`}:ee,children:[N,(0,J.jsxs)(`div`,{className:`flex w-full max-w-md shrink-0 flex-col gap-2`,children:[e&&(0,J.jsx)(s.Root,{asChild:!0,bordered:!1,elevated:!1,clipContents:!0,className:f,children:(0,J.jsxs)(r,{to:e.to,className:`flex w-full cursor-pointer items-center gap-2 p-4 transition-all duration-150 hover:bg-[var(--card-hover)] active:scale-[0.98]`,children:[(0,J.jsx)(u,{className:`h-5 w-5 shrink-0 text-[var(--content-default)]`,"aria-hidden":!0}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),c!==void 0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:c})]})]}),(0,J.jsx)(p,{className:`h-4 w-4 shrink-0 text-[var(--content-default)]`,"aria-hidden":!0})]})}),t&&(0,J.jsx)(s.Root,{asChild:!0,bordered:!1,elevated:!1,clipContents:!0,className:f,children:(0,J.jsxs)(r,{to:t.to,className:`flex w-full cursor-pointer flex-col gap-4 px-4 pt-4 pb-6 transition-all duration-150 hover:bg-[var(--card-hover)] active:scale-[0.98]`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(y,{className:`h-5 w-5 text-[var(--content-default)]`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t.label})]}),d&&(0,J.jsx)(`span`,{className:`flex items-center justify-center ${l?`text-[var(--content-default)]`:`text-[var(--content-secondary)]`}`,children:(0,J.jsx)(at,{values:d,className:`h-auto w-full`})})]})}),(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:n.map(e=>(0,J.jsx)(wt,{section:e,stat:o[e.key],hoverFill:!0,mini:!0},e.key))})]})]})}let P=a.filter(e=>!ut.includes(e.key)),F=a.filter(e=>ut.includes(e.key)),I=[1.15,1,.45,.3],L=(h.h-(I.length-1)*12)/I.reduce((e,t)=>e+t,0),R=Math.round(L*I[0]),z=(x?[`"personality greeting greeting greeting schedules"`,`". . . . schedules"`,`". . . . ."`,`"smalls smalls smalls smalls smalls"`]:[`"personality greeting greeting greeting schedules"`,`". avatar avatar avatar schedules"`,`". avatar avatar avatar ."`,`"smalls smalls smalls smalls smalls"`]).join(` `),B=e=>({section:e,stat:o[e.key],hoverFill:!S,photoBackdrop:l,flooded:k?.key===e.key,floodOrigin:k?.key===e.key?k.origin:void 0,linkRef:t=>{w.current[e.key]=t},onHoverChange:t=>O(e.key,t)});return(0,J.jsxs)(`div`,{ref:D,className:`identity-bento relative grid min-h-0 flex-1 gap-3 overflow-hidden`,style:{...ee,gridTemplateColumns:`1.55fr 1fr 1fr 1fr 1.55fr`,gridTemplateRows:I.map(e=>`${e}fr`).join(` `),gridTemplateAreas:z},children:[x?(0,J.jsx)(V.div,{className:`pointer-events-none absolute left-1/2 z-0`,style:{width:j,height:j,bottom:-M,x:`-50%`},initial:!1,animate:k?{scale:.4,opacity:0}:{scale:1,opacity:1},transition:k?{duration:.15}:{delay:.25,type:`spring`,stiffness:210,damping:18},children:(0,J.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:f,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f())},className:`avatar-edit-cursor group pointer-events-auto relative h-full w-full scale-100 outline-none transition-transform duration-200 ease-out hover:scale-105 keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:[(0,J.jsx)(ae,{components:e,traits:t,customImageUrl:n,size:j,interactive:!0}),(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 flex items-center justify-center opacity-0 transition-opacity duration-150 group-hover:opacity-100`,children:(0,J.jsx)(`span`,{className:`flex h-11 w-11 items-center justify-center rounded-full bg-black/40`,children:(0,J.jsx)(v,{className:`h-5 w-5 text-white`})})})]})}):(0,J.jsx)(`div`,{className:`relative z-[1] flex items-start justify-center`,style:{gridArea:`avatar`},children:(0,J.jsx)(`button`,{type:`button`,"aria-label":`Update avatar and name`,title:`Update avatar and name`,onClick:f,className:`avatar-edit-cursor rounded-full outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,children:n?(0,J.jsx)(`img`,{src:n,alt:``,width:b,height:b,className:`rounded-full object-cover`,style:{width:b,height:b}}):(0,J.jsx)(ae,{components:e,traits:t,customImageUrl:null,size:b})})}),(0,J.jsx)(`div`,{className:`relative z-[1] flex items-center justify-center`,style:{gridArea:`greeting`},children:(0,J.jsx)(Ve,{name:i,isRenaming:d,overrideText:A})}),S&&c&&e&&t&&(0,J.jsx)(Le,{hex:c,components:e,traits:t,target:k?.target??null}),P.map(e=>(0,J.jsx)(wt,{...B(e),gridArea:e.key,cardStyle:e.key===`schedules`?{alignSelf:`start`,height:`auto`,minHeight:R}:void 0},e.key)),(0,J.jsx)(`div`,{className:`flex min-h-0 items-stretch gap-3`,style:{gridArea:`smalls`},children:F.map(e=>(0,J.jsx)(wt,{...B(e),mini:!0},e.key))})]})}function Dt(){return(0,J.jsx)(Ct,{assistantId:U()})}function Ot(){return(0,J.jsx)(Dt,{},U())}export{Ot as IdentityPageRoute};