@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,2 +1,2 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./typography-BeUa5Fd-.js";import{C as i,S as a,T as o,c as s,n as c,p as l,v as u,w as d,y as f}from"./message-content-Beh5mR15.js";import{t as p}from"./brain-ZiC0HCCF.js";import{t as m}from"./check-DSgjgwlo.js";import{t as h}from"./code-DwZ6Mhdw.js";import{W as g}from"./src-BMRW2yQf.js";import{t as _}from"./file-text-DDbRSMUn.js";import{t as v}from"./globe-COk-NH9x.js";import{t as y}from"./monitor-CPgcKlQP.js";import{t as b}from"./chat-markdown-message-Dr9rA1lM.js";import{t as x}from"./sparkles-B94iNYGJ.js";import{t as S}from"./user-plus-DAap8I1c.js";import{t as C}from"./use-transcript-messages-BAG92dqc.js";import{D as w}from"./chat-DYLliWTB.js";import{t as T}from"./misc-Z0jXGGeY.js";import{t as E}from"./copy-to-clipboard-DnJHokIa.js";import{t as D}from"./detail-shell-rL601Rqo.js";import{t as O}from"./use-transcript-message-by-id-C7L609Lk.js";var k=e(t(),1),A=n();function j({level:e,className:t,onClick:n}){if(!e)return null;let{bg:i,text:a,label:o}=u(e),s=T(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,i,t);return n?(0,A.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:T(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})}):(0,A.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})})}function M(e,t,n){let r=O(e);return(0,k.useMemo)(()=>{if(!r||t==null)return null;let e=c(r.contentBlocks??[],{splitInlineThinking:r.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let i=e.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?i.join(`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./typography-BeUa5Fd-.js";import{C as i,S as a,T as o,c as s,n as c,p as l,v as u,w as d,y as f}from"./message-content-Beh5mR15.js";import{t as p}from"./brain-ZiC0HCCF.js";import{t as m}from"./check-DSgjgwlo.js";import{t as h}from"./code-DwZ6Mhdw.js";import{G as g}from"./src-hNk11eS3.js";import{t as _}from"./file-text-DDbRSMUn.js";import{t as v}from"./globe-COk-NH9x.js";import{t as y}from"./monitor-CPgcKlQP.js";import{t as b}from"./chat-markdown-message-WfT4JUja.js";import{t as x}from"./sparkles-B94iNYGJ.js";import{t as S}from"./user-plus-DAap8I1c.js";import{t as C}from"./use-transcript-messages-vw2Hogaj.js";import{D as w}from"./chat-DYLliWTB.js";import{t as T}from"./misc-Z0jXGGeY.js";import{t as E}from"./copy-to-clipboard-DnJHokIa.js";import{t as D}from"./detail-shell-g6Pw4jiP.js";import{t as O}from"./use-transcript-message-by-id-cDbEJMB-.js";var k=e(t(),1),A=n();function j({level:e,className:t,onClick:n}){if(!e)return null;let{bg:i,text:a,label:o}=u(e),s=T(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,i,t);return n?(0,A.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:T(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})}):(0,A.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})})}function M(e,t,n){let r=O(e);return(0,k.useMemo)(()=>{if(!r||t==null)return null;let e=c(r.contentBlocks??[],{splitInlineThinking:r.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let i=e.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?i.join(`
2
2
  `):i[n]??null},[r,t,n])}function N(e){let t=C();return(0,k.useMemo)(()=>{if(!e)return null;for(let n of t){let t=n.toolCalls?.find(t=>t.id===e);if(t)return t}return null},[t,e])}var P={code:h,terminal:a,file:_,globe:v,pen:d,monitor:y,plug:i,sparkle:x,"user-plus":S,bolt:o,brain:p},F=1500;function I({text:e}){let[t,n]=(0,k.useState)(!1),r=(0,k.useRef)(null);return(0,k.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,A.jsxs)(`button`,{type:`button`,onClick:()=>{E(e,{errorMessage:`Couldn't copy.`,onCopied:()=>{n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),F)}})},"aria-label":t?`Copied`:`Copy`,className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[t?(0,A.jsx)(m,{className:`h-3.5 w-3.5`}):(0,A.jsx)(g,{className:`h-3.5 w-3.5`}),t?`Copied`:null]})}function L({text:e}){return(0,A.jsxs)(`div`,{className:`relative`,children:[(0,A.jsx)(`pre`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 font-mono text-xs whitespace-pre-wrap break-words text-[var(--content-default)]`,children:e}),(0,A.jsx)(I,{text:e})]})}function R({children:e,className:t=`mb-1.5`}){return(0,A.jsx)(r,{variant:`label-small-default`,as:`div`,className:`uppercase tracking-wider text-[var(--content-tertiary)] ${t}`,children:e})}function z({detail:e,onClose:t,assistantId:n}){let r=M(e.messageId,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,A.jsx)(D,{Glyph:p,title:e.title,closeLabel:`Close tool details`,onClose:t,children:(0,A.jsx)(b,{content:r??e.thinkingText??``,hardLineBreaks:!0,assistantId:n})})}function B({detail:e}){let t=N(e.toolCallId),n=t?.result??e.result,i=t?.streamedOutput??e.streamedOutput,a=n!==void 0&&n!==``,o=t?w(t):e.status===`running`,s=!!i,c=JSON.stringify(e.input,null,2),u=t?.riskLevel??e.riskLevel,d=f(u);return(0,A.jsxs)(A.Fragment,{children:[u&&(0,A.jsxs)(`div`,{className:`mb-5`,children:[(0,A.jsx)(R,{children:`Risk Level`}),(0,A.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,A.jsx)(j,{level:u}),d&&(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-1.5 text-[var(--content-secondary)]`,children:d})]})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(r,{variant:`body-medium-default`,as:`div`,className:`text-[var(--content-default)]`,children:l(e.toolName)}),e.activity&&(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-0.5 text-[var(--content-secondary)]`,children:e.activity}),(0,A.jsx)(`div`,{className:`mt-2`,children:(0,A.jsx)(L,{text:c})})]}),(a||o)&&(0,A.jsxs)(`div`,{className:`mt-5`,children:[(0,A.jsx)(R,{children:`Output`}),a?(0,A.jsx)(L,{text:n}):s?(0,A.jsx)(L,{text:i}):(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Running…`})]})]})}function V({detail:e,onClose:t,assistantId:n}){if(e.kind===`thinking`)return(0,A.jsx)(z,{detail:e,onClose:t,assistantId:n});let{iconName:r}=s(e.toolName,e.input);return(0,A.jsx)(D,{Glyph:P[r]??o,title:e.activity||e.title,closeLabel:`Close tool details`,onClose:t,children:(0,A.jsx)(B,{detail:e})})}export{L as CodeBlock,R as SectionLabel,B as ToolDetailBody,V as ToolDetailPanel,M as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,l as n,o as r,u as i}from"./local-settings-Bx7FsNo5.js";import{t as a}from"./react-BFJW0bSv.js";var o=e(a(),1);function s(e){if(typeof window>`u`)return null;try{return localStorage.getItem(e)}catch{return null}}function c(e){let r=new Map,i={has:e=>r.has(e),get:e=>r.get(e),drop:e=>r.delete(e),scope:e,clear:()=>r.clear(),write(e,i,a,o){r.delete(e),!n(i,o)&&(r.set(e,a),t(i,o))}};return l.push(i),i}var l=[];function u(){for(let e of l)e.scope===`user`&&e.clear()}var d=``;function f(e,t){let n=new Map;return function(r){let i=e(r),a=n.get(r);if(a!==void 0&&a.raw===i)return a.value;let o=t(i);return n.set(r,{raw:i,value:o}),o}}function p(e){return e===`true`?!0:e===`false`?!1:null}function m(e){let{key:t,scope:n,parse:a,serialize:l,fallback:u}=e,f,p=u,m=c(n);function h(){if(m.has(d))return m.get(d);let e=s(t);if(e===f)return p;if(f=e,e===null)return p=u,u;try{let t=a(e);p=t===null?u:t}catch{p=u}return p}function g(e){m.write(d,t,e,l(e))}function _(){m.drop(d),r(t)}function v(e){return i(t,e)}function y(){return h()}function b(){return u}function x(){return(0,o.useSyncExternalStore)(v,y,b)}return{load:h,save:g,remove:_,key:t,scope:n,subscribe:v,useValue:x}}function h(e){let{keyFn:t,scope:n,parse:a,serialize:l,fallback:u}=e;function d(e){if(e===null)return u;try{let t=a(e);return t===null?u:t}catch{return u}}let p=c(n);function m(e){return p.has(e)?p.get(e):d(s(t(e)))}function h(e,n){p.write(e,t(e),n,l(n))}function g(e){p.drop(e),r(t(e))}let _=f(e=>s(t(e)),d);function v(e){return p.has(e)?p.get(e):_(e)}function y(e){return(0,o.useSyncExternalStore)((0,o.useCallback)(n=>i(t(e),n),[e]),(0,o.useCallback)(()=>v(e),[e]),()=>u)}return{load:m,save:h,remove:g,keyFn:t,scope:n,useValue:y}}function g(e){let{keyFn:t,scope:n,parseValue:a,fallback:l,maxEntries:u}=e;function d(e){try{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t)){let t=a(r);t!==null&&(n[e]=t)}return n}catch{return null}}let p=c(n);function m(e,n){p.write(e,t(e),n,JSON.stringify(n))}function h(e){if(p.has(e))return{...p.get(e)};let n=s(t(e));return n===null?{...l}:d(n)??{...l}}function g(e,t){return h(e)[t]}function _(e,t,n){let r=h(e);if(r[t]=n,u!==void 0){let t=Object.entries(r);if(t.length>u){let n=t.slice(t.length-u),r={};for(let[e,t]of n)r[e]=t;m(e,r);return}}m(e,r)}function v(e,t){let n=h(e);delete n[t],m(e,n)}function y(e){p.drop(e),r(t(e))}let b=f(e=>s(t(e)),e=>e===null?l:d(e)??l);function x(e){return p.has(e)?p.get(e):b(e)}function S(e){return(0,o.useSyncExternalStore)((0,o.useCallback)(n=>i(t(e),n),[e]),(0,o.useCallback)(()=>x(e),[e]),()=>l)}return{load:h,get:g,set:_,deleteEntry:v,remove:y,keyFn:t,scope:n,useValue:S}}export{p as a,m as i,h as n,g as r,u as t};
@@ -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,n as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-BeUa5Fd-.js";import{t as s}from"./card-q0GJX1HZ.js";import{t as c}from"./notice-C0ifrvvJ.js";import{n as l}from"./toast-BpuLSxyt.js";import{d as u}from"./routes-iipg2wkc.js";import{i as d,r as f,t as p}from"./use-platform-gate-DBRG0Q26.js";import{t as m}from"./platform-login-notice-3g7rHtc3.js";var h=e(t(),1),g=a();function _(){let e=d({platformHostedOnly:!0}),t=p(),a=f(),_=r();return(0,h.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),_(u.settings.usageBilling,{replace:!0}))},[_,t]),e===`gated`?(0,g.jsx)(i,{replace:!0,to:u.settings.general}):e===`disabled`?(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsx)(m,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!a?(0,g.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,g.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsx)(n,{variant:`primary`,onClick:()=>_(u.settings.usageBilling,{replace:!0}),children:`Return to billing`})})]}):(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsxs)(s,{padding:`lg`,children:[(0,g.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,g.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{_ as UpgradeCancelPage};
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,n as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-BeUa5Fd-.js";import{t as s}from"./card-q0GJX1HZ.js";import{t as c}from"./notice-C0ifrvvJ.js";import{n as l}from"./toast-BpuLSxyt.js";import{d as u}from"./routes-iipg2wkc.js";import{i as d,r as f,t as p}from"./use-platform-gate-CdwOyQ8A.js";import{t as m}from"./platform-login-notice-CIpebDVw.js";var h=e(t(),1),g=a();function _(){let e=d({platformHostedOnly:!0}),t=p(),a=f(),_=r();return(0,h.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),_(u.settings.usageBilling,{replace:!0}))},[_,t]),e===`gated`?(0,g.jsx)(i,{replace:!0,to:u.settings.general}):e===`disabled`?(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsx)(m,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!a?(0,g.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,g.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsx)(n,{variant:`primary`,onClick:()=>_(u.settings.usageBilling,{replace:!0}),children:`Return to billing`})})]}):(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsxs)(s,{padding:`lg`,children:[(0,g.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,g.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{_ as UpgradeCancelPage};
@@ -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,n 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"./card-q0GJX1HZ.js";import{t as u}from"./circle-alert-De9q5FVd.js";import{t as d}from"./circle-check-q8BVdbgw.js";import{t as f}from"./loader-circle-DOtGXcds.js";import{t as p}from"./notice-C0ifrvvJ.js";import{d as m}from"./routes-iipg2wkc.js";import{i as h,r as g,t as _}from"./use-platform-gate-DBRG0Q26.js";import{dt as v,ut as y}from"./react-query.gen-DKb3mEwJ.js";import{t as b}from"./platform-login-notice-3g7rHtc3.js";var x=e(t(),1),S=s(),C=1e3,w=1e4,T=2500;function E(){let e=h({platformHostedOnly:!0}),t=_(),s=g(),c=e===`full`&&t,u=r(),d=a(),[f,E]=(0,x.useState)(!1);(0,x.useEffect)(()=>{d.invalidateQueries({queryKey:v()})},[d]);let{data:j,isError:M}=o({...y(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||f?!1:C,refetchIntervalInBackground:!1}),N=c?j:void 0,P=c?M:!1;(0,x.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>E(!0),w);return()=>clearTimeout(e)},[c]);let F=N?.plan_id===`pro`;(0,x.useEffect)(()=>{if(!F)return;let e=setTimeout(()=>{u(m.settings.usageBilling,{replace:!0})},T);return()=>clearTimeout(e)},[F,u]);let I=()=>u(m.settings.usageBilling,{replace:!0});return e===`gated`?(0,S.jsx)(i,{replace:!0,to:m.settings.general}):e===`disabled`?(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsx)(b,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!s?(0,S.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,S.jsx)(p,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(n,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]}):(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsxs)(l,{padding:`lg`,children:[F?(0,S.jsx)(O,{}):P?(0,S.jsx)(A,{}):f?(0,S.jsx)(k,{}):(0,S.jsx)(D,{}),(F||P||f)&&(0,S.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,S.jsx)(n,{variant:F||P?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]})})}function D(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(f,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function O(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(d,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function k(){return(0,S.jsx)(p,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function A(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(u,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{E as UpgradeSuccessPage};
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,n 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"./card-q0GJX1HZ.js";import{t as u}from"./circle-alert-De9q5FVd.js";import{t as d}from"./circle-check-q8BVdbgw.js";import{t as f}from"./loader-circle-DOtGXcds.js";import{t as p}from"./notice-C0ifrvvJ.js";import{d as m}from"./routes-iipg2wkc.js";import{i as h,r as g,t as _}from"./use-platform-gate-CdwOyQ8A.js";import{dt as v,ut as y}from"./react-query.gen-DKb3mEwJ.js";import{t as b}from"./platform-login-notice-CIpebDVw.js";var x=e(t(),1),S=s(),C=1e3,w=1e4,T=2500;function E(){let e=h({platformHostedOnly:!0}),t=_(),s=g(),c=e===`full`&&t,u=r(),d=a(),[f,E]=(0,x.useState)(!1);(0,x.useEffect)(()=>{d.invalidateQueries({queryKey:v()})},[d]);let{data:j,isError:M}=o({...y(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||f?!1:C,refetchIntervalInBackground:!1}),N=c?j:void 0,P=c?M:!1;(0,x.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>E(!0),w);return()=>clearTimeout(e)},[c]);let F=N?.plan_id===`pro`;(0,x.useEffect)(()=>{if(!F)return;let e=setTimeout(()=>{u(m.settings.usageBilling,{replace:!0})},T);return()=>clearTimeout(e)},[F,u]);let I=()=>u(m.settings.usageBilling,{replace:!0});return e===`gated`?(0,S.jsx)(i,{replace:!0,to:m.settings.general}):e===`disabled`?(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsx)(b,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!s?(0,S.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,S.jsx)(p,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(n,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]}):(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsxs)(l,{padding:`lg`,children:[F?(0,S.jsx)(O,{}):P?(0,S.jsx)(A,{}):f?(0,S.jsx)(k,{}):(0,S.jsx)(D,{}),(F||P||f)&&(0,S.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,S.jsx)(n,{variant:F||P?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]})})}function D(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(f,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function O(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(d,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function k(){return(0,S.jsx)(p,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function A(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(u,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{E as UpgradeSuccessPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{i,n as a,o}from"./utils-CAZUrJMu.js";import{n as s}from"./api-errors-BQX1Pzcm.js";import{Gr as c,Kr as l,Wr as u,Zr as d,d as f,f as p,m,p as h}from"./sdk.gen-CBPZ2IdN.js";var g=e(t(),1),_=`0.8.7`;function v(){return a(_)}function y(){return i(_)}async function b(){return await o(),v()}function x(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.bodyShape==`string`&&typeof t.eyeStyle==`string`&&typeof t.color==`string`}function S(e){return e===`character`||e===`image`||e===`none`}function C(e){return e===`builder`||e===`upload`||e===`ai`}function w(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.updatedAt==`string`&&typeof t.etag==`string`}function T(e){if(typeof e!=`object`||!e)return!1;let t=e;return S(t.kind)&&(t.traits===null||x(t.traits))&&(t.source===null||C(t.source))&&(t.image===null||w(t.image))}async function E(e){try{let{data:t,error:n,response:r}=await m({path:{assistant_id:e},throwOnError:!1});return s(r,n,`Failed to fetch avatar state`),!r.ok||!T(t)?null:t}catch{return null}}async function D(e){try{let{data:t,error:n,response:r}=await f({path:{assistant_id:e},throwOnError:!1});return s(r,n,`Failed to fetch character components`),!r.ok||!t?null:t}catch{return null}}async function O(e){try{let{data:t,error:n,response:r}=await l({path:{assistant_id:e},query:{path:`data/avatar/character-traits.json`},throwOnError:!1});if(s(r,n,`Failed to fetch character traits`),!r.ok||!t)return null;let i=JSON.parse(t.content);return x(i)?i:null}catch{return null}}async function k(e,t){try{let{error:n,response:r}=await h({path:{assistant_id:e},body:t,throwOnError:!1});return s(r,n,`Failed to save character traits`),r.ok}catch{return!1}}async function A(e,t){try{let n=await t.arrayBuffer(),r=btoa(new Uint8Array(n).reduce((e,t)=>e+String.fromCharCode(t),``));if(!await b())return j(e,r);let{error:i,response:a}=await p({path:{assistant_id:e},body:{content:r,encoding:`base64`},throwOnError:!1});return s(a,i,`Failed to upload avatar image`),a.ok}catch{return!1}}async function j(e,t){let{error:n,response:r}=await d({path:{assistant_id:e},body:{path:`data/avatar/avatar-image.png`,content:t,encoding:`base64`},throwOnError:!1});return s(r,n,`Failed to upload avatar image`),r.ok?(await u({path:{assistant_id:e},body:{path:`data/avatar/character-traits.json`},throwOnError:!1}),!0):!1}async function M(e){try{let{data:t,error:n,response:r}=await c({path:{assistant_id:e},query:{path:`data/avatar/avatar-image.png`},parseAs:`blob`,throwOnError:!1});return s(r,n,`Failed to fetch avatar image`),!r.ok||!t?null:URL.createObjectURL(t)}catch{return null}}var N=`assistantAvatar`;function P(e){return[N,e]}var F=new Map;async function I(e){let t=await E(e);if(t===null)throw Error(`Failed to fetch avatar state`);return t.kind===`character`?{traits:t.traits,imageUrl:null}:t.kind===`image`?{traits:null,imageUrl:await M(e)}:{traits:null,imageUrl:null}}async function L(e){let t=await M(e);return{traits:t?null:await O(e),imageUrl:t}}function R(e){let t=n(),i=y(),{data:a,isLoading:o}=r({queryKey:[...P(e??``),i],queryFn:async()=>{let t=e,[n,{traits:r,imageUrl:a}]=await Promise.all([D(t),i?I(t):L(t)]);if(!n&&!a)throw Error(`Failed to fetch character components`);let o=F.get(t);return o&&o!==a&&URL.revokeObjectURL(o),a?F.set(t,a):F.delete(t),{components:n,traits:r,customImageUrl:a}},enabled:!!e,staleTime:1/0,structuralSharing:!1,retry:1}),s=(0,g.useCallback)(()=>{e&&t.invalidateQueries({queryKey:P(e)})},[e,t]);return{components:a?.components??null,traits:a?.traits??null,customImageUrl:a?.customImageUrl??null,isLoading:o,invalidate:s}}export{k as a,O as i,R as n,A as o,D as r,x as s,P as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{i,n as a,o}from"./utils-CVoSWh7U.js";import{n as s}from"./api-errors-BQX1Pzcm.js";import{Gr as c,Kr as l,Wr as u,Zr as d,d as f,f as p,m,p as h}from"./sdk.gen-CBPZ2IdN.js";var g=e(t(),1),_=`0.8.7`;function v(){return a(_)}function y(){return i(_)}async function b(){return await o(),v()}function x(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.bodyShape==`string`&&typeof t.eyeStyle==`string`&&typeof t.color==`string`}function S(e){return e===`character`||e===`image`||e===`none`}function C(e){return e===`builder`||e===`upload`||e===`ai`}function w(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.updatedAt==`string`&&typeof t.etag==`string`}function T(e){if(typeof e!=`object`||!e)return!1;let t=e;return S(t.kind)&&(t.traits===null||x(t.traits))&&(t.source===null||C(t.source))&&(t.image===null||w(t.image))}async function E(e){try{let{data:t,error:n,response:r}=await m({path:{assistant_id:e},throwOnError:!1});return s(r,n,`Failed to fetch avatar state`),!r.ok||!T(t)?null:t}catch{return null}}async function D(e){try{let{data:t,error:n,response:r}=await f({path:{assistant_id:e},throwOnError:!1});return s(r,n,`Failed to fetch character components`),!r.ok||!t?null:t}catch{return null}}async function O(e){try{let{data:t,error:n,response:r}=await l({path:{assistant_id:e},query:{path:`data/avatar/character-traits.json`},throwOnError:!1});if(s(r,n,`Failed to fetch character traits`),!r.ok||!t)return null;let i=JSON.parse(t.content);return x(i)?i:null}catch{return null}}async function k(e,t){try{let{error:n,response:r}=await h({path:{assistant_id:e},body:t,throwOnError:!1});return s(r,n,`Failed to save character traits`),r.ok}catch{return!1}}async function A(e,t){try{let n=await t.arrayBuffer(),r=btoa(new Uint8Array(n).reduce((e,t)=>e+String.fromCharCode(t),``));if(!await b())return j(e,r);let{error:i,response:a}=await p({path:{assistant_id:e},body:{content:r,encoding:`base64`},throwOnError:!1});return s(a,i,`Failed to upload avatar image`),a.ok}catch{return!1}}async function j(e,t){let{error:n,response:r}=await d({path:{assistant_id:e},body:{path:`data/avatar/avatar-image.png`,content:t,encoding:`base64`},throwOnError:!1});return s(r,n,`Failed to upload avatar image`),r.ok?(await u({path:{assistant_id:e},body:{path:`data/avatar/character-traits.json`},throwOnError:!1}),!0):!1}async function M(e){try{let{data:t,error:n,response:r}=await c({path:{assistant_id:e},query:{path:`data/avatar/avatar-image.png`},parseAs:`blob`,throwOnError:!1});return s(r,n,`Failed to fetch avatar image`),!r.ok||!t?null:URL.createObjectURL(t)}catch{return null}}var N=`assistantAvatar`;function P(e){return[N,e]}var F=new Map;async function I(e){let t=await E(e);if(t===null)throw Error(`Failed to fetch avatar state`);return t.kind===`character`?{traits:t.traits,imageUrl:null}:t.kind===`image`?{traits:null,imageUrl:await M(e)}:{traits:null,imageUrl:null}}async function L(e){let t=await M(e);return{traits:t?null:await O(e),imageUrl:t}}function R(e){let t=n(),i=y(),{data:a,isLoading:o}=r({queryKey:[...P(e??``),i],queryFn:async()=>{let t=e,[n,{traits:r,imageUrl:a}]=await Promise.all([D(t),i?I(t):L(t)]);if(!n&&!a)throw Error(`Failed to fetch character components`);let o=F.get(t);return o&&o!==a&&URL.revokeObjectURL(o),a?F.set(t,a):F.delete(t),{components:n,traits:r,customImageUrl:a}},enabled:!!e,staleTime:1/0,structuralSharing:!1,retry:1}),s=(0,g.useCallback)(()=>{e&&t.invalidateQueries({queryKey:P(e)})},[e,t]);return{components:a?.components??null,traits:a?.traits??null,customImageUrl:a?.customImageUrl??null,isLoading:o,invalidate:s}}export{k as a,O as i,R as n,A as o,D as r,x as s,P as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-DFWryB3N.js";import"./src-BMRW2yQf.js";import{Tn as o,V as s,tt as c,wn as l}from"./sdk.gen-CBPZ2IdN.js";import{r as u}from"./api-JA_IDAQk.js";import{t as d}from"./identity-DTcIPrCK.js";import{n as f}from"./page-surface-store-CNB4IeOj.js";import{t as p}from"./proxy-B4sTDdE4.js";import{t as m}from"./use-reduced-motion-CaGZSwLZ.js";import{i as h}from"./avatar-tone-D1ZiIRxb.js";import{n as g,t as _}from"./eye-bbox-hZoek1Q5.js";import{n as v,r as y,t as b,u as x}from"./latest-assistant-text-Daw8nrLO.js";var S=e(n(),1),C=i(),w=.25,T=.46,E=.3,D=.85,O=.4,k=14,A=8;function j({components:e,traits:t,stage:n,entrance:r=!1,entranceDelay:i=0}){let a=m(),{w:o,h:s}=n,[c,l]=(0,S.useState)({x:0,y:0});(0,S.useEffect)(()=>{if(a)return;let e=e=>{l({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[a]);let u=r&&!a,[d,f]=(0,S.useState)(!1),[h,v]=(0,S.useState)(!r);(0,S.useEffect)(()=>{if(a||!h)return;let e=!1,t,n=n=>{e||(f(!0),t=setTimeout(()=>{e||(f(!1),t=setTimeout(n,140))},140))},i=()=>{t=setTimeout(()=>n(i),2500+Math.random()*4e3)};return r?n(()=>n(i)):i(),()=>{e=!0,clearTimeout(t)}},[a,h,r]);let y=(0,S.useMemo)(()=>{let n=e.eyeStyles.find(e=>e.id===t.eyeStyle);return n?{paths:n.paths,bbox:g(n.paths.map(e=>_(e.svgPath)))}:null},[e,t.eyeStyle]);if(!y||o===0||s===0)return null;let b=o*D,x=Math.min(Math.min(o,s)*E,b*y.bbox.h/y.bbox.w),j=x*y.bbox.w/y.bbox.h,M=(o-j)/2,N=s-(1-w)*x,P=O*s-(N+x/2),F=(T-w)*x,I=y.bbox.x+y.bbox.w/2,L=y.bbox.y+y.bbox.h/2;return(0,C.jsx)(p.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:x,transformOrigin:`center`},initial:u?{y:P,scale:.35}:!1,animate:u?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:u?{duration:1,delay:i,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>v(!0),children:(0,C.jsx)(`div`,{style:{transform:`translate(${c.x*k}px, ${c.y*A}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,C.jsx)(`svg`,{viewBox:`${y.bbox.x} ${y.bbox.y} ${y.bbox.w} ${y.bbox.h}`,width:j,height:x,style:{overflow:`visible`,display:`block`},children:(0,C.jsx)(`g`,{style:{transform:d?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:y.paths.map((e,t)=>(0,C.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})})}var M=E*(1-w),N=`#17191C`,P=24,F=.2,I=96,L=160,R=(0,S.createContext)(null);function z(){let e=(0,S.useContext)(R);if(!e)throw Error(`useAssistantStage must be used inside <AssistantStage>`);return e}function B(e,t){return!e||!t?null:e.colors.find(e=>e.id===t.color)?.hex??null}function V({components:e,traits:t,customImageUrl:n,entrance:r=!1,children:i,className:o}){let{ref:s,size:c}=y(),l=B(e,t)??N,u=h(l),d=f.use.setSurface();(0,S.useLayoutEffect)(()=>(d(l),()=>{d(null)}),[l,d]);let p=!!(e&&t),m=!p&&!!n,g=Math.round(Math.min(L,Math.max(I,Math.min(c.w,c.h)*F))),_=c.h-g-P,v=p?Math.round(M*Math.min(c.w,c.h))+16:m?g+P+16:24;return(0,C.jsxs)(`div`,{ref:s,className:a(`relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,`native-mobile:rounded-none native-mobile:border-0`,o),style:{backgroundColor:l,color:u.fg},children:[p&&e&&t&&(0,C.jsx)(j,{components:e,traits:t,stage:c,entrance:r}),m&&n&&(0,C.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2] overflow-hidden rounded-full ring-4 ring-white/25`,style:{left:(c.w-g)/2,top:_,width:g,height:g},children:(0,C.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`,draggable:!1})}),(0,C.jsx)(R.Provider,{value:{stage:c,tone:u,bottomReserve:v},children:(0,C.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:i})})]})}var H=[{id:`companion-coworker`,left:`Companion`,right:`Coworker`},{id:`genz-boomer`,left:`Gen Z`,right:`Baby Boomer`},{id:`execute-collaborate`,left:`Independent`,right:`Collaborative`},{id:`playful-serious`,left:`Playful`,right:`Serious`},{id:`polite-unfiltered`,left:`Polite`,right:`Unfiltered`}],U=50,W=1500,G=12e4,K=e=>new Promise(t=>setTimeout(t,e));async function q({assistantId:e,content:n,title:r,context:i}){let a,u=!1;try{let t=await c({path:{assistant_id:e},body:{conversationType:`background`,title:r},throwOnError:!1});if(a=t.data?.id,!t.response?.ok||!a)return!1;let i=v({conversationId:a,content:n,transport:`vellum`});if(!(await o({path:{assistant_id:e},body:i,throwOnError:!1})).response?.ok)return!1;let s=Date.now()+G,d=``,f=0,p=!1;for(;Date.now()<s;){await K(W);let t=await l({path:{assistant_id:e},query:{conversationId:a},throwOnError:!1}),n=b(t.data?.messages??[]);if(n&&(f=n===d?f+1:0,d=n),t.data?.processing===!0&&(p=!0),x({processing:t.data?.processing,sawProcessing:p,hasReply:n.length>0,stableReads:f})){u=!0;break}}}catch(e){t(e,{context:i})}finally{if(a)try{await s({path:{assistant_id:e,id:a},throwOnError:!1})}catch(e){t(e,{context:`${i}_archive`})}}return u}function J(e){return[`assistant-identity-details`,e]}function Y(e){return r({queryKey:J(e),queryFn:async()=>{let[t,n]=await Promise.all([d(e),u(e).catch(()=>({ok:!1,status:0,error:{}}))]);return{identity:t,createdAt:n.ok?n.data.created:null}}})}export{U as a,z as c,H as i,Y as n,V as o,q as r,B as s,J as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-DFWryB3N.js";import"./src-hNk11eS3.js";import{Tn as o,V as s,tt as c,wn as l}from"./sdk.gen-CBPZ2IdN.js";import{r as u}from"./api-JA_IDAQk.js";import{t as d}from"./identity-DTcIPrCK.js";import{n as f}from"./page-surface-store-CNB4IeOj.js";import{t as p}from"./proxy-B4sTDdE4.js";import{t as m}from"./use-reduced-motion-CaGZSwLZ.js";import{i as h}from"./avatar-tone-D1ZiIRxb.js";import{n as g,t as _}from"./eye-bbox-hZoek1Q5.js";import{n as v,r as y,t as b,u as x}from"./latest-assistant-text-Daw8nrLO.js";var S=e(n(),1),C=i(),w=.25,T=.46,E=.3,D=.85,O=.4,k=14,A=8;function j({components:e,traits:t,stage:n,entrance:r=!1,entranceDelay:i=0}){let a=m(),{w:o,h:s}=n,[c,l]=(0,S.useState)({x:0,y:0});(0,S.useEffect)(()=>{if(a)return;let e=e=>{l({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[a]);let u=r&&!a,[d,f]=(0,S.useState)(!1),[h,v]=(0,S.useState)(!r);(0,S.useEffect)(()=>{if(a||!h)return;let e=!1,t,n=n=>{e||(f(!0),t=setTimeout(()=>{e||(f(!1),t=setTimeout(n,140))},140))},i=()=>{t=setTimeout(()=>n(i),2500+Math.random()*4e3)};return r?n(()=>n(i)):i(),()=>{e=!0,clearTimeout(t)}},[a,h,r]);let y=(0,S.useMemo)(()=>{let n=e.eyeStyles.find(e=>e.id===t.eyeStyle);return n?{paths:n.paths,bbox:g(n.paths.map(e=>_(e.svgPath)))}:null},[e,t.eyeStyle]);if(!y||o===0||s===0)return null;let b=o*D,x=Math.min(Math.min(o,s)*E,b*y.bbox.h/y.bbox.w),j=x*y.bbox.w/y.bbox.h,M=(o-j)/2,N=s-(1-w)*x,P=O*s-(N+x/2),F=(T-w)*x,I=y.bbox.x+y.bbox.w/2,L=y.bbox.y+y.bbox.h/2;return(0,C.jsx)(p.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:x,transformOrigin:`center`},initial:u?{y:P,scale:.35}:!1,animate:u?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:u?{duration:1,delay:i,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>v(!0),children:(0,C.jsx)(`div`,{style:{transform:`translate(${c.x*k}px, ${c.y*A}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,C.jsx)(`svg`,{viewBox:`${y.bbox.x} ${y.bbox.y} ${y.bbox.w} ${y.bbox.h}`,width:j,height:x,style:{overflow:`visible`,display:`block`},children:(0,C.jsx)(`g`,{style:{transform:d?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:y.paths.map((e,t)=>(0,C.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})})}var M=E*(1-w),N=`#17191C`,P=24,F=.2,I=96,L=160,R=(0,S.createContext)(null);function z(){let e=(0,S.useContext)(R);if(!e)throw Error(`useAssistantStage must be used inside <AssistantStage>`);return e}function B(e,t){return!e||!t?null:e.colors.find(e=>e.id===t.color)?.hex??null}function V({components:e,traits:t,customImageUrl:n,entrance:r=!1,children:i,className:o}){let{ref:s,size:c}=y(),l=B(e,t)??N,u=h(l),d=f.use.setSurface();(0,S.useLayoutEffect)(()=>(d(l),()=>{d(null)}),[l,d]);let p=!!(e&&t),m=!p&&!!n,g=Math.round(Math.min(L,Math.max(I,Math.min(c.w,c.h)*F))),_=c.h-g-P,v=p?Math.round(M*Math.min(c.w,c.h))+16:m?g+P+16:24;return(0,C.jsxs)(`div`,{ref:s,className:a(`relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,`native-mobile:rounded-none native-mobile:border-0`,o),style:{backgroundColor:l,color:u.fg},children:[p&&e&&t&&(0,C.jsx)(j,{components:e,traits:t,stage:c,entrance:r}),m&&n&&(0,C.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2] overflow-hidden rounded-full ring-4 ring-white/25`,style:{left:(c.w-g)/2,top:_,width:g,height:g},children:(0,C.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`,draggable:!1})}),(0,C.jsx)(R.Provider,{value:{stage:c,tone:u,bottomReserve:v},children:(0,C.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:i})})]})}var H=[{id:`companion-coworker`,left:`Companion`,right:`Coworker`},{id:`genz-boomer`,left:`Gen Z`,right:`Baby Boomer`},{id:`execute-collaborate`,left:`Independent`,right:`Collaborative`},{id:`playful-serious`,left:`Playful`,right:`Serious`},{id:`polite-unfiltered`,left:`Polite`,right:`Unfiltered`}],U=50,W=1500,G=12e4,K=e=>new Promise(t=>setTimeout(t,e));async function q({assistantId:e,content:n,title:r,context:i}){let a,u=!1;try{let t=await c({path:{assistant_id:e},body:{conversationType:`background`,title:r},throwOnError:!1});if(a=t.data?.id,!t.response?.ok||!a)return!1;let i=v({conversationId:a,content:n,transport:`vellum`});if(!(await o({path:{assistant_id:e},body:i,throwOnError:!1})).response?.ok)return!1;let s=Date.now()+G,d=``,f=0,p=!1;for(;Date.now()<s;){await K(W);let t=await l({path:{assistant_id:e},query:{conversationId:a},throwOnError:!1}),n=b(t.data?.messages??[]);if(n&&(f=n===d?f+1:0,d=n),t.data?.processing===!0&&(p=!0),x({processing:t.data?.processing,sawProcessing:p,hasReply:n.length>0,stableReads:f})){u=!0;break}}}catch(e){t(e,{context:i})}finally{if(a)try{await s({path:{assistant_id:e,id:a},throwOnError:!1})}catch(e){t(e,{context:`${i}_archive`})}}return u}function J(e){return[`assistant-identity-details`,e]}function Y(e){return r({queryKey:J(e),queryFn:async()=>{let[t,n]=await Promise.all([d(e),u(e).catch(()=>({ok:!1,status:0,error:{}}))]);return{identity:t,createdAt:n.ok?n.data.created:null}}})}export{U as a,z as c,H as i,Y as n,V as o,q as r,B as s,J as t};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-BUoRmAbj.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/is-electron-BHXrkjI3.js","assets/dist-Br0LBu8Y.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,t as i}from"./button-BENY-yx_.js";import{t as a}from"./preload-helper-Cv2QeVDK.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"./createLucideIcon-C1mdGPB9.js";import{t as u}from"./chevron-left-D-pnIQax.js";import{t as d}from"./chevron-right-DBGgpEiZ.js";import"./src-BMRW2yQf.js";import{t as f}from"./download-Byg0fi0d.js";import{t as ee}from"./file-CTdxLT0k.js";import{t as p}from"./loader-circle-DOtGXcds.js";import{t as m}from"./x-338EsJDP.js";import{n as h,t as g}from"./file-markdown-DMq6D4CV.js";import{l as _}from"./sdk.gen-CBPZ2IdN.js";import{t as v}from"./haptics-Mqend0Ru.js";import{t as y}from"./edge-swipe-arbiter-store-aOM60mqn.js";import{a as b,r as x,t as S}from"./pdf-preview-DNzKWskr.js";var C=l(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),w=l(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),T=l(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),E=l(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),D=l(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),O=l(`file-type-corner`,[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`,key:`15usau`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`,key:`s1gz5`}],[`path`,{d:`M6 22h2`,key:`194x9m`}],[`path`,{d:`M7 14v8`,key:`11ixej`}]]),k=e(n(),1),A=e(r(),1);async function j(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await _({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function M(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));if(t){let r=await j(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}var N=s();function P({message:e,filename:t,onDownload:n,downloadDisabled:r=!1}){return(0,N.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,N.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:e}),(0,N.jsx)(i,{variant:`ghost`,leftIcon:(0,N.jsx)(f,{}),onClick:n,disabled:r,"aria-label":`Download ${t}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}var F=class extends Error{};async function I(e,t,n){if(t>204800)throw new F;if(e.startsWith(`data:`)){let t=x(e);if(!t)throw Error(`Malformed data URI`);return new TextDecoder().decode(t)}let r=await fetch(e,{signal:n});if(!r.ok)throw Error(`Failed to load file: ${r.status}`);let i=await r.blob();if(i.size>204800)throw new F;return i.text()}function L({url:e,filename:n,mimeType:r,sizeBytes:i}){let[o,s]=(0,k.useState)({status:`loading`});return(0,k.useEffect)(()=>{let n=new AbortController;return s({status:`loading`}),I(e,i,n.signal).then(e=>{n.signal.aborted||s({status:`ready`,text:e})}).catch(e=>{if(n.signal.aborted)return;let r=e instanceof F;r||t(e,{context:`attachment-text-preview`,bestEffort:!0}),s({status:`error`,tooLarge:r})}),()=>n.abort()},[e,i]),o.status===`loading`?(0,N.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,N.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):o.status===`error`?(0,N.jsx)(P,{message:o.tooLarge?`File too large to preview inline.`:`Failed to load preview.`,filename:n,onDownload:async()=>{let{saveFile:t}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));await t(e,n)}}):(0,N.jsx)(`div`,{className:`max-h-[80vh] w-[min(90vw,800px)] overflow-auto rounded-lg p-6`,style:{backgroundColor:`var(--surface-overlay)`,color:`var(--content-default)`},children:(0,N.jsx)(R,{text:o.text,filename:n,mimeType:r})})}function R({text:e,filename:t,mimeType:n}){return h(t,n)?(0,N.jsx)(g,{content:e}):(0,N.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default`,children:e})}var z=60,B=.8,V=8,H=.35;function U({enabled:e,onPrev:t,onNext:n}){let[r,i]=(0,k.useState)(0),[a,o]=(0,k.useState)(!1),s=(0,k.useRef)(null),c=(0,k.useCallback)(()=>{s.current=null,i(0),o(!1)},[]);return{dragOffset:r,isDragging:a,onTouchStart:(0,k.useCallback)(t=>{if(!e)return;if(t.touches.length!==1){c();return}let n=t.touches[0];s.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,axis:`undecided`,lastDx:0}},[e,c]),onTouchMove:(0,k.useCallback)(e=>{let t=s.current;if(!t)return;if(e.touches.length!==1){c();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let r=n.clientX-t.startX,a=n.clientY-t.startY;if(t.lastDx=r,t.axis===`undecided`){if(Math.abs(r)<V&&Math.abs(a)<V)return;if(Math.abs(a)>Math.abs(r)*B){s.current=null;return}t.axis=`horizontal`,o(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(r)<z&&Math.abs(a)>Math.abs(r)*B){c();return}let l=Math.sign(r),u=Math.abs(r);i(l*(u<=z?u:z+(u-z)*H))},[c]),onTouchEnd:(0,k.useCallback)(e=>{let r=s.current;if(!r||r.axis!==`horizontal`){c();return}if(e.touches.length>0){c();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:r.lastDx;a<=-z?(v.light(),n()):a>=z&&(v.light(),t()),c()},[n,t,c]),onTouchCancel:c}}var W=new Set([`ts`,`tsx`,`js`,`jsx`,`py`,`json`,`md`,`sh`,`bash`,`html`,`css`,`yaml`,`yml`,`txt`]),G=new Set([`application/json`,`application/javascript`,`application/xml`]),K=e=>{let t=e.lastIndexOf(`.`);return t===-1||t===e.length-1?``:e.slice(t+1).toLowerCase()},q=({open:e,onClose:t,attachment:n,assistantId:r,siblingAttachments:s,onNavigate:l})=>{let h=(0,k.useRef)(null);(0,k.useEffect)(()=>{e&&h.current?.focus()},[e]);let g=y.use.registerBackOwner(),_=y.use.unregisterBackOwner();(0,k.useEffect)(()=>{if(e)return g(),()=>_()},[e,g,_]);let v=!n.previewUrl&&n.id.startsWith(`rehydrated:`),x=e&&!n.previewUrl&&!!r&&!!n.id&&!v,{data:C,isError:w}=o({queryKey:[`attachmentContent`,r,n.id],queryFn:async()=>{let e=await j(r,n.id);if(!e)throw Error(`Failed to load file`);return e},enabled:x,staleTime:1/0,retry:!1}),[T,E]=(0,k.useState)(null);(0,k.useEffect)(()=>{if(!C){E(null);return}let e=URL.createObjectURL(C);return E(e),()=>{URL.revokeObjectURL(e),E(null)}},[C]);let D=n.previewUrl??T,[O,M]=(0,k.useState)(null),F=x&&!T&&!w,I=v?`Preview unavailable — file content was not preserved in chat history.`:w?`Failed to load preview.`:null,R=(0,k.useMemo)(()=>!s||s.length<=1?-1:s.findIndex(e=>e.id===n.id),[s,n.id]),z=R!==-1&&s!=null&&s.length>1,B=(0,k.useCallback)(()=>{!z||!s||!l||l(s[(R-1+s.length)%s.length])},[z,s,R,l]),V=(0,k.useCallback)(()=>{!z||!s||!l||l(s[(R+1)%s.length])},[z,s,R,l]),{dragOffset:H,isDragging:q,onTouchStart:J,onTouchMove:Y,onTouchEnd:X,onTouchCancel:Z}=U({enabled:z,onPrev:B,onNext:V}),te=(0,k.useCallback)(e=>{e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowLeft`&&z?(e.preventDefault(),B()):e.key===`ArrowRight`&&z&&(e.preventDefault(),V())},[t,B,V,z]),ne=(0,k.useCallback)(e=>{e.target===h.current&&t()},[t]),Q=(0,k.useCallback)(async()=>{if(!D)return;let{saveFile:e}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));await e(D,n.filename)},[D,n.filename]);if(!e)return null;let $=n.mimeType.toLowerCase(),re=$.startsWith(`image/`),ie=$.startsWith(`video/`),ae=$===`application/pdf`||$===`application/octet-stream`&&n.filename.toLowerCase().endsWith(`.pdf`),oe=K(n.filename),se=$.startsWith(`text/`)||G.has($)||W.has(oe);return(0,A.createPortal)((0,N.jsxs)(`div`,{ref:h,role:`dialog`,"aria-modal":`true`,"aria-label":`Preview of ${n.filename}`,tabIndex:-1,className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-black/80 outline-none [-webkit-app-region:no-drag]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},onKeyDown:te,onClick:ne,children:[(0,N.jsxs)(`div`,{className:`absolute inset-x-0 top-0 z-10 flex items-center gap-3 px-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,N.jsx)(c,{variant:`body-small-default`,className:`w-11 shrink-0 truncate text-white/50`,children:b(n.sizeBytes)}),(0,N.jsx)(c,{as:`div`,variant:`body-medium-lighter`,className:`min-w-0 flex-1 truncate text-center text-white/90`,children:n.filename}),(0,N.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(f,{}),expandOnMobile:!1,onClick:Q,disabled:!D,"aria-label":`Download ${n.filename}`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(m,{}),expandOnMobile:!1,onClick:t,"aria-label":`Close preview`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]})]}),z&&(0,N.jsxs)(`div`,{className:`pointer-events-none absolute inset-x-0 top-1/2 z-10 flex -translate-y-1/2 items-center justify-between px-4`,children:[(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(u,{}),expandOnMobile:!1,onClick:B,"aria-label":`Previous attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(d,{}),expandOnMobile:!1,onClick:V,"aria-label":`Next attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]}),(0,N.jsx)(`div`,{className:`flex items-center justify-center`,style:{transform:`translateX(${H}px)`,transition:q?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onClick:e=>e.stopPropagation(),onTouchStart:J,onTouchMove:Y,onTouchEnd:X,onTouchCancel:Z,children:F?(0,N.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,N.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):I?(0,N.jsx)(P,{message:I,filename:n.filename,onDownload:Q,downloadDisabled:!D}):ae&&D?(0,N.jsx)(S,{url:D}):re&&D&&O!==D?(0,N.jsx)(`img`,{src:D,alt:n.filename,onError:()=>M(D),className:`max-h-[80vh] max-w-[90vw] rounded object-contain`}):ie&&D?(0,N.jsx)(`video`,{"data-testid":`video-preview`,src:D,poster:n.thumbnailUrl??void 0,controls:!0,className:`max-h-[80vh] max-w-[90vw] rounded`}):se&&D?(0,N.jsx)(L,{url:D,filename:n.filename,mimeType:n.mimeType,sizeBytes:n.sizeBytes}):(0,N.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col items-center rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,N.jsx)(ee,{className:`h-16 w-16 text-white/60`}),(0,N.jsx)(`p`,{className:`mt-4 text-body-medium-default text-white/90`,children:n.filename}),(0,N.jsx)(`p`,{className:`mt-1 text-body-small-default text-white/60`,children:b(n.sizeBytes)}),(0,N.jsx)(i,{variant:`ghost`,leftIcon:(0,N.jsx)(f,{}),onClick:Q,disabled:!D,"aria-label":`Download ${n.filename}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}),z&&(0,N.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 z-10 flex justify-center`,style:{paddingBottom:`calc(var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + 2rem)`},onClick:e=>e.stopPropagation(),children:(0,N.jsxs)(c,{variant:`body-small-default`,className:`text-white/50`,children:[R+1,` / `,s.length]})})]}),document.body)};function J(e,t){let[n,r]=(0,k.useState)(null),i=(0,k.useCallback)(e=>r(e),[]),a=(0,k.useCallback)(()=>r(null),[]),o=(0,k.useCallback)(e=>r(e),[]);return{openPreview:i,previewModal:n?(0,N.jsx)(q,{open:!0,onClose:a,attachment:n,assistantId:e,siblingAttachments:t,onNavigate:o}):null}}export{O as a,T as c,j as i,w as l,q as n,D as o,M as r,E as s,J as t,C as u};
2
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,t as i}from"./button-BENY-yx_.js";import{t as a}from"./preload-helper-Cv2QeVDK.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"./createLucideIcon-C1mdGPB9.js";import{t as u}from"./chevron-left-D-pnIQax.js";import{t as d}from"./chevron-right-DBGgpEiZ.js";import"./src-hNk11eS3.js";import{t as f}from"./download-Byg0fi0d.js";import{t as ee}from"./file-CTdxLT0k.js";import{t as p}from"./loader-circle-DOtGXcds.js";import{t as m}from"./x-338EsJDP.js";import{n as h,t as g}from"./file-markdown-CZPyyZhu.js";import{l as _}from"./sdk.gen-CBPZ2IdN.js";import{t as v}from"./haptics-Mqend0Ru.js";import{t as y}from"./edge-swipe-arbiter-store-aOM60mqn.js";import{a as b,r as x,t as S}from"./pdf-preview-DNzKWskr.js";var C=l(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),w=l(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),T=l(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),E=l(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),D=l(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),O=l(`file-type-corner`,[[`path`,{d:`M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6`,key:`15usau`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16`,key:`s1gz5`}],[`path`,{d:`M6 22h2`,key:`194x9m`}],[`path`,{d:`M7 14v8`,key:`11ixej`}]]),k=e(n(),1),A=e(r(),1);async function j(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await _({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function M(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));if(t){let r=await j(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}var N=s();function P({message:e,filename:t,onDownload:n,downloadDisabled:r=!1}){return(0,N.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,N.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:e}),(0,N.jsx)(i,{variant:`ghost`,leftIcon:(0,N.jsx)(f,{}),onClick:n,disabled:r,"aria-label":`Download ${t}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}var F=class extends Error{};async function I(e,t,n){if(t>204800)throw new F;if(e.startsWith(`data:`)){let t=x(e);if(!t)throw Error(`Malformed data URI`);return new TextDecoder().decode(t)}let r=await fetch(e,{signal:n});if(!r.ok)throw Error(`Failed to load file: ${r.status}`);let i=await r.blob();if(i.size>204800)throw new F;return i.text()}function L({url:e,filename:n,mimeType:r,sizeBytes:i}){let[o,s]=(0,k.useState)({status:`loading`});return(0,k.useEffect)(()=>{let n=new AbortController;return s({status:`loading`}),I(e,i,n.signal).then(e=>{n.signal.aborted||s({status:`ready`,text:e})}).catch(e=>{if(n.signal.aborted)return;let r=e instanceof F;r||t(e,{context:`attachment-text-preview`,bestEffort:!0}),s({status:`error`,tooLarge:r})}),()=>n.abort()},[e,i]),o.status===`loading`?(0,N.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,N.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):o.status===`error`?(0,N.jsx)(P,{message:o.tooLarge?`File too large to preview inline.`:`Failed to load preview.`,filename:n,onDownload:async()=>{let{saveFile:t}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));await t(e,n)}}):(0,N.jsx)(`div`,{className:`max-h-[80vh] w-[min(90vw,800px)] overflow-auto rounded-lg p-6`,style:{backgroundColor:`var(--surface-overlay)`,color:`var(--content-default)`},children:(0,N.jsx)(R,{text:o.text,filename:n,mimeType:r})})}function R({text:e,filename:t,mimeType:n}){return h(t,n)?(0,N.jsx)(g,{content:e}):(0,N.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default`,children:e})}var z=60,B=.8,V=8,H=.35;function U({enabled:e,onPrev:t,onNext:n}){let[r,i]=(0,k.useState)(0),[a,o]=(0,k.useState)(!1),s=(0,k.useRef)(null),c=(0,k.useCallback)(()=>{s.current=null,i(0),o(!1)},[]);return{dragOffset:r,isDragging:a,onTouchStart:(0,k.useCallback)(t=>{if(!e)return;if(t.touches.length!==1){c();return}let n=t.touches[0];s.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,axis:`undecided`,lastDx:0}},[e,c]),onTouchMove:(0,k.useCallback)(e=>{let t=s.current;if(!t)return;if(e.touches.length!==1){c();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let r=n.clientX-t.startX,a=n.clientY-t.startY;if(t.lastDx=r,t.axis===`undecided`){if(Math.abs(r)<V&&Math.abs(a)<V)return;if(Math.abs(a)>Math.abs(r)*B){s.current=null;return}t.axis=`horizontal`,o(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(r)<z&&Math.abs(a)>Math.abs(r)*B){c();return}let l=Math.sign(r),u=Math.abs(r);i(l*(u<=z?u:z+(u-z)*H))},[c]),onTouchEnd:(0,k.useCallback)(e=>{let r=s.current;if(!r||r.axis!==`horizontal`){c();return}if(e.touches.length>0){c();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:r.lastDx;a<=-z?(v.light(),n()):a>=z&&(v.light(),t()),c()},[n,t,c]),onTouchCancel:c}}var W=new Set([`ts`,`tsx`,`js`,`jsx`,`py`,`json`,`md`,`sh`,`bash`,`html`,`css`,`yaml`,`yml`,`txt`]),G=new Set([`application/json`,`application/javascript`,`application/xml`]),K=e=>{let t=e.lastIndexOf(`.`);return t===-1||t===e.length-1?``:e.slice(t+1).toLowerCase()},q=({open:e,onClose:t,attachment:n,assistantId:r,siblingAttachments:s,onNavigate:l})=>{let h=(0,k.useRef)(null);(0,k.useEffect)(()=>{e&&h.current?.focus()},[e]);let g=y.use.registerBackOwner(),_=y.use.unregisterBackOwner();(0,k.useEffect)(()=>{if(e)return g(),()=>_()},[e,g,_]);let v=!n.previewUrl&&n.id.startsWith(`rehydrated:`),x=e&&!n.previewUrl&&!!r&&!!n.id&&!v,{data:C,isError:w}=o({queryKey:[`attachmentContent`,r,n.id],queryFn:async()=>{let e=await j(r,n.id);if(!e)throw Error(`Failed to load file`);return e},enabled:x,staleTime:1/0,retry:!1}),[T,E]=(0,k.useState)(null);(0,k.useEffect)(()=>{if(!C){E(null);return}let e=URL.createObjectURL(C);return E(e),()=>{URL.revokeObjectURL(e),E(null)}},[C]);let D=n.previewUrl??T,[O,M]=(0,k.useState)(null),F=x&&!T&&!w,I=v?`Preview unavailable — file content was not preserved in chat history.`:w?`Failed to load preview.`:null,R=(0,k.useMemo)(()=>!s||s.length<=1?-1:s.findIndex(e=>e.id===n.id),[s,n.id]),z=R!==-1&&s!=null&&s.length>1,B=(0,k.useCallback)(()=>{!z||!s||!l||l(s[(R-1+s.length)%s.length])},[z,s,R,l]),V=(0,k.useCallback)(()=>{!z||!s||!l||l(s[(R+1)%s.length])},[z,s,R,l]),{dragOffset:H,isDragging:q,onTouchStart:J,onTouchMove:Y,onTouchEnd:X,onTouchCancel:Z}=U({enabled:z,onPrev:B,onNext:V}),te=(0,k.useCallback)(e=>{e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowLeft`&&z?(e.preventDefault(),B()):e.key===`ArrowRight`&&z&&(e.preventDefault(),V())},[t,B,V,z]),ne=(0,k.useCallback)(e=>{e.target===h.current&&t()},[t]),Q=(0,k.useCallback)(async()=>{if(!D)return;let{saveFile:e}=await a(async()=>{let{saveFile:e}=await import(`./native-file-BUoRmAbj.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));await e(D,n.filename)},[D,n.filename]);if(!e)return null;let $=n.mimeType.toLowerCase(),re=$.startsWith(`image/`),ie=$.startsWith(`video/`),ae=$===`application/pdf`||$===`application/octet-stream`&&n.filename.toLowerCase().endsWith(`.pdf`),oe=K(n.filename),se=$.startsWith(`text/`)||G.has($)||W.has(oe);return(0,A.createPortal)((0,N.jsxs)(`div`,{ref:h,role:`dialog`,"aria-modal":`true`,"aria-label":`Preview of ${n.filename}`,tabIndex:-1,className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-black/80 outline-none [-webkit-app-region:no-drag]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},onKeyDown:te,onClick:ne,children:[(0,N.jsxs)(`div`,{className:`absolute inset-x-0 top-0 z-10 flex items-center gap-3 px-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,N.jsx)(c,{variant:`body-small-default`,className:`w-11 shrink-0 truncate text-white/50`,children:b(n.sizeBytes)}),(0,N.jsx)(c,{as:`div`,variant:`body-medium-lighter`,className:`min-w-0 flex-1 truncate text-center text-white/90`,children:n.filename}),(0,N.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(f,{}),expandOnMobile:!1,onClick:Q,disabled:!D,"aria-label":`Download ${n.filename}`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(m,{}),expandOnMobile:!1,onClick:t,"aria-label":`Close preview`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]})]}),z&&(0,N.jsxs)(`div`,{className:`pointer-events-none absolute inset-x-0 top-1/2 z-10 flex -translate-y-1/2 items-center justify-between px-4`,children:[(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(u,{}),expandOnMobile:!1,onClick:B,"aria-label":`Previous attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,N.jsx)(i,{variant:`ghost`,iconOnly:(0,N.jsx)(d,{}),expandOnMobile:!1,onClick:V,"aria-label":`Next attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]}),(0,N.jsx)(`div`,{className:`flex items-center justify-center`,style:{transform:`translateX(${H}px)`,transition:q?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onClick:e=>e.stopPropagation(),onTouchStart:J,onTouchMove:Y,onTouchEnd:X,onTouchCancel:Z,children:F?(0,N.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,N.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):I?(0,N.jsx)(P,{message:I,filename:n.filename,onDownload:Q,downloadDisabled:!D}):ae&&D?(0,N.jsx)(S,{url:D}):re&&D&&O!==D?(0,N.jsx)(`img`,{src:D,alt:n.filename,onError:()=>M(D),className:`max-h-[80vh] max-w-[90vw] rounded object-contain`}):ie&&D?(0,N.jsx)(`video`,{"data-testid":`video-preview`,src:D,poster:n.thumbnailUrl??void 0,controls:!0,className:`max-h-[80vh] max-w-[90vw] rounded`}):se&&D?(0,N.jsx)(L,{url:D,filename:n.filename,mimeType:n.mimeType,sizeBytes:n.sizeBytes}):(0,N.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col items-center rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,N.jsx)(ee,{className:`h-16 w-16 text-white/60`}),(0,N.jsx)(`p`,{className:`mt-4 text-body-medium-default text-white/90`,children:n.filename}),(0,N.jsx)(`p`,{className:`mt-1 text-body-small-default text-white/60`,children:b(n.sizeBytes)}),(0,N.jsx)(i,{variant:`ghost`,leftIcon:(0,N.jsx)(f,{}),onClick:Q,disabled:!D,"aria-label":`Download ${n.filename}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}),z&&(0,N.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 z-10 flex justify-center`,style:{paddingBottom:`calc(var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + 2rem)`},onClick:e=>e.stopPropagation(),children:(0,N.jsxs)(c,{variant:`body-small-default`,className:`text-white/50`,children:[R+1,` / `,s.length]})})]}),document.body)};function J(e,t){let[n,r]=(0,k.useState)(null),i=(0,k.useCallback)(e=>r(e),[]),a=(0,k.useCallback)(()=>r(null),[]),o=(0,k.useCallback)(e=>r(e),[]);return{openPreview:i,previewModal:n?(0,N.jsx)(q,{open:!0,onClose:a,attachment:n,assistantId:e,siblingAttachments:t,onNavigate:o}):null}}export{O as a,T as c,j as i,w as l,q as n,D as o,M as r,E as s,J as t,C as u};
@@ -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{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-BeUa5Fd-.js";import{t as a}from"./archive-VIStcSec.js";import{a as o,c as s,l as c,o as l,r as u,s as d,t as f,u as p}from"./use-attachment-preview-DjrcSin2.js";import"./src-BMRW2yQf.js";import{t as m}from"./download-Byg0fi0d.js";import{t as h}from"./file-text-DDbRSMUn.js";import{t as g}from"./file-CTdxLT0k.js";import{O as _}from"./platform-detection-C_TK32Dw.js";import{a as v,n as y,o as b}from"./pdf-preview-DNzKWskr.js";var x=e(t(),1),S=r(),C=`h-16 w-16 shrink-0 rounded-lg`,w={image:(0,S.jsx)(s,{className:`h-6 w-6`}),video:(0,S.jsx)(d,{className:`h-6 w-6`}),audio:(0,S.jsx)(c,{className:`h-6 w-6`}),pdf:(0,S.jsx)(o,{className:`h-6 w-6`}),code:(0,S.jsx)(p,{className:`h-6 w-6`}),archive:(0,S.jsx)(a,{className:`h-6 w-6`}),spreadsheet:(0,S.jsx)(l,{className:`h-6 w-6`}),document:(0,S.jsx)(h,{className:`h-6 w-6`}),text:(0,S.jsx)(h,{className:`h-6 w-6`}),file:(0,S.jsx)(g,{className:`h-6 w-6`})};function T({attachment:e,onPreview:t,onDownload:r,onPreviewError:a}){let{filename:o,mimeType:s,sizeBytes:c,previewUrl:l,thumbnailUrl:u}=e,d=y(s,o),f=d===`image`&&l!==null,p=d===`video`&&u!=null?u:null,h=!f&&p===null,g=t!=null,T=b(o,18),E=v(c),D=_(),O=(0,x.useCallback)(e=>{e.stopPropagation(),r?.()},[r]);return(0,S.jsxs)(`div`,{role:g?`button`:f?`img`:void 0,"aria-label":o,title:o,tabIndex:g?0:void 0,onClick:g?t:void 0,onKeyDown:g?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t?.())}:void 0,className:`group/square flex flex-col gap-1${g?` cursor-pointer`:``}`,children:[(0,S.jsxs)(`div`,{className:`relative w-fit`,children:[(0,S.jsx)(`div`,{className:`${C} flex items-center justify-center overflow-hidden bg-[var(--surface-lift)] bg-cover bg-center text-[var(--content-secondary)]${h?` border border-[var(--border-element)]`:``}`,style:p?{backgroundImage:`url(${JSON.stringify(p)})`}:void 0,children:f?(0,S.jsx)(`img`,{src:l,alt:``,"aria-hidden":!0,onError:a,className:`h-full w-full object-cover`}):p?null:w[d]}),r&&(0,S.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg bg-black/50 opacity-0 transition-opacity group-hover/square:pointer-events-auto group-hover/square:opacity-100 group-focus-within/square:pointer-events-auto group-focus-within/square:opacity-100`,children:(0,S.jsx)(n,{content:`Download`,children:(0,S.jsx)(`button`,{type:`button`,onClick:O,onKeyDown:e=>e.stopPropagation(),"aria-label":`Download ${o}`,className:`absolute bottom-1 right-1 flex h-6 w-6 items-center justify-center rounded-md text-white/80 transition-colors hover:bg-white/20 hover:text-white`,children:(0,S.jsx)(m,{className:`h-3.5 w-3.5`})})})})]}),(0,S.jsx)(i,{variant:`label-small-default`,className:`max-w-[64px] truncate text-[var(--content-tertiary)]`,children:T}),!D&&(0,S.jsx)(i,{variant:`label-small-default`,className:`text-[var(--content-disabled)]`,children:E})]})}function E({attachments:e,assistantId:t}){let[n,r]=(0,x.useState)(new Set),i=(0,x.useCallback)(e=>{r(t=>t.has(e)?t:new Set(t).add(e))},[]),a=(0,x.useMemo)(()=>n.size===0?e:e.map(e=>n.has(e.id)?{...e,previewUrl:null}:e),[e,n]),{openPreview:o,previewModal:s}=f(t,a);return{displayAttachments:a,renderSquare:(0,x.useCallback)((n,r)=>(0,S.jsx)(T,{attachment:n,onPreview:()=>o(n),onDownload:()=>void u(e[r]??n,t),onPreviewError:()=>i(n.id)},n.id),[e,t,o,i]),openPreview:o,markImageFailed:i,previewModal:s}}export{C as n,E as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-BENY-yx_.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-BeUa5Fd-.js";import{t as a}from"./archive-VIStcSec.js";import{a as o,c as s,l as c,o as l,r as u,s as d,t as f,u as p}from"./use-attachment-preview-CB3GsEns.js";import"./src-hNk11eS3.js";import{t as m}from"./download-Byg0fi0d.js";import{t as h}from"./file-text-DDbRSMUn.js";import{t as g}from"./file-CTdxLT0k.js";import{O as _}from"./platform-detection-C_TK32Dw.js";import{a as v,n as y,o as b}from"./pdf-preview-DNzKWskr.js";var x=e(t(),1),S=r(),C=`h-16 w-16 shrink-0 rounded-lg`,w={image:(0,S.jsx)(s,{className:`h-6 w-6`}),video:(0,S.jsx)(d,{className:`h-6 w-6`}),audio:(0,S.jsx)(c,{className:`h-6 w-6`}),pdf:(0,S.jsx)(o,{className:`h-6 w-6`}),code:(0,S.jsx)(p,{className:`h-6 w-6`}),archive:(0,S.jsx)(a,{className:`h-6 w-6`}),spreadsheet:(0,S.jsx)(l,{className:`h-6 w-6`}),document:(0,S.jsx)(h,{className:`h-6 w-6`}),text:(0,S.jsx)(h,{className:`h-6 w-6`}),file:(0,S.jsx)(g,{className:`h-6 w-6`})};function T({attachment:e,onPreview:t,onDownload:r,onPreviewError:a}){let{filename:o,mimeType:s,sizeBytes:c,previewUrl:l,thumbnailUrl:u}=e,d=y(s,o),f=d===`image`&&l!==null,p=d===`video`&&u!=null?u:null,h=!f&&p===null,g=t!=null,T=b(o,18),E=v(c),D=_(),O=(0,x.useCallback)(e=>{e.stopPropagation(),r?.()},[r]);return(0,S.jsxs)(`div`,{role:g?`button`:f?`img`:void 0,"aria-label":o,title:o,tabIndex:g?0:void 0,onClick:g?t:void 0,onKeyDown:g?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t?.())}:void 0,className:`group/square flex flex-col gap-1${g?` cursor-pointer`:``}`,children:[(0,S.jsxs)(`div`,{className:`relative w-fit`,children:[(0,S.jsx)(`div`,{className:`${C} flex items-center justify-center overflow-hidden bg-[var(--surface-lift)] bg-cover bg-center text-[var(--content-secondary)]${h?` border border-[var(--border-element)]`:``}`,style:p?{backgroundImage:`url(${JSON.stringify(p)})`}:void 0,children:f?(0,S.jsx)(`img`,{src:l,alt:``,"aria-hidden":!0,onError:a,className:`h-full w-full object-cover`}):p?null:w[d]}),r&&(0,S.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg bg-black/50 opacity-0 transition-opacity group-hover/square:pointer-events-auto group-hover/square:opacity-100 group-focus-within/square:pointer-events-auto group-focus-within/square:opacity-100`,children:(0,S.jsx)(n,{content:`Download`,children:(0,S.jsx)(`button`,{type:`button`,onClick:O,onKeyDown:e=>e.stopPropagation(),"aria-label":`Download ${o}`,className:`absolute bottom-1 right-1 flex h-6 w-6 items-center justify-center rounded-md text-white/80 transition-colors hover:bg-white/20 hover:text-white`,children:(0,S.jsx)(m,{className:`h-3.5 w-3.5`})})})})]}),(0,S.jsx)(i,{variant:`label-small-default`,className:`max-w-[64px] truncate text-[var(--content-tertiary)]`,children:T}),!D&&(0,S.jsx)(i,{variant:`label-small-default`,className:`text-[var(--content-disabled)]`,children:E})]})}function E({attachments:e,assistantId:t}){let[n,r]=(0,x.useState)(new Set),i=(0,x.useCallback)(e=>{r(t=>t.has(e)?t:new Set(t).add(e))},[]),a=(0,x.useMemo)(()=>n.size===0?e:e.map(e=>n.has(e.id)?{...e,previewUrl:null}:e),[e,n]),{openPreview:o,previewModal:s}=f(t,a);return{displayAttachments:a,renderSquare:(0,x.useCallback)((n,r)=>(0,S.jsx)(T,{attachment:n,onPreview:()=>o(n),onDownload:()=>void u(e[r]??n,t),onPreviewError:()=>i(n.id)},n.id),[e,t,o,i]),openPreview:o,markImageFailed:i,previewModal:s}}export{C as n,E as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./use-supports-bookmarks-FmvOAxKu.js";import"./src-BMRW2yQf.js";import{n as o}from"./toast-BpuLSxyt.js";import{n as s}from"./resolved-assistants-store-BFI9c7ip.js";import{S as c,b as l}from"./sdk.gen-CBPZ2IdN.js";import{a as u,o as d}from"./react-query.gen-DxjuNs-5.js";var f=e(n(),1),p=[];function m(){let e=s.use.activeAssistantId();return{assistantId:e,enabled:a(e)&&!!e}}function h(){let{assistantId:e,enabled:t}=m(),n=i({...u({path:{assistant_id:e??``}}),enabled:t});return{bookmarks:n.data?.bookmarks??p,isLoading:n.isLoading,isError:n.isError,refetch:()=>{n.refetch()}}}function g(e){let{assistantId:t,enabled:n}=m();return i({...u({path:{assistant_id:t??``}}),enabled:n,select:t=>e?t.bookmarks.some(t=>t.messageId===e):!1}).data??!1}function _(e,t){return a(s.use.activeAssistantId())&&!!t&&!!e.id&&!e.isOptimistic}function v(){let e=s.use.activeAssistantId(),n=r();return(0,f.useCallback)(async(r,i,a)=>{if(!e)return;let s=d({path:{assistant_id:e}});await n.cancelQueries({queryKey:s});let u=n.getQueryData(s);n.setQueryData(s,e=>{let t=e?.bookmarks??[];if(a)return{bookmarks:t.filter(e=>e.messageId!==r)};if(t.some(e=>e.messageId===r))return e;let n=Date.now();return{bookmarks:[{id:`optimistic-${r}`,messageId:r,conversationId:i,conversationTitle:null,messagePreview:``,messageRole:``,messageCreatedAt:n,createdAt:n},...t]}});try{a?await l({path:{assistant_id:e,messageId:r},throwOnError:!0}):await c({path:{assistant_id:e},body:{messageId:r,conversationId:i},throwOnError:!0})}catch(e){u!==void 0&&n.setQueryData(s,u),t(e,{context:`bookmark_toggle`}),o.error(a?`Failed to remove bookmark.`:`Failed to bookmark message.`)}finally{n.invalidateQueries({queryKey:s})}},[e,n])}export{g as i,h as n,_ as r,v as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./use-supports-bookmarks-z9pfj1Rm.js";import"./src-hNk11eS3.js";import{n as o}from"./toast-BpuLSxyt.js";import{n as s}from"./resolved-assistants-store-BFI9c7ip.js";import{S as c,b as l}from"./sdk.gen-CBPZ2IdN.js";import{a as u,o as d}from"./react-query.gen-DxjuNs-5.js";var f=e(n(),1),p=[];function m(){let e=s.use.activeAssistantId();return{assistantId:e,enabled:a(e)&&!!e}}function h(){let{assistantId:e,enabled:t}=m(),n=i({...u({path:{assistant_id:e??``}}),enabled:t});return{bookmarks:n.data?.bookmarks??p,isLoading:n.isLoading,isError:n.isError,refetch:()=>{n.refetch()}}}function g(e){let{assistantId:t,enabled:n}=m();return i({...u({path:{assistant_id:t??``}}),enabled:n,select:t=>e?t.bookmarks.some(t=>t.messageId===e):!1}).data??!1}function _(e,t){return a(s.use.activeAssistantId())&&!!t&&!!e.id&&!e.isOptimistic}function v(){let e=s.use.activeAssistantId(),n=r();return(0,f.useCallback)(async(r,i,a)=>{if(!e)return;let s=d({path:{assistant_id:e}});await n.cancelQueries({queryKey:s});let u=n.getQueryData(s);n.setQueryData(s,e=>{let t=e?.bookmarks??[];if(a)return{bookmarks:t.filter(e=>e.messageId!==r)};if(t.some(e=>e.messageId===r))return e;let n=Date.now();return{bookmarks:[{id:`optimistic-${r}`,messageId:r,conversationId:i,conversationTitle:null,messagePreview:``,messageRole:``,messageCreatedAt:n,createdAt:n},...t]}});try{a?await l({path:{assistant_id:e,messageId:r},throwOnError:!0}):await c({path:{assistant_id:e},body:{messageId:r,conversationId:i},throwOnError:!0})}catch(e){u!==void 0&&n.setQueryData(s,u),t(e,{context:`bookmark_toggle`}),o.error(a?`Failed to remove bookmark.`:`Failed to bookmark message.`)}finally{n.invalidateQueries({queryKey:s})}},[e,n])}export{g as i,h as n,_ as r,v as t};
@@ -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,n as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{c as a,g as o,n as s}from"./QueryClientProvider-CMu7CkQU.js";import{t as c}from"./useQuery-Bz-fbQ-m.js";import{t as l}from"./useMutation-CXGTrp4W.js";import{t as u}from"./jsx-runtime-D3ZM-ToX.js";import{t as d}from"./typography-BeUa5Fd-.js";import{t as f}from"./createLucideIcon-C1mdGPB9.js";import{t as p}from"./arrow-right-UTImTy7b.js";import{t as m}from"./check-DSgjgwlo.js";import{t as h}from"./circle-alert-De9q5FVd.js";import{t as g}from"./circle-check-q8BVdbgw.js";import{t as _}from"./coins-CJ7Ik1IC.js";import{t as v}from"./cpu-mDttg6J1.js";import{t as y}from"./hard-drive-DsHzx0GK.js";import{t as b}from"./info-CXkwGlN_.js";import{t as x}from"./loader-circle-DOtGXcds.js";import{t as S}from"./mail-CYjppw70.js";import{t as C}from"./triangle-alert-CB4pJgCL.js";import{t as w}from"./notice-C0ifrvvJ.js";import{t as T}from"./modal-DI63s9MQ.js";import{n as E}from"./toast-BpuLSxyt.js";import{t as ee}from"./confirm-dialog-zx8L9sUi.js";import{t as D}from"./select-B8-i-CZ4.js";import{n as O}from"./resolved-assistants-store-BFI9c7ip.js";import{Z as k,d as te,f as A,p as j,tt as ne,u as M}from"./auth-store-CPVpJ_c7.js";import{I as re,P as ie,f as ae}from"./platform-detection-C_TK32Dw.js";import{d as N}from"./routes-iipg2wkc.js";import{n as P}from"./use-assistant-avatar-Dk975wdP.js";import{r as oe}from"./use-is-org-ready-BTUeuhPi.js";import{n as se,r as F}from"./browser-BP3Xidk_.js";import{C as ce,O as le,Tt as ue,c as de,ct as fe,dt as pe,et as I,it as me,l as he,lt as ge,ot as L,r as _e,st as ve,tt as R,ut as ye,y as be}from"./react-query.gen-DKb3mEwJ.js";import{t as xe}from"./avatar-bundled-components-BCCi2IoG.js";import{r as z}from"./use-avatar-accent-var-B7jzoU_Q.js";import{t as Se}from"./misc-Z0jXGGeY.js";import{n as B,t as Ce}from"./avatar-tone-D1ZiIRxb.js";import{t as V}from"./chat-avatar-BPhNOZzd.js";import{t as we}from"./avatar-renderer-CsRuhhXn.js";import{n as Te}from"./use-bundled-avatar-components-CJR9zw0E.js";import{t as Ee}from"./android-consumption-only-BkXIkXls.js";import{c as De,i as Oe,l as ke,n as H,r as Ae,t as je}from"./machine-sizes-B2_svsFw.js";import{a as Me,i as Ne,n as Pe,r as Fe,t as Ie}from"./provisioning-targets-BQdyCh_j.js";import{t as Le}from"./environment-store-CFfbiF-5.js";var U=f(`computer`,[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`,key:`wc9tft`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h2`,key:`rwmk9e`}],[`path`,{d:`M12 18h6`,key:`aqd8w3`}]]),W=u();function Re({children:e,redirectToBilling:t=!1}){return ae()?t?(0,W.jsx)(i,{replace:!0,to:N.settings.usageBilling}):(0,W.jsx)(w,{tone:`info`,children:Ee}):e}var G=e(t(),1);function ze({icon:e}){return(0,W.jsx)(`span`,{className:`flex h-11 w-11 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--system-negative-strong) 12%, transparent)`},children:(0,W.jsx)(e,{className:`h-5 w-5`,style:{color:`var(--system-negative-strong)`},"aria-hidden":`true`})})}var Be={fontFamily:`var(--font-serif)`,fontSize:`32px`,fontWeight:400,lineHeight:1.2,letterSpacing:`0.64px`};function Ve({title:e,subtitle:t}){return(0,W.jsxs)(`header`,{className:`flex flex-col items-center gap-2 pt-12 text-center`,children:[(0,W.jsx)(`h2`,{className:`text-[var(--content-emphasised)]`,style:Be,children:e}),t&&(0,W.jsx)(`p`,{className:`text-[14px] font-normal text-[var(--content-secondary)]`,children:t})]})}var He=[{bodyShape:`star`,eyeStyle:`curious`,color:`yellow`,size:103,position:`-left-[28px] -top-[33px]`,rotate:180},{bodyShape:`star`,eyeStyle:`curious`,color:`orange`,size:109,position:`left-[63%] -top-[62px] -translate-x-1/2`,rotate:-8},{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`,size:76,position:`-right-[25px] top-[60px]`,rotate:1},{bodyShape:`stack`,eyeStyle:`gentle`,color:`purple`,size:110,position:`-left-[39px] top-[74%]`,rotate:0},{bodyShape:`urchin`,eyeStyle:`goofy`,color:`pink`,size:137,position:`-right-[42px] -bottom-[40px]`,rotate:180},{bodyShape:`sprout`,eyeStyle:`curious`,color:`orange`,size:72,position:`left-[37%] -bottom-[22px] -translate-x-1/2`,rotate:0}],K=[{bodyShape:`star`,eyeStyle:`curious`,color:`yellow`,size:103,position:`-left-[28px] -top-[33px]`,rotate:180},{bodyShape:`star`,eyeStyle:`curious`,color:`orange`,size:109,position:`left-[63%] -top-[62px] -translate-x-1/2`,rotate:-8},{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`,size:76,position:`-right-[25px] top-[60px]`,rotate:1}];function q({variant:e=`full`}){let t=Te();return t?(0,W.jsx)(`div`,{"aria-hidden":`true`,"data-testid":`creature-corners`,className:`pointer-events-none absolute inset-0 select-none`,children:(e===`top`?K:He).map((e,n)=>(0,W.jsx)(`span`,{className:`absolute ${e.position}`,style:{rotate:`${e.rotate}deg`},children:(0,W.jsx)(we,{components:t,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:e.size})},n))}):null}var Ue={waitingStatus:`Upgrading your assistant…`,snagStatus:`We hit a snag upgrading your assistant`,snagCaption:`Retry in the background and we'll keep working on your upgrade.`,confirmingStatus:`Confirming your upgrade…`,confirmTimeoutStatus:`Still confirming your upgrade`,confirmTimeoutCaption:`Your payment went through safely. This can take a minute.`,backgroundConfirmMessage:`Your assistant is still upgrading. Chatting won't be available until it finishes. You can keep waiting here, or continue and we'll let you know when it's ready.`,backgroundExitToast:`Your upgrade continues in the background.`,backgroundRetryToast:`We'll retry your upgrade in the background.`,completeSubtitle:`Enjoy the new found power.`,fetchErrorBody:`We hit a problem checking your subscription. Your upgrade may still be processing. Return to billing to refresh.`},We={waitingStatus:`Updating your assistant…`,snagStatus:`We hit a snag updating your assistant`,snagCaption:`Retry in the background and we'll keep working on your plan change.`,confirmingStatus:`Confirming your plan change…`,confirmTimeoutStatus:`Still confirming your plan change`,confirmTimeoutCaption:`Your plan change was submitted. This can take a minute.`,backgroundConfirmMessage:`Your assistant is still updating. Chatting won't be available until it finishes. You can keep waiting here, or continue and we'll let you know when it's ready.`,backgroundExitToast:`Your plan change continues in the background.`,backgroundRetryToast:`We'll retry your plan change in the background.`,completeSubtitle:`Your plan changes are live.`,fetchErrorBody:`We hit a problem checking your subscription. Your plan change may still be processing. Return to billing to refresh.`},Ge={upgrade:Ue,downgrade:We,change:We};function J(e=`upgrade`){return Ge[e]}function Y(e,t=!0){let{data:n}=c({..._e(),enabled:t&&e==null}),{data:r}=c({...le({path:{id:e??``}}),enabled:t&&e!=null});return e==null?n:r}function X({assistantId:e,direction:t}){let i=r(),a=Y(e,oe())?.name||`your assistant`;return(0,W.jsxs)(`div`,{className:`relative flex min-h-[320px] flex-col items-center justify-center overflow-hidden px-8 pb-16 [animation:onboarding-step-in_350ms_ease-out] motion-reduce:[animation:none]`,children:[(0,W.jsx)(q,{variant:`full`}),(0,W.jsxs)(`div`,{className:`relative flex w-full flex-col items-center`,children:[(0,W.jsx)(Ve,{title:`You're all set!`,subtitle:J(t).completeSubtitle}),(0,W.jsx)(`div`,{className:`mt-10 flex w-full flex-col items-center gap-10`,children:(0,W.jsxs)(n,{variant:`primary`,"data-testid":`onboarding-complete-return`,onClick:()=>{e!=null&&k(e),i(N.assistant,{replace:!0})},children:[`Return to `,a]})})]})]})}function Ke(e=!0,t){let n=Y(t,e),r=t??n?.id,{data:i,isError:a,isFetching:o,dataUpdatedAt:s,errorUpdatedAt:l}=c({...de({path:{assistant_id:r??``}}),enabled:e&&!!r});return{assistant:n,assistantId:r,domains:i,domainsError:a,domainsFetching:o,domainsUpdatedAt:s,domainsErrorUpdatedAt:l}}var qe=1e3,Je=1e4,Ye=2500,Xe=2e3,Ze=1e4,Qe=[`machine_size`,`subdomain`,`non_field_errors`],$e={subdomain_taken:`That subdomain is already taken. Try another.`,assistant_already_has_domain:`Your assistant already has a custom domain.`,no_assistant_to_attach_domain:`We couldn't find an assistant to attach this domain to.`,exceeds_machine_tier:`That machine size isn't available on your plan.`,provisioning_submission_failed:`We couldn't queue your upgrade just now. Try again in a moment.`,no_active_pro:`We couldn't confirm your Pro plan yet. Try again in a moment.`,no_provisionable_assistants:`We couldn't find an assistant to upgrade yet. Try again in a moment.`},et={provisioning_submission_failed:`We couldn't queue your plan change just now. Try again in a moment.`,no_provisionable_assistants:`We couldn't find an assistant to update yet. Try again in a moment.`};function tt(e,t,n=`upgrade`){if(e&&typeof e==`object`){let t=e;if(typeof t.error==`string`){let e=(n===`upgrade`?void 0:et[t.error])??$e[t.error];if(e)return e}for(let e of Qe){let n=t[e];if(Array.isArray(n)&&typeof n[0]==`string`)return n[0]}if(typeof t.detail==`string`)return t.detail}return t}var nt=`h-8 rounded-lg border border-[var(--border-element)] bg-[var(--field-bg)] px-2.5 text-[14px] text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none transition-[border-color] duration-150 focus:border-[var(--border-active)] disabled:cursor-not-allowed disabled:opacity-60`,rt=`text-[11px] font-medium text-[var(--content-secondary)]`;function it({onExit:e,machineBusy:t=!1,assistantId:r}){let i=s(),a=Le.use.emailRootDomain(),{assistant:o,assistantId:c,domains:u}=Ke(!0,r),d=u?.results[0],[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(`hi`),[g,_]=(0,G.useState)(!1);(0,G.useEffect)(()=>{if(!g){if(d){p(d.subdomain),_(!0);return}!o?.handle||f||(p(o.handle),_(!0))}},[o?.handle,d,g,f]);let[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(!1),S=l(L()),C=!!d||b,E=S.isPending||b;return(0,G.useEffect)(()=>{if(!b)return;let t=setTimeout(e,800);return()=>clearTimeout(t)},[b,e]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(T.Body,{className:`animate-[onboarding-step-in_350ms_ease-out] space-y-6 pb-0 motion-reduce:animate-none`,children:[(0,W.jsx)(q,{variant:`top`}),(0,W.jsx)(Ve,{title:`Assistant Email`,subtitle:`Set up an email for your assistant.`}),(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`label`,{htmlFor:`onboarding-email-prefix`,className:rt,children:`Prefix`}),(0,W.jsx)(`input`,{id:`onboarding-email-prefix`,value:m,onChange:e=>h(e.target.value.toLowerCase().trim()),disabled:E||C,readOnly:C,placeholder:`hi`,className:`${nt} w-24`})]}),(0,W.jsx)(`span`,{className:`flex h-8 items-center text-[var(--content-secondary)]`,children:`@`}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,W.jsx)(`label`,{htmlFor:`onboarding-email-handle`,className:rt,children:`Handle (public)`}),(0,W.jsx)(`input`,{id:`onboarding-email-handle`,value:f,onChange:e=>{p(e.target.value.toLowerCase().trim()),v&&y(null)},disabled:E||C,readOnly:C,autoFocus:!0,placeholder:`my-assistant`,"aria-invalid":!!v,className:`${nt} w-full min-w-0`})]}),(0,W.jsxs)(`span`,{className:`flex h-8 shrink-0 items-center text-[14px] text-[var(--content-tertiary)]`,children:[`.`,a]})]}),v&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:v}),C&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`This domain has been set and cannot be changed.`})]}),t&&!C&&(0,W.jsx)(w,{tone:`neutral`,children:`Your assistant is restarting — you can set the domain in a moment.`}),!C&&(0,W.jsx)(w,{tone:`info`,className:`border-transparent bg-[var(--surface-active)]`,children:(0,W.jsx)(`span`,{className:`font-medium text-[var(--content-tertiary)]`,children:`You won't be able to change the handle once set.`})}),b?(0,W.jsx)(w,{tone:`success`,children:`Domain set — redirecting…`}):null]}),(0,W.jsx)(T.Footer,{className:`items-center pt-6`,children:C?(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-domain-continue`,onClick:e,children:`Continue`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(n,{variant:`outlined`,"data-testid":`onboarding-domain-skip`,disabled:E,onClick:()=>{E||S.mutate({body:{skipped:!0}},{onSuccess:e,onError:()=>e()})},children:`Skip`}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-domain-set`,disabled:!f||E||t,onClick:()=>{E||t||!f||S.mutate({body:{subdomain:f,...m?{email_username:m}:{}}},{onSuccess:()=>{y(null),x(!0),i.invalidateQueries({queryKey:be()}),i.invalidateQueries({queryKey:he({path:{assistant_id:c??``}})}),i.invalidateQueries({queryKey:ge()})},onError:e=>{y(tt(e,`Couldn't register that subdomain. Try a different one.`))}})},children:`Next`})]})})]})}function at({onGoToBilling:e,direction:t}){return(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-4 px-6 py-10 text-center`,children:[(0,W.jsx)(ze,{icon:h}),(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsx)(d,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,W.jsx)(d,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:J(t).fetchErrorBody})]}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-go-to-billing`,onClick:e,children:`Go to billing`})]})}function Z(e){let t=e/100;return Number.isInteger(t)?`$${t}`:`$${t.toFixed(2)}`}function Q(e){return`${Z(e)}/mo`}function ot(e){return`${Z(e)}/month`}function st(e){return`${e>0?`+`:`−`}${Z(Math.abs(e))}/mo`}function ct(e){return`${e} GB storage`}function lt(e){return`${Z(e*100)} of bundled credits`}function ut(e){let{targets:t,fromSnapshot:n,machineFloor:r,credits:i}=e,a=[];return t.machineSize==null?r!=null&&n.machineSize!=null&&n.machineSize!==r&&a.push({key:`machine`,label:`Machine`,from:Oe[n.machineSize],to:Oe[r]}):n.machineSize!==t.machineSize&&a.push({key:`machine`,label:`Machine`,from:n.machineSize==null?void 0:Oe[n.machineSize],to:Oe[t.machineSize]}),t.storageGib!=null&&(n.storageGib==null||t.storageGib>n.storageGib)&&a.push({key:`storage`,label:`Storage`,from:n.storageGib==null?void 0:`${n.storageGib} GB`,to:`${t.storageGib} GB`}),i!=null&&a.push({key:`credits`,label:`Credits`,from:i.from,to:i.to}),a}var dt=60,ft=dt*2;function pt({imageUrl:e,animateIn:t=!0}){return(0,W.jsxs)(`div`,{"aria-hidden":!0,"data-testid":`takeover-backdrop`,className:`pointer-events-none absolute inset-0 overflow-hidden${t?` provision-avatar-reveal`:``}`,children:[(0,W.jsx)(`img`,{src:e,alt:``,decoding:`async`,draggable:!1,className:`absolute left-1/2 top-1/2 max-w-none -translate-x-1/2 -translate-y-1/2 object-cover object-center`,style:{filter:`blur(${dt}px)`,width:`calc(100% + ${ft*2}px)`,height:`calc(100% + ${ft*2}px)`}}),(0,W.jsx)(`div`,{className:`absolute inset-0 bg-black/55`})]})}function mt(e){let t=e?.match(/^credits_(\d+)$/)?.[1];return t==null?null:Number(t)}function ht(e,t){if(t!=null)return e?.credit_tiers?.find(e=>e.tier===t)}function gt(e){let t=oe(),{data:n}=c({...I(),enabled:t&&e});return n?.plans.find(e=>e.id===`pro`)}function _t(e,t){return t==null?0:ht(e,t)?.credits_usd??mt(t)}function vt(e){let t=gt(e!=null);if(e==null||t==null)return null;let n;if(e.kind===`package`){let r=t.packages.find(t=>t.key===e.packageKey);n=r?.credits_usd??ht(t,r?.credit_tier)?.credits_usd}else n=ht(t,e.creditTier)?.credits_usd;return n==null?null:{fromUsd:0,toUsd:n}}function yt(e){let t=gt(e!=null);if(e==null)return null;let n=_t(t,e.fromTier),r=_t(t,e.toTier);return n==null||r==null?null:{fromUsd:n,toUsd:r}}function bt(e){let t=O.use.activeAssistantId(),n=e===void 0?t:e,{components:r,traits:i,customImageUrl:a,isLoading:o}=P(n),s=(0,G.useMemo)(()=>A(),[j()]),c=s!=null&&te(s)?s:null,l=n!=null&&!o,u=c!=null&&(n==null||n===c.assistantId),d=u&&!(l&&(r!=null||i!=null||a!=null))?c:null,f=d?d.components:r,p=d?d.traits:i,m=d?null:a,h=l||u,g=z(f,p)??(m?null:(f??xe).colors?.[0]?.hex??null);return{tintHex:h&&g?B(g):Ce,backdropImageUrl:h?m:null,ready:h,avatar:{components:f,traits:p,customImageUrl:m}}}function xt(e,t){let[n,r]=(0,G.useState)(e),i=(0,G.useRef)(0);return(0,G.useEffect)(()=>{i.current=performance.now()},[]),(0,G.useEffect)(()=>{if(t<=0||e===n)return;let a=t-(performance.now()-i.current);if(a<=0){i.current=performance.now(),r(e);return}let o=setTimeout(()=>{i.current=performance.now(),r(e)},a);return()=>clearTimeout(o)},[e,n,t]),t<=0?e:n}var St=`--takeover-surface`,Ct=`var(${St},${Ce})`,wt=`color-mix(in srgb, var(--content-emphasised) 10%, transparent)`,Tt=240,Et=1.414,Dt=[{minHeight:680,size:Tt},{minHeight:600,size:184}],Ot=132;function kt(e){for(let t of Dt)if(e>=t.minHeight)return t.size;return Ot}function At(){let[e,t]=(0,G.useState)(()=>kt(typeof window>`u`?1/0:window.innerHeight));return(0,G.useEffect)(()=>{let e=()=>t(kt(window.innerHeight));return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}var jt={machine:v,storage:y,credits:_},Mt={idle:``,working:` is-working`,settling:` is-settling`,stalled:` is-stalled`,grown:` is-evolved`};function Nt(e,t){return e===`DONE`||e===`NOT_APPLICABLE`?`grown`:e===`STALLED`?`stalled`:e===`WAITING`||e===`RESIZING`?t?`settling`:`working`:`idle`}function Pt({assistantId:e,mode:t,downsizing:n=!1}){let{avatar:r,ready:i}=bt(e),a=Te(),o=At(),s=t===`working`||t===`settling`;return(0,W.jsxs)(`div`,{"aria-hidden":!0,className:`provision-avatar-evolve relative z-10 flex flex-col items-center${Mt[i?t:`idle`]}${n?` is-downsizing`:``}`,style:{"--provision-avatar-size":`${o}px`,"--provision-avatar-growth":Et},children:[(0,W.jsxs)(`div`,{className:`provision-avatar-stage`,children:[(0,W.jsx)(`div`,{"data-testid":`provision-avatar-placeholder`,className:`provision-avatar-placeholder${i?` is-resolved`:``}`}),(0,W.jsx)(`div`,{className:`provision-avatar-layer`,children:(0,W.jsx)(`div`,{className:`provision-avatar-current`,children:(0,W.jsx)(`div`,{className:`provision-avatar-strain`,children:i&&(0,W.jsx)(`div`,{className:`provision-avatar-reveal`,children:(0,W.jsx)(V,{components:r.components??a,traits:r.traits,customImageUrl:r.customImageUrl,size:o,isAssistantBusy:s})})})})})]}),(0,W.jsx)(`div`,{className:`provision-avatar-shadow`})]})}function $({status:e,caption:t}){return(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,W.jsx)(`h1`,{className:`text-[var(--content-emphasised)]`,style:Be,children:e}),t&&(0,W.jsx)(d,{variant:`body-medium-lighter`,as:`p`,className:`max-w-sm text-[var(--content-secondary)]`,children:t})]})}function Ft({icon:e,label:t,from:n,to:r,done:i=!1,pending:a=!1,testId:o}){let s=null;return i?s=`Complete`:a&&(s=`Pending`),(0,W.jsxs)(`div`,{"data-testid":o,className:`flex min-w-0 flex-auto items-center gap-2 rounded-lg px-2 py-1.5${a?` opacity-70`:``}`,style:{backgroundColor:wt},children:[(0,W.jsx)(`span`,{className:`hidden h-6 w-6 shrink-0 items-center justify-center min-[420px]:flex`,children:(0,W.jsx)(e,{className:`h-3.5 w-3.5 text-[var(--content-tertiary)]`,"aria-hidden":`true`})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 text-left wrap-anywhere`,children:[(0,W.jsx)(`span`,{className:`text-[12px] font-medium leading-tight text-[var(--content-tertiary)]`,children:t}),(0,W.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5 text-[14px] font-medium leading-[18px] text-[var(--content-emphasised)]`,children:[n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:n}),(0,W.jsx)(`span`,{className:`sr-only`,children:`to`}),(0,W.jsx)(p,{className:`h-3 w-3 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":`true`})]}),(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,W.jsx)(`span`,{children:r}),i?(0,W.jsx)(m,{"data-testid":`chip-check`,className:`h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}):a&&(0,W.jsx)(x,{"data-testid":`chip-spinner`,className:`h-3.5 w-3.5 shrink-0 animate-spin text-[var(--content-tertiary)] motion-reduce:animate-none`,"aria-hidden":`true`})]}),s&&(0,W.jsx)(`span`,{className:`sr-only`,children:s})]})]})]})}function It({label:e}){return(0,W.jsx)(`span`,{className:`rounded-lg px-3 py-2 text-[14px] text-[var(--content-emphasised)]`,style:{backgroundColor:wt},children:e})}function Lt({children:e,wide:t=!1,testId:n}){return(0,W.jsx)(`div`,{"data-testid":n,className:`flex w-full ${t?`max-w-2xl`:`max-w-sm`} items-stretch justify-center gap-2`,children:e})}function Rt(e,t){return e===`credits`?!0:t?.[e]===!0}function zt({intent:e,creditsChange:t,targets:n,fromSnapshot:r,machineFloor:i,landed:a,allDone:o=!1,creditsOnly:s=!1}){let c=vt(e),l=yt(t),u=c??l,d=ut({targets:n,fromSnapshot:r,machineFloor:i,credits:u==null?null:{from:Q(u.fromUsd*100),to:Q(u.toUsd*100)}}),f=s?d.filter(e=>e.key===`credits`):d,p=f.filter(e=>o||Rt(e.key,a)).map(e=>e.label).join(`, `),[m]=(0,G.useState)(p),h=p===m?``:`${p} complete`;return f.length===0?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Lt,{testId:`resource-chips`,wide:f.length>=3,children:f.map(e=>{let t=o||Rt(e.key,a);return(0,W.jsx)(Ft,{testId:`chip-${e.key}`,icon:jt[e.key],label:e.label,from:e.from,to:e.to,done:t,pending:!t},e.key)})}),(0,W.jsx)(`p`,{"aria-live":`polite`,className:`sr-only`,"data-testid":`chip-announcement`,children:h})]})}function Bt({intent:e}){if(e.kind===`package`)return(0,W.jsx)(Lt,{children:(0,W.jsx)(It,{label:`${e.packageKey.charAt(0).toUpperCase()+e.packageKey.slice(1)} package`})});let t=[e.machineTier,e.storageTier,e.creditTier].filter(e=>e!=null).length;return(0,W.jsxs)(Lt,{wide:t>=3,children:[e.machineTier!=null&&(0,W.jsx)(Ft,{icon:v,label:`Machine`,to:H[e.machineTier]??e.machineTier}),e.storageTier!=null&&(0,W.jsx)(Ft,{icon:y,label:`Storage`,to:e.storageTier.toUpperCase()}),e.creditTier!=null&&(0,W.jsx)(It,{label:`${e.creditTier.replace(`credits_`,``)} credits`})]})}function Vt({state:e,direction:t,softWaiting:r,intent:i,creditsChange:a,targets:o,fromSnapshot:s,machineFloor:c,landed:l,celebrating:u,onCelebrationEnd:d,assistantId:f,escapeAvailable:p,onEscape:m,onPhaseChange:h,kickError:g,confirm:_,dwellMs:v=Ye,phaseMinMs:y=900}){let b=J(t),x=(0,G.useRef)(d);(0,G.useEffect)(()=>{x.current=d},[d]);let S=xt(e,y),C=S===`DONE`||S===`NOT_APPLICABLE`,w=S===`RESIZING`?`WAITING`:S,T=(0,G.useRef)(h);(0,G.useEffect)(()=>{T.current=h},[h]),(0,G.useEffect)(()=>{T.current?.(S)},[S]);let{tintHex:E,backdropImageUrl:ee}=bt(f),D=u&&C;return(0,G.useEffect)(()=>{if(!D)return;let e=setTimeout(()=>x.current(),v);return()=>clearTimeout(e)},[D,v]),(0,W.jsxs)(`div`,{"data-theme":`dark`,className:`provision-surface-settle relative flex h-full min-h-[420px] w-full flex-col items-center [justify-content:safe_center] gap-10 px-6 py-10 text-center`,style:{[St]:E,backgroundColor:Ct},children:[ee&&(0,W.jsx)(pt,{imageUrl:ee}),(0,W.jsx)(Pt,{assistantId:f,mode:Nt(S,r),downsizing:t===`downgrade`}),(0,W.jsx)(`div`,{className:`relative z-10 flex min-h-[144px] w-full flex-col items-center gap-8 [animation:onboarding-step-in_420ms_ease-out] motion-reduce:[animation:none]`,children:te()},w)]});function O(e=`Continue in the background`){return p?(0,W.jsx)(n,{variant:`ghost`,"data-testid":`provisioning-escape`,onClick:m,children:e}):null}function k({allDone:e=!1,creditsOnly:t=!1}={}){return(0,W.jsx)(zt,{intent:i,creditsChange:a,targets:o,fromSnapshot:s,machineFloor:c,landed:l,allDone:e,creditsOnly:t})}function te(){if(S===`CONFIRMING`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.confirmingStatus,caption:`This might take a couple seconds.`}),i&&(0,W.jsx)(Bt,{intent:i}),O()]});if(S===`WAITING`||S===`RESIZING`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.waitingStatus,caption:r?`Still working — this can take a minute or two.`:`This might take a couple seconds.`}),k(),O()]});if(S===`DONE`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:`All done!`}),k({allDone:!0})]});if(S===`NOT_APPLICABLE`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:`Your plan is ready`}),k({allDone:!0,creditsOnly:!0})]});if(S===`STALLED`){let e=g!=null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:e?b.snagStatus:`This is taking longer than expected`,caption:e?tt(g,b.snagCaption,t):`This may take a couple of minutes.`}),k(),e?O(`Retry in the background`):O()]})}return S===`CONFIRM_TIMEOUT`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.confirmTimeoutStatus,caption:b.confirmTimeoutCaption}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,W.jsx)(n,{variant:`outlined`,"data-testid":`onboarding-go-to-billing`,onClick:_.onGoToBilling,children:`Go to billing`}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-retry`,onClick:_.onRetry,children:`Try again`})]})]}):null}}function Ht(e){let{planId:t,targets:n,actuals:r,initialActuals:i,resizeOperationInFlight:a,sawOperation:o,msSinceWatchStart:s,confirmExpired:c,serverVerdict:l=null,statusObservedSinceTargetsMet:u=!0,targetsProveNoop:d=!0}=e;if(t!==`pro`)return{state:c?`CONFIRM_TIMEOUT`:`CONFIRMING`,softWaiting:!1};let f=o||a,p=l===`started`||l===`in_progress`,m=o||d&&u;if(!a){let e=p?m:f||l===`already_done`||i!=null&&!Me(n,i);if(Me(n,r)){if(e)return{state:`DONE`,softWaiting:!1};if(!p&&(d||l===`not_applicable`))return{state:`NOT_APPLICABLE`,softWaiting:!1}}else{if(l===`already_done`)return{state:`DONE`,softWaiting:!1};if(l===`not_applicable`)return{state:`NOT_APPLICABLE`,softWaiting:!1}}}return s!=null&&s>=9e4?{state:`STALLED`,softWaiting:!1}:f||l===`started`||l===`in_progress`?{state:`RESIZING`,softWaiting:!1}:{state:`WAITING`,softWaiting:s!=null&&s>=3e4}}var Ut=2e3,Wt=1e3,Gt=[`DONE`,`NOT_APPLICABLE`,`CONFIRM_TIMEOUT`],Kt={assistantId:null,machine:null,storage:null};function qt({open:e,canLowerResources:t=!1,verdictRecheckMs:n=Ze}){let r=s(),i=oe(),[u,d]=(0,G.useState)(!1),[f,p]=(0,G.useState)(0),[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(null),[S,C]=(0,G.useState)(null),[w,T]=(0,G.useState)(null),[E,ee]=(0,G.useState)(Kt),[D,O]=(0,G.useState)(null),[k,te]=(0,G.useState)(!1),A=(0,G.useRef)(!1),j=(0,G.useRef)(!1),M=(0,G.useRef)(0),[re,ie]=(0,G.useState)(!1),[ae,N]=(0,G.useState)(null),[P,se]=(0,G.useState)(null),[F,ue]=(0,G.useState)(null),[de,I]=(0,G.useState)(()=>Date.now()),[me,he]=(0,G.useState)(!0);(0,G.useEffect)(()=>{e||(d(!1),p(0),h(null),_(null),y(null),ie(!1),N(null),se(null),ue(null),he(!0),x(null),C(null),T(null),ee(Kt),O(null),te(!1),A.current=!1,j.current=!1,M.current+=1)},[e]),(0,G.useEffect)(()=>{e&&(h(Date.now()),r.invalidateQueries({queryKey:pe()}),r.invalidateQueries({queryKey:ge()}))},[e,r]);let L=g!=null,R=c({...ye(),refetchInterval:e=>e.state.data?.plan_id===`pro`||u?!1:qe,refetchIntervalInBackground:!1,enabled:e&&i&&!L}),be=(m!=null&&R.dataUpdatedAt>=m?R.data?.plan_id:null)??null;(0,G.useEffect)(()=>{if(!e||L||be!==`pro`)return;let t=Date.now();_(t),I(t)},[e,L,be]),(0,G.useEffect)(()=>{if(!e||L)return;let t=setTimeout(()=>d(!0),Je);return()=>clearTimeout(t)},[e,L,f]);let xe=(0,G.useCallback)(()=>{d(!1),p(e=>e+1),ne.getState().fetchOrganizations(),r.invalidateQueries({queryKey:pe()})},[r]),z=(0,G.useCallback)(()=>{let e=Date.now();y(e),I(e)},[]),{mutate:Se}=l(ve()),B=(0,G.useCallback)(e=>{let t=M.current;Se({},{onSuccess:n=>{t===M.current&&(O(null),Pe(n)?j.current?O({error:n.reason??`no_active_pro`}):(j.current=!0,te(!0),e===`escape`&&z()):(x(n.state),e===`escape`&&z()))},onError:e=>{t===M.current&&O(e)}})},[Se,z]);(0,G.useEffect)(()=>{!e||!i||!L||A.current||(A.current=!0,B(`auto`))},[e,i,L,B]),(0,G.useEffect)(()=>{if(!k)return;let e=M.current,t=setTimeout(()=>{te(!1),e===M.current&&B(`auto`)},Xe);return()=>clearTimeout(t)},[k,B]);let Ce=(0,G.useCallback)(()=>B(`escape`),[B]),V=c({...fe(),enabled:e&&i&&L}),we=me?Ut:!1,Te=c({..._e(),enabled:e&&i&&L,refetchInterval:e=>e.state.data?.id==null?we:!1,retry:!1}),Ee=L&&m!=null&&V.dataUpdatedAt>=m,Oe=Ee&&!V.isPending&&!V.isFetching,H=(Ee?V.data?.primary_assistant_id:null)??(V.isPending?null:Te.data?.id??null),Ae=c({...le({path:{id:H??`unresolved`}}),enabled:e&&i&&L&&H!=null,refetchInterval:we,retry:!1}),Le=ce({path:{id:H??`unresolved`}}),U=c({...Le,enabled:e&&i&&L&&H!=null,refetchInterval:we,retry:!1}),W=(0,G.useRef)(0),[Re,ze]=(0,G.useState)(0),Be=o(Le.queryKey);(0,G.useEffect)(()=>r.getQueryCache().subscribe(t=>{if(!(t.type!==`updated`||t.query.queryHash!==Be)){if(t.action.type===`fetch`)W.current+=1;else if(t.action.type===`success`&&!t.action.manual){let n=W.current,r=e&&Fe(t.action.data);a.schedule(()=>{ze(n),r&&(ie(!0),N(H))})}}}),[r,Be,e,H]);let Ve=Fe(U.data),He=ae===H,K=V.data,q=(0,G.useMemo)(()=>K?{machineSize:De(K.max_machine_tier),storageGib:K.selected_storage_gib??null}:null,[K]),Ue=K!=null&&K.max_machine_tier==null?je:null,We=K?K.domain_setup_available&&K.primary_assistant_id!=null:void 0,Ge=Ae.data,J=(0,G.useMemo)(()=>Ge?{machineSize:Ge.machine_size??null,storageGib:Ge.provisioned_storage_gib??null}:null,[Ge]),Y=F===H,X=(0,G.useMemo)(()=>{let e=Ie(q,J),t=q?.machineSize??Ue;if(t==null)return e;let n=J?.machineSize??null;if(n==null)return{...e,machine:!1};let r=(Y?P?.machineSize:null)??n,i=ke(t)<ke(r);return{...e,machine:i?ke(n)<=ke(t):ke(n)>=ke(t)}},[q,J,P,Y,Ue]),Ke=Me(q,J),Ye=w===H;(0,G.useEffect)(()=>{e&&(Ke?(C(e=>e!=null&&Ye?e:Date.now()),T(H)):(C(null),T(null)))},[e,Ke,H,Ye]);let Qe=E.assistantId===H;(0,G.useEffect)(()=>{if(!e)return;let t=W.current;ee(e=>{let n=e.assistantId===H?e:Kt,r=X.machine?n.machine??t:null,i=X.storage?n.storage??t:null;return e.assistantId===H&&e.machine===r&&e.storage===i?e:{assistantId:H,machine:r,storage:i}})},[e,X,H]);let $e=(0,G.useMemo)(()=>{let e=Ne(U.data),t=e=>e!=null&&Qe&&Re>e;return{machine:X.machine&&!e.machine&&t(E.machine),storage:X.storage&&!e.storage&&t(E.storage)}},[X,E,Qe,Re,U.data]);(0,G.useEffect)(()=>{!e||!J||P!=null&&Y||(se(J),ue(H))},[e,J,H,P,Y]);let et=v??g,tt=et==null?null:Math.max(0,de-et),nt=!t,{state:rt,softWaiting:it}=Ht({planId:L?`pro`:be,targets:q,actuals:J,initialActuals:Y?P:null,resizeOperationInFlight:Ve,sawOperation:re&&He,msSinceWatchStart:tt,confirmExpired:u,serverVerdict:b,statusObservedSinceTargetsMet:S!=null&&Ye&&U.dataUpdatedAt>S,targetsProveNoop:nt}),at=Gt.includes(rt),Z=e&&L&&!at;(0,G.useEffect)(()=>{he(Z)},[Z]),(0,G.useEffect)(()=>{if(!e||!L||at)return;let t=setInterval(()=>I(Date.now()),Wt);return()=>clearInterval(t)},[e,L,at]);let Q=!nt&&(b===`started`||b===`in_progress`)&&!(re&&He);return(0,G.useEffect)(()=>{if(!e||!L||at||!Q)return;let t=setInterval(()=>B(`auto`),n);return()=>clearInterval(t)},[e,L,at,Q,n,B]),{state:rt,softWaiting:it,targets:q,actualsSnapshot:P,machineFloor:Ue,landed:$e,assistantId:H,domainStepAvailable:We,onboardingSettled:Oe,confirmError:!L&&R.isError,targetsError:L&&V.isError&&(!K||!Ee),escapeEligible:tt!=null&&tt>=6e4,retryConfirm:xe,kickProvisioning:Ce,kickError:D}}var Jt=200,Yt=380;function Xt(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0}var Zt=e=>e===`WAITING`||e===`RESIZING`||e===`STALLED`,Qt=e=>e===`DONE`||e===`NOT_APPLICABLE`,$t={machineSize:null,storageGib:null};function en({open:e,onClose:t,dwellMs:n,phaseMinMs:r,mode:i=`checkout`,resizeContext:a}){let o=i===`resize`,c=s(),[l,u]=(0,G.useState)(`provisioning`),[d,f]=(0,G.useState)(`idle`),p=(0,G.useRef)([]),[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(!1),S=o?a?.direction:void 0,C=J(S),w=qt({open:e,canLowerResources:o?a?.canLowerResources===!0:!1}),D=(0,G.useRef)(!1);(0,G.useEffect)(()=>{if(e){D.current=!0,h(o?null:re()),y(e=>e??Date.now());return}p.current.forEach(clearTimeout),p.current=[],u(`provisioning`),f(`idle`),_(null),y(null),x(!1),D.current&&(D.current=!1,M())},[e,o]),(0,G.useEffect)(()=>()=>{p.current.forEach(clearTimeout)},[]),(0,G.useEffect)(()=>{l===`complete`&&ie()},[l]);let O=Zt(w.state),k=Qt(g??w.state),{targets:te,assistantId:A,domainStepAvailable:j,onboardingSettled:ne}=w,ae=o?a?.fromSnapshot:void 0,N=w.actualsSnapshot,P={machineSize:ae?.machineSize??N?.machineSize??null,storageGib:ae?.storageGib??N?.storageGib??null},{tintHex:oe,backdropImageUrl:se}=bt(A),F=o&&j===!0,{domains:ce,domainsError:le,domainsFetching:ue,domainsUpdatedAt:de,domainsErrorUpdatedAt:fe}=Ke(e&&F,A),pe=(ce?.results.length??0)>0,I=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!e){I.current=null;return}!F||A==null||I.current!==A&&(I.current=A,c.invalidateQueries({queryKey:he({path:{assistant_id:A}})}))},[e,F,A,c]);let me=!ue&&(v!=null&&de>=v||v!=null&&!!le&&fe>=v),[ge,L]=(0,G.useState)(!1),_e=ne&&(!F||me);(0,G.useEffect)(()=>{if(!e){L(!1);return}_e&&L(!0)},[e,_e]);let ve=(0,G.useCallback)(()=>{let e=o?j===!0&&!pe?`domain`:`complete`:j===!1?`complete`:`domain`;if(Xt()){u(e);return}f(`covering`),p.current.push(setTimeout(()=>{u(e),f(`revealing`),p.current.push(setTimeout(()=>f(`idle`),Yt))},Jt))},[j,o,pe]),R=(0,G.useCallback)(()=>{x(!0)},[]),ye=(0,G.useCallback)(()=>{w.kickProvisioning(),E.info(w.kickError==null?C.backgroundExitToast:C.backgroundRetryToast),x(!1),t()},[w,t,C]),be=(0,G.useCallback)(()=>{x(!1)},[]),xe=l===`provisioning`&&(w.confirmError||w.targetsError),z=l===`provisioning`&&!xe,Se=z&&!k,B=`transition-[background-color] duration-300 ease-out${z?` bg-black p-0`:``}`,Ce=z?`[animation:fadeIn_0.45s_ease-out_both]`:d===`revealing`?`[animation:fadeInUp_0.42s_ease-out_0.12s_both]`:`[animation:fadeIn_0.25s_ease-out_both]`;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(T.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,W.jsxs)(T.Content,{size:`md`,hideCloseButton:l!==`complete`,dismissOnOverlayClick:!Se,onEscapeKeyDown:Se?e=>e.preventDefault():void 0,onInteractOutside:Se?e=>e.preventDefault():void 0,"data-theme":z?`dark`:void 0,overlayClassName:B,className:z?`overflow-y-auto inset-0 max-w-none w-screen h-screen max-h-none rounded-none border-0`:`overflow-hidden`,style:{[St]:oe},children:[(0,W.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col motion-reduce:[animation:none] ${Ce}`,children:V()},l),d!==`idle`&&(0,W.jsx)(`div`,{"aria-hidden":!0,"data-testid":`takeover-exit-sheet`,className:`pointer-events-none fixed inset-0 z-50 ${d===`covering`?`[animation:fadeIn_200ms_ease-in_both]`:`[animation:fadeIn_380ms_ease-out_both_reverse]`}`,style:{backgroundColor:Ct},children:se&&(0,W.jsx)(pt,{imageUrl:se,animateIn:!1})})]})}),(0,W.jsx)(ee,{open:b&&O,title:`Continue in the background?`,message:C.backgroundConfirmMessage,confirmLabel:`Continue`,cancelLabel:`Keep waiting`,onConfirm:ye,onCancel:be})]});function V(){return l===`provisioning`?w.confirmError||w.targetsError?(0,W.jsx)(at,{onGoToBilling:t,direction:S}):(0,W.jsx)(Vt,{state:w.state,direction:S,softWaiting:w.softWaiting,intent:m,creditsChange:o?a?.credits:void 0,targets:te??$t,fromSnapshot:P,machineFloor:w.machineFloor,landed:w.landed,celebrating:ge,onCelebrationEnd:ve,assistantId:A,escapeAvailable:O&&w.escapeEligible,onEscape:R,onPhaseChange:_,kickError:w.kickError,confirm:{onRetry:w.retryConfirm,onGoToBilling:t},dwellMs:n,phaseMinMs:r}):l===`domain`?(0,W.jsx)(it,{machineBusy:O,assistantId:A,onExit:()=>u(`complete`)}):(0,W.jsx)(X,{assistantId:A,direction:S})}}function tn(e){return e!=null&&!e.customized}function nn(e){return tn(e)?e.name:`Custom`}var rn=[`mighty`,`super`,`ultra`],an=[`free`,...rn];function on(e){return an.indexOf(e)}function sn(e,t){if(e===null)return`upgrade`;let n=on(e),r=on(t);return n===-1||r===-1?`upgrade`:r===n?`current`:r<n?`downgrade`:`upgrade`}function cn(e,t){if(e.length===0)return null;let n=[...e].sort((e,t)=>rn.indexOf(e.key)-rn.indexOf(t.key));if(!t)return n[0];let r=n.findIndex(e=>e.key===t);return r===-1?n[0]:r>=n.length-1?null:n[r+1]}var ln={free:{bodyShape:`ninja`,eyeStyle:`angry`,color:`yellow`},mighty:{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`},super:{bodyShape:`urchin`,eyeStyle:`goofy`,color:`teal`},ultra:{bodyShape:`sprout`,eyeStyle:`curious`,color:`orange`}};function un({tier:e,size:t=40}){let n=ln[e]??ln.free,r=Te();return(0,W.jsx)(`div`,{"aria-hidden":!0,className:`inline-flex shrink-0`,children:r?(0,W.jsx)(we,{components:r,bodyShapeId:n.bodyShape,colorId:n.color,size:t}):(0,W.jsx)(`div`,{style:{width:t,height:t}})})}var dn={free:{tagline:`Get to know your assistant.`,cta:`Start Free`,priceCaption:`Forever`},mighty:{tagline:`More capacity for consistent use.`,cta:`Power Up`,priceCaption:`Billed monthly`,recommended:!0},super:{tagline:`Do more, think less about the how.`,cta:`Go Super`,priceCaption:`Billed monthly`,extraFeatures:[`Assistant email and subdomain`]},ultra:{tagline:`Your second brain, running full speed.`,cta:`Unleash Ultra`,priceCaption:`Billed monthly`,extraFeatures:[`Assistant email and subdomain`]}};function fn(e){return dn[e]}function pn(e){return`Downgrade to ${e}`}var mn=`Small`;function hn(e){return e?.machine_size?Oe[e.machine_size]??e.machine_size:mn}function gn(e){let t=e.credits_usd??0,n=fn(e.key)?.extraFeatures??[];return[{icon:U,label:`${hn(e)} Machine`},{icon:y,label:`${e.storage_gib} GB Storage`},{icon:_,label:`${Z(t*100)} in credits included`},...n.map(e=>({icon:S,label:e}))]}function _n(){return[{icon:U,label:`${mn} Machine`},{icon:y,label:`4 GB Storage`},{icon:_,label:`Pay as you go credits`}]}function vn(e,t=[]){let n=e?.credits_usd??0,r=e?.storage_gib??4,i=Ae[e?.machine_size??`small`];return[`${hn(e)} machine${i?` (${i})`:``}`,ct(r),lt(n),...t]}var yn={machine:`Configurable machine size`,storage:`Configurable storage`,credits:`Pay-as-you-go and bundled credits`};function bn(e,t){let n=[`${e.machineTier?H[e.machineTier]??t.machine_tiers.find(t=>t.tier===e.machineTier)?.label??e.machineTier:mn} Machine`];if(e.storageGib!=null&&n.push(`${e.storageGib} GB`),e.creditTier!=null){let r=ht(t,e.creditTier)?.credits_usd??mt(e.creditTier);n.push(r==null?`Credit bundle`:`${r} credits/mo`)}return n}function xn(e,t){let n=new Set([yn.machine]);return e.storageGib!=null&&n.add(yn.storage),e.creditTier!=null&&n.add(yn.credits),[...bn(e,t),...t.included_features.filter(e=>!n.has(e))]}var Sn=`billing-portal-return-snapshot`;function Cn(e){try{sessionStorage.removeItem(Sn),sessionStorage.setItem(Sn,JSON.stringify(e))}catch{}}function wn(){if(typeof sessionStorage>`u`)return null;try{let e=sessionStorage.getItem(Sn);if(!e)return null;let t=JSON.parse(e);return typeof t.cancel_at_period_end!=`boolean`||typeof t.plan_id!=`string`?null:{cancel_at_period_end:t.cancel_at_period_end,cancel_at:t.cancel_at??null,plan_id:t.plan_id}}catch{return null}}function Tn(){try{sessionStorage.removeItem(Sn)}catch{}}function En(e){return e?{cancel_at_period_end:e.cancel_at_period_end,cancel_at:e.cancel_at??null,plan_id:e.plan_id}:null}function Dn(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`long`,day:`numeric`})}function On(e){return e?e.cancel_at??e.current_period_end??null:null}function kn(e){let t=s();return(0,G.useEffect)(()=>F(()=>{t.invalidateQueries(ye())}),[t]),ue({onSuccess:t=>{e&&Cn(e),se(t.portal_url)},onError:()=>{E.error(`Couldn't open the billing portal. Please try again.`,{id:`billing-portal-session-error`})}})}function An(e){return e.disabled===!0}function jn({machineTiers:e,storageTiers:t,selectedMachineTier:n,selectedStorageTier:r,onMachineTierChange:i,onStorageTierChange:a,currentMachinePriceCents:o,currentStoragePriceCents:s}){let c=(0,G.useMemo)(()=>e.map(e=>{let t=H[e.tier]??e.label,n=o==null?`+${Q(e.price_cents)}`:e.price_cents===o?`(${Q(e.price_cents)}, current)`:st(e.price_cents-o);return{value:e.tier,label:`${t} ${n}`,disabled:An(e)}}),[e,o]),l=(0,G.useMemo)(()=>t.map(e=>{let t=s==null?`+${Q(e.price_cents)}`:e.price_cents===s?`(${Q(e.price_cents)}, current)`:st(e.price_cents-s);return{value:e.tier,label:`${e.storage_gib} GB ${t}`,disabled:An(e)}}),[t,s]);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(d,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:`Machine`}),(0,W.jsx)(`span`,{title:`Determines the CPU and memory allocated to your assistant`,children:(0,W.jsx)(b,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,W.jsx)(D,{"aria-label":`Machine tier`,placeholder:`Select a machine tier`,value:n??``,onChange:i,options:c})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(d,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:`Storage`}),(0,W.jsx)(`span`,{title:`Persistent disk space for your assistant's files and data`,children:(0,W.jsx)(b,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,W.jsx)(D,{"aria-label":`Storage tier`,placeholder:`Select a storage tier`,value:r??``,onChange:a,options:l})]})]})}var Mn=new Set([`active`,`trialing`,`past_due`]);function Nn(e){return e.plan_id!==`base`&&e.cancel_at_period_end!==!0&&!e.cancel_at&&e.status!=null&&Mn.has(e.status)}var Pn=[`target_plan_id`,`confirm`,`machine_tier`,`storage_tier`,`credit_tier`,`package`,`non_field_errors`];function Fn(e,t){if(e&&typeof e==`object`){for(let t of Pn)if(t in e){let n=e[t];if(Array.isArray(n)&&typeof n[0]==`string`)return n[0]}if(`detail`in e&&typeof e.detail==`string`)return e.detail}return t}function In(e,t){let n=e.filter(e=>!An(e));return t!==null&&n.some(e=>e.tier===t)?t:n[0]?.tier??null}function Ln(e,t,n){return t===void 0?n:t!==null&&(t===n||e.some(e=>e.tier===t))?t:null}function Rn(e){return e.length?Math.min(...e.map(e=>e.price_cents)):0}function zn(){let e=s(),t=l(me());return{changePackage:async n=>{try{let r=await t.mutateAsync({body:{package:n}});return await Promise.all([e.invalidateQueries({queryKey:pe()}),e.invalidateQueries({queryKey:R()}),e.invalidateQueries({queryKey:ge()})]),r}catch(e){return E.error(Fn(e,`Failed to change your plan. Please try again.`)),null}},isPending:t.isPending}}function Bn({className:e,"data-testid":t,children:n}){return(0,W.jsx)(`div`,{"aria-hidden":!0,"data-testid":t,className:Se(`flex size-[52px] shrink-0 items-center justify-center rounded-xl`,e),children:n})}var Vn=32;function Hn(){let{ready:e,avatar:t}=bt();return(0,W.jsx)(Bn,{"data-testid":`assistant-avatar-tile`,className:`bg-[var(--surface-active)]`,children:e?(0,W.jsx)(V,{components:t.components,traits:t.traits,customImageUrl:t.customImageUrl,size:Vn}):null})}var Un=`Billed monthly · prorated difference charged today`,Wn=`Billed monthly · prorated difference charged today or credited next invoice`,Gn=`Billed monthly · prorated credit on your next invoice`,Kn=`Your machine downsizes now and your storage stays. No refund.`,qn=`Continue`,Jn=`The plan includes`,Yn=`Your plan will include`;function Xn(e,t,n){let r=n?fn(n)?.tagline??``:``;switch(e){case`downgrade`:return{title:pn(t),subtitle:``,priceCaption:Gn,checklistHeading:Yn,note:Kn,confirmLabel:pn(t),destructive:!0};case`switch`:return{title:`Switch to ${t}`,subtitle:r,priceCaption:Wn,checklistHeading:Jn,note:``,confirmLabel:qn,destructive:!1};default:return{title:`Upgrade to ${t}`,subtitle:r,priceCaption:Un,checklistHeading:Jn,note:``,confirmLabel:qn,destructive:!1}}}function Zn({open:e,relation:t,packageName:r,targetPackage:i,pending:a,onCancel:o,onConfirm:s}){let c=(0,G.useRef)(null),l=(0,G.useId)(),u=Xn(t,r,i?.key??null),f=i?{price:Q(i.total_price_cents),highlights:vn(i,fn(i.key)?.extraFeatures??[])}:null,p=u.subtitle,m=u.note?{"aria-describedby":l}:p?{}:{"aria-describedby":void 0};return(0,W.jsx)(T.Root,{open:e,onOpenChange:e=>{!e&&!a&&o()},children:(0,W.jsxs)(T.Content,{size:`sm`,hideCloseButton:!0,className:`gap-4 p-4 max-w-[421px]`,onOpenAutoFocus:e=>{e.preventDefault(),c.current?.focus()},...m,children:[(0,W.jsxs)(T.Header,{className:`flex-row items-center gap-3 p-0 pb-2`,children:[u.destructive?(0,W.jsx)(Bn,{"data-testid":`package-switch-warning-tile`,className:`bg-[var(--system-negative-weak)]`,children:(0,W.jsx)(C,{className:`size-6 text-[var(--system-negative-strong)]`})}):(0,W.jsx)(Hn,{}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,W.jsx)(T.Title,{className:`text-title-small text-[var(--content-emphasised)] [&>span]:whitespace-normal`,children:u.title}),p?(0,W.jsx)(T.Description,{className:`mt-0 text-body-medium-default text-[var(--content-tertiary)]`,children:p}):null]})]}),f?(0,W.jsxs)(T.Body,{className:`flex flex-col gap-4 p-0`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,W.jsx)(d,{as:`p`,variant:`title-large`,className:`text-[var(--content-default)]`,children:f.price}),(0,W.jsx)(d,{as:`p`,variant:`label-medium-default`,className:`leading-[15px] text-[var(--content-tertiary)]`,children:u.priceCaption})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:u.checklistHeading}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:f.highlights.map(e=>(0,W.jsxs)(`li`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(g,{className:`size-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,W.jsx)(d,{as:`span`,variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]},e))})]}):null,u.note?(0,W.jsx)(d,{id:l,as:`p`,variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:u.note}):null,(0,W.jsxs)(T.Footer,{className:`flex-col gap-4 p-0`,children:[(0,W.jsx)(n,{fullWidth:!0,variant:u.destructive?`danger`:`primary`,onClick:s,disabled:a,"data-testid":`confirm-package-switch-button`,children:u.confirmLabel}),(0,W.jsx)(n,{ref:c,fullWidth:!0,variant:`ghost`,onClick:o,disabled:a,children:`Cancel`})]})]})})}function Qn(){let e=s();(0,G.useEffect)(()=>F(()=>{e.invalidateQueries({queryKey:pe()}),e.invalidateQueries({queryKey:R()}),e.invalidateQueries({queryKey:ge()})}),[e])}export{sn as A,Re as B,pn as C,tn as D,rn as E,Q as F,ot as I,ct as L,lt as M,st as N,cn as O,Z as P,Ke as R,gn as S,un as T,U as V,kn as _,Fn as a,_n as b,Ln as c,An as d,En as f,wn as g,On as h,Mn as i,en as j,nn as k,In as l,Dn as m,Zn as n,Nn as o,Tn as p,zn as r,Rn as s,Qn as t,jn as u,xn as v,fn as w,hn as x,bn as y,Y as z};
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,n as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{c as a,g as o,n as s}from"./QueryClientProvider-CMu7CkQU.js";import{t as c}from"./useQuery-Bz-fbQ-m.js";import{t as l}from"./useMutation-CXGTrp4W.js";import{t as u}from"./jsx-runtime-D3ZM-ToX.js";import{t as d}from"./typography-BeUa5Fd-.js";import{t as f}from"./createLucideIcon-C1mdGPB9.js";import{t as p}from"./arrow-right-UTImTy7b.js";import{t as m}from"./check-DSgjgwlo.js";import{t as h}from"./circle-alert-De9q5FVd.js";import{t as g}from"./circle-check-q8BVdbgw.js";import{t as _}from"./coins-CJ7Ik1IC.js";import{t as v}from"./cpu-mDttg6J1.js";import{t as y}from"./hard-drive-DsHzx0GK.js";import{t as b}from"./info-CXkwGlN_.js";import{t as x}from"./loader-circle-DOtGXcds.js";import{t as S}from"./mail-CYjppw70.js";import{t as C}from"./triangle-alert-CB4pJgCL.js";import{t as w}from"./notice-C0ifrvvJ.js";import{t as T}from"./modal-DI63s9MQ.js";import{n as E}from"./toast-BpuLSxyt.js";import{t as ee}from"./confirm-dialog-zx8L9sUi.js";import{t as D}from"./select-B8-i-CZ4.js";import{n as O}from"./resolved-assistants-store-BFI9c7ip.js";import{Z as k,d as te,f as A,p as j,tt as ne,u as M}from"./auth-store-DkOiOQNx.js";import{I as re,P as ie,f as ae}from"./platform-detection-C_TK32Dw.js";import{d as N}from"./routes-iipg2wkc.js";import{n as P}from"./use-assistant-avatar-Dd-EU1FC.js";import{r as oe}from"./use-is-org-ready-BmOdacs1.js";import{n as se,r as F}from"./browser-BP3Xidk_.js";import{C as ce,O as le,Tt as ue,c as de,ct as fe,dt as pe,et as I,it as me,l as he,lt as ge,ot as L,r as _e,st as ve,tt as R,ut as ye,y as be}from"./react-query.gen-DKb3mEwJ.js";import{t as xe}from"./avatar-bundled-components-BCCi2IoG.js";import{r as z}from"./use-avatar-accent-var-B7jzoU_Q.js";import{t as Se}from"./misc-Z0jXGGeY.js";import{n as B,t as Ce}from"./avatar-tone-D1ZiIRxb.js";import{t as V}from"./chat-avatar-BPhNOZzd.js";import{t as we}from"./avatar-renderer-CsRuhhXn.js";import{n as Te}from"./use-bundled-avatar-components-CJR9zw0E.js";import{t as Ee}from"./android-consumption-only-BkXIkXls.js";import{c as De,i as Oe,l as ke,n as H,r as Ae,t as je}from"./machine-sizes-B2_svsFw.js";import{a as Me,i as Ne,n as Pe,r as Fe,t as Ie}from"./provisioning-targets-BQdyCh_j.js";import{t as Le}from"./environment-store-CFfbiF-5.js";var U=f(`computer`,[[`rect`,{width:`14`,height:`8`,x:`5`,y:`2`,rx:`2`,key:`wc9tft`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h2`,key:`rwmk9e`}],[`path`,{d:`M12 18h6`,key:`aqd8w3`}]]),W=u();function Re({children:e,redirectToBilling:t=!1}){return ae()?t?(0,W.jsx)(i,{replace:!0,to:N.settings.usageBilling}):(0,W.jsx)(w,{tone:`info`,children:Ee}):e}var G=e(t(),1);function ze({icon:e}){return(0,W.jsx)(`span`,{className:`flex h-11 w-11 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--system-negative-strong) 12%, transparent)`},children:(0,W.jsx)(e,{className:`h-5 w-5`,style:{color:`var(--system-negative-strong)`},"aria-hidden":`true`})})}var Be={fontFamily:`var(--font-serif)`,fontSize:`32px`,fontWeight:400,lineHeight:1.2,letterSpacing:`0.64px`};function Ve({title:e,subtitle:t}){return(0,W.jsxs)(`header`,{className:`flex flex-col items-center gap-2 pt-12 text-center`,children:[(0,W.jsx)(`h2`,{className:`text-[var(--content-emphasised)]`,style:Be,children:e}),t&&(0,W.jsx)(`p`,{className:`text-[14px] font-normal text-[var(--content-secondary)]`,children:t})]})}var He=[{bodyShape:`star`,eyeStyle:`curious`,color:`yellow`,size:103,position:`-left-[28px] -top-[33px]`,rotate:180},{bodyShape:`star`,eyeStyle:`curious`,color:`orange`,size:109,position:`left-[63%] -top-[62px] -translate-x-1/2`,rotate:-8},{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`,size:76,position:`-right-[25px] top-[60px]`,rotate:1},{bodyShape:`stack`,eyeStyle:`gentle`,color:`purple`,size:110,position:`-left-[39px] top-[74%]`,rotate:0},{bodyShape:`urchin`,eyeStyle:`goofy`,color:`pink`,size:137,position:`-right-[42px] -bottom-[40px]`,rotate:180},{bodyShape:`sprout`,eyeStyle:`curious`,color:`orange`,size:72,position:`left-[37%] -bottom-[22px] -translate-x-1/2`,rotate:0}],K=[{bodyShape:`star`,eyeStyle:`curious`,color:`yellow`,size:103,position:`-left-[28px] -top-[33px]`,rotate:180},{bodyShape:`star`,eyeStyle:`curious`,color:`orange`,size:109,position:`left-[63%] -top-[62px] -translate-x-1/2`,rotate:-8},{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`,size:76,position:`-right-[25px] top-[60px]`,rotate:1}];function q({variant:e=`full`}){let t=Te();return t?(0,W.jsx)(`div`,{"aria-hidden":`true`,"data-testid":`creature-corners`,className:`pointer-events-none absolute inset-0 select-none`,children:(e===`top`?K:He).map((e,n)=>(0,W.jsx)(`span`,{className:`absolute ${e.position}`,style:{rotate:`${e.rotate}deg`},children:(0,W.jsx)(we,{components:t,bodyShapeId:e.bodyShape,eyeStyleId:e.eyeStyle,colorId:e.color,size:e.size})},n))}):null}var Ue={waitingStatus:`Upgrading your assistant…`,snagStatus:`We hit a snag upgrading your assistant`,snagCaption:`Retry in the background and we'll keep working on your upgrade.`,confirmingStatus:`Confirming your upgrade…`,confirmTimeoutStatus:`Still confirming your upgrade`,confirmTimeoutCaption:`Your payment went through safely. This can take a minute.`,backgroundConfirmMessage:`Your assistant is still upgrading. Chatting won't be available until it finishes. You can keep waiting here, or continue and we'll let you know when it's ready.`,backgroundExitToast:`Your upgrade continues in the background.`,backgroundRetryToast:`We'll retry your upgrade in the background.`,completeSubtitle:`Enjoy the new found power.`,fetchErrorBody:`We hit a problem checking your subscription. Your upgrade may still be processing. Return to billing to refresh.`},We={waitingStatus:`Updating your assistant…`,snagStatus:`We hit a snag updating your assistant`,snagCaption:`Retry in the background and we'll keep working on your plan change.`,confirmingStatus:`Confirming your plan change…`,confirmTimeoutStatus:`Still confirming your plan change`,confirmTimeoutCaption:`Your plan change was submitted. This can take a minute.`,backgroundConfirmMessage:`Your assistant is still updating. Chatting won't be available until it finishes. You can keep waiting here, or continue and we'll let you know when it's ready.`,backgroundExitToast:`Your plan change continues in the background.`,backgroundRetryToast:`We'll retry your plan change in the background.`,completeSubtitle:`Your plan changes are live.`,fetchErrorBody:`We hit a problem checking your subscription. Your plan change may still be processing. Return to billing to refresh.`},Ge={upgrade:Ue,downgrade:We,change:We};function J(e=`upgrade`){return Ge[e]}function Y(e,t=!0){let{data:n}=c({..._e(),enabled:t&&e==null}),{data:r}=c({...le({path:{id:e??``}}),enabled:t&&e!=null});return e==null?n:r}function X({assistantId:e,direction:t}){let i=r(),a=Y(e,oe())?.name||`your assistant`;return(0,W.jsxs)(`div`,{className:`relative flex min-h-[320px] flex-col items-center justify-center overflow-hidden px-8 pb-16 [animation:onboarding-step-in_350ms_ease-out] motion-reduce:[animation:none]`,children:[(0,W.jsx)(q,{variant:`full`}),(0,W.jsxs)(`div`,{className:`relative flex w-full flex-col items-center`,children:[(0,W.jsx)(Ve,{title:`You're all set!`,subtitle:J(t).completeSubtitle}),(0,W.jsx)(`div`,{className:`mt-10 flex w-full flex-col items-center gap-10`,children:(0,W.jsxs)(n,{variant:`primary`,"data-testid":`onboarding-complete-return`,onClick:()=>{e!=null&&k(e),i(N.assistant,{replace:!0})},children:[`Return to `,a]})})]})]})}function Ke(e=!0,t){let n=Y(t,e),r=t??n?.id,{data:i,isError:a,isFetching:o,dataUpdatedAt:s,errorUpdatedAt:l}=c({...de({path:{assistant_id:r??``}}),enabled:e&&!!r});return{assistant:n,assistantId:r,domains:i,domainsError:a,domainsFetching:o,domainsUpdatedAt:s,domainsErrorUpdatedAt:l}}var qe=1e3,Je=1e4,Ye=2500,Xe=2e3,Ze=1e4,Qe=[`machine_size`,`subdomain`,`non_field_errors`],$e={subdomain_taken:`That subdomain is already taken. Try another.`,assistant_already_has_domain:`Your assistant already has a custom domain.`,no_assistant_to_attach_domain:`We couldn't find an assistant to attach this domain to.`,exceeds_machine_tier:`That machine size isn't available on your plan.`,provisioning_submission_failed:`We couldn't queue your upgrade just now. Try again in a moment.`,no_active_pro:`We couldn't confirm your Pro plan yet. Try again in a moment.`,no_provisionable_assistants:`We couldn't find an assistant to upgrade yet. Try again in a moment.`},et={provisioning_submission_failed:`We couldn't queue your plan change just now. Try again in a moment.`,no_provisionable_assistants:`We couldn't find an assistant to update yet. Try again in a moment.`};function tt(e,t,n=`upgrade`){if(e&&typeof e==`object`){let t=e;if(typeof t.error==`string`){let e=(n===`upgrade`?void 0:et[t.error])??$e[t.error];if(e)return e}for(let e of Qe){let n=t[e];if(Array.isArray(n)&&typeof n[0]==`string`)return n[0]}if(typeof t.detail==`string`)return t.detail}return t}var nt=`h-8 rounded-lg border border-[var(--border-element)] bg-[var(--field-bg)] px-2.5 text-[14px] text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none transition-[border-color] duration-150 focus:border-[var(--border-active)] disabled:cursor-not-allowed disabled:opacity-60`,rt=`text-[11px] font-medium text-[var(--content-secondary)]`;function it({onExit:e,machineBusy:t=!1,assistantId:r}){let i=s(),a=Le.use.emailRootDomain(),{assistant:o,assistantId:c,domains:u}=Ke(!0,r),d=u?.results[0],[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(`hi`),[g,_]=(0,G.useState)(!1);(0,G.useEffect)(()=>{if(!g){if(d){p(d.subdomain),_(!0);return}!o?.handle||f||(p(o.handle),_(!0))}},[o?.handle,d,g,f]);let[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(!1),S=l(L()),C=!!d||b,E=S.isPending||b;return(0,G.useEffect)(()=>{if(!b)return;let t=setTimeout(e,800);return()=>clearTimeout(t)},[b,e]),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(T.Body,{className:`animate-[onboarding-step-in_350ms_ease-out] space-y-6 pb-0 motion-reduce:animate-none`,children:[(0,W.jsx)(q,{variant:`top`}),(0,W.jsx)(Ve,{title:`Assistant Email`,subtitle:`Set up an email for your assistant.`}),(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`label`,{htmlFor:`onboarding-email-prefix`,className:rt,children:`Prefix`}),(0,W.jsx)(`input`,{id:`onboarding-email-prefix`,value:m,onChange:e=>h(e.target.value.toLowerCase().trim()),disabled:E||C,readOnly:C,placeholder:`hi`,className:`${nt} w-24`})]}),(0,W.jsx)(`span`,{className:`flex h-8 items-center text-[var(--content-secondary)]`,children:`@`}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,W.jsx)(`label`,{htmlFor:`onboarding-email-handle`,className:rt,children:`Handle (public)`}),(0,W.jsx)(`input`,{id:`onboarding-email-handle`,value:f,onChange:e=>{p(e.target.value.toLowerCase().trim()),v&&y(null)},disabled:E||C,readOnly:C,autoFocus:!0,placeholder:`my-assistant`,"aria-invalid":!!v,className:`${nt} w-full min-w-0`})]}),(0,W.jsxs)(`span`,{className:`flex h-8 shrink-0 items-center text-[14px] text-[var(--content-tertiary)]`,children:[`.`,a]})]}),v&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:v}),C&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`This domain has been set and cannot be changed.`})]}),t&&!C&&(0,W.jsx)(w,{tone:`neutral`,children:`Your assistant is restarting — you can set the domain in a moment.`}),!C&&(0,W.jsx)(w,{tone:`info`,className:`border-transparent bg-[var(--surface-active)]`,children:(0,W.jsx)(`span`,{className:`font-medium text-[var(--content-tertiary)]`,children:`You won't be able to change the handle once set.`})}),b?(0,W.jsx)(w,{tone:`success`,children:`Domain set — redirecting…`}):null]}),(0,W.jsx)(T.Footer,{className:`items-center pt-6`,children:C?(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-domain-continue`,onClick:e,children:`Continue`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(n,{variant:`outlined`,"data-testid":`onboarding-domain-skip`,disabled:E,onClick:()=>{E||S.mutate({body:{skipped:!0}},{onSuccess:e,onError:()=>e()})},children:`Skip`}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-domain-set`,disabled:!f||E||t,onClick:()=>{E||t||!f||S.mutate({body:{subdomain:f,...m?{email_username:m}:{}}},{onSuccess:()=>{y(null),x(!0),i.invalidateQueries({queryKey:be()}),i.invalidateQueries({queryKey:he({path:{assistant_id:c??``}})}),i.invalidateQueries({queryKey:ge()})},onError:e=>{y(tt(e,`Couldn't register that subdomain. Try a different one.`))}})},children:`Next`})]})})]})}function at({onGoToBilling:e,direction:t}){return(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-4 px-6 py-10 text-center`,children:[(0,W.jsx)(ze,{icon:h}),(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,W.jsx)(d,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,W.jsx)(d,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:J(t).fetchErrorBody})]}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-go-to-billing`,onClick:e,children:`Go to billing`})]})}function Z(e){let t=e/100;return Number.isInteger(t)?`$${t}`:`$${t.toFixed(2)}`}function Q(e){return`${Z(e)}/mo`}function ot(e){return`${Z(e)}/month`}function st(e){return`${e>0?`+`:`−`}${Z(Math.abs(e))}/mo`}function ct(e){return`${e} GB storage`}function lt(e){return`${Z(e*100)} of bundled credits`}function ut(e){let{targets:t,fromSnapshot:n,machineFloor:r,credits:i}=e,a=[];return t.machineSize==null?r!=null&&n.machineSize!=null&&n.machineSize!==r&&a.push({key:`machine`,label:`Machine`,from:Oe[n.machineSize],to:Oe[r]}):n.machineSize!==t.machineSize&&a.push({key:`machine`,label:`Machine`,from:n.machineSize==null?void 0:Oe[n.machineSize],to:Oe[t.machineSize]}),t.storageGib!=null&&(n.storageGib==null||t.storageGib>n.storageGib)&&a.push({key:`storage`,label:`Storage`,from:n.storageGib==null?void 0:`${n.storageGib} GB`,to:`${t.storageGib} GB`}),i!=null&&a.push({key:`credits`,label:`Credits`,from:i.from,to:i.to}),a}var dt=60,ft=dt*2;function pt({imageUrl:e,animateIn:t=!0}){return(0,W.jsxs)(`div`,{"aria-hidden":!0,"data-testid":`takeover-backdrop`,className:`pointer-events-none absolute inset-0 overflow-hidden${t?` provision-avatar-reveal`:``}`,children:[(0,W.jsx)(`img`,{src:e,alt:``,decoding:`async`,draggable:!1,className:`absolute left-1/2 top-1/2 max-w-none -translate-x-1/2 -translate-y-1/2 object-cover object-center`,style:{filter:`blur(${dt}px)`,width:`calc(100% + ${ft*2}px)`,height:`calc(100% + ${ft*2}px)`}}),(0,W.jsx)(`div`,{className:`absolute inset-0 bg-black/55`})]})}function mt(e){let t=e?.match(/^credits_(\d+)$/)?.[1];return t==null?null:Number(t)}function ht(e,t){if(t!=null)return e?.credit_tiers?.find(e=>e.tier===t)}function gt(e){let t=oe(),{data:n}=c({...I(),enabled:t&&e});return n?.plans.find(e=>e.id===`pro`)}function _t(e,t){return t==null?0:ht(e,t)?.credits_usd??mt(t)}function vt(e){let t=gt(e!=null);if(e==null||t==null)return null;let n;if(e.kind===`package`){let r=t.packages.find(t=>t.key===e.packageKey);n=r?.credits_usd??ht(t,r?.credit_tier)?.credits_usd}else n=ht(t,e.creditTier)?.credits_usd;return n==null?null:{fromUsd:0,toUsd:n}}function yt(e){let t=gt(e!=null);if(e==null)return null;let n=_t(t,e.fromTier),r=_t(t,e.toTier);return n==null||r==null?null:{fromUsd:n,toUsd:r}}function bt(e){let t=O.use.activeAssistantId(),n=e===void 0?t:e,{components:r,traits:i,customImageUrl:a,isLoading:o}=P(n),s=(0,G.useMemo)(()=>A(),[j()]),c=s!=null&&te(s)?s:null,l=n!=null&&!o,u=c!=null&&(n==null||n===c.assistantId),d=u&&!(l&&(r!=null||i!=null||a!=null))?c:null,f=d?d.components:r,p=d?d.traits:i,m=d?null:a,h=l||u,g=z(f,p)??(m?null:(f??xe).colors?.[0]?.hex??null);return{tintHex:h&&g?B(g):Ce,backdropImageUrl:h?m:null,ready:h,avatar:{components:f,traits:p,customImageUrl:m}}}function xt(e,t){let[n,r]=(0,G.useState)(e),i=(0,G.useRef)(0);return(0,G.useEffect)(()=>{i.current=performance.now()},[]),(0,G.useEffect)(()=>{if(t<=0||e===n)return;let a=t-(performance.now()-i.current);if(a<=0){i.current=performance.now(),r(e);return}let o=setTimeout(()=>{i.current=performance.now(),r(e)},a);return()=>clearTimeout(o)},[e,n,t]),t<=0?e:n}var St=`--takeover-surface`,Ct=`var(${St},${Ce})`,wt=`color-mix(in srgb, var(--content-emphasised) 10%, transparent)`,Tt=240,Et=1.414,Dt=[{minHeight:680,size:Tt},{minHeight:600,size:184}],Ot=132;function kt(e){for(let t of Dt)if(e>=t.minHeight)return t.size;return Ot}function At(){let[e,t]=(0,G.useState)(()=>kt(typeof window>`u`?1/0:window.innerHeight));return(0,G.useEffect)(()=>{let e=()=>t(kt(window.innerHeight));return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}var jt={machine:v,storage:y,credits:_},Mt={idle:``,working:` is-working`,settling:` is-settling`,stalled:` is-stalled`,grown:` is-evolved`};function Nt(e,t){return e===`DONE`||e===`NOT_APPLICABLE`?`grown`:e===`STALLED`?`stalled`:e===`WAITING`||e===`RESIZING`?t?`settling`:`working`:`idle`}function Pt({assistantId:e,mode:t,downsizing:n=!1}){let{avatar:r,ready:i}=bt(e),a=Te(),o=At(),s=t===`working`||t===`settling`;return(0,W.jsxs)(`div`,{"aria-hidden":!0,className:`provision-avatar-evolve relative z-10 flex flex-col items-center${Mt[i?t:`idle`]}${n?` is-downsizing`:``}`,style:{"--provision-avatar-size":`${o}px`,"--provision-avatar-growth":Et},children:[(0,W.jsxs)(`div`,{className:`provision-avatar-stage`,children:[(0,W.jsx)(`div`,{"data-testid":`provision-avatar-placeholder`,className:`provision-avatar-placeholder${i?` is-resolved`:``}`}),(0,W.jsx)(`div`,{className:`provision-avatar-layer`,children:(0,W.jsx)(`div`,{className:`provision-avatar-current`,children:(0,W.jsx)(`div`,{className:`provision-avatar-strain`,children:i&&(0,W.jsx)(`div`,{className:`provision-avatar-reveal`,children:(0,W.jsx)(V,{components:r.components??a,traits:r.traits,customImageUrl:r.customImageUrl,size:o,isAssistantBusy:s})})})})})]}),(0,W.jsx)(`div`,{className:`provision-avatar-shadow`})]})}function $({status:e,caption:t}){return(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,W.jsx)(`h1`,{className:`text-[var(--content-emphasised)]`,style:Be,children:e}),t&&(0,W.jsx)(d,{variant:`body-medium-lighter`,as:`p`,className:`max-w-sm text-[var(--content-secondary)]`,children:t})]})}function Ft({icon:e,label:t,from:n,to:r,done:i=!1,pending:a=!1,testId:o}){let s=null;return i?s=`Complete`:a&&(s=`Pending`),(0,W.jsxs)(`div`,{"data-testid":o,className:`flex min-w-0 flex-auto items-center gap-2 rounded-lg px-2 py-1.5${a?` opacity-70`:``}`,style:{backgroundColor:wt},children:[(0,W.jsx)(`span`,{className:`hidden h-6 w-6 shrink-0 items-center justify-center min-[420px]:flex`,children:(0,W.jsx)(e,{className:`h-3.5 w-3.5 text-[var(--content-tertiary)]`,"aria-hidden":`true`})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 text-left wrap-anywhere`,children:[(0,W.jsx)(`span`,{className:`text-[12px] font-medium leading-tight text-[var(--content-tertiary)]`,children:t}),(0,W.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5 text-[14px] font-medium leading-[18px] text-[var(--content-emphasised)]`,children:[n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:n}),(0,W.jsx)(`span`,{className:`sr-only`,children:`to`}),(0,W.jsx)(p,{className:`h-3 w-3 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":`true`})]}),(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,W.jsx)(`span`,{children:r}),i?(0,W.jsx)(m,{"data-testid":`chip-check`,className:`h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}):a&&(0,W.jsx)(x,{"data-testid":`chip-spinner`,className:`h-3.5 w-3.5 shrink-0 animate-spin text-[var(--content-tertiary)] motion-reduce:animate-none`,"aria-hidden":`true`})]}),s&&(0,W.jsx)(`span`,{className:`sr-only`,children:s})]})]})]})}function It({label:e}){return(0,W.jsx)(`span`,{className:`rounded-lg px-3 py-2 text-[14px] text-[var(--content-emphasised)]`,style:{backgroundColor:wt},children:e})}function Lt({children:e,wide:t=!1,testId:n}){return(0,W.jsx)(`div`,{"data-testid":n,className:`flex w-full ${t?`max-w-2xl`:`max-w-sm`} items-stretch justify-center gap-2`,children:e})}function Rt(e,t){return e===`credits`?!0:t?.[e]===!0}function zt({intent:e,creditsChange:t,targets:n,fromSnapshot:r,machineFloor:i,landed:a,allDone:o=!1,creditsOnly:s=!1}){let c=vt(e),l=yt(t),u=c??l,d=ut({targets:n,fromSnapshot:r,machineFloor:i,credits:u==null?null:{from:Q(u.fromUsd*100),to:Q(u.toUsd*100)}}),f=s?d.filter(e=>e.key===`credits`):d,p=f.filter(e=>o||Rt(e.key,a)).map(e=>e.label).join(`, `),[m]=(0,G.useState)(p),h=p===m?``:`${p} complete`;return f.length===0?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Lt,{testId:`resource-chips`,wide:f.length>=3,children:f.map(e=>{let t=o||Rt(e.key,a);return(0,W.jsx)(Ft,{testId:`chip-${e.key}`,icon:jt[e.key],label:e.label,from:e.from,to:e.to,done:t,pending:!t},e.key)})}),(0,W.jsx)(`p`,{"aria-live":`polite`,className:`sr-only`,"data-testid":`chip-announcement`,children:h})]})}function Bt({intent:e}){if(e.kind===`package`)return(0,W.jsx)(Lt,{children:(0,W.jsx)(It,{label:`${e.packageKey.charAt(0).toUpperCase()+e.packageKey.slice(1)} package`})});let t=[e.machineTier,e.storageTier,e.creditTier].filter(e=>e!=null).length;return(0,W.jsxs)(Lt,{wide:t>=3,children:[e.machineTier!=null&&(0,W.jsx)(Ft,{icon:v,label:`Machine`,to:H[e.machineTier]??e.machineTier}),e.storageTier!=null&&(0,W.jsx)(Ft,{icon:y,label:`Storage`,to:e.storageTier.toUpperCase()}),e.creditTier!=null&&(0,W.jsx)(It,{label:`${e.creditTier.replace(`credits_`,``)} credits`})]})}function Vt({state:e,direction:t,softWaiting:r,intent:i,creditsChange:a,targets:o,fromSnapshot:s,machineFloor:c,landed:l,celebrating:u,onCelebrationEnd:d,assistantId:f,escapeAvailable:p,onEscape:m,onPhaseChange:h,kickError:g,confirm:_,dwellMs:v=Ye,phaseMinMs:y=900}){let b=J(t),x=(0,G.useRef)(d);(0,G.useEffect)(()=>{x.current=d},[d]);let S=xt(e,y),C=S===`DONE`||S===`NOT_APPLICABLE`,w=S===`RESIZING`?`WAITING`:S,T=(0,G.useRef)(h);(0,G.useEffect)(()=>{T.current=h},[h]),(0,G.useEffect)(()=>{T.current?.(S)},[S]);let{tintHex:E,backdropImageUrl:ee}=bt(f),D=u&&C;return(0,G.useEffect)(()=>{if(!D)return;let e=setTimeout(()=>x.current(),v);return()=>clearTimeout(e)},[D,v]),(0,W.jsxs)(`div`,{"data-theme":`dark`,className:`provision-surface-settle relative flex h-full min-h-[420px] w-full flex-col items-center [justify-content:safe_center] gap-10 px-6 py-10 text-center`,style:{[St]:E,backgroundColor:Ct},children:[ee&&(0,W.jsx)(pt,{imageUrl:ee}),(0,W.jsx)(Pt,{assistantId:f,mode:Nt(S,r),downsizing:t===`downgrade`}),(0,W.jsx)(`div`,{className:`relative z-10 flex min-h-[144px] w-full flex-col items-center gap-8 [animation:onboarding-step-in_420ms_ease-out] motion-reduce:[animation:none]`,children:te()},w)]});function O(e=`Continue in the background`){return p?(0,W.jsx)(n,{variant:`ghost`,"data-testid":`provisioning-escape`,onClick:m,children:e}):null}function k({allDone:e=!1,creditsOnly:t=!1}={}){return(0,W.jsx)(zt,{intent:i,creditsChange:a,targets:o,fromSnapshot:s,machineFloor:c,landed:l,allDone:e,creditsOnly:t})}function te(){if(S===`CONFIRMING`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.confirmingStatus,caption:`This might take a couple seconds.`}),i&&(0,W.jsx)(Bt,{intent:i}),O()]});if(S===`WAITING`||S===`RESIZING`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.waitingStatus,caption:r?`Still working — this can take a minute or two.`:`This might take a couple seconds.`}),k(),O()]});if(S===`DONE`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:`All done!`}),k({allDone:!0})]});if(S===`NOT_APPLICABLE`)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:`Your plan is ready`}),k({allDone:!0,creditsOnly:!0})]});if(S===`STALLED`){let e=g!=null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:e?b.snagStatus:`This is taking longer than expected`,caption:e?tt(g,b.snagCaption,t):`This may take a couple of minutes.`}),k(),e?O(`Retry in the background`):O()]})}return S===`CONFIRM_TIMEOUT`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)($,{status:b.confirmTimeoutStatus,caption:b.confirmTimeoutCaption}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,W.jsx)(n,{variant:`outlined`,"data-testid":`onboarding-go-to-billing`,onClick:_.onGoToBilling,children:`Go to billing`}),(0,W.jsx)(n,{variant:`primary`,"data-testid":`onboarding-retry`,onClick:_.onRetry,children:`Try again`})]})]}):null}}function Ht(e){let{planId:t,targets:n,actuals:r,initialActuals:i,resizeOperationInFlight:a,sawOperation:o,msSinceWatchStart:s,confirmExpired:c,serverVerdict:l=null,statusObservedSinceTargetsMet:u=!0,targetsProveNoop:d=!0}=e;if(t!==`pro`)return{state:c?`CONFIRM_TIMEOUT`:`CONFIRMING`,softWaiting:!1};let f=o||a,p=l===`started`||l===`in_progress`,m=o||d&&u;if(!a){let e=p?m:f||l===`already_done`||i!=null&&!Me(n,i);if(Me(n,r)){if(e)return{state:`DONE`,softWaiting:!1};if(!p&&(d||l===`not_applicable`))return{state:`NOT_APPLICABLE`,softWaiting:!1}}else{if(l===`already_done`)return{state:`DONE`,softWaiting:!1};if(l===`not_applicable`)return{state:`NOT_APPLICABLE`,softWaiting:!1}}}return s!=null&&s>=9e4?{state:`STALLED`,softWaiting:!1}:f||l===`started`||l===`in_progress`?{state:`RESIZING`,softWaiting:!1}:{state:`WAITING`,softWaiting:s!=null&&s>=3e4}}var Ut=2e3,Wt=1e3,Gt=[`DONE`,`NOT_APPLICABLE`,`CONFIRM_TIMEOUT`],Kt={assistantId:null,machine:null,storage:null};function qt({open:e,canLowerResources:t=!1,verdictRecheckMs:n=Ze}){let r=s(),i=oe(),[u,d]=(0,G.useState)(!1),[f,p]=(0,G.useState)(0),[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(null),[S,C]=(0,G.useState)(null),[w,T]=(0,G.useState)(null),[E,ee]=(0,G.useState)(Kt),[D,O]=(0,G.useState)(null),[k,te]=(0,G.useState)(!1),A=(0,G.useRef)(!1),j=(0,G.useRef)(!1),M=(0,G.useRef)(0),[re,ie]=(0,G.useState)(!1),[ae,N]=(0,G.useState)(null),[P,se]=(0,G.useState)(null),[F,ue]=(0,G.useState)(null),[de,I]=(0,G.useState)(()=>Date.now()),[me,he]=(0,G.useState)(!0);(0,G.useEffect)(()=>{e||(d(!1),p(0),h(null),_(null),y(null),ie(!1),N(null),se(null),ue(null),he(!0),x(null),C(null),T(null),ee(Kt),O(null),te(!1),A.current=!1,j.current=!1,M.current+=1)},[e]),(0,G.useEffect)(()=>{e&&(h(Date.now()),r.invalidateQueries({queryKey:pe()}),r.invalidateQueries({queryKey:ge()}))},[e,r]);let L=g!=null,R=c({...ye(),refetchInterval:e=>e.state.data?.plan_id===`pro`||u?!1:qe,refetchIntervalInBackground:!1,enabled:e&&i&&!L}),be=(m!=null&&R.dataUpdatedAt>=m?R.data?.plan_id:null)??null;(0,G.useEffect)(()=>{if(!e||L||be!==`pro`)return;let t=Date.now();_(t),I(t)},[e,L,be]),(0,G.useEffect)(()=>{if(!e||L)return;let t=setTimeout(()=>d(!0),Je);return()=>clearTimeout(t)},[e,L,f]);let xe=(0,G.useCallback)(()=>{d(!1),p(e=>e+1),ne.getState().fetchOrganizations(),r.invalidateQueries({queryKey:pe()})},[r]),z=(0,G.useCallback)(()=>{let e=Date.now();y(e),I(e)},[]),{mutate:Se}=l(ve()),B=(0,G.useCallback)(e=>{let t=M.current;Se({},{onSuccess:n=>{t===M.current&&(O(null),Pe(n)?j.current?O({error:n.reason??`no_active_pro`}):(j.current=!0,te(!0),e===`escape`&&z()):(x(n.state),e===`escape`&&z()))},onError:e=>{t===M.current&&O(e)}})},[Se,z]);(0,G.useEffect)(()=>{!e||!i||!L||A.current||(A.current=!0,B(`auto`))},[e,i,L,B]),(0,G.useEffect)(()=>{if(!k)return;let e=M.current,t=setTimeout(()=>{te(!1),e===M.current&&B(`auto`)},Xe);return()=>clearTimeout(t)},[k,B]);let Ce=(0,G.useCallback)(()=>B(`escape`),[B]),V=c({...fe(),enabled:e&&i&&L}),we=me?Ut:!1,Te=c({..._e(),enabled:e&&i&&L,refetchInterval:e=>e.state.data?.id==null?we:!1,retry:!1}),Ee=L&&m!=null&&V.dataUpdatedAt>=m,Oe=Ee&&!V.isPending&&!V.isFetching,H=(Ee?V.data?.primary_assistant_id:null)??(V.isPending?null:Te.data?.id??null),Ae=c({...le({path:{id:H??`unresolved`}}),enabled:e&&i&&L&&H!=null,refetchInterval:we,retry:!1}),Le=ce({path:{id:H??`unresolved`}}),U=c({...Le,enabled:e&&i&&L&&H!=null,refetchInterval:we,retry:!1}),W=(0,G.useRef)(0),[Re,ze]=(0,G.useState)(0),Be=o(Le.queryKey);(0,G.useEffect)(()=>r.getQueryCache().subscribe(t=>{if(!(t.type!==`updated`||t.query.queryHash!==Be)){if(t.action.type===`fetch`)W.current+=1;else if(t.action.type===`success`&&!t.action.manual){let n=W.current,r=e&&Fe(t.action.data);a.schedule(()=>{ze(n),r&&(ie(!0),N(H))})}}}),[r,Be,e,H]);let Ve=Fe(U.data),He=ae===H,K=V.data,q=(0,G.useMemo)(()=>K?{machineSize:De(K.max_machine_tier),storageGib:K.selected_storage_gib??null}:null,[K]),Ue=K!=null&&K.max_machine_tier==null?je:null,We=K?K.domain_setup_available&&K.primary_assistant_id!=null:void 0,Ge=Ae.data,J=(0,G.useMemo)(()=>Ge?{machineSize:Ge.machine_size??null,storageGib:Ge.provisioned_storage_gib??null}:null,[Ge]),Y=F===H,X=(0,G.useMemo)(()=>{let e=Ie(q,J),t=q?.machineSize??Ue;if(t==null)return e;let n=J?.machineSize??null;if(n==null)return{...e,machine:!1};let r=(Y?P?.machineSize:null)??n,i=ke(t)<ke(r);return{...e,machine:i?ke(n)<=ke(t):ke(n)>=ke(t)}},[q,J,P,Y,Ue]),Ke=Me(q,J),Ye=w===H;(0,G.useEffect)(()=>{e&&(Ke?(C(e=>e!=null&&Ye?e:Date.now()),T(H)):(C(null),T(null)))},[e,Ke,H,Ye]);let Qe=E.assistantId===H;(0,G.useEffect)(()=>{if(!e)return;let t=W.current;ee(e=>{let n=e.assistantId===H?e:Kt,r=X.machine?n.machine??t:null,i=X.storage?n.storage??t:null;return e.assistantId===H&&e.machine===r&&e.storage===i?e:{assistantId:H,machine:r,storage:i}})},[e,X,H]);let $e=(0,G.useMemo)(()=>{let e=Ne(U.data),t=e=>e!=null&&Qe&&Re>e;return{machine:X.machine&&!e.machine&&t(E.machine),storage:X.storage&&!e.storage&&t(E.storage)}},[X,E,Qe,Re,U.data]);(0,G.useEffect)(()=>{!e||!J||P!=null&&Y||(se(J),ue(H))},[e,J,H,P,Y]);let et=v??g,tt=et==null?null:Math.max(0,de-et),nt=!t,{state:rt,softWaiting:it}=Ht({planId:L?`pro`:be,targets:q,actuals:J,initialActuals:Y?P:null,resizeOperationInFlight:Ve,sawOperation:re&&He,msSinceWatchStart:tt,confirmExpired:u,serverVerdict:b,statusObservedSinceTargetsMet:S!=null&&Ye&&U.dataUpdatedAt>S,targetsProveNoop:nt}),at=Gt.includes(rt),Z=e&&L&&!at;(0,G.useEffect)(()=>{he(Z)},[Z]),(0,G.useEffect)(()=>{if(!e||!L||at)return;let t=setInterval(()=>I(Date.now()),Wt);return()=>clearInterval(t)},[e,L,at]);let Q=!nt&&(b===`started`||b===`in_progress`)&&!(re&&He);return(0,G.useEffect)(()=>{if(!e||!L||at||!Q)return;let t=setInterval(()=>B(`auto`),n);return()=>clearInterval(t)},[e,L,at,Q,n,B]),{state:rt,softWaiting:it,targets:q,actualsSnapshot:P,machineFloor:Ue,landed:$e,assistantId:H,domainStepAvailable:We,onboardingSettled:Oe,confirmError:!L&&R.isError,targetsError:L&&V.isError&&(!K||!Ee),escapeEligible:tt!=null&&tt>=6e4,retryConfirm:xe,kickProvisioning:Ce,kickError:D}}var Jt=200,Yt=380;function Xt(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0}var Zt=e=>e===`WAITING`||e===`RESIZING`||e===`STALLED`,Qt=e=>e===`DONE`||e===`NOT_APPLICABLE`,$t={machineSize:null,storageGib:null};function en({open:e,onClose:t,dwellMs:n,phaseMinMs:r,mode:i=`checkout`,resizeContext:a}){let o=i===`resize`,c=s(),[l,u]=(0,G.useState)(`provisioning`),[d,f]=(0,G.useState)(`idle`),p=(0,G.useRef)([]),[m,h]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(null),[b,x]=(0,G.useState)(!1),S=o?a?.direction:void 0,C=J(S),w=qt({open:e,canLowerResources:o?a?.canLowerResources===!0:!1}),D=(0,G.useRef)(!1);(0,G.useEffect)(()=>{if(e){D.current=!0,h(o?null:re()),y(e=>e??Date.now());return}p.current.forEach(clearTimeout),p.current=[],u(`provisioning`),f(`idle`),_(null),y(null),x(!1),D.current&&(D.current=!1,M())},[e,o]),(0,G.useEffect)(()=>()=>{p.current.forEach(clearTimeout)},[]),(0,G.useEffect)(()=>{l===`complete`&&ie()},[l]);let O=Zt(w.state),k=Qt(g??w.state),{targets:te,assistantId:A,domainStepAvailable:j,onboardingSettled:ne}=w,ae=o?a?.fromSnapshot:void 0,N=w.actualsSnapshot,P={machineSize:ae?.machineSize??N?.machineSize??null,storageGib:ae?.storageGib??N?.storageGib??null},{tintHex:oe,backdropImageUrl:se}=bt(A),F=o&&j===!0,{domains:ce,domainsError:le,domainsFetching:ue,domainsUpdatedAt:de,domainsErrorUpdatedAt:fe}=Ke(e&&F,A),pe=(ce?.results.length??0)>0,I=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!e){I.current=null;return}!F||A==null||I.current!==A&&(I.current=A,c.invalidateQueries({queryKey:he({path:{assistant_id:A}})}))},[e,F,A,c]);let me=!ue&&(v!=null&&de>=v||v!=null&&!!le&&fe>=v),[ge,L]=(0,G.useState)(!1),_e=ne&&(!F||me);(0,G.useEffect)(()=>{if(!e){L(!1);return}_e&&L(!0)},[e,_e]);let ve=(0,G.useCallback)(()=>{let e=o?j===!0&&!pe?`domain`:`complete`:j===!1?`complete`:`domain`;if(Xt()){u(e);return}f(`covering`),p.current.push(setTimeout(()=>{u(e),f(`revealing`),p.current.push(setTimeout(()=>f(`idle`),Yt))},Jt))},[j,o,pe]),R=(0,G.useCallback)(()=>{x(!0)},[]),ye=(0,G.useCallback)(()=>{w.kickProvisioning(),E.info(w.kickError==null?C.backgroundExitToast:C.backgroundRetryToast),x(!1),t()},[w,t,C]),be=(0,G.useCallback)(()=>{x(!1)},[]),xe=l===`provisioning`&&(w.confirmError||w.targetsError),z=l===`provisioning`&&!xe,Se=z&&!k,B=`transition-[background-color] duration-300 ease-out${z?` bg-black p-0`:``}`,Ce=z?`[animation:fadeIn_0.45s_ease-out_both]`:d===`revealing`?`[animation:fadeInUp_0.42s_ease-out_0.12s_both]`:`[animation:fadeIn_0.25s_ease-out_both]`;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(T.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,W.jsxs)(T.Content,{size:`md`,hideCloseButton:l!==`complete`,dismissOnOverlayClick:!Se,onEscapeKeyDown:Se?e=>e.preventDefault():void 0,onInteractOutside:Se?e=>e.preventDefault():void 0,"data-theme":z?`dark`:void 0,overlayClassName:B,className:z?`overflow-y-auto inset-0 max-w-none w-screen h-screen max-h-none rounded-none border-0`:`overflow-hidden`,style:{[St]:oe},children:[(0,W.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col motion-reduce:[animation:none] ${Ce}`,children:V()},l),d!==`idle`&&(0,W.jsx)(`div`,{"aria-hidden":!0,"data-testid":`takeover-exit-sheet`,className:`pointer-events-none fixed inset-0 z-50 ${d===`covering`?`[animation:fadeIn_200ms_ease-in_both]`:`[animation:fadeIn_380ms_ease-out_both_reverse]`}`,style:{backgroundColor:Ct},children:se&&(0,W.jsx)(pt,{imageUrl:se,animateIn:!1})})]})}),(0,W.jsx)(ee,{open:b&&O,title:`Continue in the background?`,message:C.backgroundConfirmMessage,confirmLabel:`Continue`,cancelLabel:`Keep waiting`,onConfirm:ye,onCancel:be})]});function V(){return l===`provisioning`?w.confirmError||w.targetsError?(0,W.jsx)(at,{onGoToBilling:t,direction:S}):(0,W.jsx)(Vt,{state:w.state,direction:S,softWaiting:w.softWaiting,intent:m,creditsChange:o?a?.credits:void 0,targets:te??$t,fromSnapshot:P,machineFloor:w.machineFloor,landed:w.landed,celebrating:ge,onCelebrationEnd:ve,assistantId:A,escapeAvailable:O&&w.escapeEligible,onEscape:R,onPhaseChange:_,kickError:w.kickError,confirm:{onRetry:w.retryConfirm,onGoToBilling:t},dwellMs:n,phaseMinMs:r}):l===`domain`?(0,W.jsx)(it,{machineBusy:O,assistantId:A,onExit:()=>u(`complete`)}):(0,W.jsx)(X,{assistantId:A,direction:S})}}function tn(e){return e!=null&&!e.customized}function nn(e){return tn(e)?e.name:`Custom`}var rn=[`mighty`,`super`,`ultra`],an=[`free`,...rn];function on(e){return an.indexOf(e)}function sn(e,t){if(e===null)return`upgrade`;let n=on(e),r=on(t);return n===-1||r===-1?`upgrade`:r===n?`current`:r<n?`downgrade`:`upgrade`}function cn(e,t){if(e.length===0)return null;let n=[...e].sort((e,t)=>rn.indexOf(e.key)-rn.indexOf(t.key));if(!t)return n[0];let r=n.findIndex(e=>e.key===t);return r===-1?n[0]:r>=n.length-1?null:n[r+1]}var ln={free:{bodyShape:`ninja`,eyeStyle:`angry`,color:`yellow`},mighty:{bodyShape:`blob`,eyeStyle:`grumpy`,color:`green`},super:{bodyShape:`urchin`,eyeStyle:`goofy`,color:`teal`},ultra:{bodyShape:`sprout`,eyeStyle:`curious`,color:`orange`}};function un({tier:e,size:t=40}){let n=ln[e]??ln.free,r=Te();return(0,W.jsx)(`div`,{"aria-hidden":!0,className:`inline-flex shrink-0`,children:r?(0,W.jsx)(we,{components:r,bodyShapeId:n.bodyShape,colorId:n.color,size:t}):(0,W.jsx)(`div`,{style:{width:t,height:t}})})}var dn={free:{tagline:`Get to know your assistant.`,cta:`Start Free`,priceCaption:`Forever`},mighty:{tagline:`More capacity for consistent use.`,cta:`Power Up`,priceCaption:`Billed monthly`,recommended:!0},super:{tagline:`Do more, think less about the how.`,cta:`Go Super`,priceCaption:`Billed monthly`,extraFeatures:[`Assistant email and subdomain`]},ultra:{tagline:`Your second brain, running full speed.`,cta:`Unleash Ultra`,priceCaption:`Billed monthly`,extraFeatures:[`Assistant email and subdomain`]}};function fn(e){return dn[e]}function pn(e){return`Downgrade to ${e}`}var mn=`Small`;function hn(e){return e?.machine_size?Oe[e.machine_size]??e.machine_size:mn}function gn(e){let t=e.credits_usd??0,n=fn(e.key)?.extraFeatures??[];return[{icon:U,label:`${hn(e)} Machine`},{icon:y,label:`${e.storage_gib} GB Storage`},{icon:_,label:`${Z(t*100)} in credits included`},...n.map(e=>({icon:S,label:e}))]}function _n(){return[{icon:U,label:`${mn} Machine`},{icon:y,label:`4 GB Storage`},{icon:_,label:`Pay as you go credits`}]}function vn(e,t=[]){let n=e?.credits_usd??0,r=e?.storage_gib??4,i=Ae[e?.machine_size??`small`];return[`${hn(e)} machine${i?` (${i})`:``}`,ct(r),lt(n),...t]}var yn={machine:`Configurable machine size`,storage:`Configurable storage`,credits:`Pay-as-you-go and bundled credits`};function bn(e,t){let n=[`${e.machineTier?H[e.machineTier]??t.machine_tiers.find(t=>t.tier===e.machineTier)?.label??e.machineTier:mn} Machine`];if(e.storageGib!=null&&n.push(`${e.storageGib} GB`),e.creditTier!=null){let r=ht(t,e.creditTier)?.credits_usd??mt(e.creditTier);n.push(r==null?`Credit bundle`:`${r} credits/mo`)}return n}function xn(e,t){let n=new Set([yn.machine]);return e.storageGib!=null&&n.add(yn.storage),e.creditTier!=null&&n.add(yn.credits),[...bn(e,t),...t.included_features.filter(e=>!n.has(e))]}var Sn=`billing-portal-return-snapshot`;function Cn(e){try{sessionStorage.removeItem(Sn),sessionStorage.setItem(Sn,JSON.stringify(e))}catch{}}function wn(){if(typeof sessionStorage>`u`)return null;try{let e=sessionStorage.getItem(Sn);if(!e)return null;let t=JSON.parse(e);return typeof t.cancel_at_period_end!=`boolean`||typeof t.plan_id!=`string`?null:{cancel_at_period_end:t.cancel_at_period_end,cancel_at:t.cancel_at??null,plan_id:t.plan_id}}catch{return null}}function Tn(){try{sessionStorage.removeItem(Sn)}catch{}}function En(e){return e?{cancel_at_period_end:e.cancel_at_period_end,cancel_at:e.cancel_at??null,plan_id:e.plan_id}:null}function Dn(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`long`,day:`numeric`})}function On(e){return e?e.cancel_at??e.current_period_end??null:null}function kn(e){let t=s();return(0,G.useEffect)(()=>F(()=>{t.invalidateQueries(ye())}),[t]),ue({onSuccess:t=>{e&&Cn(e),se(t.portal_url)},onError:()=>{E.error(`Couldn't open the billing portal. Please try again.`,{id:`billing-portal-session-error`})}})}function An(e){return e.disabled===!0}function jn({machineTiers:e,storageTiers:t,selectedMachineTier:n,selectedStorageTier:r,onMachineTierChange:i,onStorageTierChange:a,currentMachinePriceCents:o,currentStoragePriceCents:s}){let c=(0,G.useMemo)(()=>e.map(e=>{let t=H[e.tier]??e.label,n=o==null?`+${Q(e.price_cents)}`:e.price_cents===o?`(${Q(e.price_cents)}, current)`:st(e.price_cents-o);return{value:e.tier,label:`${t} ${n}`,disabled:An(e)}}),[e,o]),l=(0,G.useMemo)(()=>t.map(e=>{let t=s==null?`+${Q(e.price_cents)}`:e.price_cents===s?`(${Q(e.price_cents)}, current)`:st(e.price_cents-s);return{value:e.tier,label:`${e.storage_gib} GB ${t}`,disabled:An(e)}}),[t,s]);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(d,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:`Machine`}),(0,W.jsx)(`span`,{title:`Determines the CPU and memory allocated to your assistant`,children:(0,W.jsx)(b,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,W.jsx)(D,{"aria-label":`Machine tier`,placeholder:`Select a machine tier`,value:n??``,onChange:i,options:c})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(d,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:`Storage`}),(0,W.jsx)(`span`,{title:`Persistent disk space for your assistant's files and data`,children:(0,W.jsx)(b,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,W.jsx)(D,{"aria-label":`Storage tier`,placeholder:`Select a storage tier`,value:r??``,onChange:a,options:l})]})]})}var Mn=new Set([`active`,`trialing`,`past_due`]);function Nn(e){return e.plan_id!==`base`&&e.cancel_at_period_end!==!0&&!e.cancel_at&&e.status!=null&&Mn.has(e.status)}var Pn=[`target_plan_id`,`confirm`,`machine_tier`,`storage_tier`,`credit_tier`,`package`,`non_field_errors`];function Fn(e,t){if(e&&typeof e==`object`){for(let t of Pn)if(t in e){let n=e[t];if(Array.isArray(n)&&typeof n[0]==`string`)return n[0]}if(`detail`in e&&typeof e.detail==`string`)return e.detail}return t}function In(e,t){let n=e.filter(e=>!An(e));return t!==null&&n.some(e=>e.tier===t)?t:n[0]?.tier??null}function Ln(e,t,n){return t===void 0?n:t!==null&&(t===n||e.some(e=>e.tier===t))?t:null}function Rn(e){return e.length?Math.min(...e.map(e=>e.price_cents)):0}function zn(){let e=s(),t=l(me());return{changePackage:async n=>{try{let r=await t.mutateAsync({body:{package:n}});return await Promise.all([e.invalidateQueries({queryKey:pe()}),e.invalidateQueries({queryKey:R()}),e.invalidateQueries({queryKey:ge()})]),r}catch(e){return E.error(Fn(e,`Failed to change your plan. Please try again.`)),null}},isPending:t.isPending}}function Bn({className:e,"data-testid":t,children:n}){return(0,W.jsx)(`div`,{"aria-hidden":!0,"data-testid":t,className:Se(`flex size-[52px] shrink-0 items-center justify-center rounded-xl`,e),children:n})}var Vn=32;function Hn(){let{ready:e,avatar:t}=bt();return(0,W.jsx)(Bn,{"data-testid":`assistant-avatar-tile`,className:`bg-[var(--surface-active)]`,children:e?(0,W.jsx)(V,{components:t.components,traits:t.traits,customImageUrl:t.customImageUrl,size:Vn}):null})}var Un=`Billed monthly · prorated difference charged today`,Wn=`Billed monthly · prorated difference charged today or credited next invoice`,Gn=`Billed monthly · prorated credit on your next invoice`,Kn=`Your machine downsizes now and your storage stays. No refund.`,qn=`Continue`,Jn=`The plan includes`,Yn=`Your plan will include`;function Xn(e,t,n){let r=n?fn(n)?.tagline??``:``;switch(e){case`downgrade`:return{title:pn(t),subtitle:``,priceCaption:Gn,checklistHeading:Yn,note:Kn,confirmLabel:pn(t),destructive:!0};case`switch`:return{title:`Switch to ${t}`,subtitle:r,priceCaption:Wn,checklistHeading:Jn,note:``,confirmLabel:qn,destructive:!1};default:return{title:`Upgrade to ${t}`,subtitle:r,priceCaption:Un,checklistHeading:Jn,note:``,confirmLabel:qn,destructive:!1}}}function Zn({open:e,relation:t,packageName:r,targetPackage:i,pending:a,onCancel:o,onConfirm:s}){let c=(0,G.useRef)(null),l=(0,G.useId)(),u=Xn(t,r,i?.key??null),f=i?{price:Q(i.total_price_cents),highlights:vn(i,fn(i.key)?.extraFeatures??[])}:null,p=u.subtitle,m=u.note?{"aria-describedby":l}:p?{}:{"aria-describedby":void 0};return(0,W.jsx)(T.Root,{open:e,onOpenChange:e=>{!e&&!a&&o()},children:(0,W.jsxs)(T.Content,{size:`sm`,hideCloseButton:!0,className:`gap-4 p-4 max-w-[421px]`,onOpenAutoFocus:e=>{e.preventDefault(),c.current?.focus()},...m,children:[(0,W.jsxs)(T.Header,{className:`flex-row items-center gap-3 p-0 pb-2`,children:[u.destructive?(0,W.jsx)(Bn,{"data-testid":`package-switch-warning-tile`,className:`bg-[var(--system-negative-weak)]`,children:(0,W.jsx)(C,{className:`size-6 text-[var(--system-negative-strong)]`})}):(0,W.jsx)(Hn,{}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,W.jsx)(T.Title,{className:`text-title-small text-[var(--content-emphasised)] [&>span]:whitespace-normal`,children:u.title}),p?(0,W.jsx)(T.Description,{className:`mt-0 text-body-medium-default text-[var(--content-tertiary)]`,children:p}):null]})]}),f?(0,W.jsxs)(T.Body,{className:`flex flex-col gap-4 p-0`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,W.jsx)(d,{as:`p`,variant:`title-large`,className:`text-[var(--content-default)]`,children:f.price}),(0,W.jsx)(d,{as:`p`,variant:`label-medium-default`,className:`leading-[15px] text-[var(--content-tertiary)]`,children:u.priceCaption})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:u.checklistHeading}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:f.highlights.map(e=>(0,W.jsxs)(`li`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(g,{className:`size-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,W.jsx)(d,{as:`span`,variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]},e))})]}):null,u.note?(0,W.jsx)(d,{id:l,as:`p`,variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:u.note}):null,(0,W.jsxs)(T.Footer,{className:`flex-col gap-4 p-0`,children:[(0,W.jsx)(n,{fullWidth:!0,variant:u.destructive?`danger`:`primary`,onClick:s,disabled:a,"data-testid":`confirm-package-switch-button`,children:u.confirmLabel}),(0,W.jsx)(n,{ref:c,fullWidth:!0,variant:`ghost`,onClick:o,disabled:a,children:`Cancel`})]})]})})}function Qn(){let e=s();(0,G.useEffect)(()=>F(()=>{e.invalidateQueries({queryKey:pe()}),e.invalidateQueries({queryKey:R()}),e.invalidateQueries({queryKey:ge()})}),[e])}export{sn as A,Re as B,pn as C,tn as D,rn as E,Q as F,ot as I,ct as L,lt as M,st as N,cn as O,Z as P,Ke as R,gn as S,un as T,U as V,kn as _,Fn as a,_n as b,Ln as c,An as d,En as f,wn as g,On as h,Mn as i,en as j,nn as k,In as l,Dn as m,Zn as n,Nn as o,Tn as p,zn as r,Rn as s,Qn as t,jn as u,xn as v,fn as w,hn as x,bn as y,Y as z};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./createLucideIcon-C1mdGPB9.js";import{t as a}from"./calendar-CTyC1v1L.js";import{t as o}from"./globe-COk-NH9x.js";import{t as s}from"./layout-grid-C3h1DMhl.js";import{t as c}from"./message-square-BjBDqFUX.js";import{t as l}from"./monitor-CPgcKlQP.js";import{t as u}from"./settings-751LDGs_.js";import{n as d,t as f}from"./create-selectors-DBgi9gD3.js";import{Q as p,_ as m,i as h,x as g}from"./local-mode-BfEgOekp.js";import{t as _}from"./is-electron-BHXrkjI3.js";import{n as v}from"./resolved-assistants-store-BFI9c7ip.js";import{i as y}from"./utils-CAZUrJMu.js";import{a as b,n as x}from"./api-errors-BQX1Pzcm.js";import{Q as S,at as C,rt as w,ut as T}from"./auth-store-CPVpJ_c7.js";import{nt as E}from"./sdk.gen-DKYWIHI7.js";import{cr as D}from"./sdk.gen-CBPZ2IdN.js";import{a as O,i as ee,r as te}from"./feature-flag-catalog-BOqgTYGM.js";import{t as k}from"./client-feature-flag-store-C8ieIAKe.js";import{d as A}from"./routes-iipg2wkc.js";import{i as j,r as M}from"./use-is-org-ready-BTUeuhPi.js";import{t as N}from"./haptics-Mqend0Ru.js";import{F as P}from"./react-query.gen-DKb3mEwJ.js";import{s as F}from"./chat-DYLliWTB.js";var I=i(`contact`,[[`path`,{d:`M16 2v2`,key:`scm5qe`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`,key:`1waht3`}],[`path`,{d:`M8 2v2`,key:`pbkmx`}],[`circle`,{cx:`12`,cy:`11`,r:`3`,key:`itu57m`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`,key:`12vinp`}]]),L=i(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),R=e(t(),1);function z({sessionStatus:e,hasPlatformSession:t}){let r=n(),i=M(),a=C(e)&&!p()&&(t||!m())&&i;v.use.assistants();let o=S(),s=o&&!h().some(e=>e.assistantId===o)?o:null,{data:c}=T({enabled:a,selectedPlatformAssistantId:s});(0,R.useEffect)(()=>{w.setInputs({sessionStatus:e,hasPlatformSession:t,queryClient:r,selectedPlatformAssistantId:s,isOrgReady:i}),w.respondToInputs()},[e,t,r,s,i]),(0,R.useEffect)(()=>{c&&w.applyServerResult(c)},[c])}var B=`0.8.5`,V=5e3,H=6e4;function U(e,t=!0){return y(B)&&t?{staleTime:e,refetchInterval:!1}:{staleTime:V,refetchInterval:V}}function W(){return U(H)}function G(e){return U(1/0,e)}var K=new Set(Object.keys(te)),q=new Set(Object.keys(ee));async function J(e){let t=k.getState().scopeKey,{data:n,error:r,response:i}=await E({throwOnError:!1,signal:e});if(x(i,r,`Failed to fetch client feature flags`),!i.ok||!n)throw b(r,i);return{scopeKey:t,flags:n.flags}}function Y(e){let t={},n={};for(let[r,i]of Object.entries(e)){let e=O(r);typeof i==`boolean`&&K.has(e)?t[e]=i:typeof i==`string`&&q.has(e)&&(n[e]=i)}return{boolFlags:t,stringFlags:n}}function X(e,t=!1){let n=G(t),i=j(),a=k.use.scopeKey(),o=e&&!g(),s=o&&i===`ready`,{data:c,isError:l}=r({queryKey:P(),queryFn:({signal:e})=>J(e),enabled:s,...n,refetchOnWindowFocus:!1,refetchOnReconnect:!1});(0,R.useEffect)(()=>{if(c?.flags){let{boolFlags:e,stringFlags:t}=Y(c.flags),n=k.getState();n.setFlags(e,c.scopeKey),Object.keys(t).length>0&&n.setStringFlags(t,c.scopeKey);return}e&&(!o||i===`unavailable`||l)&&k.getState().settleWithoutServerValues(a)},[a,c,e,l,o,i])}var Z=f(d((e,t)=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1}),toggle:()=>e({isOpen:!t().isOpen})})));async function ne(){if(!_())return!1;let e=window.vellum?.commandPalette?.open;return e?(await e(),!0):!1}async function re(){_()&&await window.vellum?.commandPalette?.dismiss()}async function ie(e){_()&&await window.vellum?.commandPalette?.select(e)}var Q={query:``,queryTokens:[],results:{conversations:[],memories:[],schedules:[],contacts:[]}};function ae(e,t){return e||t.split(/\s+/).filter(e=>e.length>0)}async function oe(e,t,n){let r=n?.limit??10;try{let{data:i,response:a}=await D({path:{assistant_id:e},query:{q:t,limit:r,categories:`conversations,schedules,contacts`},throwOnError:!1,signal:n?.signal});return!a?.ok||!i?Q:{query:i.query,queryTokens:ae(i.queryTokens,i.query),results:i.results}}catch(n){return n instanceof DOMException&&n.name===`AbortError`||console.error(`[global-search] search failed`,{assistantId:e,query:t,err:n}),Q}}var se=150,ce=2,$=[];function le({itemCount:e,onSelect:t,assistantId:n,isOpen:r,onClose:i}){let a=Z.use.isOpen(),o=r??a,s=Z.use.open(),c=Z.use.close(),[l,u]=(0,R.useState)(``),[d,f]=(0,R.useState)(0),[p,m]=(0,R.useState)(!1),[h,g]=(0,R.useState)(null),[_,v]=(0,R.useState)($),y=(0,R.useRef)(()=>0);(0,R.useLayoutEffect)(()=>{y.current=typeof e==`function`?e:()=>e});let b=(0,R.useRef)(null),x=(0,R.useRef)(null),S=(0,R.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null),x.current?.abort(),x.current=null},[]),C=(0,R.useCallback)(()=>{s(),f(0)},[s]),w=(0,R.useCallback)(()=>{c(),u(``),f(0),m(!1),g(null),v($),S(),i?.()},[c,S,i]),T=(0,R.useCallback)(()=>{o?w():C()},[o,w,C]);(0,R.useEffect)(()=>{o||(u(``),f(0),m(!1),g(null),v($),S())},[o,S]);let E=(0,R.useCallback)(e=>{S();let t=e.trim();if(t.length<ce||!n){m(!1),g(null),v($);return}m(!0),b.current=setTimeout(()=>{if(!n){m(!1);return}let e=new AbortController;x.current=e,oe(n,t,{signal:e.signal}).then(t=>{x.current===e&&(g(t.results),v(t.queryTokens),m(!1))}).catch(()=>{x.current===e&&m(!1)})},se)},[S,n]),D=(0,R.useCallback)(e=>{u(e),f(0),E(e)},[E]);return(0,R.useEffect)(()=>()=>{x.current?.abort(),b.current&&clearTimeout(b.current)},[]),{isOpen:o,query:l,selectedIndex:d,isSearching:p,searchResults:h,searchTokens:_,open:C,close:w,toggle:T,setQuery:D,handleKeyDown:(0,R.useCallback)(e=>{if(e.key===`k`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),w();return}let n=y.current();switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&f(e=>Math.min(e+1,n-1));break;case`ArrowUp`:e.preventDefault(),f(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault(),n>0&&t?.(d);break;case`Escape`:e.preventDefault(),w();break}},[t,d,w])}}function ue(e){return{id:`actions`,label:`Actions`,items:[{id:`action-new-conversation`,icon:L,title:`New Conversation`,shortcutHint:_()?`⌘N`:`⌘⇧O`},{id:`action-current-conversation`,icon:l,title:`Current Conversation`,shortcutHint:`⌘⇧N`},{id:`action-settings`,icon:u,title:`Settings`,shortcutHint:`⌘,`},{id:`action-library`,icon:s,title:`Library`},{id:`action-intelligence`,icon:o,title:e}]}}function de(e,t){let n=[],r=e.conversations.filter(e=>!t.has(e.id)).map(e=>({id:`search-conv-${e.id}`,icon:c,title:e.title??`Untitled`,snippet:e.excerpt||void 0}));r.length>0&&n.push({id:`search-conversations`,label:`Conversations`,items:r});let i=e.schedules.map(e=>({id:`search-schedule-${e.id}`,icon:a,title:e.name,subtitle:e.expression??e.message}));i.length>0&&n.push({id:`search-schedules`,label:`Schedules`,items:i});let o=e.contacts.map(e=>({id:`search-contact-${e.id}`,icon:I,title:e.displayName,subtitle:e.notes??void 0}));return o.length>0&&n.push({id:`search-contacts`,label:`Contacts`,items:o}),n}function fe(e){return{id:`conversations`,label:`Recent`,items:e.slice(0,5).map(e=>({id:`conv-${e.conversationId}`,icon:c,title:e.title??`Untitled`,subtitle:e.lastMessageAt?F(e.lastMessageAt):void 0}))}}function pe(e,t){switch(e.id){case`action-new-conversation`:t.startNewConversation();break;case`action-current-conversation`:N.light(),t.navigate(A.assistant);break;case`action-settings`:N.light(),t.navigateToSettings();break;case`action-intelligence`:N.light(),t.navigate(A.identity);break;case`action-library`:N.light(),t.navigate(A.library.root);break;default:if(e.id.startsWith(`conv-`)){let n=e.id.slice(5);t.switchConversation(n)}else if(e.id.startsWith(`search-conv-`)){let n=e.id.slice(12);t.switchConversation(n)}else e.id.startsWith(`search-schedule-`)?(N.light(),t.navigate(A.schedules.detail(e.id.slice(16)))):e.id.startsWith(`search-contact-`)&&(N.light(),t.navigate(A.identity));break}}function me({assistantId:e,assistantName:t,conversations:n,activeConversationId:r,startNewConversation:i,switchConversation:a,navigate:o,navigateToSettings:s,isOpen:c,onClose:l,onItemSelect:u}){let d=(0,R.useMemo)(()=>{let e=ue(t??`Assistant`),r=fe(n);return[e,...r.items.length>0?[r]:[]]},[n,t]),f=(0,R.useMemo)(()=>new Set(n.slice(0,5).map(e=>e.conversationId)),[n]),p=(0,R.useCallback)(e=>{if(u){u(e);return}pe(e,{startNewConversation:i,switchConversation:a,navigate:o,activeConversationId:r,navigateToSettings:s})},[i,a,o,r,s,u]),m=(0,R.useRef)([]),h=(0,R.useRef)(()=>{}),g=le({itemCount:()=>m.current.reduce((e,t)=>e+t.items.length,0),onSelect:(0,R.useCallback)(e=>{let t=e;for(let e of m.current){if(t<e.items.length){let n=e.items[t];p(n),h.current();return}t-=e.items.length}},[p]),assistantId:e,isOpen:c,onClose:l});(0,R.useLayoutEffect)(()=>{h.current=g.close});let _=(0,R.useMemo)(()=>{if(!g.query.trim())return d;let e=g.query.toLowerCase().trim();return d.map(t=>({...t,items:t.items.filter(t=>t.title.toLowerCase().includes(e))})).filter(e=>e.items.length>0)},[d,g.query]),v=(0,R.useMemo)(()=>{let e=g.searchResults?de(g.searchResults,f):[];return[..._,...e]},[_,g.searchResults,f]);return(0,R.useLayoutEffect)(()=>{m.current=v}),{commandPalette:g,mergedSections:v,handleItemSelect:(0,R.useCallback)(e=>{p(e),h.current()},[p])}}export{Z as a,z as c,ie as i,L as l,re as n,X as o,ne as r,W as s,me as t,I as u};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./createLucideIcon-C1mdGPB9.js";import{t as a}from"./calendar-CTyC1v1L.js";import{t as o}from"./globe-COk-NH9x.js";import{t as s}from"./layout-grid-C3h1DMhl.js";import{t as c}from"./message-square-BjBDqFUX.js";import{t as l}from"./monitor-CPgcKlQP.js";import{t as u}from"./settings-751LDGs_.js";import{n as d,t as f}from"./create-selectors-DBgi9gD3.js";import{Q as p,_ as m,i as h,x as g}from"./local-mode-BfEgOekp.js";import{t as _}from"./is-electron-BHXrkjI3.js";import{n as v}from"./resolved-assistants-store-BFI9c7ip.js";import{i as y}from"./utils-CVoSWh7U.js";import{a as b,n as x}from"./api-errors-BQX1Pzcm.js";import{Q as S,at as C,rt as w,ut as T}from"./auth-store-DkOiOQNx.js";import{nt as E}from"./sdk.gen-DKYWIHI7.js";import{cr as D}from"./sdk.gen-CBPZ2IdN.js";import{a as O,i as ee,r as te}from"./feature-flag-catalog-BOqgTYGM.js";import{t as k}from"./client-feature-flag-store-C8ieIAKe.js";import{d as A}from"./routes-iipg2wkc.js";import{i as j,r as M}from"./use-is-org-ready-BmOdacs1.js";import{t as N}from"./haptics-Mqend0Ru.js";import{F as P}from"./react-query.gen-DKb3mEwJ.js";import{s as F}from"./chat-DYLliWTB.js";var I=i(`contact`,[[`path`,{d:`M16 2v2`,key:`scm5qe`}],[`path`,{d:`M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2`,key:`1waht3`}],[`path`,{d:`M8 2v2`,key:`pbkmx`}],[`circle`,{cx:`12`,cy:`11`,r:`3`,key:`itu57m`}],[`rect`,{x:`3`,y:`4`,width:`18`,height:`18`,rx:`2`,key:`12vinp`}]]),L=i(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),R=e(t(),1);function z({sessionStatus:e,hasPlatformSession:t}){let r=n(),i=M(),a=C(e)&&!p()&&(t||!m())&&i;v.use.assistants();let o=S(),s=o&&!h().some(e=>e.assistantId===o)?o:null,{data:c}=T({enabled:a,selectedPlatformAssistantId:s});(0,R.useEffect)(()=>{w.setInputs({sessionStatus:e,hasPlatformSession:t,queryClient:r,selectedPlatformAssistantId:s,isOrgReady:i}),w.respondToInputs()},[e,t,r,s,i]),(0,R.useEffect)(()=>{c&&w.applyServerResult(c)},[c])}var B=`0.8.5`,V=5e3,H=6e4;function U(e,t=!0){return y(B)&&t?{staleTime:e,refetchInterval:!1}:{staleTime:V,refetchInterval:V}}function W(){return U(H)}function G(e){return U(1/0,e)}var K=new Set(Object.keys(te)),q=new Set(Object.keys(ee));async function J(e){let t=k.getState().scopeKey,{data:n,error:r,response:i}=await E({throwOnError:!1,signal:e});if(x(i,r,`Failed to fetch client feature flags`),!i.ok||!n)throw b(r,i);return{scopeKey:t,flags:n.flags}}function Y(e){let t={},n={};for(let[r,i]of Object.entries(e)){let e=O(r);typeof i==`boolean`&&K.has(e)?t[e]=i:typeof i==`string`&&q.has(e)&&(n[e]=i)}return{boolFlags:t,stringFlags:n}}function X(e,t=!1){let n=G(t),i=j(),a=k.use.scopeKey(),o=e&&!g(),s=o&&i===`ready`,{data:c,isError:l}=r({queryKey:P(),queryFn:({signal:e})=>J(e),enabled:s,...n,refetchOnWindowFocus:!1,refetchOnReconnect:!1});(0,R.useEffect)(()=>{if(c?.flags){let{boolFlags:e,stringFlags:t}=Y(c.flags),n=k.getState();n.setFlags(e,c.scopeKey),Object.keys(t).length>0&&n.setStringFlags(t,c.scopeKey);return}e&&(!o||i===`unavailable`||l)&&k.getState().settleWithoutServerValues(a)},[a,c,e,l,o,i])}var Z=f(d((e,t)=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1}),toggle:()=>e({isOpen:!t().isOpen})})));async function ne(){if(!_())return!1;let e=window.vellum?.commandPalette?.open;return e?(await e(),!0):!1}async function re(){_()&&await window.vellum?.commandPalette?.dismiss()}async function ie(e){_()&&await window.vellum?.commandPalette?.select(e)}var Q={query:``,queryTokens:[],results:{conversations:[],memories:[],schedules:[],contacts:[]}};function ae(e,t){return e||t.split(/\s+/).filter(e=>e.length>0)}async function oe(e,t,n){let r=n?.limit??10;try{let{data:i,response:a}=await D({path:{assistant_id:e},query:{q:t,limit:r,categories:`conversations,schedules,contacts`},throwOnError:!1,signal:n?.signal});return!a?.ok||!i?Q:{query:i.query,queryTokens:ae(i.queryTokens,i.query),results:i.results}}catch(n){return n instanceof DOMException&&n.name===`AbortError`||console.error(`[global-search] search failed`,{assistantId:e,query:t,err:n}),Q}}var se=150,ce=2,$=[];function le({itemCount:e,onSelect:t,assistantId:n,isOpen:r,onClose:i}){let a=Z.use.isOpen(),o=r??a,s=Z.use.open(),c=Z.use.close(),[l,u]=(0,R.useState)(``),[d,f]=(0,R.useState)(0),[p,m]=(0,R.useState)(!1),[h,g]=(0,R.useState)(null),[_,v]=(0,R.useState)($),y=(0,R.useRef)(()=>0);(0,R.useLayoutEffect)(()=>{y.current=typeof e==`function`?e:()=>e});let b=(0,R.useRef)(null),x=(0,R.useRef)(null),S=(0,R.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null),x.current?.abort(),x.current=null},[]),C=(0,R.useCallback)(()=>{s(),f(0)},[s]),w=(0,R.useCallback)(()=>{c(),u(``),f(0),m(!1),g(null),v($),S(),i?.()},[c,S,i]),T=(0,R.useCallback)(()=>{o?w():C()},[o,w,C]);(0,R.useEffect)(()=>{o||(u(``),f(0),m(!1),g(null),v($),S())},[o,S]);let E=(0,R.useCallback)(e=>{S();let t=e.trim();if(t.length<ce||!n){m(!1),g(null),v($);return}m(!0),b.current=setTimeout(()=>{if(!n){m(!1);return}let e=new AbortController;x.current=e,oe(n,t,{signal:e.signal}).then(t=>{x.current===e&&(g(t.results),v(t.queryTokens),m(!1))}).catch(()=>{x.current===e&&m(!1)})},se)},[S,n]),D=(0,R.useCallback)(e=>{u(e),f(0),E(e)},[E]);return(0,R.useEffect)(()=>()=>{x.current?.abort(),b.current&&clearTimeout(b.current)},[]),{isOpen:o,query:l,selectedIndex:d,isSearching:p,searchResults:h,searchTokens:_,open:C,close:w,toggle:T,setQuery:D,handleKeyDown:(0,R.useCallback)(e=>{if(e.key===`k`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),w();return}let n=y.current();switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&f(e=>Math.min(e+1,n-1));break;case`ArrowUp`:e.preventDefault(),f(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault(),n>0&&t?.(d);break;case`Escape`:e.preventDefault(),w();break}},[t,d,w])}}function ue(e){return{id:`actions`,label:`Actions`,items:[{id:`action-new-conversation`,icon:L,title:`New Conversation`,shortcutHint:_()?`⌘N`:`⌘⇧O`},{id:`action-current-conversation`,icon:l,title:`Current Conversation`,shortcutHint:`⌘⇧N`},{id:`action-settings`,icon:u,title:`Settings`,shortcutHint:`⌘,`},{id:`action-library`,icon:s,title:`Library`},{id:`action-intelligence`,icon:o,title:e}]}}function de(e,t){let n=[],r=e.conversations.filter(e=>!t.has(e.id)).map(e=>({id:`search-conv-${e.id}`,icon:c,title:e.title??`Untitled`,snippet:e.excerpt||void 0}));r.length>0&&n.push({id:`search-conversations`,label:`Conversations`,items:r});let i=e.schedules.map(e=>({id:`search-schedule-${e.id}`,icon:a,title:e.name,subtitle:e.expression??e.message}));i.length>0&&n.push({id:`search-schedules`,label:`Schedules`,items:i});let o=e.contacts.map(e=>({id:`search-contact-${e.id}`,icon:I,title:e.displayName,subtitle:e.notes??void 0}));return o.length>0&&n.push({id:`search-contacts`,label:`Contacts`,items:o}),n}function fe(e){return{id:`conversations`,label:`Recent`,items:e.slice(0,5).map(e=>({id:`conv-${e.conversationId}`,icon:c,title:e.title??`Untitled`,subtitle:e.lastMessageAt?F(e.lastMessageAt):void 0}))}}function pe(e,t){switch(e.id){case`action-new-conversation`:t.startNewConversation();break;case`action-current-conversation`:N.light(),t.navigate(A.assistant);break;case`action-settings`:N.light(),t.navigateToSettings();break;case`action-intelligence`:N.light(),t.navigate(A.identity);break;case`action-library`:N.light(),t.navigate(A.library.root);break;default:if(e.id.startsWith(`conv-`)){let n=e.id.slice(5);t.switchConversation(n)}else if(e.id.startsWith(`search-conv-`)){let n=e.id.slice(12);t.switchConversation(n)}else e.id.startsWith(`search-schedule-`)?(N.light(),t.navigate(A.schedules.detail(e.id.slice(16)))):e.id.startsWith(`search-contact-`)&&(N.light(),t.navigate(A.identity));break}}function me({assistantId:e,assistantName:t,conversations:n,activeConversationId:r,startNewConversation:i,switchConversation:a,navigate:o,navigateToSettings:s,isOpen:c,onClose:l,onItemSelect:u}){let d=(0,R.useMemo)(()=>{let e=ue(t??`Assistant`),r=fe(n);return[e,...r.items.length>0?[r]:[]]},[n,t]),f=(0,R.useMemo)(()=>new Set(n.slice(0,5).map(e=>e.conversationId)),[n]),p=(0,R.useCallback)(e=>{if(u){u(e);return}pe(e,{startNewConversation:i,switchConversation:a,navigate:o,activeConversationId:r,navigateToSettings:s})},[i,a,o,r,s,u]),m=(0,R.useRef)([]),h=(0,R.useRef)(()=>{}),g=le({itemCount:()=>m.current.reduce((e,t)=>e+t.items.length,0),onSelect:(0,R.useCallback)(e=>{let t=e;for(let e of m.current){if(t<e.items.length){let n=e.items[t];p(n),h.current();return}t-=e.items.length}},[p]),assistantId:e,isOpen:c,onClose:l});(0,R.useLayoutEffect)(()=>{h.current=g.close});let _=(0,R.useMemo)(()=>{if(!g.query.trim())return d;let e=g.query.toLowerCase().trim();return d.map(t=>({...t,items:t.items.filter(t=>t.title.toLowerCase().includes(e))})).filter(e=>e.items.length>0)},[d,g.query]),v=(0,R.useMemo)(()=>{let e=g.searchResults?de(g.searchResults,f):[];return[..._,...e]},[_,g.searchResults,f]);return(0,R.useLayoutEffect)(()=>{m.current=v}),{commandPalette:g,mergedSections:v,handleItemSelect:(0,R.useCallback)(e=>{p(e),h.current()},[p])}}export{Z as a,z as c,ie as i,L as l,re as n,X as o,ne as r,W as s,me as t,I as u};