@vellumai/web 0.11.4-staging.1 → 0.11.4-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 (343) hide show
  1. package/README.md +0 -8
  2. package/dist/assets/{BundleConfirmPage-BbdN3tFL.js → BundleConfirmPage-Blq6GhVG.js} +1 -1
  3. package/dist/assets/{Trans-Ch_EPHgV.js → Trans-CPcWO-v6.js} +1 -1
  4. package/dist/assets/{about-page-B-1ST2gv.js → about-page-CTTTxSzr.js} +1 -1
  5. package/dist/assets/{access-DgWVDTc-.js → access-wabdRUmQ.js} +1 -1
  6. package/dist/assets/{account-page-Bjw-Whl-.js → account-page-DINYg3Rl.js} +1 -1
  7. package/dist/assets/{account-shell-7DXx2oD4.js → account-shell-DQFZ4C79.js} +1 -1
  8. package/dist/assets/{acp-run-actions-D3BHB3kZ.js → acp-run-actions-CkYR2vBH.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-CMV1hamc.js → acp-run-detail-panel-Dt_Dcegh.js} +4 -4
  10. package/dist/assets/{acp-run-store-DpbMRWeI.js → acp-run-store-k9Syb04D.js} +1 -1
  11. package/dist/assets/activity-steps-panel-B9N9npP8.js +1 -0
  12. package/dist/assets/{add-credential-modal-CAorWf5a.js → add-credential-modal-Bn2SkYV8.js} +1 -1
  13. package/dist/assets/{add-credits-modal-NK9YUVin.js → add-credits-modal-lFCQGz49.js} +1 -1
  14. package/dist/assets/ai-page-DuZ_jor4.js +1 -0
  15. package/dist/assets/{api-xbjYCkk-.js → api-C72Ea0va.js} +1 -1
  16. package/dist/assets/{api-asaDrkTi.js → api-Dppu0jIX.js} +1 -1
  17. package/dist/assets/{api-key-screen-BLsynLtR.js → api-key-screen-CbIBGdOH.js} +1 -1
  18. package/dist/assets/{app-card-oG9LxSg9.js → app-card-BrtrF2PU.js} +1 -1
  19. package/dist/assets/{assistant-status-panel-CdJKE_VM.js → assistant-status-panel-DUB7x8Cv.js} +1 -1
  20. package/dist/assets/{auth-store-BDMYc7te.js → auth-store-B9pHhreb.js} +2 -2
  21. package/dist/assets/{avatar-random-cVA-5Ukx.js → avatar-random-Ux7JUtwk.js} +1 -1
  22. package/dist/assets/{background-task-actions-Cf2kEaWh.js → background-task-actions-D3TOUuY8.js} +1 -1
  23. package/dist/assets/{background-task-detail-panel-DWGWcjjS.js → background-task-detail-panel-nHViOVhW.js} +1 -1
  24. package/dist/assets/{background-task-store-eQZGVUDr.js → background-task-store-r1LOGfBn.js} +1 -1
  25. package/dist/assets/{billing-page-scyDxDPK.js → billing-page-BtPUFL3X.js} +3 -3
  26. package/dist/assets/{bookmarks-page-JMPRm3As.js → bookmarks-page-BA7-0dXF.js} +1 -1
  27. package/dist/assets/{browser-CZ10MkOr.js → browser-DwONNRIj.js} +2 -2
  28. package/dist/assets/{build-state-DdpPjDMZ.js → build-state-bnyw3m5Y.js} +1 -1
  29. package/dist/assets/channels-page-route-Da6XgpGs.js +9 -0
  30. package/dist/assets/{chat-sgiUoK1u.js → chat-BfpNzA77.js} +1 -1
  31. package/dist/assets/chat-DRdXDFUk.js +3 -0
  32. package/dist/assets/{chat-avatar-B1G491hG.js → chat-avatar-RM6-aunH.js} +1 -1
  33. package/dist/assets/chat-markdown-message-DWQZLyLI.js +1 -0
  34. package/dist/assets/{checkout-continuation-ChMQkpyi.js → checkout-continuation-B34WX6T6.js} +1 -1
  35. package/dist/assets/{checkout-page-Cpk90EXc.js → checkout-page-ZxCMmuwz.js} +1 -1
  36. package/dist/assets/checkout-return-target-CpckAKDY.js +1 -0
  37. package/dist/assets/{client-perf-C4GkD7vz.js → client-perf-Daz5cYUH.js} +1 -1
  38. package/dist/assets/command-palette-C6h4Ip2u.js +1 -0
  39. package/dist/assets/{command-palette-window-page-BP9A8L2v.js → command-palette-window-page-BKbM5K6f.js} +1 -1
  40. package/dist/assets/{companion-surface-page-B0hbyF1T.js → companion-surface-page-BbU9Hj0z.js} +1 -1
  41. package/dist/assets/{composer-settings-BMKJP4Ik.js → composer-settings-DYfbHO-e.js} +1 -1
  42. package/dist/assets/{connect-page-DKFPwsN0.js → connect-page-DxRMNc2U.js} +1 -1
  43. package/dist/assets/{consent-controls-hAYNW2he.js → consent-controls-Dz0ScMsh.js} +1 -1
  44. package/dist/assets/contacts-page-route-C-7wKpdG.js +1 -0
  45. package/dist/assets/{conversation-cache-DY3GhyFA.js → conversation-cache-ztu3M4pz.js} +1 -1
  46. package/dist/assets/{conversation-list-fetchers-CVKv5BpN.js → conversation-list-fetchers-eA7yZMEu.js} +1 -1
  47. package/dist/assets/{conversation-navigation-Bw3eQBGU.js → conversation-navigation-tCTlvwgs.js} +1 -1
  48. package/dist/assets/{conversation-queries-7BVaya69.js → conversation-queries-DkkuIyRB.js} +1 -1
  49. package/dist/assets/{credential-entry-page-BxNWgyvZ.js → credential-entry-page-DqEK_3ve.js} +1 -1
  50. package/dist/assets/credentials-page-Nx8MKxw7.js +1 -0
  51. package/dist/assets/{csv-preview-Ba7nV5mb.js → csv-preview-DfyT2oPn.js} +1 -1
  52. package/dist/assets/{daily-reset-time-i6mZWgVc.js → daily-reset-time-B28vdbVK.js} +1 -1
  53. package/dist/assets/debug-page-F58Vngs5.js +4 -0
  54. package/dist/assets/{deploy-dialogs-CG-65xs0.js → deploy-dialogs-Dr5UW72X.js} +1 -1
  55. package/dist/assets/{deploy-store-eps_MrT7.js → deploy-store-BAIpED5W.js} +1 -1
  56. package/dist/assets/{detail-card-CC0br9gQ.js → detail-card-BvBqhvvy.js} +1 -1
  57. package/dist/assets/{detail-drawer-BpdqER__.js → detail-drawer-zQohjzAF.js} +1 -1
  58. package/dist/assets/{detail-shell-Bmyv2wPh.js → detail-shell-6omiDynS.js} +1 -1
  59. package/dist/assets/developer-page-BgkajhCF.js +1 -0
  60. package/dist/assets/{diagnostics-CeLo0IQo.js → diagnostics-B6s70M5A.js} +1 -1
  61. package/dist/assets/{doctor-handoff-store-D1gIUvVD.js → doctor-handoff-store-DbvChP6h.js} +1 -1
  62. package/dist/assets/{document-viewer-container-Bywwxt6G.js → document-viewer-container-CiSaZjGT.js} +2 -2
  63. package/dist/assets/{document-viewer-page-qJKfO2Qb.js → document-viewer-page-B41ybONf.js} +1 -1
  64. package/dist/assets/{emails-page-B0--yw62.js → emails-page-zqESuC5i.js} +1 -1
  65. package/dist/assets/{esm-CoB42w1C.js → esm-BAZfwa77.js} +2 -2
  66. package/dist/assets/{esm-DyAueRRL.js → esm-BpO8b4iY.js} +2 -2
  67. package/dist/assets/esm-C-oF6bck.js +2 -0
  68. package/dist/assets/{esm-BbX6z_Bm.js → esm-CuIRAuen.js} +2 -2
  69. package/dist/assets/{esm-_vI9--3B.js → esm-CyDcfaYH.js} +2 -2
  70. package/dist/assets/{esm-BKg0nbmu.js → esm-D7eT5n3U.js} +2 -2
  71. package/dist/assets/{esm-B4xcxzQN.js → esm-tXi8GsTV.js} +2 -2
  72. package/dist/assets/eye-bbox-BR5NO1BX.js +1 -0
  73. package/dist/assets/file-editor-B2BJsOt0.js +1 -0
  74. package/dist/assets/file-markdown-EG3aJEi8.js +2 -0
  75. package/dist/assets/first-run-scope-mN3YhjgX.js +1 -0
  76. package/dist/assets/{funnel-events-BddkbWqn.js → funnel-events-CH_O9aTg.js} +1 -1
  77. package/dist/assets/general-page-C6eGuDih.js +1 -0
  78. package/dist/assets/{haptics-DafZDCxm.js → haptics-BhuZvnto.js} +2 -2
  79. package/dist/assets/{hatching-screen-BKfkDhPr.js → hatching-screen-Ceyfxgc-.js} +1 -1
  80. package/dist/assets/{home-page-route-B6vQYv0r.js → home-page-route-DdXLgyeu.js} +1 -1
  81. package/dist/assets/{home-tool-permission-card-IF0-aLrT.js → home-tool-permission-card-NAxzVd1l.js} +1 -1
  82. package/dist/assets/{hosting-screen-BJ5SfJoU.js → hosting-screen-D05jZjLX.js} +1 -1
  83. package/dist/assets/{i18n-zb2mgr1B.js → i18n-BR-AyG5b.js} +2 -2
  84. package/dist/assets/identity-page-route-BlKLitBM.js +7 -0
  85. package/dist/assets/{index-xicEUutS.js → index-CKyw1JVb.js} +3 -3
  86. package/dist/assets/index-DJ5ObIDJ.css +2 -0
  87. package/dist/assets/{ingest-B9D2Cyin.js → ingest-BwYkhorN.js} +1 -1
  88. package/dist/assets/inspect-page-m1poii66.js +9 -0
  89. package/dist/assets/integrations-page-Duhjka1l.js +1 -0
  90. package/dist/assets/{intelligence-layout-BESJ3-1s.js → intelligence-layout-ld1yOf08.js} +1 -1
  91. package/dist/assets/{invalidate-memory-queries-CS15Vuec.js → invalidate-memory-queries-YJf2XJ5P.js} +1 -1
  92. package/dist/assets/{invalidate-plugin-queries-DvUskShG.js → invalidate-plugin-queries-CySCFK8G.js} +1 -1
  93. package/dist/assets/latest-assistant-text-CDrxmzc0.js +24 -0
  94. package/dist/assets/{library-detail-page-BBfYWKvm.js → library-detail-page-v5CrGIps.js} +1 -1
  95. package/dist/assets/{library-page-BgbT6zej.js → library-page-BUnsZHzU.js} +1 -1
  96. package/dist/assets/{local-runtime-upgrade-SQQhJhOk.js → local-runtime-upgrade-Bwp6_dxW.js} +1 -1
  97. package/dist/assets/{login-flow-CTw5lXLx.js → login-flow-imrf1-ub.js} +1 -1
  98. package/dist/assets/{login-page-D2GAHcR7.js → login-page-C8owPhpB.js} +1 -1
  99. package/dist/assets/{logout-page-Cukoglve.js → logout-page-DfY78j6S.js} +1 -1
  100. package/dist/assets/{logs-layout-B4KDB9Sb.js → logs-layout-Dox-b2zq.js} +1 -1
  101. package/dist/assets/{media-preview-DjetaJpN.js → media-preview-6mD4wHKW.js} +1 -1
  102. package/dist/assets/{memory-page-route-Bnyvrbhn.js → memory-page-route-Cen_nGPc.js} +1 -1
  103. package/dist/assets/{memory-router-playground-page-8M60K9iJ.js → memory-router-playground-page-BvNM2MJO.js} +1 -1
  104. package/dist/assets/{message-files-panel-Cwlkr5w4.js → message-files-panel-CECqngl9.js} +1 -1
  105. package/dist/assets/{messages-D0PQ2X1S.js → messages-ctx0P03F.js} +1 -1
  106. package/dist/assets/{metric-card-SnROKwaj.js → metric-card-CRmU_rxS.js} +1 -1
  107. package/dist/assets/{multi-activity-group-CenHDhpe.js → multi-activity-group-DuW4ziR3.js} +1 -1
  108. package/dist/assets/native-anchor-BE-YHt8Q.js +1 -0
  109. package/dist/assets/native-deep-link-DliAfHU5.js +2 -0
  110. package/dist/assets/{native-file-DWbiI8L-.js → native-file-B9kJgftd.js} +2 -2
  111. package/dist/assets/{navigation-resolver-jn3fW9IN.js → navigation-resolver-CDeIpFuD.js} +1 -1
  112. package/dist/assets/{not-found-CRrNNxgD.js → not-found-mMT3d6dm.js} +1 -1
  113. package/dist/assets/{notifications-D7I0R0Np.js → notifications-Dx3P9a9Q.js} +1 -1
  114. package/dist/assets/{notifications-page-D6Llk4Q-.js → notifications-page-COU3Z3YY.js} +1 -1
  115. package/dist/assets/{oauth-complete-page-E47i6-KO.js → oauth-complete-page-D5uYsl41.js} +1 -1
  116. package/dist/assets/{oauth-connection-utils-BnF9kIoa.js → oauth-connection-utils-SS0qmAK4.js} +1 -1
  117. package/dist/assets/{oauth-popup-complete-page-Be9bz47B.js → oauth-popup-complete-page-BLw62jns.js} +1 -1
  118. package/dist/assets/open-workspace-file-DFo0Oq0o.js +2 -0
  119. package/dist/assets/{operational-status-DswnmGh5.js → operational-status-BsKLhv9Z.js} +1 -1
  120. package/dist/assets/{page-shell-CUz7vDVT.js → page-shell-DD_mHkHn.js} +1 -1
  121. package/dist/assets/{pairing-page-B93qLwkU.js → pairing-page-CI_qOlWo.js} +1 -1
  122. package/dist/assets/{pdf-file-preview-aTyWAALx.js → pdf-file-preview-5NsoLZLI.js} +1 -1
  123. package/dist/assets/{pdf-preview-CFuSHh-t.js → pdf-preview-DEWKJD0r.js} +2 -2
  124. package/dist/assets/{personality-page-Do1Q8mUB.js → personality-page-CI8jnXQp.js} +1 -1
  125. package/dist/assets/{plans-page-CxRb_Kby.js → plans-page-BlxaE-cv.js} +1 -1
  126. package/dist/assets/{platform-detection-BIfuAgU8.js → platform-detection-D4gxJctC.js} +1 -1
  127. package/dist/assets/{platform-login-notice-CaNQOYUj.js → platform-login-notice-CM-AbOQ7.js} +1 -1
  128. package/dist/assets/{platform-loopback-page-205CvkDI.js → platform-loopback-page-BLNuk6f2.js} +1 -1
  129. package/dist/assets/{preview-error-CdFTgKSI.js → preview-error-B-1p750d.js} +1 -1
  130. package/dist/assets/{privacy-page-Beg9rE7-.js → privacy-page-0K-bsvKl.js} +1 -1
  131. package/dist/assets/{privacy-screen-EFJ-aTdl.js → privacy-screen-DgDOXFfw.js} +1 -1
  132. package/dist/assets/profile-pickers-DBCSE_FG.js +1 -0
  133. package/dist/assets/{provider-callback-page-BKDWiQis.js → provider-callback-page-BN9NQV7v.js} +1 -1
  134. package/dist/assets/{provider-signup-page-CsCS7GAV.js → provider-signup-page-CTwmzSoF.js} +1 -1
  135. package/dist/assets/{provisioning-targets-CSwI177z.js → provisioning-targets-CFe7Jgy1.js} +1 -1
  136. package/dist/assets/{push-registration-CVotM2hK.js → push-registration-CIhXf1CF.js} +2 -2
  137. package/dist/assets/{remove-from-device-dialog-BGul1xBz.js → remove-from-device-dialog-DSScuMVd.js} +1 -1
  138. package/dist/assets/{research-mock-page-DDwmtrZR.js → research-mock-page-bhSrGrBh.js} +1 -1
  139. package/dist/assets/research-onboarding-route-CKyfP6oo.js +50 -0
  140. package/dist/assets/{research-results-view-DDjp2hBc.js → research-results-view-7psD5IrG.js} +1 -1
  141. package/dist/assets/{retire-confirm-dialog-Cz64ywTF.js → retire-confirm-dialog-BD1rkM8j.js} +1 -1
  142. package/dist/assets/{review-terms-screen-Bros6R87.js → review-terms-screen-XIGeusDw.js} +1 -1
  143. package/dist/assets/routes-lLsbgbrj.js +24 -0
  144. package/dist/assets/{runtime-upgrade-banner-WHzYN73y.js → runtime-upgrade-banner-BeO8tW05.js} +2 -2
  145. package/dist/assets/{sandbox-bridge-ajRoXgYL.js → sandbox-bridge-BismgxxG.js} +1 -1
  146. package/dist/assets/{schedules-DjkLl0OP.js → schedules-DVJx5NG9.js} +1 -1
  147. package/dist/assets/schedules-page-DRr8EB5D.js +1 -0
  148. package/dist/assets/{select-assistant-screen-CALuntMj.js → select-assistant-screen-Cbta9HDV.js} +1 -1
  149. package/dist/assets/{self-hosted-servers-CsywZANM.js → self-hosted-servers-omz1yNrQ.js} +1 -1
  150. package/dist/assets/{setting-row-JYdvkVjj.js → setting-row-BgrWOMW9.js} +1 -1
  151. package/dist/assets/settings-DKVDS49I.js +1 -0
  152. package/dist/assets/{settings-divider-gaQk2Yl5.js → settings-divider-HtBTQzlA.js} +1 -1
  153. package/dist/assets/{settings-layout-vTkMzpIY.js → settings-layout-BdUaFkyr.js} +1 -1
  154. package/dist/assets/{settings-navigation-Dp0sDZAh.js → settings-navigation-vp8wtiyE.js} +1 -1
  155. package/dist/assets/{share-feedback-modal-DiQP_cCZ.js → share-feedback-modal-D9fAEU5y.js} +2 -2
  156. package/dist/assets/{sidebar-tree-CSPhTnBf.js → sidebar-tree-9BVzkS4K.js} +1 -1
  157. package/dist/assets/{signup-page-B2mbu3qd.js → signup-page-lzOszv4S.js} +1 -1
  158. package/dist/assets/{site-favicon-dST102dp.js → site-favicon-BvIzxzVw.js} +1 -1
  159. package/dist/assets/{skill-detail-page-BZO12fh5.js → skill-detail-page-BdSINra9.js} +2 -2
  160. package/dist/assets/skill-detail-panel-88oHOdSH.js +1 -0
  161. package/dist/assets/{skills-DdBQ-tNs.js → skills-HuNDpwX2.js} +1 -1
  162. package/dist/assets/{sounds-page-sGA-Nc8o.js → sounds-page-CeZjxvIu.js} +1 -1
  163. package/dist/assets/{src-DjIqxQVd.js → src-njXJqrpo.js} +3 -3
  164. package/dist/assets/{start-screen-DeVoGKX1.js → start-screen-B1dP4bbA.js} +1 -1
  165. package/dist/assets/status-badge-pill-BuiIFTz-.js +1 -0
  166. package/dist/assets/stt-language-picker-modal-BK_1xcYe.js +1 -0
  167. package/dist/assets/subagent-detail-panel-CkxNHVOv.js +4 -0
  168. package/dist/assets/{subagent-store-ChHk8ZsH.js → subagent-store-B0Ftpguk.js} +1 -1
  169. package/dist/assets/{superpowers-page-Dk3g_Of2.js → superpowers-page-B_1_d4LI.js} +1 -1
  170. package/dist/assets/{system-events-page-XYxGo8gh.js → system-events-page-BBVNKwBJ.js} +1 -1
  171. package/dist/assets/{telegram-setup-wizard-DgdjP2o8.js → telegram-setup-wizard-D_Vwl3_I.js} +1 -1
  172. package/dist/assets/{text-preview-BJRoXOON.js → text-preview-BIeJHE0-.js} +1 -1
  173. package/dist/assets/{theme-stage-page-DPIsJBUJ.js → theme-stage-page-gWlI1Nzt.js} +1 -1
  174. package/dist/assets/{tiptap-document-editor-Cjd5FCBm.js → tiptap-document-editor-BunsgiVU.js} +1 -1
  175. package/dist/assets/toggle-ibKLySIy.js +1 -0
  176. package/dist/assets/{tool-detail-panel-CeDWOdH-.js → tool-detail-panel-DhzIzJ1Y.js} +2 -2
  177. package/dist/assets/{upgrade-cancel-page-D24RCdAz.js → upgrade-cancel-page-BiXIXlae.js} +1 -1
  178. package/dist/assets/{upgrade-success-page-A6d7PRGt.js → upgrade-success-page-C3ptzfvo.js} +1 -1
  179. package/dist/assets/{use-assistant-capability-CYKqSbfq.js → use-assistant-capability-B55Ji4gD.js} +1 -1
  180. package/dist/assets/use-assistant-identity-details-0JMOrf_F.js +1 -0
  181. package/dist/assets/{use-attachment-preview-DvVweDZY.js → use-attachment-preview-jmFGN8h6.js} +2 -2
  182. package/dist/assets/{use-attachment-squares-ELH7PQrT.js → use-attachment-squares-BSKsILdv.js} +1 -1
  183. package/dist/assets/{use-bookmarks-B4g9FKC7.js → use-bookmarks-gJWrPT2g.js} +1 -1
  184. package/dist/assets/{use-checkout-dismiss-refresh-CkeQGnJ0.js → use-checkout-dismiss-refresh-vVysV2xK.js} +1 -1
  185. package/dist/assets/{use-command-palette-sections-D0RCkx0m.js → use-command-palette-sections-BFV15eUp.js} +1 -1
  186. package/dist/assets/{use-copy-to-clipboard-oZUc3_ey.js → use-copy-to-clipboard-BeG7f_tZ.js} +1 -1
  187. package/dist/assets/{use-edge-swipe-Bde-t-dW.js → use-edge-swipe-BxVxJfNS.js} +1 -1
  188. package/dist/assets/use-edge-swipe-back-DpMHlX97.js +2 -0
  189. package/dist/assets/{use-edit-app-BZv0JIfX.js → use-edit-app-BlsO9Zav.js} +1 -1
  190. package/dist/assets/use-element-size-DeouS2c2.js +1 -0
  191. package/dist/assets/use-invite-link-dialog-TjRVy1GF.js +1 -0
  192. package/dist/assets/{use-is-org-ready-CWNhmJ2b.js → use-is-org-ready-DyYOTCvQ.js} +1 -1
  193. package/dist/assets/{use-onboarding-login-Zjbfg9rl.js → use-onboarding-login-DMUDDVUi.js} +1 -1
  194. package/dist/assets/{use-platform-assistant-id-Bafo85js.js → use-platform-assistant-id-BE6AIost.js} +1 -1
  195. package/dist/assets/{use-platform-gate-DzpdjzIz.js → use-platform-gate-zft2-meL.js} +1 -1
  196. package/dist/assets/{use-return-to-short-circuit-pEcvMXUl.js → use-return-to-short-circuit-LcamIc_k.js} +1 -1
  197. package/dist/assets/use-side-list-room-C1msxm__.js +1 -0
  198. package/dist/assets/{use-skill-actions-CeeCY9Uf.js → use-skill-actions-oBpczwnY.js} +1 -1
  199. package/dist/assets/use-sticky-profiles-D6xRVCOS.js +1 -0
  200. package/dist/assets/use-stt-language-selection-D7DxP7Eo.js +1 -0
  201. package/dist/assets/{use-subagent-card-data-BIb6t3HE.js → use-subagent-card-data-DOp8Etmj.js} +1 -1
  202. package/dist/assets/use-touch-mobile-CXJ4hTiW.js +1 -0
  203. package/dist/assets/{use-transcript-message-by-id-DUV4woMl.js → use-transcript-message-by-id-D5hHvanI.js} +1 -1
  204. package/dist/assets/{use-transcript-messages-BLtVYqAv.js → use-transcript-messages-BL55GFRr.js} +1 -1
  205. package/dist/assets/{use-voice-sample-preview-BY_J5WVl.js → use-voice-sample-preview-CLWX7j-h.js} +1 -1
  206. package/dist/assets/{useTranslation-Dn8TOHE6.js → useTranslation-DxUSOwQs.js} +1 -1
  207. package/dist/assets/{viewer-store-D3KM2E2N.js → viewer-store-DWY4BtGj.js} +1 -1
  208. package/dist/assets/voice-page-C3q84Y4H.js +1 -0
  209. package/dist/assets/{voice-providers-note-BLOdThkh.js → voice-providers-note-CuMBTzti.js} +1 -1
  210. package/dist/assets/{web-D8nAsA9l.js → web-S8v4qZ8W.js} +1 -1
  211. package/dist/assets/{web-5yJbtoui.js → web-zM0OZM8V.js} +1 -1
  212. package/dist/assets/{welcome-screen-U_A3pIDj.js → welcome-screen-Cy46Bw63.js} +1 -1
  213. package/dist/assets/workflow-detail-panel-CM1Jep4m.js +1 -0
  214. package/dist/assets/{workflow-store-Dgz97WCS.js → workflow-store-Bpg1fqWU.js} +1 -1
  215. package/dist/assets/workspace-page-eCfV4q3_.js +1 -0
  216. package/dist/assets/{workspace-tree-query-C6kx2Bkh.js → workspace-tree-query-BfWSVQB5.js} +1 -1
  217. package/dist/index.html +109 -108
  218. package/package.json +1 -1
  219. package/dist/assets/activity-steps-panel-DEgGLFtM.js +0 -1
  220. package/dist/assets/ai-page--36Riirz.js +0 -1
  221. package/dist/assets/channels-page-route-CoHtlp77.js +0 -9
  222. package/dist/assets/chat-5s_HqBzL.js +0 -3
  223. package/dist/assets/chat-markdown-message-Btoc6C1G.js +0 -1
  224. package/dist/assets/checkout-return-target-CYf9SBig.js +0 -1
  225. package/dist/assets/command-palette-D79Jq26W.js +0 -1
  226. package/dist/assets/contacts-page-route-9Y1S_HAN.js +0 -1
  227. package/dist/assets/credentials-page-BVg_keF0.js +0 -1
  228. package/dist/assets/debug-page-4N-Zj-ts.js +0 -4
  229. package/dist/assets/developer-page-CQS354Wk.js +0 -1
  230. package/dist/assets/esm-b7JWOeNl.js +0 -2
  231. package/dist/assets/file-editor-CSWBRXC5.js +0 -1
  232. package/dist/assets/file-markdown-CyzsCI8p.js +0 -2
  233. package/dist/assets/first-run-scope-Cc45jqTq.js +0 -1
  234. package/dist/assets/general-page-C3gmPYF3.js +0 -1
  235. package/dist/assets/identity-page-route-D7kzw3D3.js +0 -7
  236. package/dist/assets/index-BPNYOrwT.css +0 -2
  237. package/dist/assets/inspect-page-EDi2BOrZ.js +0 -9
  238. package/dist/assets/integrations-page-DC4dbZvc.js +0 -1
  239. package/dist/assets/latest-assistant-text-Bhqw0WEB.js +0 -24
  240. package/dist/assets/mobile-sidebar-drawer-CA_YsRi_.js +0 -1
  241. package/dist/assets/native-anchor-txt0veYo.js +0 -1
  242. package/dist/assets/native-deep-link-EZIezcy9.js +0 -1
  243. package/dist/assets/open-workspace-file-D2FXjNVn.js +0 -2
  244. package/dist/assets/profile-pickers-CKLILvRc.js +0 -1
  245. package/dist/assets/research-onboarding-route-BviJKsoz.js +0 -50
  246. package/dist/assets/routes-Q2DdFIGG.js +0 -24
  247. package/dist/assets/schedules-page-Bodkcg3J.js +0 -1
  248. package/dist/assets/settings-DGaRub9k.js +0 -1
  249. package/dist/assets/skill-detail-panel-CEepQHmY.js +0 -1
  250. package/dist/assets/status-badge-pill-DxtUb8z3.js +0 -1
  251. package/dist/assets/stt-language-picker-modal-CihIASi8.js +0 -1
  252. package/dist/assets/subagent-detail-panel-C9Y7dfKo.js +0 -4
  253. package/dist/assets/toggle-C-v4x7_A.js +0 -1
  254. package/dist/assets/use-assistant-identity-details-BVjzLgp6.js +0 -1
  255. package/dist/assets/use-edge-swipe-back-BWEVQPEJ.js +0 -2
  256. package/dist/assets/use-element-size-G76uplCp.js +0 -1
  257. package/dist/assets/use-invite-link-dialog-DgDcqWMz.js +0 -1
  258. package/dist/assets/use-sticky-profiles-BN2tBekP.js +0 -1
  259. package/dist/assets/use-touch-mobile-JVxY9M-0.js +0 -1
  260. package/dist/assets/voice-list-uy2Kwdwg.js +0 -1
  261. package/dist/assets/voice-page-Bi7r475U.js +0 -1
  262. package/dist/assets/workflow-detail-panel-fguePScg.js +0 -1
  263. package/dist/assets/workspace-page-Cp11wrja.js +0 -1
  264. /package/dist/assets/{a2a-invite-B5XOcUL6.js → a2a-invite-BNCOmr8h.js} +0 -0
  265. /package/dist/assets/{account-IaNiNsKu.js → account-CtIKBm9p.js} +0 -0
  266. /package/dist/assets/{android-consumption-only-eY-NLtwG.js → android-consumption-only-CwC2kibz.js} +0 -0
  267. /package/dist/assets/{animated-avatar-D9mX2duB.js → animated-avatar--_W54iT9.js} +0 -0
  268. /package/dist/assets/{app-info-xT5AH6o4.js → app-info-DFgKdE7W.js} +0 -0
  269. /package/dist/assets/{app-types-B4-pVNnY.js → app-types-BY00pXhT.js} +0 -0
  270. /package/dist/assets/{apple-logo-CVMvoWvp.js → apple-logo-Biu93CTa.js} +0 -0
  271. /package/dist/assets/{archive-redirect-page-CfCci8ho.js → archive-redirect-page-bx5xRoCl.js} +0 -0
  272. /package/dist/assets/{avatar-renderer-khj83dWw.js → avatar-renderer-Bja-CJEM.js} +0 -0
  273. /package/dist/assets/{avatar-subagent-B68bxt0O.js → avatar-subagent-C1J2pUFc.js} +0 -0
  274. /package/dist/assets/{avatar-tone-CQWYpANf.js → avatar-tone-CTq4cNAY.js} +0 -0
  275. /package/dist/assets/{billing-redirect-page-XcpsfvIl.js → billing-redirect-page-Dp-j37M1.js} +0 -0
  276. /package/dist/assets/{build.umd-Bg-JE3PW.js → build.umd-CKImEzO1.js} +0 -0
  277. /package/dist/assets/{channels-DkTY8D9c.js → channels-C4uOLymq.js} +0 -0
  278. /package/dist/assets/{common-XXvgM1Lv.js → common-CPxc0tHz.js} +0 -0
  279. /package/dist/assets/{community-page-CB9oMqgC.js → community-page-D1uzvBFw.js} +0 -0
  280. /package/dist/assets/{contacts-gateway-D0hHW9dI.js → contacts-gateway-Dp40T_dj.js} +0 -0
  281. /package/dist/assets/{contacts-Dnxb4zeF.js → contacts-pvrehYPe.js} +0 -0
  282. /package/dist/assets/{copy-to-clipboard-SOu7HUET.js → copy-to-clipboard-DRZUoOti.js} +0 -0
  283. /package/dist/assets/{credential-requests-DvnleKK2.js → credential-requests-BsmEdX7t.js} +0 -0
  284. /package/dist/assets/{danger-zone-redirect-page-BIYa_At7.js → danger-zone-redirect-page-DY3LtITR.js} +0 -0
  285. /package/dist/assets/{definitions-BLBMbDPd.js → definitions-BNyfuzue.js} +0 -0
  286. /package/dist/assets/{definitions-BLHO5zVb.js → definitions-DMGv-AVM.js} +0 -0
  287. /package/dist/assets/{devices-redirect-page-DJtEpVr7.js → devices-redirect-page-BXqfVWSd.js} +0 -0
  288. /package/dist/assets/{dictation-overlay-page-DLZGCPP_.js → dictation-overlay-page-DR63_PvH.js} +0 -0
  289. /package/dist/assets/{diff-rows-C_ARHWq3.js → diff-rows-ZG9FwscH.js} +0 -0
  290. /package/dist/assets/{edit-chat-session-CcwN_rea.js → edit-chat-session-B38z6oPP.js} +0 -0
  291. /package/dist/assets/{emoji-catalog-data-BGlYkVas.js → emoji-catalog-data-Dqyvj5Ne.js} +0 -0
  292. /package/dist/assets/{environment-store-CR6vnG9G.js → environment-store-DCU3hheH.js} +0 -0
  293. /package/dist/assets/{esm-DgDCYysh.js → esm-Bbh10TA1.js} +0 -0
  294. /package/dist/assets/{esm-BYiovSCx.js → esm-C0OhtIaa.js} +0 -0
  295. /package/dist/assets/{format-date-Cl5z8sZt.js → format-date-mZFhGVxR.js} +0 -0
  296. /package/dist/assets/{format-file-size-B3w8pfkS.js → format-file-size-D7QcCVUg.js} +0 -0
  297. /package/dist/assets/{home-CF1B7GqE.js → home-CoA1W6RA.js} +0 -0
  298. /package/dist/assets/{intelligence-Dcw50PsN.js → intelligence-Bpz4mQfO.js} +0 -0
  299. /package/dist/assets/{keyboard-shortcuts-redirect-page-BSNa3QLh.js → keyboard-shortcuts-redirect-page-BUEUuL5W.js} +0 -0
  300. /package/dist/assets/{library-CCXCwc6z.js → library-CxAscKuj.js} +0 -0
  301. /package/dist/assets/{link-click-BhQuhukA.js → link-click-c4p6nI2M.js} +0 -0
  302. /package/dist/assets/{logs-nlP1em1X.js → logs-BlQUbg5S.js} +0 -0
  303. /package/dist/assets/{machine-sizes-Bx2eSjOW.js → machine-sizes-D5IsW7GE.js} +0 -0
  304. /package/dist/assets/{onboarding-C6ZFK4YA.js → onboarding-C-LQqXEa.js} +0 -0
  305. /package/dist/assets/{onboarding-step-layout-CFCN1Nnk.js → onboarding-step-layout-Cksqlmsb.js} +0 -0
  306. /package/dist/assets/{optimistic-lifecycle-EXwQgNvb.js → optimistic-lifecycle-DIWfvuIw.js} +0 -0
  307. /package/dist/assets/{page-empty-state-DRbcD4aa.js → page-empty-state-Df3EP_DE.js} +0 -0
  308. /package/dist/assets/{password-reset-page-Cmbeaggq.js → password-reset-page-0k2eeyou.js} +0 -0
  309. /package/dist/assets/{pdf-BUxbm1S7.js → pdf-CpDfklza.js} +0 -0
  310. /package/dist/assets/{plugin-attribution-B_3pbh6m.js → plugin-attribution-TebhIznA.js} +0 -0
  311. /package/dist/assets/{plugin-detail-page-C0zaBBon.js → plugin-detail-page-N3j9G0yc.js} +0 -0
  312. /package/dist/assets/{plugins-page-BuN35WCX.js → plugins-page-BPSPELgG.js} +0 -0
  313. /package/dist/assets/{preview-skeleton-BLpm3j7s.js → preview-skeleton-BreSI6Ln.js} +0 -0
  314. /package/dist/assets/{profile-metadata-BxP0WOpJ.js → profile-metadata-DAXhAdlI.js} +0 -0
  315. /package/dist/assets/{provider-key-CzUfGGE_.js → provider-key-CR8jz-eM.js} +0 -0
  316. /package/dist/assets/{quick-input-page-DYc7eXbP.js → quick-input-page-Mw2f8F3_.js} +0 -0
  317. /package/dist/assets/{radio-card-nav-BOpJqAoO.js → radio-card-nav-BubfTKOh.js} +0 -0
  318. /package/dist/assets/{remote-web-COoOfi7K.js → remote-web-Di_UF41i.js} +0 -0
  319. /package/dist/assets/{schedules-DhrUSTxo.js → schedules-BaUXJBRS.js} +0 -0
  320. /package/dist/assets/{schedules-630osdOz.js → schedules-JL1Laub-.js} +0 -0
  321. /package/dist/assets/{security-redirect-page-D9_08zix.js → security-redirect-page-Ce11_hfW.js} +0 -0
  322. /package/dist/assets/{signup-shell-BLq9UcAD.js → signup-shell-XnqyIHQa.js} +0 -0
  323. /package/dist/assets/{skill-icon-BEzVeada.js → skill-icon-xO9VGnPV.js} +0 -0
  324. /package/dist/assets/{skills-page-CpajWLSk.js → skills-page-bnp9x1iR.js} +0 -0
  325. /package/dist/assets/{system-events-redirect-page-CdqIVW5m.js → system-events-redirect-page-W8knAadR.js} +0 -0
  326. /package/dist/assets/{terminal-B8-uO_zb.js → terminal-B4go-vP8.js} +0 -0
  327. /package/dist/assets/{three-dot-indicator-BFNMvd3i.js → three-dot-indicator-BhUevb3V.js} +0 -0
  328. /package/dist/assets/{usage-redirect-page-Bk755PQU.js → usage-redirect-page-DXcbB81p.js} +0 -0
  329. /package/dist/assets/{use-active-assistant-id-Cgt1z2rZ.js → use-active-assistant-id-Btl1-4sB.js} +0 -0
  330. /package/dist/assets/{use-local-file-info-CowxNLsG.js → use-local-file-info-Dz017Fii.js} +0 -0
  331. /package/dist/assets/{use-skill-detail-files-2agjQ-pp.js → use-skill-detail-files-Bzwall4_.js} +0 -0
  332. /package/dist/assets/{use-supports-credentials-settings-BBUFotal.js → use-supports-credentials-settings-D9oEIOk9.js} +0 -0
  333. /package/dist/assets/{weather-forecast-display-BMFPvW83.js → weather-forecast-display-BRi0CN73.js} +0 -0
  334. /package/dist/assets/{web-DT7CHk3X.js → web-Bc0yxcTg.js} +0 -0
  335. /package/dist/assets/{web-CnTPI_xz.js → web-DUcCWo6-.js} +0 -0
  336. /package/dist/assets/{web-CpFPB7iN.js → web-DnUU5XRV.js} +0 -0
  337. /package/dist/assets/{web-DfzBW3mJ.js → web-DoWs0tX8.js} +0 -0
  338. /package/dist/assets/{web-BXqKHeFH.js → web-DprnafKw.js} +0 -0
  339. /package/dist/assets/{web-fHk-S0Kt.js → web-bVuMezJ9.js} +0 -0
  340. /package/dist/assets/{web-D2fHQj5v.js → web-xXRFVuHp.js} +0 -0
  341. /package/dist/assets/{workspace-CCzLdd4F.js → workspace-B3DIYRpz.js} +0 -0
  342. /package/dist/assets/{xterm-CfcAttTO.js → xterm-5SK_xX72.js} +0 -0
  343. /package/dist/assets/{xterm-addon-fit-CmOTEB5O.js → xterm-addon-fit-Bov_2YwK.js} +0 -0
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-BUxbm1S7.js","assets/preload-helper-Cv2QeVDK.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./preload-helper-Cv2QeVDK.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./loader-circle-oY5laABh.js";var a=e(t(),1);function o(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?Math.round(n).toString():n.toFixed(1)} ${t[r]}`}function s(e,t){let n=(e||``).toLowerCase(),r=t.split(`.`).pop()?.toLowerCase()??``;return n.startsWith(`image/`)?`image`:n.startsWith(`video/`)?`video`:n.startsWith(`audio/`)?`audio`:n===`application/pdf`||r===`pdf`?`pdf`:n===`application/zip`||n===`application/x-tar`||n===`application/gzip`||[`zip`,`tar`,`gz`,`tgz`,`rar`,`7z`].includes(r)?`archive`:n===`text/csv`||n===`application/vnd.ms-excel`||n===`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`||[`csv`,`xlsx`,`xls`,`numbers`].includes(r)?`spreadsheet`:`ts.tsx.js.jsx.py.rb.go.rs.java.kt.swift.c.cc.cpp.h.hpp.sh.bash.zsh.html.css.scss.json.yaml.yml.toml.xml`.split(`.`).includes(r)?`code`:n===`application/msword`||n===`application/vnd.openxmlformats-officedocument.wordprocessingml.document`||[`doc`,`docx`,`pages`].includes(r)?`document`:n.startsWith(`text/`)||[`txt`,`md`,`rtf`].includes(r)?`text`:`file`}function c(e){let t=e.replace(/\s/g,``),n=t.endsWith(`==`)?2:+!!t.endsWith(`=`);return Math.max(0,Math.floor(t.length*3/4)-n)}function l(e){let t=e.match(/;base64,(.*)$/);if(!t?.[1])return null;let n=atob(t[1]),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function u(e,t=28){if(e.length<=t)return e;let n=Math.max(4,Math.floor((t-1)/2));return`${e.slice(0,n)}…${e.slice(e.length-n)}`}var d=r(),f=1.5,p=2,m=20,h=!1;async function g(){let e=await n(()=>import(`./pdf-BUxbm1S7.js`),__vite__mapDeps([0,1]));return h||=(e.GlobalWorkerOptions.workerSrc=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${e.version}/legacy/build/pdf.worker.min.mjs`,!0),e}function _({url:e,className:t}){let n=(0,a.useRef)(null),[r,o]=(0,a.useState)(null),[s,c]=(0,a.useState)(0),[u,h]=(0,a.useState)(!0),[_,v]=(0,a.useState)(null),y=(0,a.useRef)(new Map),b=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{let t=!1;async function n(){h(!0),v(null),o(null),c(0),b.current.clear();try{let n=await g(),r;if(e.startsWith(`data:`)){let t=l(e);r=t?{data:t}:e}else r=e;let i=await n.getDocument(r).promise;if(t){i.destroy();return}o(i),c(Math.min(i.numPages,m))}catch{t||v(`Failed to load PDF.`)}finally{t||h(!1)}}return n(),()=>{t=!0}},[e]),(0,a.useEffect)(()=>()=>{r&&r.destroy()},[r]);let x=(0,a.useCallback)(async e=>{if(!r||b.current.has(e))return;let t=y.current.get(e);if(t){b.current.add(e);try{let n=await r.getPage(e),i=t.clientWidth,a=typeof window>`u`?1:window.devicePixelRatio,o=i>0?Math.min(i*(a>0?a:1)/n.getViewport({scale:1}).width,p):f,s=n.getViewport({scale:o});t.width=s.width,t.height=s.height,await n.render({canvas:t,viewport:s}).promise}catch{b.current.delete(e)}}},[r]);(0,a.useEffect)(()=>{if(!r||s===0)return;let e=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=Number(t.target.dataset.page);e&&x(e)}},{root:n.current,rootMargin:`200px`});return y.current.forEach(t=>e.observe(t)),()=>e.disconnect()},[r,s,x]);let S=(0,a.useCallback)(e=>t=>{t?y.current.set(e,t):y.current.delete(e)},[]);return u?(0,d.jsx)(`span`,{className:`flex items-center justify-center py-24`,children:(0,d.jsx)(i,{className:`h-8 w-8 animate-spin text-white/70`})}):_?(0,d.jsx)(`span`,{className:`block w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:(0,d.jsx)(`span`,{className:`text-body-medium-lighter block text-white/80`,children:_})}):(0,d.jsx)(`span`,{ref:n,className:`flex max-h-[80vh] flex-col items-center gap-2 overflow-y-auto rounded ${t??``}`,children:Array.from({length:s},(e,t)=>(0,d.jsx)(`canvas`,{ref:S(t+1),"data-page":t+1,className:`w-[90vw] max-w-[800px]`,style:{height:`auto`}},t+1))})}export{o as a,c as i,s as n,u as o,l as r,_ as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-CpDfklza.js","assets/preload-helper-Cv2QeVDK.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./preload-helper-Cv2QeVDK.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./loader-circle-oY5laABh.js";var a=e(t(),1);function o(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?Math.round(n).toString():n.toFixed(1)} ${t[r]}`}function s(e,t){let n=(e||``).toLowerCase(),r=t.split(`.`).pop()?.toLowerCase()??``;return n.startsWith(`image/`)?`image`:n.startsWith(`video/`)?`video`:n.startsWith(`audio/`)?`audio`:n===`application/pdf`||r===`pdf`?`pdf`:n===`application/zip`||n===`application/x-tar`||n===`application/gzip`||[`zip`,`tar`,`gz`,`tgz`,`rar`,`7z`].includes(r)?`archive`:n===`text/csv`||n===`application/vnd.ms-excel`||n===`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`||[`csv`,`xlsx`,`xls`,`numbers`].includes(r)?`spreadsheet`:`ts.tsx.js.jsx.py.rb.go.rs.java.kt.swift.c.cc.cpp.h.hpp.sh.bash.zsh.html.css.scss.json.yaml.yml.toml.xml`.split(`.`).includes(r)?`code`:n===`application/msword`||n===`application/vnd.openxmlformats-officedocument.wordprocessingml.document`||[`doc`,`docx`,`pages`].includes(r)?`document`:n.startsWith(`text/`)||[`txt`,`md`,`rtf`].includes(r)?`text`:`file`}function c(e){let t=e.replace(/\s/g,``),n=t.endsWith(`==`)?2:+!!t.endsWith(`=`);return Math.max(0,Math.floor(t.length*3/4)-n)}function l(e){let t=e.match(/;base64,(.*)$/);if(!t?.[1])return null;let n=atob(t[1]),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function u(e,t=28){if(e.length<=t)return e;let n=Math.max(4,Math.floor((t-1)/2));return`${e.slice(0,n)}…${e.slice(e.length-n)}`}var d=r(),f=1.5,p=2,m=20,h=!1;async function g(){let e=await n(()=>import(`./pdf-CpDfklza.js`),__vite__mapDeps([0,1]));return h||=(e.GlobalWorkerOptions.workerSrc=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${e.version}/legacy/build/pdf.worker.min.mjs`,!0),e}function _({url:e,className:t}){let n=(0,a.useRef)(null),[r,o]=(0,a.useState)(null),[s,c]=(0,a.useState)(0),[u,h]=(0,a.useState)(!0),[_,v]=(0,a.useState)(null),y=(0,a.useRef)(new Map),b=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{let t=!1;async function n(){h(!0),v(null),o(null),c(0),b.current.clear();try{let n=await g(),r;if(e.startsWith(`data:`)){let t=l(e);r=t?{data:t}:e}else r=e;let i=await n.getDocument(r).promise;if(t){i.destroy();return}o(i),c(Math.min(i.numPages,m))}catch{t||v(`Failed to load PDF.`)}finally{t||h(!1)}}return n(),()=>{t=!0}},[e]),(0,a.useEffect)(()=>()=>{r&&r.destroy()},[r]);let x=(0,a.useCallback)(async e=>{if(!r||b.current.has(e))return;let t=y.current.get(e);if(t){b.current.add(e);try{let n=await r.getPage(e),i=t.clientWidth,a=typeof window>`u`?1:window.devicePixelRatio,o=i>0?Math.min(i*(a>0?a:1)/n.getViewport({scale:1}).width,p):f,s=n.getViewport({scale:o});t.width=s.width,t.height=s.height,await n.render({canvas:t,viewport:s}).promise}catch{b.current.delete(e)}}},[r]);(0,a.useEffect)(()=>{if(!r||s===0)return;let e=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=Number(t.target.dataset.page);e&&x(e)}},{root:n.current,rootMargin:`200px`});return y.current.forEach(t=>e.observe(t)),()=>e.disconnect()},[r,s,x]);let S=(0,a.useCallback)(e=>t=>{t?y.current.set(e,t):y.current.delete(e)},[]);return u?(0,d.jsx)(`span`,{className:`flex items-center justify-center py-24`,children:(0,d.jsx)(i,{className:`h-8 w-8 animate-spin text-white/70`})}):_?(0,d.jsx)(`span`,{className:`block w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:(0,d.jsx)(`span`,{className:`text-body-medium-lighter block text-white/80`,children:_})}):(0,d.jsx)(`span`,{ref:n,className:`flex max-h-[80vh] flex-col items-center gap-2 overflow-y-auto rounded ${t??``}`,children:Array.from({length:s},(e,t)=>(0,d.jsx)(`canvas`,{ref:S(t+1),"data-page":t+1,className:`w-[90vw] max-w-[800px]`,style:{height:`auto`}},t+1))})}export{o as a,c as i,s as n,u as o,l as r,_ as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./src-DjIqxQVd.js";import{t as o}from"./arrow-left-xVF3p2Qp.js";import{t as s}from"./sparkles-DB7sSiA2.js";import{i as c,r as l,t as u}from"./dist-CYFZCv2b.js";import{n as d}from"./toast-BrKo5b4d.js";import{o as f}from"./i18n-zb2mgr1B.js";import{t as p}from"./useTranslation-Dn8TOHE6.js";import{d as m}from"./routes-C293MsBG.js";import{n as h}from"./use-assistant-avatar--hNHYiPK.js";import{t as g}from"./use-active-assistant-id-Cgt1z2rZ.js";import{a as _,i as v,o as y,r as b,s as x}from"./latest-assistant-text-Bhqw0WEB.js";import{a as S,c as C,i as w,n as T,o as E,r as D,t as O}from"./use-assistant-identity-details-BVjzLgp6.js";var k=e(t(),1),A=a(),j=`rgba(36, 41, 46, 0.25)`,M=`#FDFDFC`;function N({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){let{t:a}=p(`intelligence`),o=a(e.leftKey),s=a(e.rightKey);return(0,A.jsxs)(`div`,{className:`flex w-full shrink-0 flex-wrap items-center gap-x-5 gap-y-1.5 sm:flex-nowrap`,style:{opacity:i?.7:1},children:[(0,A.jsx)(`span`,{className:`order-1 flex-1 text-left text-sm sm:w-32 sm:flex-none sm:text-right sm:text-[17px]`,style:{color:r.fg},children:o}),(0,A.jsx)(`span`,{className:`order-2 flex-1 text-right text-sm sm:order-3 sm:w-32 sm:flex-none sm:text-left sm:text-[17px]`,style:{color:r.fg},children:s}),(0,A.jsxs)(u,{className:`relative order-3 flex h-6 w-full touch-none items-center select-none sm:order-2 sm:w-auto sm:flex-1`,value:[t],onValueChange:e=>n(e[0]??S),disabled:i,min:0,max:100,step:1,"aria-label":a(`personalitySliderRow.rangeAriaLabel`,{left:o,right:s}),children:[(0,A.jsx)(c,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:j}}),(0,A.jsx)(l,{className:`block h-5 w-5 cursor-grab rounded-full shadow-sm transition-transform active:scale-95 active:cursor-grabbing keyboard-focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-white/70 data-[disabled]:cursor-not-allowed data-[disabled]:active:scale-100 sm:h-6 sm:w-6`,style:{backgroundColor:M}})]})]})}async function P({assistantId:e,values:t,assistantName:n}){return D({assistantId:e,content:x(t,void 0,n),title:f(`applyPersonalityUpdate.conversationTitle`,{ns:`intelligence`}),context:`identity_personality_update`})}function F(){let{t:e}=p(`intelligence`),t=g(),a=n(),o=r(),{components:s,traits:c,customImageUrl:l}=h(t),u=T(t),f=i({queryKey:_(t),queryFn:()=>v(t)}),[x,S]=(0,k.useState)(null),[C,w]=(0,k.useState)(!1),D=x??f.data??{},j=u.data?.identity?.name||e(`identityOverview.defaultAssistantName`);return(0,A.jsx)(E,{components:s,traits:c,customImageUrl:l,entrance:!0,children:(0,A.jsx)(I,{assistantName:j,values:D,onValueChange:(e,t)=>S({...D,[e]:t}),applying:C,onUpdate:()=>{w(!0);let n=b(D);P({assistantId:t,values:n,assistantName:u.data?.identity?.name}).then(async r=>{w(!1),r?(await y(t,n),o.invalidateQueries({queryKey:_(t)}),o.invalidateQueries({queryKey:O(t)}),d.success(e(`personalityPage.updateSuccessToast`)),a(m.identity)):d.error(e(`personalityPage.updateErrorToast`))})},onBack:()=>void a(m.identity)})})}function I({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{t:c}=p(`intelligence`),{tone:l,bottomReserve:u}=C();return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`button`,{type:`button`,onClick:a,className:`absolute top-4 left-4 z-20 flex cursor-pointer items-center gap-1.5 rounded-full py-2 pr-4 pl-3 text-body-medium-default backdrop-blur-sm transition-all duration-150 active:scale-[0.97] ${l.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`}`,style:{color:l.fg},children:[(0,A.jsx)(o,{className:`h-4 w-4`,"aria-hidden":!0}),c(`personalityPage.back`)]}),(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:u},children:[(0,A.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,A.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,A.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:c(`personalityPage.title`)}),(0,A.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:l.fgMuted},children:c(`personalityPage.subtitle`)})]}),(0,A.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,A.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:w.map((e,i)=>(0,A.jsxs)(k.Fragment,{children:[i>0&&(0,A.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,A.jsx)(N,{axis:e,value:t[e.id]??S,onValueChange:t=>n(e.id,t),tone:l,disabled:r})]},e.id))}),(0,A.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,A.jsx)(`button`,{type:`button`,onClick:i,disabled:r,className:`flex min-h-11 min-w-[240px] max-w-full shrink-0 cursor-pointer items-center justify-center gap-2 rounded-[10px] px-6 py-2 text-body-medium-default transition-transform duration-150 active:scale-[0.97] disabled:cursor-default disabled:opacity-80 disabled:active:scale-100`,style:{backgroundColor:l.isLight?`#1A1A1A`:`#FFFFFF`,color:l.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:l.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:l.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,A.jsx)(`span`,{className:`min-w-0 text-center`,children:c(`personalityPage.updatingPersonality`,{name:e})})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(s,{className:`h-4 w-4`,"aria-hidden":!0}),c(`personalityPage.updatePersonality`)]})})]})]})}export{F as PersonalityPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./src-njXJqrpo.js";import{t as o}from"./arrow-left-xVF3p2Qp.js";import{t as s}from"./sparkles-DB7sSiA2.js";import{i as c,r as l,t as u}from"./dist-CYFZCv2b.js";import{n as d}from"./toast-BrKo5b4d.js";import{o as f}from"./i18n-BR-AyG5b.js";import{t as p}from"./useTranslation-DxUSOwQs.js";import{d as m}from"./routes-C293MsBG.js";import{n as h}from"./use-assistant-avatar--hNHYiPK.js";import{t as g}from"./use-active-assistant-id-Btl1-4sB.js";import{a as _,c as v,l as y,o as b,s as x}from"./latest-assistant-text-CDrxmzc0.js";import{a as S,c as C,i as w,n as T,o as E,r as D,t as O}from"./use-assistant-identity-details-0JMOrf_F.js";var k=e(t(),1),A=a(),j=`rgba(36, 41, 46, 0.25)`,M=`#FDFDFC`;function N({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){let{t:a}=p(`intelligence`),o=a(e.leftKey),s=a(e.rightKey);return(0,A.jsxs)(`div`,{className:`flex w-full shrink-0 flex-wrap items-center gap-x-5 gap-y-1.5 sm:flex-nowrap`,style:{opacity:i?.7:1},children:[(0,A.jsx)(`span`,{className:`order-1 flex-1 text-left text-sm sm:w-32 sm:flex-none sm:text-right sm:text-[17px]`,style:{color:r.fg},children:o}),(0,A.jsx)(`span`,{className:`order-2 flex-1 text-right text-sm sm:order-3 sm:w-32 sm:flex-none sm:text-left sm:text-[17px]`,style:{color:r.fg},children:s}),(0,A.jsxs)(u,{className:`relative order-3 flex h-6 w-full touch-none items-center select-none sm:order-2 sm:w-auto sm:flex-1`,value:[t],onValueChange:e=>n(e[0]??S),disabled:i,min:0,max:100,step:1,"aria-label":a(`personalitySliderRow.rangeAriaLabel`,{left:o,right:s}),children:[(0,A.jsx)(c,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:j}}),(0,A.jsx)(l,{className:`block h-5 w-5 cursor-grab rounded-full shadow-sm transition-transform active:scale-95 active:cursor-grabbing keyboard-focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-white/70 data-[disabled]:cursor-not-allowed data-[disabled]:active:scale-100 sm:h-6 sm:w-6`,style:{backgroundColor:M}})]})]})}async function P({assistantId:e,values:t,assistantName:n}){return D({assistantId:e,content:y(t,void 0,n),title:f(`applyPersonalityUpdate.conversationTitle`,{ns:`intelligence`}),context:`identity_personality_update`})}function F(){let{t:e}=p(`intelligence`),t=g(),a=n(),o=r(),{components:s,traits:c,customImageUrl:l}=h(t),u=T(t),f=i({queryKey:x(t),queryFn:()=>b(t)}),[y,S]=(0,k.useState)(null),[C,w]=(0,k.useState)(!1),D=y??f.data??{},j=u.data?.identity?.name||e(`identityOverview.defaultAssistantName`);return(0,A.jsx)(E,{components:s,traits:c,customImageUrl:l,entrance:!0,children:(0,A.jsx)(I,{assistantName:j,values:D,onValueChange:(e,t)=>S({...D,[e]:t}),applying:C,onUpdate:()=>{w(!0);let n=_(D);P({assistantId:t,values:n,assistantName:u.data?.identity?.name}).then(async r=>{w(!1),r?(await v(t,n),o.invalidateQueries({queryKey:x(t)}),o.invalidateQueries({queryKey:O(t)}),d.success(e(`personalityPage.updateSuccessToast`)),a(m.identity)):d.error(e(`personalityPage.updateErrorToast`))})},onBack:()=>void a(m.identity)})})}function I({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{t:c}=p(`intelligence`),{tone:l,bottomReserve:u}=C();return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`button`,{type:`button`,onClick:a,className:`absolute top-4 left-4 z-20 flex cursor-pointer items-center gap-1.5 rounded-full py-2 pr-4 pl-3 text-body-medium-default backdrop-blur-sm transition-all duration-150 active:scale-[0.97] ${l.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`}`,style:{color:l.fg},children:[(0,A.jsx)(o,{className:`h-4 w-4`,"aria-hidden":!0}),c(`personalityPage.back`)]}),(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:u},children:[(0,A.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,A.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,A.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:c(`personalityPage.title`)}),(0,A.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:l.fgMuted},children:c(`personalityPage.subtitle`)})]}),(0,A.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,A.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:w.map((e,i)=>(0,A.jsxs)(k.Fragment,{children:[i>0&&(0,A.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,A.jsx)(N,{axis:e,value:t[e.id]??S,onValueChange:t=>n(e.id,t),tone:l,disabled:r})]},e.id))}),(0,A.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,A.jsx)(`button`,{type:`button`,onClick:i,disabled:r,className:`flex min-h-11 min-w-[240px] max-w-full shrink-0 cursor-pointer items-center justify-center gap-2 rounded-[10px] px-6 py-2 text-body-medium-default transition-transform duration-150 active:scale-[0.97] disabled:cursor-default disabled:opacity-80 disabled:active:scale-100`,style:{backgroundColor:l.isLight?`#1A1A1A`:`#FFFFFF`,color:l.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:l.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:l.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,A.jsx)(`span`,{className:`min-w-0 text-center`,children:c(`personalityPage.updatingPersonality`,{name:e})})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(s,{className:`h-4 w-4`,"aria-hidden":!0}),c(`personalityPage.updatePersonality`)]})})]})]})}export{F as PersonalityPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,h 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"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./typography-BeUa5Fd-.js";import{t as u}from"./arrow-left-xVF3p2Qp.js";import{t as d}from"./circle-check-BG2g8udA.js";import{t as f}from"./coins-B6rJlYQ0.js";import{A as p,B as m,C as h,D as g,E as _,F as v,I as y,L as b,M as x,N as S,P as C,T as w,V as T,_ as E,a as D,d as O,f as ee,i as te,j as ne,n as re,o as k,r as ie,t as ae,w as oe,x as se,y as A,z as ce}from"./use-checkout-dismiss-refresh-CkeQGnJ0.js";import{t as j}from"./hard-drive-BxeWK7dU.js";import{t as le}from"./loader-circle-oY5laABh.js";import{t as M}from"./sliders-horizontal-DOPSCMHk.js";import{t as N}from"./triangle-alert-C5SOfs-q.js";import{t as P}from"./tag-D0oiSRye.js";import{t as F}from"./modal-Bt1DPFgW.js";import{n as I}from"./toast-BrKo5b4d.js";import{t as ue}from"./select-B86W_Hs8.js";import{t as L}from"./is-electron-BSK3AUxG.js";import{l as de}from"./auth-store-BDMYc7te.js";import{R as fe}from"./platform-detection-BIfuAgU8.js";import{d as pe,t as me}from"./routes-C293MsBG.js";import{i as he,r as ge,t as _e}from"./use-platform-gate-DzpdjzIz.js";import{r as ve}from"./use-is-org-ready-CWNhmJ2b.js";import{n as ye}from"./browser-CZ10MkOr.js";import{at as be,dt as xe,ft as Se,it as Ce,mt as we,nt as Te,pt as Ee,rt as De,st as R,ut as Oe}from"./react-query.gen-CqLxrlpP.js";import{t as ke}from"./use-bundled-avatar-components-B4YxFEiT.js";import{t as Ae}from"./native-anchor-txt0veYo.js";import{t as je}from"./checkout-return-target-CYf9SBig.js";import{i as Me,r as z,s as Ne,t as B}from"./machine-sizes-Bx2eSjOW.js";var V=e(t(),1),Pe=`__none__`,H=`No extra credits`,U=`__baseline__`,W=`${Me[B]} machine (${z[B]})`;function Fe(e){let{proPlan:t,seed:n,machineTier:r,storageTier:i,creditChoice:a}=e,o=t.machine_tiers,s=t.storage_tiers,c=t.credit_tiers??[],l=r===U,u=l?null:o.find(e=>e.tier===r)??null,d=l?W:u?.description??null,f=s.find(e=>e.tier===i)??null,p=a&&a!==`__none__`?c.find(e=>e.tier===a)??null:null,m=n!=null&&n.machineTier!=null?o.find(e=>e.tier===n.machineTier)??null:null,h=n==null?null:n.machineTier??`__baseline__`,g=n==null?void 0:n.machineTier==null?W:m?.description,_=n==null?null:s.find(e=>e.tier===n.storageTier)??null,y=n!=null&&n.creditTier!=null?c.find(e=>e.tier===n.creditTier)??null:null,S=n!=null&&n.machineTier!=null&&m==null,C=n!=null&&_==null,w=[{key:`base`,label:`Platform fee: ${v(t.base_price_cents)}`,changed:!1}];if(d!=null){let e=n!=null&&!S&&h!==r;w.push({key:`machine`,label:d,previousLabel:e?g:void 0,changed:e})}if(f!=null){let e=n!=null&&!C&&_?.tier!==f.tier;w.push({key:`storage`,label:b(f.storage_gib),previousLabel:e&&_!=null?b(_.storage_gib):void 0,changed:e})}let T=a===`__none__`?H:p==null?null:x(p.credits_usd);if(T!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?H:y==null?void 0:x(y.credits_usd);w.push({key:`credit`,label:T,previousLabel:e?t:void 0,changed:e})}let E=t.base_price_cents+(u?.price_cents??0)+(f?.price_cents??0)+(p?.price_cents??0),D=S||C||n!=null&&n.creditTier!=null&&y==null;if(n==null||D)return{totalCents:E,previousTotalCents:null,deltaCents:null,rows:w};let O=t.base_price_cents+(m?.price_cents??0)+(_?.price_cents??0)+(y?.price_cents??0);return{totalCents:E,previousTotalCents:O,deltaCents:E-O,rows:w}}var Ie=`https://www.vellum.ai/docs/pricing`,G=`${Ie}#machine-sizes`,K=`${Ie}#storage`,Le=`${Ie}#credit-bundles`,q=c();function J(e){return(0,q.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,v(e)]})}function Y({label:e,docsUrl:t,docsLabel:n}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":n,onClick:e=>Ae(e,t),className:`text-[11px] font-medium text-[var(--content-tertiary)] underline hover:text-[var(--content-default)]`,children:`Learn more`})]})}function Re({open:e,proPlan:t,pending:r,currentStorageGib:i,initialSelection:a,onClose:o,onContinue:s}){let c=e?a??null:null,[l,u]=(0,V.useState)(()=>c?c.machineTier??`__baseline__`:``),[p,m]=(0,V.useState)(()=>c?.storageTier??``),[h,g]=(0,V.useState)(()=>c?c.creditTier??`__none__`:``),[_,y]=(0,V.useState)({open:e,initialSelection:a});(_.open!==e||_.initialSelection!==a)&&(y({open:e,initialSelection:a}),u(c?c.machineTier??`__baseline__`:``),m(c?.storageTier??``),g(c?c.creditTier??`__none__`:``));let b=t.machine_tiers,x=(0,V.useMemo)(()=>t.storage_tiers.filter(e=>!e.legacy||e.tier===a?.storageTier),[t.storage_tiers,a?.storageTier]),w=t.credit_tiers??[],E=(0,V.useMemo)(()=>(t.credit_tiers??[]).filter(e=>!e.legacy),[t.credit_tiers]),D=e=>O(e)||e.legacy&&e.tier!==a?.storageTier||i!=null&&e.storage_gib<i,ee=a!=null&&a.machineTier==null,te=[...ee?[{value:U,label:W,icon:(0,q.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...b.map(e=>({value:e.tier,label:e.description,icon:(0,q.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents),disabled:O(e)}))],ne=x.map(e=>({value:e.tier,label:e.label,icon:(0,q.jsx)(j,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents),disabled:D(e)})),re=h&&h!==`__none__`?w.find(e=>e.tier===h)??null:null,k=re?.legacy?re:null,ie=[{value:Pe,label:H,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0})},...E.map(e=>({value:e.tier,label:e.label,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents)})),...k?[{value:k.tier,label:k.label,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(k.price_cents),disabled:!0}]:[]],ae=l===U,oe=ae?null:b.find(e=>e.tier===l)??null,se=ae?ee?{tier:null}:null:oe==null?null:{tier:oe.tier},A=p!==``&&p===a?.storageTier,ce=x.find(e=>e.tier===p&&(A||!D(e)))??null,le=h===`__none__`||h===a?.creditTier||E.some(e=>e.tier===h),N=h!==``&&le?h:null,P=se!=null&&ce!=null&&N!=null,I=a!=null&&l===(a.machineTier??`__baseline__`)&&p===a.storageTier&&h===(a.creditTier??`__none__`),L=(0,V.useMemo)(()=>Fe({proPlan:t,seed:a??null,machineTier:l,storageTier:p,creditChoice:h}),[t,a,l,p,h]);return(0,q.jsx)(F.Root,{open:e,onOpenChange:e=>{e||o()},children:(0,q.jsx)(F.Content,{size:`lg`,"data-theme":`light`,hideCloseButton:!0,overlayClassName:`backdrop-blur-[2px]`,className:`max-w-[820px] md:min-h-[min(608px,calc(100vh-4rem))]`,children:(0,q.jsx)(F.Body,{className:`p-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,q.jsx)(M,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,q.jsx)(F.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Create a custom plan`}),(0,q.jsx)(F.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:`Just better.`})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Select a machine size:`,docsUrl:G,docsLabel:`Learn more about machine sizes`}),(0,q.jsx)(ue,{"aria-label":`Machine size`,placeholder:`Select a machine size`,value:l,onChange:u,options:te})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Select storage:`,docsUrl:K,docsLabel:`Learn more about storage`}),(0,q.jsx)(ue,{"aria-label":`Storage`,placeholder:`Select storage`,value:p,onChange:m,options:ne})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Bundle some credits:`,docsUrl:Le,docsLabel:`Learn more about credit bundles`}),(0,q.jsx)(ue,{"aria-label":`Credit bundle`,placeholder:`Select a credit bundle`,value:h,onChange:g,options:ie})]})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,q.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Recap`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:v(L.totalCents)}),L.deltaCents!=null&&L.deltaCents!==0&&L.previousTotalCents!=null&&(0,q.jsxs)(`span`,{className:`text-[12px] font-medium ${L.deltaCents>0?`text-[var(--system-positive-strong)]`:`text-[var(--system-negative-strong)]`}`,children:[S(L.deltaCents),` compared to previous (`,C(L.previousTotalCents),`)`]}),(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:`Total · Billed monthly`})]}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Your selection:`}),(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:L.rows.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,q.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,q.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 ${e.changed?`text-[var(--system-positive-strong)]`:`text-[var(--content-secondary)]`}`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,q.jsx)(n,{variant:`primary`,fullWidth:!0,disabled:!P||I||r,onClick:()=>{!P||I||r||s({machineTier:se.tier,storageTier:ce.tier,creditTier:N===`__none__`?null:N})},children:`Continue`}),(0,q.jsx)(n,{variant:`ghost`,fullWidth:!0,disabled:r,onClick:o,children:`Cancel`})]})]})]})})})})}var ze=`Select custom CPU power, Ram and Storage. Or just throw in some tokens.`;function Be({className:e,onConfigure:t,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){return(0,q.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,q.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Need something more tailored to your needs?`}),(0,q.jsxs)(`div`,{className:`flex w-[840px] max-w-full flex-col items-start gap-4 rounded-2xl bg-[var(--surface-lift)] p-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,q.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,q.jsx)(M,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Custom Plan`}),i?(0,q.jsx)(P,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:`Your Current Plan`}):null]}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??ze})]})]}),(0,q.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,q.jsx)(n,{variant:`outlined`,onClick:t,disabled:r,children:`Configure`})})]})]})}function Ve({open:e,lostFeatures:t,pending:r,onCancel:i,onConfirm:a}){let o=t.length>0;return(0,q.jsx)(F.Root,{open:e,onOpenChange:e=>{!e&&!r&&i()},children:(0,q.jsxs)(F.Content,{size:`md`,hideCloseButton:!0,children:[(0,q.jsx)(F.Header,{icon:N,children:(0,q.jsx)(F.Title,{children:`Downgrade to Base?`})}),(0,q.jsxs)(F.Body,{children:[(0,q.jsx)(l,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:o?`Downgrading removes the following Pro features. You'll be taken to Stripe to cancel your subscription.`:`You'll be taken to Stripe to cancel your subscription.`}),o?(0,q.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:t.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(l,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null]}),(0,q.jsxs)(F.Footer,{children:[(0,q.jsx)(n,{variant:`outlined`,onClick:i,disabled:r,children:`Cancel`}),(0,q.jsx)(n,{variant:`danger`,onClick:a,disabled:r,"data-testid":`confirm-free-downgrade-button`,children:`Downgrade to Base`})]})]})})}function He({tierKey:e,name:t,tagline:r,priceLabel:i,priceCaption:a,ctaLabel:o,features:s,recommended:c=!1,tone:l=`dark`,isCurrent:u,intent:f=`upgrade`,pending:p,onCta:m}){let h=f===`downgrade`&&!u;return(0,q.jsxs)(`div`,{"data-theme":l,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,q.jsx)(w,{tier:e,size:50}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!h&&!u?(0,q.jsx)(P,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:`Recommended`}):null]}),(0,q.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,q.jsx)(n,{variant:h?`outlined`:`primary`,fullWidth:!0,disabled:u||p,onClick:m,children:u?`Current Plan`:o}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Includes:`}),(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,q.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Ue({enabled:e=!0}={}){let t=a(),n=ve(),r=e&&n,i=o({...Se(),enabled:r}),c=i.data,l=c!=null&&c.plan_id!==`base`,u=o({...Oe(),enabled:r&&l}),d=o({...Te(),enabled:r&&l}).data?.plans.find(e=>e.id===`pro`)?.machine_tiers??[],f=e=>d.find(t=>t.tier===e)?.price_cents??null,p=s(be()),m=s(R()),h=s(Ce()),g={machineTier:u.data?.max_machine_tier??null,storageTier:u.data?.selected_storage_tier??null,storageGib:u.data?.selected_storage_gib??null,creditTier:c?.selected_credit_tier??null},_=c!=null&&c.plan_id!==`base`&&c.status!=null&&te.has(c.status)&&c.cancel_at_period_end!==!0&&!c.cancel_at,v=!l||!u.isPending,y=!l||u.isSuccess&&u.data!=null&&!u.isFetching&&u.dataUpdatedAt>=i.dataUpdatedAt,b=p.isPending||m.isPending||h.isPending,x=()=>Promise.all([t.invalidateQueries({queryKey:Ee()}),t.invalidateQueries({queryKey:xe()}),t.invalidateQueries({queryKey:De()})]);return{changeTiers:async e=>{let t=e.machineTier!==g.machineTier,n=e.storageTier!==g.storageTier,r=e.creditTier!==g.creditTier,i=f(e.machineTier),a=f(g.machineTier),o=t&&i!=null&&a!=null&&i<a,s=[];if(t&&s.push(new Promise(t=>{p.mutate({body:{machine_tier:e.machineTier}},{onSuccess:()=>t({dimension:`machine`,ok:!0}),onError:e=>t({dimension:`machine`,ok:!1,error:e})})})),n&&s.push(new Promise(t=>{m.mutate({body:{storage_tier:e.storageTier}},{onSuccess:()=>t({dimension:`storage`,ok:!0}),onError:e=>t({dimension:`storage`,ok:!1,error:e})})})),r&&s.push(new Promise(t=>{h.mutate({body:{credit_tier:e.creditTier}},{onSuccess:()=>t({dimension:`credit`,ok:!0}),onError:e=>t({dimension:`credit`,ok:!1,error:e})})})),s.length===0)return{needsResize:!1,creditChanged:!1};let c=await Promise.all(s);await x();let l=c.some(e=>e.ok&&e.dimension===`machine`)&&!o,u=c.some(e=>e.ok&&e.dimension===`storage`),d=l||u,_=c.some(e=>e.ok&&e.dimension===`credit`),v=c.filter(e=>!e.ok);if(v.length>0){let e=v.map(e=>D(e.error,`Failed to update ${e.dimension} tier.`)).join(` `);return I.error(e),d||_?{needsResize:d,creditChanged:_}:null}return{needsResize:d,creditChanged:_}},isPending:b,current:g,eligible:_,currentReady:v,currentKnown:y,primaryAssistantId:y?u.data?.primary_assistant_id??null:null}}var We=`#0A0A0B`,Ge=8e3,Ke={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};ke();var qe=[`Small Computer`,`4 GB Storage`,`Pay-as-you-go credits`];function Je(e){return`${se(e)} Computer`}function Ye(e,t){let n=e.credits_usd??0;return[Je(e),`${e.storage_gib} GB Storage`,`${C(n*100)} in credits included`,...t]}function Xe(e,t){return A(e,t).join(` · `)}function Ze(){let e=r(),[t,c]=i(),l=a(),d=L(),f=he({platformHostedOnly:!0}),m=_e(),v=ge(),b=f===`full`&&m,x=f===`full`&&v,S=o({...Se(),enabled:b}),C=o({...Te(),enabled:b}),w=s(we()),{changePackage:T,isPending:O}=ie(),{changeTiers:te,isPending:se,current:A,currentReady:j,currentKnown:M,primaryAssistantId:N}=Ue({enabled:b});ae();let[P,F]=(0,V.useState)(!1),[ue,be]=(0,V.useState)(!1),[xe,Ce]=(0,V.useState)(!1),[R,Oe]=(0,V.useState)(null),[ke,Ae]=(0,V.useState)(!1),[Me,z]=(0,V.useState)(void 0),B=(0,V.useRef)(!1),[Pe,H]=(0,V.useState)(!1),U=(0,V.useRef)(!1),[W,Fe]=(0,V.useState)(null),G=S.data,K=C.data?.plans.find(e=>e.id===`pro`),Le=K?.packages??[],J=Le.length>0,Y=G?.plan_id===`pro`,ze=ve(),Je=ce(N,b&&ze&&Y&&M),Ze=M?Je:void 0,X=G?G.plan_id===`base`?`free`:g(G.package)?G.package.key:null:null,Qe=E(ee(G)),$e=new Set(C.data?.plans.find(e=>e.id===`base`)?.included_features??[]),et=(K?.included_features??[]).filter(e=>!$e.has(e)),Z=P||O||Qe.isPending,tt=(0,V.useMemo)(()=>!Y||A.storageTier==null?null:{machineTier:A.machineTier,storageTier:A.storageTier,creditTier:A.creditTier},[Y,A.machineTier,A.storageTier,A.creditTier]),Q=t.get(me),nt=!b&&!x,rt=b&&!C.isLoading&&!J,$=nt||!(Q!=null&&!Pe)&&(S.isError||rt);(0,V.useEffect)(()=>{$&&e(nt?pe.settings.usageBilling:`${pe.settings.usageBilling}&adjust_plan`,{replace:!0})},[$,nt,e]);let it=()=>{(window.history.state?.idx??0)>0?e(-1):e(pe.settings.usageBilling)},at=async e=>{F(!0);try{let t=await w.mutateAsync({body:{...e,return_target:je()}});t.status===`redirect`&&t.checkout_url?(fe(e.package?{kind:`package`,packageKey:e.package}:{kind:`custom`,machineTier:e.machine_tier??null,storageTier:e.storage_tier??null,creditTier:e.credit_tier??null}),de(l),ye(t.checkout_url)):(await l.invalidateQueries({queryKey:Ee()}),await l.invalidateQueries({queryKey:De()}))}catch(e){I.error(D(e,`Failed to start the upgrade checkout. Please try again.`))}finally{F(!1)}},ot=(t,n)=>{if(G&&!Z){if(Y){if(t===`free`){Ce(!0);return}let r=Le.find(e=>e.key===t);if(!r||p(X,r.key)===`current`)return;if(!k(G)){e(`${pe.settings.usageBilling}&adjust_plan`,{replace:n?.replaceOnBail===!0});return}Oe(r);return}t!==`free`&&at({target_plan_id:`pro`,package:t,confirm:!0})}},st=(0,V.useRef)(ot);(0,V.useEffect)(()=>{st.current=ot}),(0,V.useEffect)(()=>{if(Q==null||B.current||$||!b||U.current)return;U.current=!0;let e=setTimeout(()=>{H(!0)},Ge),t=()=>{clearTimeout(e),H(!0)};Promise.all([l.refetchQueries({queryKey:Ee()}),l.refetchQueries({queryKey:De()})]).then(t,t)},[$,Q,b,l]),(0,V.useEffect)(()=>{Q==null||B.current||$||!b||!Pe||(B.current=!0,Y&&Q!==`free`&&Fe(Q),c(e=>{let t=new URLSearchParams(e);return t.delete(me),t},{replace:!0}))},[Pe,$,Q,b,Y,c]),(0,V.useEffect)(()=>{W==null||Q!=null||(Fe(null),st.current(W,{replaceOnBail:!0}))},[Q,W]);let ct;if(G&&K&&J){let e=Y&&X===null&&j&&A.storageGib!=null,t=e?Xe(A,K):void 0,n=()=>{Ce(!1),Qe.mutate({})},r=()=>({creditTier:A.creditTier,fromSnapshot:{machineSize:Ze?.machine_size??null,storageGib:Ze?.provisioned_storage_gib??null}}),i=R?X===null?`switch`:p(X,R.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,a=async()=>{if(!R)return;let e=R,t=r(),n=X===null||!j||!M||Ne(A.machineTier,e.machine_tier),a=await T(e.key);if(!a)return;if(Oe(null),a.status===`no_op`){I.success(`You're already on this plan.`);return}let o=e.credit_tier??null;z({fromSnapshot:t.fromSnapshot,credits:o===t.creditTier?null:{fromTier:t.creditTier,toTier:o},direction:Ke[i],canLowerResources:n}),Ae(!0)},o=e=>at({target_plan_id:`pro`,confirm:!0,machine_tier:e.machineTier,storage_tier:e.storageTier,credit_tier:e.creditTier}),s=async e=>{let t=r(),n=!M||Ne(A.machineTier,e.machineTier),i=await te(e);i&&(be(!1),i.needsResize||i.creditChanged?(z({fromSnapshot:t.fromSnapshot,credits:i.creditChanged?{fromTier:t.creditTier,toTier:e.creditTier}:null,direction:`change`,canLowerResources:n}),Ae(!0)):I.success(`Plan updated.`))},c=()=>{Z||Y&&!j||be(!0)},l=[...Le].sort((e,t)=>_.indexOf(e.key)-_.indexOf(t.key)),u=oe(`free`),d=Y?`downgrade`:p(X,`free`);ct=(0,q.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,q.jsx)(`h1`,{className:`text-[40px] text-[var(--content-emphasised)] sm:text-[60px]`,style:{fontFamily:`var(--font-serif)`,fontWeight:400,lineHeight:1.2,letterSpacing:`1.2px`},children:`Give your assistant more power`}),(0,q.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Choose the level that matches how much you want it to take on.`})]}),(0,q.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 items-start gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,q.jsx)(He,{tierKey:`free`,name:`Base`,tagline:u?.tagline??``,priceLabel:`Free`,priceCaption:u?.priceCaption??`Forever`,ctaLabel:d===`downgrade`?h(`Base`):u?.cta??`Start Free`,features:qe,tone:`dark`,isCurrent:X===`free`,intent:d,pending:Z,onCta:()=>ot(`free`)}),l.map(e=>{let t=oe(e.key),n=p(X,e.key);return(0,q.jsx)(He,{tierKey:e.key,name:e.name,tagline:t?.tagline??``,priceLabel:y(e.total_price_cents),priceCaption:t?.priceCaption??`Billed monthly`,ctaLabel:n===`downgrade`?h(e.name):t?.cta??e.name,features:Ye(e,t?.extraFeatures??[]),recommended:t?.recommended,tone:t?.recommended?`light`:`dark`,isCurrent:X===e.key,intent:n,pending:Z,onCta:()=>ot(e.key)},e.key)})]}),(0,q.jsx)(Be,{className:`mt-6 sm:mt-10`,onConfigure:c,configureDisabled:Y&&!j||Z,isCurrent:e,currentSummary:t}),(0,q.jsx)(Re,{open:ue,proPlan:K,pending:P||se,currentStorageGib:Y?A.storageGib:null,initialSelection:tt,onClose:()=>be(!1),onContinue:e=>{Y?s(e):o(e)}}),(0,q.jsx)(re,{open:R!==null,relation:i,packageName:R?.name??``,targetPackage:R,pending:O,onCancel:()=>Oe(null),onConfirm:()=>void a()}),(0,q.jsx)(Ve,{open:xe,lostFeatures:et,pending:Qe.isPending,onCancel:()=>Ce(!1),onConfirm:n}),(0,q.jsx)(ne,{mode:`resize`,open:ke,onClose:()=>{Ae(!1),z(void 0)},resizeContext:Me}),(0,q.jsxs)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:[`You can cancel or change your plan anytime you want. To learn more`,` `,(0,q.jsx)(`a`,{href:Ie,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--content-default)] underline`,children:`Read our Docs.`})]})]})}else ct=(0,q.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,q.jsx)(le,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading plans`})});return(0,q.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:We},children:[(0,q.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:d?`3rem`:`2rem`},children:(0,q.jsx)(n,{variant:`outlined`,leftIcon:(0,q.jsx)(u,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:it,className:`[-webkit-app-region:no-drag]`,children:`Back`})}),(0,q.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:d?`5rem`:`4rem`},children:ct})]})}function X(){return(0,q.jsx)(m,{redirectToBilling:!0,children:(0,q.jsx)(Ze,{})})}export{X as PlansPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,h 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"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./typography-BeUa5Fd-.js";import{t as u}from"./arrow-left-xVF3p2Qp.js";import{t as d}from"./circle-check-BG2g8udA.js";import{t as f}from"./coins-B6rJlYQ0.js";import{A as p,B as m,C as h,D as g,E as _,F as v,I as y,L as b,M as x,N as S,P as C,T as w,V as T,_ as E,a as D,d as O,f as ee,i as te,j as ne,n as re,o as k,r as ie,t as ae,w as oe,x as se,y as A,z as ce}from"./use-checkout-dismiss-refresh-vVysV2xK.js";import{t as j}from"./hard-drive-BxeWK7dU.js";import{t as le}from"./loader-circle-oY5laABh.js";import{t as M}from"./sliders-horizontal-DOPSCMHk.js";import{t as N}from"./triangle-alert-C5SOfs-q.js";import{t as P}from"./tag-D0oiSRye.js";import{t as F}from"./modal-Bt1DPFgW.js";import{n as I}from"./toast-BrKo5b4d.js";import{t as ue}from"./select-B86W_Hs8.js";import{t as L}from"./is-electron-BSK3AUxG.js";import{l as de}from"./auth-store-B9pHhreb.js";import{R as fe}from"./platform-detection-D4gxJctC.js";import{d as pe,t as me}from"./routes-C293MsBG.js";import{i as he,r as ge,t as _e}from"./use-platform-gate-zft2-meL.js";import{r as ve}from"./use-is-org-ready-DyYOTCvQ.js";import{n as ye}from"./browser-DwONNRIj.js";import{at as be,dt as xe,ft as Se,it as Ce,mt as we,nt as Te,pt as Ee,rt as De,st as R,ut as Oe}from"./react-query.gen-CqLxrlpP.js";import{t as ke}from"./use-bundled-avatar-components-B4YxFEiT.js";import{t as Ae}from"./native-anchor-BE-YHt8Q.js";import{t as je}from"./checkout-return-target-CpckAKDY.js";import{i as Me,r as z,s as Ne,t as B}from"./machine-sizes-D5IsW7GE.js";var V=e(t(),1),Pe=`__none__`,H=`No extra credits`,U=`__baseline__`,W=`${Me[B]} machine (${z[B]})`;function Fe(e){let{proPlan:t,seed:n,machineTier:r,storageTier:i,creditChoice:a}=e,o=t.machine_tiers,s=t.storage_tiers,c=t.credit_tiers??[],l=r===U,u=l?null:o.find(e=>e.tier===r)??null,d=l?W:u?.description??null,f=s.find(e=>e.tier===i)??null,p=a&&a!==`__none__`?c.find(e=>e.tier===a)??null:null,m=n!=null&&n.machineTier!=null?o.find(e=>e.tier===n.machineTier)??null:null,h=n==null?null:n.machineTier??`__baseline__`,g=n==null?void 0:n.machineTier==null?W:m?.description,_=n==null?null:s.find(e=>e.tier===n.storageTier)??null,y=n!=null&&n.creditTier!=null?c.find(e=>e.tier===n.creditTier)??null:null,S=n!=null&&n.machineTier!=null&&m==null,C=n!=null&&_==null,w=[{key:`base`,label:`Platform fee: ${v(t.base_price_cents)}`,changed:!1}];if(d!=null){let e=n!=null&&!S&&h!==r;w.push({key:`machine`,label:d,previousLabel:e?g:void 0,changed:e})}if(f!=null){let e=n!=null&&!C&&_?.tier!==f.tier;w.push({key:`storage`,label:b(f.storage_gib),previousLabel:e&&_!=null?b(_.storage_gib):void 0,changed:e})}let T=a===`__none__`?H:p==null?null:x(p.credits_usd);if(T!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?H:y==null?void 0:x(y.credits_usd);w.push({key:`credit`,label:T,previousLabel:e?t:void 0,changed:e})}let E=t.base_price_cents+(u?.price_cents??0)+(f?.price_cents??0)+(p?.price_cents??0),D=S||C||n!=null&&n.creditTier!=null&&y==null;if(n==null||D)return{totalCents:E,previousTotalCents:null,deltaCents:null,rows:w};let O=t.base_price_cents+(m?.price_cents??0)+(_?.price_cents??0)+(y?.price_cents??0);return{totalCents:E,previousTotalCents:O,deltaCents:E-O,rows:w}}var Ie=`https://www.vellum.ai/docs/pricing`,G=`${Ie}#machine-sizes`,K=`${Ie}#storage`,Le=`${Ie}#credit-bundles`,q=c();function J(e){return(0,q.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,v(e)]})}function Y({label:e,docsUrl:t,docsLabel:n}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":n,onClick:e=>Ae(e,t),className:`text-[11px] font-medium text-[var(--content-tertiary)] underline hover:text-[var(--content-default)]`,children:`Learn more`})]})}function Re({open:e,proPlan:t,pending:r,currentStorageGib:i,initialSelection:a,onClose:o,onContinue:s}){let c=e?a??null:null,[l,u]=(0,V.useState)(()=>c?c.machineTier??`__baseline__`:``),[p,m]=(0,V.useState)(()=>c?.storageTier??``),[h,g]=(0,V.useState)(()=>c?c.creditTier??`__none__`:``),[_,y]=(0,V.useState)({open:e,initialSelection:a});(_.open!==e||_.initialSelection!==a)&&(y({open:e,initialSelection:a}),u(c?c.machineTier??`__baseline__`:``),m(c?.storageTier??``),g(c?c.creditTier??`__none__`:``));let b=t.machine_tiers,x=(0,V.useMemo)(()=>t.storage_tiers.filter(e=>!e.legacy||e.tier===a?.storageTier),[t.storage_tiers,a?.storageTier]),w=t.credit_tiers??[],E=(0,V.useMemo)(()=>(t.credit_tiers??[]).filter(e=>!e.legacy),[t.credit_tiers]),D=e=>O(e)||e.legacy&&e.tier!==a?.storageTier||i!=null&&e.storage_gib<i,ee=a!=null&&a.machineTier==null,te=[...ee?[{value:U,label:W,icon:(0,q.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...b.map(e=>({value:e.tier,label:e.description,icon:(0,q.jsx)(T,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents),disabled:O(e)}))],ne=x.map(e=>({value:e.tier,label:e.label,icon:(0,q.jsx)(j,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents),disabled:D(e)})),re=h&&h!==`__none__`?w.find(e=>e.tier===h)??null:null,k=re?.legacy?re:null,ie=[{value:Pe,label:H,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0})},...E.map(e=>({value:e.tier,label:e.label,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(e.price_cents)})),...k?[{value:k.tier,label:k.label,icon:(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:J(k.price_cents),disabled:!0}]:[]],ae=l===U,oe=ae?null:b.find(e=>e.tier===l)??null,se=ae?ee?{tier:null}:null:oe==null?null:{tier:oe.tier},A=p!==``&&p===a?.storageTier,ce=x.find(e=>e.tier===p&&(A||!D(e)))??null,le=h===`__none__`||h===a?.creditTier||E.some(e=>e.tier===h),N=h!==``&&le?h:null,P=se!=null&&ce!=null&&N!=null,I=a!=null&&l===(a.machineTier??`__baseline__`)&&p===a.storageTier&&h===(a.creditTier??`__none__`),L=(0,V.useMemo)(()=>Fe({proPlan:t,seed:a??null,machineTier:l,storageTier:p,creditChoice:h}),[t,a,l,p,h]);return(0,q.jsx)(F.Root,{open:e,onOpenChange:e=>{e||o()},children:(0,q.jsx)(F.Content,{size:`lg`,"data-theme":`light`,hideCloseButton:!0,overlayClassName:`backdrop-blur-[2px]`,className:`max-w-[820px] md:min-h-[min(608px,calc(100vh-4rem))]`,children:(0,q.jsx)(F.Body,{className:`p-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,q.jsx)(M,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,q.jsx)(F.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Create a custom plan`}),(0,q.jsx)(F.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:`Just better.`})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Select a machine size:`,docsUrl:G,docsLabel:`Learn more about machine sizes`}),(0,q.jsx)(ue,{"aria-label":`Machine size`,placeholder:`Select a machine size`,value:l,onChange:u,options:te})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Select storage:`,docsUrl:K,docsLabel:`Learn more about storage`}),(0,q.jsx)(ue,{"aria-label":`Storage`,placeholder:`Select storage`,value:p,onChange:m,options:ne})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(Y,{label:`Bundle some credits:`,docsUrl:Le,docsLabel:`Learn more about credit bundles`}),(0,q.jsx)(ue,{"aria-label":`Credit bundle`,placeholder:`Select a credit bundle`,value:h,onChange:g,options:ie})]})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,q.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Recap`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:v(L.totalCents)}),L.deltaCents!=null&&L.deltaCents!==0&&L.previousTotalCents!=null&&(0,q.jsxs)(`span`,{className:`text-[12px] font-medium ${L.deltaCents>0?`text-[var(--system-positive-strong)]`:`text-[var(--system-negative-strong)]`}`,children:[S(L.deltaCents),` compared to previous (`,C(L.previousTotalCents),`)`]}),(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:`Total · Billed monthly`})]}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Your selection:`}),(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:L.rows.map(e=>(0,q.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,q.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,q.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 ${e.changed?`text-[var(--system-positive-strong)]`:`text-[var(--content-secondary)]`}`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,q.jsx)(n,{variant:`primary`,fullWidth:!0,disabled:!P||I||r,onClick:()=>{!P||I||r||s({machineTier:se.tier,storageTier:ce.tier,creditTier:N===`__none__`?null:N})},children:`Continue`}),(0,q.jsx)(n,{variant:`ghost`,fullWidth:!0,disabled:r,onClick:o,children:`Cancel`})]})]})]})})})})}var ze=`Select custom CPU power, Ram and Storage. Or just throw in some tokens.`;function Be({className:e,onConfigure:t,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){return(0,q.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,q.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Need something more tailored to your needs?`}),(0,q.jsxs)(`div`,{className:`flex w-[840px] max-w-full flex-col items-start gap-4 rounded-2xl bg-[var(--surface-lift)] p-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,q.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,q.jsx)(M,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Custom Plan`}),i?(0,q.jsx)(P,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:`Your Current Plan`}):null]}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??ze})]})]}),(0,q.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,q.jsx)(n,{variant:`outlined`,onClick:t,disabled:r,children:`Configure`})})]})]})}function Ve({open:e,lostFeatures:t,pending:r,onCancel:i,onConfirm:a}){let o=t.length>0;return(0,q.jsx)(F.Root,{open:e,onOpenChange:e=>{!e&&!r&&i()},children:(0,q.jsxs)(F.Content,{size:`md`,hideCloseButton:!0,children:[(0,q.jsx)(F.Header,{icon:N,children:(0,q.jsx)(F.Title,{children:`Downgrade to Base?`})}),(0,q.jsxs)(F.Body,{children:[(0,q.jsx)(l,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:o?`Downgrading removes the following Pro features. You'll be taken to Stripe to cancel your subscription.`:`You'll be taken to Stripe to cancel your subscription.`}),o?(0,q.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:t.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(l,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null]}),(0,q.jsxs)(F.Footer,{children:[(0,q.jsx)(n,{variant:`outlined`,onClick:i,disabled:r,children:`Cancel`}),(0,q.jsx)(n,{variant:`danger`,onClick:a,disabled:r,"data-testid":`confirm-free-downgrade-button`,children:`Downgrade to Base`})]})]})})}function He({tierKey:e,name:t,tagline:r,priceLabel:i,priceCaption:a,ctaLabel:o,features:s,recommended:c=!1,tone:l=`dark`,isCurrent:u,intent:f=`upgrade`,pending:p,onCta:m}){let h=f===`downgrade`&&!u;return(0,q.jsxs)(`div`,{"data-theme":l,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,q.jsx)(w,{tier:e,size:50}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!h&&!u?(0,q.jsx)(P,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:`Recommended`}):null]}),(0,q.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,q.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,q.jsx)(n,{variant:h?`outlined`:`primary`,fullWidth:!0,disabled:u||p,onClick:m,children:u?`Current Plan`:o}),(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Includes:`}),(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,q.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Ue({enabled:e=!0}={}){let t=a(),n=ve(),r=e&&n,i=o({...Se(),enabled:r}),c=i.data,l=c!=null&&c.plan_id!==`base`,u=o({...Oe(),enabled:r&&l}),d=o({...Te(),enabled:r&&l}).data?.plans.find(e=>e.id===`pro`)?.machine_tiers??[],f=e=>d.find(t=>t.tier===e)?.price_cents??null,p=s(be()),m=s(R()),h=s(Ce()),g={machineTier:u.data?.max_machine_tier??null,storageTier:u.data?.selected_storage_tier??null,storageGib:u.data?.selected_storage_gib??null,creditTier:c?.selected_credit_tier??null},_=c!=null&&c.plan_id!==`base`&&c.status!=null&&te.has(c.status)&&c.cancel_at_period_end!==!0&&!c.cancel_at,v=!l||!u.isPending,y=!l||u.isSuccess&&u.data!=null&&!u.isFetching&&u.dataUpdatedAt>=i.dataUpdatedAt,b=p.isPending||m.isPending||h.isPending,x=()=>Promise.all([t.invalidateQueries({queryKey:Ee()}),t.invalidateQueries({queryKey:xe()}),t.invalidateQueries({queryKey:De()})]);return{changeTiers:async e=>{let t=e.machineTier!==g.machineTier,n=e.storageTier!==g.storageTier,r=e.creditTier!==g.creditTier,i=f(e.machineTier),a=f(g.machineTier),o=t&&i!=null&&a!=null&&i<a,s=[];if(t&&s.push(new Promise(t=>{p.mutate({body:{machine_tier:e.machineTier}},{onSuccess:()=>t({dimension:`machine`,ok:!0}),onError:e=>t({dimension:`machine`,ok:!1,error:e})})})),n&&s.push(new Promise(t=>{m.mutate({body:{storage_tier:e.storageTier}},{onSuccess:()=>t({dimension:`storage`,ok:!0}),onError:e=>t({dimension:`storage`,ok:!1,error:e})})})),r&&s.push(new Promise(t=>{h.mutate({body:{credit_tier:e.creditTier}},{onSuccess:()=>t({dimension:`credit`,ok:!0}),onError:e=>t({dimension:`credit`,ok:!1,error:e})})})),s.length===0)return{needsResize:!1,creditChanged:!1};let c=await Promise.all(s);await x();let l=c.some(e=>e.ok&&e.dimension===`machine`)&&!o,u=c.some(e=>e.ok&&e.dimension===`storage`),d=l||u,_=c.some(e=>e.ok&&e.dimension===`credit`),v=c.filter(e=>!e.ok);if(v.length>0){let e=v.map(e=>D(e.error,`Failed to update ${e.dimension} tier.`)).join(` `);return I.error(e),d||_?{needsResize:d,creditChanged:_}:null}return{needsResize:d,creditChanged:_}},isPending:b,current:g,eligible:_,currentReady:v,currentKnown:y,primaryAssistantId:y?u.data?.primary_assistant_id??null:null}}var We=`#0A0A0B`,Ge=8e3,Ke={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};ke();var qe=[`Small Computer`,`4 GB Storage`,`Pay-as-you-go credits`];function Je(e){return`${se(e)} Computer`}function Ye(e,t){let n=e.credits_usd??0;return[Je(e),`${e.storage_gib} GB Storage`,`${C(n*100)} in credits included`,...t]}function Xe(e,t){return A(e,t).join(` · `)}function Ze(){let e=r(),[t,c]=i(),l=a(),d=L(),f=he({platformHostedOnly:!0}),m=_e(),v=ge(),b=f===`full`&&m,x=f===`full`&&v,S=o({...Se(),enabled:b}),C=o({...Te(),enabled:b}),w=s(we()),{changePackage:T,isPending:O}=ie(),{changeTiers:te,isPending:se,current:A,currentReady:j,currentKnown:M,primaryAssistantId:N}=Ue({enabled:b});ae();let[P,F]=(0,V.useState)(!1),[ue,be]=(0,V.useState)(!1),[xe,Ce]=(0,V.useState)(!1),[R,Oe]=(0,V.useState)(null),[ke,Ae]=(0,V.useState)(!1),[Me,z]=(0,V.useState)(void 0),B=(0,V.useRef)(!1),[Pe,H]=(0,V.useState)(!1),U=(0,V.useRef)(!1),[W,Fe]=(0,V.useState)(null),G=S.data,K=C.data?.plans.find(e=>e.id===`pro`),Le=K?.packages??[],J=Le.length>0,Y=G?.plan_id===`pro`,ze=ve(),Je=ce(N,b&&ze&&Y&&M),Ze=M?Je:void 0,X=G?G.plan_id===`base`?`free`:g(G.package)?G.package.key:null:null,Qe=E(ee(G)),$e=new Set(C.data?.plans.find(e=>e.id===`base`)?.included_features??[]),et=(K?.included_features??[]).filter(e=>!$e.has(e)),Z=P||O||Qe.isPending,tt=(0,V.useMemo)(()=>!Y||A.storageTier==null?null:{machineTier:A.machineTier,storageTier:A.storageTier,creditTier:A.creditTier},[Y,A.machineTier,A.storageTier,A.creditTier]),Q=t.get(me),nt=!b&&!x,rt=b&&!C.isLoading&&!J,$=nt||!(Q!=null&&!Pe)&&(S.isError||rt);(0,V.useEffect)(()=>{$&&e(nt?pe.settings.usageBilling:`${pe.settings.usageBilling}&adjust_plan`,{replace:!0})},[$,nt,e]);let it=()=>{(window.history.state?.idx??0)>0?e(-1):e(pe.settings.usageBilling)},at=async e=>{F(!0);try{let t=await w.mutateAsync({body:{...e,return_target:je()}});t.status===`redirect`&&t.checkout_url?(fe(e.package?{kind:`package`,packageKey:e.package}:{kind:`custom`,machineTier:e.machine_tier??null,storageTier:e.storage_tier??null,creditTier:e.credit_tier??null}),de(l),ye(t.checkout_url)):(await l.invalidateQueries({queryKey:Ee()}),await l.invalidateQueries({queryKey:De()}))}catch(e){I.error(D(e,`Failed to start the upgrade checkout. Please try again.`))}finally{F(!1)}},ot=(t,n)=>{if(G&&!Z){if(Y){if(t===`free`){Ce(!0);return}let r=Le.find(e=>e.key===t);if(!r||p(X,r.key)===`current`)return;if(!k(G)){e(`${pe.settings.usageBilling}&adjust_plan`,{replace:n?.replaceOnBail===!0});return}Oe(r);return}t!==`free`&&at({target_plan_id:`pro`,package:t,confirm:!0})}},st=(0,V.useRef)(ot);(0,V.useEffect)(()=>{st.current=ot}),(0,V.useEffect)(()=>{if(Q==null||B.current||$||!b||U.current)return;U.current=!0;let e=setTimeout(()=>{H(!0)},Ge),t=()=>{clearTimeout(e),H(!0)};Promise.all([l.refetchQueries({queryKey:Ee()}),l.refetchQueries({queryKey:De()})]).then(t,t)},[$,Q,b,l]),(0,V.useEffect)(()=>{Q==null||B.current||$||!b||!Pe||(B.current=!0,Y&&Q!==`free`&&Fe(Q),c(e=>{let t=new URLSearchParams(e);return t.delete(me),t},{replace:!0}))},[Pe,$,Q,b,Y,c]),(0,V.useEffect)(()=>{W==null||Q!=null||(Fe(null),st.current(W,{replaceOnBail:!0}))},[Q,W]);let ct;if(G&&K&&J){let e=Y&&X===null&&j&&A.storageGib!=null,t=e?Xe(A,K):void 0,n=()=>{Ce(!1),Qe.mutate({})},r=()=>({creditTier:A.creditTier,fromSnapshot:{machineSize:Ze?.machine_size??null,storageGib:Ze?.provisioned_storage_gib??null}}),i=R?X===null?`switch`:p(X,R.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,a=async()=>{if(!R)return;let e=R,t=r(),n=X===null||!j||!M||Ne(A.machineTier,e.machine_tier),a=await T(e.key);if(!a)return;if(Oe(null),a.status===`no_op`){I.success(`You're already on this plan.`);return}let o=e.credit_tier??null;z({fromSnapshot:t.fromSnapshot,credits:o===t.creditTier?null:{fromTier:t.creditTier,toTier:o},direction:Ke[i],canLowerResources:n}),Ae(!0)},o=e=>at({target_plan_id:`pro`,confirm:!0,machine_tier:e.machineTier,storage_tier:e.storageTier,credit_tier:e.creditTier}),s=async e=>{let t=r(),n=!M||Ne(A.machineTier,e.machineTier),i=await te(e);i&&(be(!1),i.needsResize||i.creditChanged?(z({fromSnapshot:t.fromSnapshot,credits:i.creditChanged?{fromTier:t.creditTier,toTier:e.creditTier}:null,direction:`change`,canLowerResources:n}),Ae(!0)):I.success(`Plan updated.`))},c=()=>{Z||Y&&!j||be(!0)},l=[...Le].sort((e,t)=>_.indexOf(e.key)-_.indexOf(t.key)),u=oe(`free`),d=Y?`downgrade`:p(X,`free`);ct=(0,q.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,q.jsx)(`h1`,{className:`text-[40px] text-[var(--content-emphasised)] sm:text-[60px]`,style:{fontFamily:`var(--font-serif)`,fontWeight:400,lineHeight:1.2,letterSpacing:`1.2px`},children:`Give your assistant more power`}),(0,q.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Choose the level that matches how much you want it to take on.`})]}),(0,q.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 items-start gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,q.jsx)(He,{tierKey:`free`,name:`Base`,tagline:u?.tagline??``,priceLabel:`Free`,priceCaption:u?.priceCaption??`Forever`,ctaLabel:d===`downgrade`?h(`Base`):u?.cta??`Start Free`,features:qe,tone:`dark`,isCurrent:X===`free`,intent:d,pending:Z,onCta:()=>ot(`free`)}),l.map(e=>{let t=oe(e.key),n=p(X,e.key);return(0,q.jsx)(He,{tierKey:e.key,name:e.name,tagline:t?.tagline??``,priceLabel:y(e.total_price_cents),priceCaption:t?.priceCaption??`Billed monthly`,ctaLabel:n===`downgrade`?h(e.name):t?.cta??e.name,features:Ye(e,t?.extraFeatures??[]),recommended:t?.recommended,tone:t?.recommended?`light`:`dark`,isCurrent:X===e.key,intent:n,pending:Z,onCta:()=>ot(e.key)},e.key)})]}),(0,q.jsx)(Be,{className:`mt-6 sm:mt-10`,onConfigure:c,configureDisabled:Y&&!j||Z,isCurrent:e,currentSummary:t}),(0,q.jsx)(Re,{open:ue,proPlan:K,pending:P||se,currentStorageGib:Y?A.storageGib:null,initialSelection:tt,onClose:()=>be(!1),onContinue:e=>{Y?s(e):o(e)}}),(0,q.jsx)(re,{open:R!==null,relation:i,packageName:R?.name??``,targetPackage:R,pending:O,onCancel:()=>Oe(null),onConfirm:()=>void a()}),(0,q.jsx)(Ve,{open:xe,lostFeatures:et,pending:Qe.isPending,onCancel:()=>Ce(!1),onConfirm:n}),(0,q.jsx)(ne,{mode:`resize`,open:ke,onClose:()=>{Ae(!1),z(void 0)},resizeContext:Me}),(0,q.jsxs)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:[`You can cancel or change your plan anytime you want. To learn more`,` `,(0,q.jsx)(`a`,{href:Ie,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--content-default)] underline`,children:`Read our Docs.`})]})]})}else ct=(0,q.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,q.jsx)(le,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading plans`})});return(0,q.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:We},children:[(0,q.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:d?`3rem`:`2rem`},children:(0,q.jsx)(n,{variant:`outlined`,leftIcon:(0,q.jsx)(u,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:it,className:`[-webkit-app-region:no-drag]`,children:`Back`})}),(0,q.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:d?`5rem`:`4rem`},children:ct})]})}function X(){return(0,q.jsx)(m,{redirectToBilling:!0,children:(0,q.jsx)(Ze,{})})}export{X as PlansPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n}from"./device-settings-DZvv4pnY.js";import{t as r}from"./react-BFJW0bSv.js";import{Q as i,_ as a}from"./local-mode-DP-5m-kS.js";import{t as o}from"./is-electron-BSK3AUxG.js";import{i as s,t as c}from"./dist-D8V9YSOm.js";import{r as l,t as u}from"./domains-DUzxnQ3r.js";import{d}from"./routes-C293MsBG.js";import{r as f}from"./native-deep-link-EZIezcy9.js";var p=e(r(),1),m={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function h({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n}from"./device-settings-DZvv4pnY.js";import{t as r}from"./react-BFJW0bSv.js";import{Q as i,_ as a}from"./local-mode-DP-5m-kS.js";import{t as o}from"./is-electron-BSK3AUxG.js";import{i as s,t as c}from"./dist-D8V9YSOm.js";import{r as l,t as u}from"./domains-DUzxnQ3r.js";import{d}from"./routes-C293MsBG.js";import{r as f}from"./native-deep-link-DliAfHU5.js";var p=e(r(),1),m={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function h({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
2
2
  `);let a=p.split(`
3
3
 
4
4
  `);p=a.pop()??``;for(let e of a){let t=e.split(`
@@ -1 +1 @@
1
- import{t as e}from"./button-DSjqKLvM.js";import{u as t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./log-in-BE4abPjq.js";import{t as i}from"./notice-C9v3KOP3.js";import{t as a}from"./use-onboarding-login-Zjbfg9rl.js";var o=n();function s({children:n,className:s}){let{pathname:c,search:l,hash:u}=t(),{loading:d,login:f,cancel:p}=a(`${c}${l}${u}`);return(0,o.jsx)(i,{tone:`info`,className:s,actions:(0,o.jsx)(e,{variant:`ghost`,leftIcon:d?void 0:(0,o.jsx)(r,{className:`h-4 w-4`}),onClick:d?p:()=>void f(),children:d?`Cancel`:`Log In`}),children:n})}export{s as t};
1
+ import{t as e}from"./button-DSjqKLvM.js";import{u as t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./log-in-BE4abPjq.js";import{t as i}from"./notice-C9v3KOP3.js";import{t as a}from"./use-onboarding-login-DMUDDVUi.js";var o=n();function s({children:n,className:s}){let{pathname:c,search:l,hash:u}=t(),{loading:d,login:f,cancel:p}=a(`${c}${l}${u}`);return(0,o.jsx)(i,{tone:`info`,className:s,actions:(0,o.jsx)(e,{variant:`ghost`,leftIcon:d?void 0:(0,o.jsx)(r,{className:`h-4 w-4`}),onClick:d?p:()=>void f(),children:d?`Cancel`:`Log In`}),children:n})}export{s as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n,h as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{B as a,N as o}from"./local-mode-DP-5m-kS.js";import"./i18n-zb2mgr1B.js";import{t as s}from"./useTranslation-Dn8TOHE6.js";import{n as c,tt as l}from"./auth-store-BDMYc7te.js";import{c as u}from"./api-xbjYCkk-.js";import{j as d}from"./platform-detection-BIfuAgU8.js";import{d as f}from"./routes-C293MsBG.js";var p=e(t(),1),m=i(),h=`vellum:loopback:state`,g=`vellum:loopback:returnTo`;function _(){let{t:e}=s(`account`),[t]=r(),i=n(),[_,v]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let n=t.get(`state`),r=t.get(`session_token`),s=sessionStorage.getItem(h),p=sessionStorage.getItem(g)||f.assistant;if(sessionStorage.removeItem(h),sessionStorage.removeItem(g),!n||n!==s){v(e(`authErrors.loopbackStateMismatch`));return}if(!r){v(e(`authErrors.loopbackNoToken`));return}if(!/^[a-zA-Z0-9]+$/.test(r)){v(e(`authErrors.loopbackInvalidToken`));return}(async()=>{if(!await a(r)){v(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await c.getState().initSession(),await d(!0);try{let e=await u();if(e.ok&&e.data.length>0){await o(e.data,l.getState().currentOrganizationId??void 0),i(f.assistant,{replace:!0});return}}catch{}i(p,{replace:!0})})()},[t,i,e]),_?(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:_}),(0,m.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void i(f.welcome),children:e(`platformLoopbackPage.backToWelcome`)})]})}):(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:e(`platformLoopbackPage.completing`)})})}export{_ as PlatformLoopbackPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n,h as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{B as a,N as o}from"./local-mode-DP-5m-kS.js";import"./i18n-BR-AyG5b.js";import{t as s}from"./useTranslation-DxUSOwQs.js";import{n as c,tt as l}from"./auth-store-B9pHhreb.js";import{c as u}from"./api-C72Ea0va.js";import{j as d}from"./platform-detection-D4gxJctC.js";import{d as f}from"./routes-C293MsBG.js";var p=e(t(),1),m=i(),h=`vellum:loopback:state`,g=`vellum:loopback:returnTo`;function _(){let{t:e}=s(`account`),[t]=r(),i=n(),[_,v]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let n=t.get(`state`),r=t.get(`session_token`),s=sessionStorage.getItem(h),p=sessionStorage.getItem(g)||f.assistant;if(sessionStorage.removeItem(h),sessionStorage.removeItem(g),!n||n!==s){v(e(`authErrors.loopbackStateMismatch`));return}if(!r){v(e(`authErrors.loopbackNoToken`));return}if(!/^[a-zA-Z0-9]+$/.test(r)){v(e(`authErrors.loopbackInvalidToken`));return}(async()=>{if(!await a(r)){v(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await c.getState().initSession(),await d(!0);try{let e=await u();if(e.ok&&e.data.length>0){await o(e.data,l.getState().currentOrganizationId??void 0),i(f.assistant,{replace:!0});return}}catch{}i(p,{replace:!0})})()},[t,i,e]),_?(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:_}),(0,m.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void i(f.welcome),children:e(`platformLoopbackPage.backToWelcome`)})]})}):(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:e(`platformLoopbackPage.completing`)})})}export{_ as PlatformLoopbackPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./typography-BeUa5Fd-.js";import"./src-DjIqxQVd.js";import{t as n}from"./createLucideIcon-C_IfoPaZ.js";var r=n(`file-exclamation-point`,[[`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:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),i=e(),a=`Can't preview this file`;function o({filename:e}){return(0,i.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-3`,children:[(0,i.jsx)(r,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,i.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,i.jsx)(t,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-default)]`,children:a}),(0,i.jsx)(t,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:e})]})]})}export{o as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./typography-BeUa5Fd-.js";import"./src-njXJqrpo.js";import{t as n}from"./createLucideIcon-C_IfoPaZ.js";var r=n(`file-exclamation-point`,[[`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:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),i=e(),a=`Can't preview this file`;function o({filename:e}){return(0,i.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-3`,children:[(0,i.jsx)(r,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,i.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,i.jsx)(t,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-default)]`,children:a}),(0,i.jsx)(t,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:e})]})]})}export{o as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-DZvv4pnY.js";import{t as o}from"./react-BFJW0bSv.js";import{W as s,t as c}from"./button-DSjqKLvM.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./cn-DFWryB3N.js";import{t as m}from"./card-q0GJX1HZ.js";import{t as h}from"./chevron-down-B_6pb9kS.js";import{t as g}from"./chevron-right-Dx_5VMo6.js";import{t as _}from"./loader-circle-oY5laABh.js";import{c as v,o as y,r as b,t as x}from"./threshold-presets-Bm9FqtVb.js";import{t as S}from"./pencil-kTdx15WT.js";import{t as C}from"./shield-check-CchXTN7c.js";import{t as w}from"./trash-2-DL_3_16e.js";import{t as T}from"./x-BY-Np61T.js";import{t as E}from"./notice-C9v3KOP3.js";import{t as D}from"./tag-D0oiSRye.js";import{t as O}from"./input-BG94bPcH.js";import{t as k}from"./toggle-C-v4x7_A.js";import{n as A}from"./toast-BrKo5b4d.js";import{t as j}from"./confirm-dialog-DNaRfy4W.js";import{t as M}from"./select-B86W_Hs8.js";import{n as N,r as P,y as F}from"./auth-store-BDMYc7te.js";import{t as ee}from"./sdk.gen-CMy8CiG0.js";import{S as te,_ as ne,b as I,g as re,k as ie,m as ae,v as oe,x as se}from"./platform-detection-BIfuAgU8.js";import{d as ce,u as le}from"./routes-C293MsBG.js";import{i as L,r as ue,t as de}from"./use-platform-gate-DzpdjzIz.js";import{f as fe,p as pe}from"./prefs-Bxlc7g3M.js";import{n as me,t as R}from"./react-query.gen-CqLxrlpP.js";import{a as z,c as he,n as ge,o as _e,r as B,s as ve,u as ye}from"./trust-rules-api-CEt20Kh9.js";import{t as be}from"./platform-login-notice-CaNQOYUj.js";import{t as V}from"./use-active-assistant-id-Cgt1z2rZ.js";import{t as H}from"./detail-card-CC0br9gQ.js";import{t as U}from"./setting-row-JYdvkVjj.js";import{t as xe}from"./settings-divider-gaQk2Yl5.js";var W=e(o(),1),G=f(),K=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`,label:`Accessibility`,description:`Allows your assistant to click, type, and control apps on your behalf.`},{id:`screen`,type:`system`,sourceKind:`screen`,label:`Screen Recording`,description:`Allows your assistant to capture screen context during computer-use tasks.`},{id:`microphone`,type:`system`,sourceKind:`microphone`,label:`Microphone`,description:`Allows your assistant to capture audio for voice input and recordings.`},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,label:`Speech Recognition`,description:`Allows your assistant to transcribe your speech into text on-device.`},{id:`notifications`,type:`system`,sourceKind:`notifications`,label:`Notifications`,description:`Allows your assistant to send macOS alerts for approvals, messages, and task updates.`}],Se=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function Ce(){let[e,t]=(0,W.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function we(){let[e,r]=(0,W.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,W.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||_e(0)}]}function Te({row:e,onToggle:t}){return(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(k,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:p(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,G.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,G.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Ee(){return(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function De({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=ye(),{pendingKind:o,run:s}=Ce(),[c,l]=we(),u=(0,W.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of K){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,W.useMemo)(()=>{let e=K.map(e=>{let t=u.get(e.id)?.item;return t?{id:e.id,label:e.label,description:e.description,checked:t.status===`granted`,disabled:o===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}:null}).filter(Boolean),t=Se.map(e=>({id:e.id,label:e.label,description:e.description,checked:c,disabled:o===e.id}));return[...e,...t]},[c,o,u]);if(!i)return null;let f=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await ve(e.sourceKind):await he(e.sourceKind),await a()},p=e=>{let t=u.get(e);if(t){s(e,()=>f(t.meta,t.item));return}e===`notificationBadges`&&s(e,async()=>{l(!c)})};return(0,G.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,G.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,G.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,G.jsx)(Ee,{}),`Checking permissions...`]}):(0,G.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,G.jsx)(Te,{row:e,onToggle:p},e.id))}),r&&(0,G.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-lg border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:r})]})}function Oe(){let e=L({platformHostedOnly:!0}),t=de(),n=ue(),r=l(),{data:i,isLoading:a,isError:o}=u({...R(),enabled:e===`full`&&t}),s=d({mutationFn:async e=>{let{data:t}=await ee({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{me(r,void 0,e),A.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{A.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,f=i?.access_consented??!1,p=e!==`full`||!t||a||o||s.isPending;return(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow Staff Access`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:`When enabled, Vellum Staff will be able to access your assistant and its data for debugging purposes. It's suggested that you leave this off and only turn it on temporarily if you need Vellum Support's help in investigating an issue.`}),e===`full`&&o&&(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,G.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,G.jsxs)(G.Fragment,{children:[(s.isPending||c)&&(0,G.jsx)(_,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,G.jsx)(k,{checked:f,disabled:p,onChange:()=>s.mutate(!f)})]})})]}),e===`disabled`&&(0,G.jsx)(be,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function ke(){let e=ie(),t=ae(),[n,r]=(0,W.useState)(()=>oe()),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!1);if((0,W.useEffect)(()=>{if(!e)return;let t=!0;return ne().then(e=>{t&&a(e)}),()=>{t=!1}},[e]),!e||!i?.available)return null;let c=async()=>{s(!0);try{if(n)I(!1),await re(),r(!1);else{let e=te();if(!e||!await se(e)){I(!1),r(!1);return}I(!0),r(!0)}}finally{s(!1)}};return(0,G.jsx)(H,{title:`Security`,children:(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,i.label,` for sign-in`]}),(0,G.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,i.label,t&&` or your device passcode`,` instead of signing in again.`]})]}),(0,G.jsx)(k,{checked:n,onChange:()=>void c(),disabled:o})]})})}var q=[`youtube.com`,`youtu.be`,`vimeo.com`,`loom.com`];function Ae(e){try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}catch{}return[...q]}function je(){return n(`mediaEmbedsEnabled`,!0)}function Me(){let e=i(`mediaEmbedDomains`,``);return e?Ae(e):[...q]}function Ne(){let[e,n]=(0,W.useState)(()=>je()),[i,a]=(0,W.useState)(()=>Me()),[o,s]=(0,W.useState)(!1),[l,u]=(0,W.useState)(``),d=(0,W.useMemo)(()=>l.trim().toLowerCase(),[l]),f=e=>{n(e),t(`mediaEmbedsEnabled`,e)},p=e=>{a(e),r(`mediaEmbedDomains`,JSON.stringify(e))},m=()=>{if(d){if(i.includes(d)){u(``);return}p([...i,d]),u(``)}},_=e=>{p(i.filter(t=>t!==e))},v=()=>{p([...q])},y=i.length===q.length&&i.every((e,t)=>e===q[t]);return(0,G.jsxs)(H,{title:`Media Embeds`,subtitle:`Automatically embed images, videos, and other media shared in chat messages.`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Auto Media Embeds`}),(0,G.jsx)(k,{checked:e,onChange:f})]}),e&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`mt-4`,children:(0,G.jsx)(xe,{})}),(0,G.jsxs)(c,{type:`button`,variant:`ghost`,onClick:()=>s(e=>!e),className:`mt-4 w-full justify-between px-3`,"aria-expanded":o,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o?(0,G.jsx)(h,{className:`h-4 w-4`,"aria-hidden":!0}):(0,G.jsx)(g,{className:`h-4 w-4`,"aria-hidden":!0}),`Video Domain Allowlist`]}),(0,G.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[i.length,` domain`,i.length===1?``:`s`]})]}),o&&(0,G.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,G.jsx)(O,{label:`Add Domain`,type:`text`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:`Add domain (e.g. example.com)`,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(c,{variant:`primary`,size:`compact`,onClick:m,disabled:!d,children:`Add`})]}),i.length>0&&(0,G.jsx)(`div`,{className:`flex justify-end`,children:(0,G.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,onClick:v,disabled:y,tintColor:`var(--content-tertiary)`,children:`Reset to Defaults`})}),i.length>0&&(0,G.jsx)(`ul`,{className:`space-y-2`,children:i.map(e=>(0,G.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] px-3 py-2 text-body-medium-lighter`,children:[(0,G.jsx)(`span`,{className:`font-mono text-[var(--content-default)]`,children:e}),(0,G.jsx)(c,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,G.jsx)(w,{}),onClick:()=>_(e),"aria-label":`Remove ${e}`})]},e))})]})]})]})}function J(){return(0,G.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Y=x.map(e=>({value:e.id,label:e.label,icon:(0,G.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Pe(){let e=V(),t=l(),{data:n,isError:r}=u({queryKey:[`thresholds`,e],queryFn:()=>y(e),staleTime:3e4}),[i,a]=(0,W.useState)(`relaxed`),[o,s]=(0,W.useState)(`conservative`),[c,d]=(0,W.useState)(`strict`),[f,p]=(0,W.useState)(!1),_=(0,W.useRef)(!1),[S,C]=(0,W.useState)(!1),w=(0,W.useRef)(null),T=(0,W.useRef)(null);(0,W.useEffect)(()=>{!n||_.current||(a(b(n.interactive).id),s(b(n.autonomous).id),d(b(n.headless).id),C(!0))},[n]),(0,W.useEffect)(()=>()=>{w.current!==null&&(clearTimeout(w.current),w.current=null,T.current?.(),T.current=null)},[]);let E=(0,W.useCallback)((n,r,i)=>{if(!e||!S)return;let a=x.find(e=>e.id===n)?.riskThreshold,o=x.find(e=>e.id===r)?.riskThreshold,s=x.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||v(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,S,t]),D=(0,W.useCallback)((e,t,n)=>{w.current!==null&&clearTimeout(w.current),T.current=()=>E(e,t,n),w.current=setTimeout(()=>{T.current?.(),w.current=null,T.current=null},500)},[E]),O=(0,W.useCallback)(e=>{_.current=!0,a(e),D(e,o,c)},[o,c,D]),k=(0,W.useCallback)(e=>{_.current=!0,s(e),D(i,e,c)},[i,c,D]),A=(0,W.useCallback)(e=>{_.current=!0,d(e),D(i,o,e)},[i,o,D]),j=x.find(e=>e.id===i),N=x.find(e=>e.id===o),P=x.find(e=>e.id===c),F=!e||!S;return(0,G.jsxs)(m,{children:[(0,G.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Assistant Access`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your access level determines which levels auto-approve. Trust Rules fine-tune this for specific actions by raising or lowering their risk.`}),r&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,G.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:i,onChange:O,options:Y,disabled:F})}),j&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:j.description})]}),(0,G.jsx)(J,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":f,children:[f?(0,G.jsx)(h,{className:`h-4 w-4`}):(0,G.jsx)(g,{className:`h-4 w-4`}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,G.jsxs)(`div`,{className:f?`mt-4 space-y-4`:`hidden`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:o,onChange:k,options:Y,disabled:F})}),N&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:N.description})]}),(0,G.jsx)(J,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:c,onChange:A,options:Y,disabled:F})}),P&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:P.description})]})]})]})]})]})}var X=e(s(),1),Fe=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],Ie=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function Z({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,W.useRef)(null),[a,o]=(0,W.useState)(t.tool),[s,c]=(0,W.useState)(t.pattern),[l,u]=(0,W.useState)(t.risk),[d,f]=(0,W.useState)(t.description??``),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(null),_=s.trim(),v=_.length>0&&!p,y=(0,W.useCallback)(async n=>{if(n.preventDefault(),!v)return;let i=d.trim()||`${a} — ${_}`;m(!0),g(null);try{await z(e,t.id,{risk:l,description:i}),r()}catch(e){g(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,v,d,t,r,l,a,_]);return(0,X.createPortal)((0,G.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,W.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),n())},[n]),onClick:(0,W.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,G.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,G.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,G.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,G.jsx)(T,{className:`h-4 w-4`})})]}),(0,G.jsxs)(`form`,{onSubmit:e=>void y(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[h&&(0,G.jsx)(E,{tone:`error`,children:h}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,G.jsx)(`div`,{className:`mt-1`,children:(0,G.jsx)(M,{value:a,onChange:o,disabled:!0,options:Fe.map(e=>({value:e,label:e}))})})]}),(0,G.jsx)(O,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,G.jsx)(`div`,{className:`mt-2 flex gap-2`,children:Ie.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,G.jsx)(`div`,{children:e.label}),(0,G.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,G.jsx)(O,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${_||`pattern`}`}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,G.jsx)(`button`,{type:`submit`,disabled:!v,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function Le(e){return e.origin===`default`&&!e.userModified}function Re(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function ze(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function Q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Be({assistantId:e,onClose:t}){let n=(0,W.useRef)(null),[r,i]=(0,W.useState)([]),[a,o]=(0,W.useState)(!0),[s,l]=(0,W.useState)(null),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(!1),g=(0,W.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([B(e),B(e,{origin:`default`})]);return Re(t,n)}return B(e)},[e]),_=(0,W.useCallback)(async()=>{o(!0);try{i(await g(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[g,m]);(0,W.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await g(m);e||(i(t),l(null))}catch(t){e||l(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[g,m]);let v=(0,W.useCallback)(async()=>{if(f)try{await ge(e,f.id),_()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,_]);return(0,X.createPortal)((0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,W.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t())},[t]),onClick:(0,W.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,G.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,G.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(k,{checked:m,onChange:h,label:`Show all defaults`}),(0,G.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,G.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,G.jsx)(`div`,{className:`mb-3`,children:(0,G.jsx)(E,{tone:`error`,children:s})}),a?(0,G.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,G.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,G.jsx)(C,{className:`h-8 w-8`}),(0,G.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,G.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=Le(e);return(0,G.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,G.jsx)(D,{tone:ze(e.risk),children:Q(e.risk)}),e.origin===`default`&&(0,G.jsx)(D,{tone:`neutral`,children:`Default`}),e.userModified&&(0,G.jsx)(D,{tone:`warning`,children:`Modified`})]}),(0,G.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,G.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,G.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>d(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,G.jsx)(S,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,G.jsx)(c,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,G.jsx)(w,{className:`h-4 w-4`}),"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e)})]})]},e.id)})})]})]})}),u&&(0,G.jsx)(Z,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),_()}}),(0,G.jsx)(j,{open:f!==null,title:`Delete Trust Rule?`,message:f?`Remove the ${Q(f.risk).toLowerCase()}-risk rule for ${f.tool} matching "${f.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void v(),onCancel:()=>p(null)})]}),document.body)}function Ve(){let e=V(),[t,n]=(0,W.useState)(!1);return(0,G.jsxs)(m,{children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(C,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,G.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,G.jsx)(Be,{assistantId:e,onClose:()=>n(!1)})]})}var He=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],Ue=`thirtyDays`;function $(){return(0,G.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function We(){let e=L({platformHostedOnly:!0}),t=P(),n=t,a=N.use.user()?.id??null,[o]=fe(),[s]=pe(),c=o??!0,l=s??!0,[u,d]=(0,W.useState)(()=>i(`llmLogRetention`,Ue));return(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsx)(ke,{}),(0,G.jsx)(De,{}),(0,G.jsx)(Ve,{}),(0,G.jsx)(Pe,{}),(0,G.jsx)(Ne,{}),(0,G.jsx)(H,{title:`Privacy`,subtitle:t?(0,G.jsxs)(G.Fragment,{children:[`View details about what data we collect and how it's used in our`,` `,(0,G.jsx)(`a`,{href:le(ce.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`privacy policy`}),`.`]}):void 0,children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(U,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:c,onChange:()=>{F(`share_analytics`,!c,{userId:a,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,G.jsx)($,{}),(0,G.jsx)(U,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:l,onChange:()=>{F(`share_diagnostics`,!l,{userId:a,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,G.jsx)($,{})]}),(0,G.jsx)(Oe,{}),e!==`gated`&&(0,G.jsx)($,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:u,onChange:e=>{d(e),r(`llmLogRetention`,e)},options:He})}),(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{We as PrivacyPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-DZvv4pnY.js";import{t as o}from"./react-BFJW0bSv.js";import{W as s,t as c}from"./button-DSjqKLvM.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./cn-DFWryB3N.js";import{t as m}from"./card-q0GJX1HZ.js";import{t as h}from"./chevron-down-B_6pb9kS.js";import{t as g}from"./chevron-right-Dx_5VMo6.js";import{t as _}from"./loader-circle-oY5laABh.js";import{c as v,o as y,r as b,t as x}from"./threshold-presets-Bm9FqtVb.js";import{t as S}from"./pencil-kTdx15WT.js";import{t as C}from"./shield-check-CchXTN7c.js";import{t as w}from"./trash-2-DL_3_16e.js";import{t as T}from"./x-BY-Np61T.js";import{t as E}from"./notice-C9v3KOP3.js";import{t as D}from"./tag-D0oiSRye.js";import{t as O}from"./input-BG94bPcH.js";import{t as k}from"./toggle-ibKLySIy.js";import{n as A}from"./toast-BrKo5b4d.js";import{t as j}from"./confirm-dialog-DNaRfy4W.js";import{t as M}from"./select-B86W_Hs8.js";import{n as N,r as P,y as F}from"./auth-store-B9pHhreb.js";import{t as ee}from"./sdk.gen-CMy8CiG0.js";import{S as te,_ as ne,b as I,g as re,k as ie,m as ae,v as oe,x as se}from"./platform-detection-D4gxJctC.js";import{d as ce,u as le}from"./routes-C293MsBG.js";import{i as L,r as ue,t as de}from"./use-platform-gate-zft2-meL.js";import{f as fe,p as pe}from"./prefs-Bxlc7g3M.js";import{n as me,t as R}from"./react-query.gen-CqLxrlpP.js";import{a as z,c as he,n as ge,o as _e,r as B,s as ve,u as ye}from"./trust-rules-api-CEt20Kh9.js";import{t as be}from"./platform-login-notice-CM-AbOQ7.js";import{t as V}from"./use-active-assistant-id-Btl1-4sB.js";import{t as H}from"./detail-card-BvBqhvvy.js";import{t as U}from"./setting-row-BgrWOMW9.js";import{t as xe}from"./settings-divider-HtBTQzlA.js";var W=e(o(),1),G=f(),K=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`,label:`Accessibility`,description:`Allows your assistant to click, type, and control apps on your behalf.`},{id:`screen`,type:`system`,sourceKind:`screen`,label:`Screen Recording`,description:`Allows your assistant to capture screen context during computer-use tasks.`},{id:`microphone`,type:`system`,sourceKind:`microphone`,label:`Microphone`,description:`Allows your assistant to capture audio for voice input and recordings.`},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,label:`Speech Recognition`,description:`Allows your assistant to transcribe your speech into text on-device.`},{id:`notifications`,type:`system`,sourceKind:`notifications`,label:`Notifications`,description:`Allows your assistant to send macOS alerts for approvals, messages, and task updates.`}],Se=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function Ce(){let[e,t]=(0,W.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function we(){let[e,r]=(0,W.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,W.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||_e(0)}]}function Te({row:e,onToggle:t}){return(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(k,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:p(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,G.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,G.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Ee(){return(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function De({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=ye(),{pendingKind:o,run:s}=Ce(),[c,l]=we(),u=(0,W.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of K){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,W.useMemo)(()=>{let e=K.map(e=>{let t=u.get(e.id)?.item;return t?{id:e.id,label:e.label,description:e.description,checked:t.status===`granted`,disabled:o===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}:null}).filter(Boolean),t=Se.map(e=>({id:e.id,label:e.label,description:e.description,checked:c,disabled:o===e.id}));return[...e,...t]},[c,o,u]);if(!i)return null;let f=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await ve(e.sourceKind):await he(e.sourceKind),await a()},p=e=>{let t=u.get(e);if(t){s(e,()=>f(t.meta,t.item));return}e===`notificationBadges`&&s(e,async()=>{l(!c)})};return(0,G.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,G.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,G.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,G.jsx)(Ee,{}),`Checking permissions...`]}):(0,G.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,G.jsx)(Te,{row:e,onToggle:p},e.id))}),r&&(0,G.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-lg border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:r})]})}function Oe(){let e=L({platformHostedOnly:!0}),t=de(),n=ue(),r=l(),{data:i,isLoading:a,isError:o}=u({...R(),enabled:e===`full`&&t}),s=d({mutationFn:async e=>{let{data:t}=await ee({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{me(r,void 0,e),A.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{A.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,f=i?.access_consented??!1,p=e!==`full`||!t||a||o||s.isPending;return(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow Staff Access`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:`When enabled, Vellum Staff will be able to access your assistant and its data for debugging purposes. It's suggested that you leave this off and only turn it on temporarily if you need Vellum Support's help in investigating an issue.`}),e===`full`&&o&&(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,G.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,G.jsxs)(G.Fragment,{children:[(s.isPending||c)&&(0,G.jsx)(_,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,G.jsx)(k,{checked:f,disabled:p,onChange:()=>s.mutate(!f)})]})})]}),e===`disabled`&&(0,G.jsx)(be,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function ke(){let e=ie(),t=ae(),[n,r]=(0,W.useState)(()=>oe()),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!1);if((0,W.useEffect)(()=>{if(!e)return;let t=!0;return ne().then(e=>{t&&a(e)}),()=>{t=!1}},[e]),!e||!i?.available)return null;let c=async()=>{s(!0);try{if(n)I(!1),await re(),r(!1);else{let e=te();if(!e||!await se(e)){I(!1),r(!1);return}I(!0),r(!0)}}finally{s(!1)}};return(0,G.jsx)(H,{title:`Security`,children:(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,i.label,` for sign-in`]}),(0,G.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,i.label,t&&` or your device passcode`,` instead of signing in again.`]})]}),(0,G.jsx)(k,{checked:n,onChange:()=>void c(),disabled:o})]})})}var q=[`youtube.com`,`youtu.be`,`vimeo.com`,`loom.com`];function Ae(e){try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}catch{}return[...q]}function je(){return n(`mediaEmbedsEnabled`,!0)}function Me(){let e=i(`mediaEmbedDomains`,``);return e?Ae(e):[...q]}function Ne(){let[e,n]=(0,W.useState)(()=>je()),[i,a]=(0,W.useState)(()=>Me()),[o,s]=(0,W.useState)(!1),[l,u]=(0,W.useState)(``),d=(0,W.useMemo)(()=>l.trim().toLowerCase(),[l]),f=e=>{n(e),t(`mediaEmbedsEnabled`,e)},p=e=>{a(e),r(`mediaEmbedDomains`,JSON.stringify(e))},m=()=>{if(d){if(i.includes(d)){u(``);return}p([...i,d]),u(``)}},_=e=>{p(i.filter(t=>t!==e))},v=()=>{p([...q])},y=i.length===q.length&&i.every((e,t)=>e===q[t]);return(0,G.jsxs)(H,{title:`Media Embeds`,subtitle:`Automatically embed images, videos, and other media shared in chat messages.`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Auto Media Embeds`}),(0,G.jsx)(k,{checked:e,onChange:f})]}),e&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`mt-4`,children:(0,G.jsx)(xe,{})}),(0,G.jsxs)(c,{type:`button`,variant:`ghost`,onClick:()=>s(e=>!e),className:`mt-4 w-full justify-between px-3`,"aria-expanded":o,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o?(0,G.jsx)(h,{className:`h-4 w-4`,"aria-hidden":!0}):(0,G.jsx)(g,{className:`h-4 w-4`,"aria-hidden":!0}),`Video Domain Allowlist`]}),(0,G.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[i.length,` domain`,i.length===1?``:`s`]})]}),o&&(0,G.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,G.jsx)(O,{label:`Add Domain`,type:`text`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:`Add domain (e.g. example.com)`,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(c,{variant:`primary`,size:`compact`,onClick:m,disabled:!d,children:`Add`})]}),i.length>0&&(0,G.jsx)(`div`,{className:`flex justify-end`,children:(0,G.jsx)(c,{type:`button`,variant:`ghost`,size:`compact`,onClick:v,disabled:y,tintColor:`var(--content-tertiary)`,children:`Reset to Defaults`})}),i.length>0&&(0,G.jsx)(`ul`,{className:`space-y-2`,children:i.map(e=>(0,G.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] px-3 py-2 text-body-medium-lighter`,children:[(0,G.jsx)(`span`,{className:`font-mono text-[var(--content-default)]`,children:e}),(0,G.jsx)(c,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,G.jsx)(w,{}),onClick:()=>_(e),"aria-label":`Remove ${e}`})]},e))})]})]})]})}function J(){return(0,G.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Y=x.map(e=>({value:e.id,label:e.label,icon:(0,G.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Pe(){let e=V(),t=l(),{data:n,isError:r}=u({queryKey:[`thresholds`,e],queryFn:()=>y(e),staleTime:3e4}),[i,a]=(0,W.useState)(`relaxed`),[o,s]=(0,W.useState)(`conservative`),[c,d]=(0,W.useState)(`strict`),[f,p]=(0,W.useState)(!1),_=(0,W.useRef)(!1),[S,C]=(0,W.useState)(!1),w=(0,W.useRef)(null),T=(0,W.useRef)(null);(0,W.useEffect)(()=>{!n||_.current||(a(b(n.interactive).id),s(b(n.autonomous).id),d(b(n.headless).id),C(!0))},[n]),(0,W.useEffect)(()=>()=>{w.current!==null&&(clearTimeout(w.current),w.current=null,T.current?.(),T.current=null)},[]);let E=(0,W.useCallback)((n,r,i)=>{if(!e||!S)return;let a=x.find(e=>e.id===n)?.riskThreshold,o=x.find(e=>e.id===r)?.riskThreshold,s=x.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||v(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,S,t]),D=(0,W.useCallback)((e,t,n)=>{w.current!==null&&clearTimeout(w.current),T.current=()=>E(e,t,n),w.current=setTimeout(()=>{T.current?.(),w.current=null,T.current=null},500)},[E]),O=(0,W.useCallback)(e=>{_.current=!0,a(e),D(e,o,c)},[o,c,D]),k=(0,W.useCallback)(e=>{_.current=!0,s(e),D(i,e,c)},[i,c,D]),A=(0,W.useCallback)(e=>{_.current=!0,d(e),D(i,o,e)},[i,o,D]),j=x.find(e=>e.id===i),N=x.find(e=>e.id===o),P=x.find(e=>e.id===c),F=!e||!S;return(0,G.jsxs)(m,{children:[(0,G.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Assistant Access`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your access level determines which levels auto-approve. Trust Rules fine-tune this for specific actions by raising or lowering their risk.`}),r&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,G.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:i,onChange:O,options:Y,disabled:F})}),j&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:j.description})]}),(0,G.jsx)(J,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":f,children:[f?(0,G.jsx)(h,{className:`h-4 w-4`}):(0,G.jsx)(g,{className:`h-4 w-4`}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,G.jsxs)(`div`,{className:f?`mt-4 space-y-4`:`hidden`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:o,onChange:k,options:Y,disabled:F})}),N&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:N.description})]}),(0,G.jsx)(J,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:c,onChange:A,options:Y,disabled:F})}),P&&(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:P.description})]})]})]})]})]})}var X=e(s(),1),Fe=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],Ie=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function Z({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,W.useRef)(null),[a,o]=(0,W.useState)(t.tool),[s,c]=(0,W.useState)(t.pattern),[l,u]=(0,W.useState)(t.risk),[d,f]=(0,W.useState)(t.description??``),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(null),_=s.trim(),v=_.length>0&&!p,y=(0,W.useCallback)(async n=>{if(n.preventDefault(),!v)return;let i=d.trim()||`${a} — ${_}`;m(!0),g(null);try{await z(e,t.id,{risk:l,description:i}),r()}catch(e){g(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,v,d,t,r,l,a,_]);return(0,X.createPortal)((0,G.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,W.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),n())},[n]),onClick:(0,W.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,G.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,G.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,G.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,G.jsx)(T,{className:`h-4 w-4`})})]}),(0,G.jsxs)(`form`,{onSubmit:e=>void y(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[h&&(0,G.jsx)(E,{tone:`error`,children:h}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,G.jsx)(`div`,{className:`mt-1`,children:(0,G.jsx)(M,{value:a,onChange:o,disabled:!0,options:Fe.map(e=>({value:e,label:e}))})})]}),(0,G.jsx)(O,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,G.jsx)(`div`,{className:`mt-2 flex gap-2`,children:Ie.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,G.jsx)(`div`,{children:e.label}),(0,G.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,G.jsx)(O,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${_||`pattern`}`}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,G.jsx)(`button`,{type:`submit`,disabled:!v,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function Le(e){return e.origin===`default`&&!e.userModified}function Re(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function ze(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function Q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Be({assistantId:e,onClose:t}){let n=(0,W.useRef)(null),[r,i]=(0,W.useState)([]),[a,o]=(0,W.useState)(!0),[s,l]=(0,W.useState)(null),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(!1),g=(0,W.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([B(e),B(e,{origin:`default`})]);return Re(t,n)}return B(e)},[e]),_=(0,W.useCallback)(async()=>{o(!0);try{i(await g(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[g,m]);(0,W.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await g(m);e||(i(t),l(null))}catch(t){e||l(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[g,m]);let v=(0,W.useCallback)(async()=>{if(f)try{await ge(e,f.id),_()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,_]);return(0,X.createPortal)((0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,W.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t())},[t]),onClick:(0,W.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,G.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,G.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(k,{checked:m,onChange:h,label:`Show all defaults`}),(0,G.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,G.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,G.jsx)(`div`,{className:`mb-3`,children:(0,G.jsx)(E,{tone:`error`,children:s})}),a?(0,G.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,G.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,G.jsx)(C,{className:`h-8 w-8`}),(0,G.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,G.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=Le(e);return(0,G.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,G.jsx)(D,{tone:ze(e.risk),children:Q(e.risk)}),e.origin===`default`&&(0,G.jsx)(D,{tone:`neutral`,children:`Default`}),e.userModified&&(0,G.jsx)(D,{tone:`warning`,children:`Modified`})]}),(0,G.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,G.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,G.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>d(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,G.jsx)(S,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,G.jsx)(c,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,G.jsx)(w,{className:`h-4 w-4`}),"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e)})]})]},e.id)})})]})]})}),u&&(0,G.jsx)(Z,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),_()}}),(0,G.jsx)(j,{open:f!==null,title:`Delete Trust Rule?`,message:f?`Remove the ${Q(f.risk).toLowerCase()}-risk rule for ${f.tool} matching "${f.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void v(),onCancel:()=>p(null)})]}),document.body)}function Ve(){let e=V(),[t,n]=(0,W.useState)(!1);return(0,G.jsxs)(m,{children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(C,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,G.jsxs)(`div`,{className:`flex-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,G.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,G.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,G.jsx)(Be,{assistantId:e,onClose:()=>n(!1)})]})}var He=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],Ue=`thirtyDays`;function $(){return(0,G.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function We(){let e=L({platformHostedOnly:!0}),t=P(),n=t,a=N.use.user()?.id??null,[o]=fe(),[s]=pe(),c=o??!0,l=s??!0,[u,d]=(0,W.useState)(()=>i(`llmLogRetention`,Ue));return(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsx)(ke,{}),(0,G.jsx)(De,{}),(0,G.jsx)(Ve,{}),(0,G.jsx)(Pe,{}),(0,G.jsx)(Ne,{}),(0,G.jsx)(H,{title:`Privacy`,subtitle:t?(0,G.jsxs)(G.Fragment,{children:[`View details about what data we collect and how it's used in our`,` `,(0,G.jsx)(`a`,{href:le(ce.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`privacy policy`}),`.`]}):void 0,children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[n&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(U,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:c,onChange:()=>{F(`share_analytics`,!c,{userId:a,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,G.jsx)($,{}),(0,G.jsx)(U,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:l,onChange:()=>{F(`share_diagnostics`,!l,{userId:a,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,G.jsx)($,{})]}),(0,G.jsx)(Oe,{}),e!==`gated`&&(0,G.jsx)($,{}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,G.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,G.jsx)(M,{value:u,onChange:e=>{d(e),r(`llmLogRetention`,e)},options:He})}),(0,G.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{We as PrivacyPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{_ as o}from"./local-mode-DP-5m-kS.js";import{t as s}from"./is-electron-BSK3AUxG.js";import"./i18n-zb2mgr1B.js";import{t as c}from"./useTranslation-Dn8TOHE6.js";import{i as l,n as u,v as d}from"./auth-store-BDMYc7te.js";import{F as f,I as p,N as m,k as h}from"./platform-detection-BIfuAgU8.js";import{d as g,t as _}from"./routes-C293MsBG.js";import{d as v,m as y,p as b}from"./prefs-Bxlc7g3M.js";import{o as x,r as S}from"./navigation-resolver-jn3fW9IN.js";import{l as C,n as w,o as T}from"./funnel-events-BddkbWqn.js";import{t as E}from"./onboarding-navigation-BI2ZIqE9.js";import{t as D}from"./onboarding-layout-D8Kv-5kM.js";import{t as O}from"./plugin-attribution-B_3pbh6m.js";import{n as k,t as A}from"./consent-controls-hAYNW2he.js";import{r as j,t as M}from"./checkout-continuation-ChMQkpyi.js";var N=e(t(),1),P=a();function F({current:e,total:t,color:n}){let{t:r}=c(`onboarding`);return(0,P.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":r(`stepIndicator.ariaLabel`,{current:e+1,total:t}),children:Array.from({length:t},(t,r)=>(0,P.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors`,style:n?{backgroundColor:n,opacity:r<=e?1:.3}:void 0,children:n?null:(0,P.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${r<=e?``:`opacity-20`}`})},r))})}function I(){let{t:e}=c(`onboarding`),t=r(),[a]=i(),m=u.use.user()?.id??null,_=s(),I=h(),[R,z]=b(),B=R??!0,[V,H]=y(),[U,W]=v(),G=l(),K=j();(0,N.useEffect)(()=>{C()},[]);let q=a.get(`preview`)===`true`,J=(0,N.useCallback)(e=>{},[]),Y=q?J:z,X=q?J:H,Z=q?J:W,Q=(0,N.useCallback)(()=>{if(q)return;d({userId:m,tos:V,privacy:U,shareAnalytics:null,shareDiagnostics:B,hasPlatformSession:G}),T(w.privacyTos,{userId:m});let e=S(a.get(`returnTo`));if(e){t(e,E);return}let n=a.get(`hosting`),r=new URLSearchParams;n&&r.set(`hosting`,n);let i=a.get(O);i&&r.set(O,i);let s=r.toString(),c=`${x({isLocalHatch:o()&&n!==null&&n!==`vellum-cloud`})}${s?`?${s}`:``}`,l=p();if(l?.resumeAfterOnboarding===!0)if(K===`disabled`)f();else{let e=L(l);if(e){e.set(M,c),t(`${g.checkout}?${e.toString()}`,E);return}}t(c,E)},[U,G,q,t,a,B,K,V,m]);return(0,P.jsx)(D,{showAvatarWave:!0,children:(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${_?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[I&&(0,P.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,P.jsx)(F,{current:2,total:3})}),(0,P.jsx)(`h1`,{className:_?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`privacyScreen.title`)}),(0,P.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${_?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`privacyScreen.body`)}),(0,P.jsx)(k,{electron:_,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:B,onShareAnalyticsChange:J,onShareDiagnosticsChange:Y,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,P.jsx)(A,{electron:_,privacyConsent:U,tosAccepted:V,onPrivacyChange:Z,onTosChange:X,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,P.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${_?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,P.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!V||!U,onClick:Q,className:_?void 0:`h-11 text-base`,children:e(`actions.start`)}),(0,P.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>t(o()?g.onboarding.hosting:g.onboarding.start,E),className:_?void 0:`h-11 text-base`,children:e(`actions.back`)})]})]})})}function L(e){return e.kind===`package`?new URLSearchParams({[_]:e.packageKey}):e.storageTier===null?null:m({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{I as PrivacyScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{_ as o}from"./local-mode-DP-5m-kS.js";import{t as s}from"./is-electron-BSK3AUxG.js";import"./i18n-BR-AyG5b.js";import{t as c}from"./useTranslation-DxUSOwQs.js";import{i as l,n as u,v as d}from"./auth-store-B9pHhreb.js";import{F as f,I as p,N as m,k as h}from"./platform-detection-D4gxJctC.js";import{d as g,t as _}from"./routes-C293MsBG.js";import{d as v,m as y,p as b}from"./prefs-Bxlc7g3M.js";import{o as x,r as S}from"./navigation-resolver-CDeIpFuD.js";import{l as C,n as w,o as T}from"./funnel-events-CH_O9aTg.js";import{t as E}from"./onboarding-navigation-BI2ZIqE9.js";import{t as D}from"./onboarding-layout-D8Kv-5kM.js";import{t as O}from"./plugin-attribution-TebhIznA.js";import{n as k,t as A}from"./consent-controls-Dz0ScMsh.js";import{r as j,t as M}from"./checkout-continuation-B34WX6T6.js";var N=e(t(),1),P=a();function F({current:e,total:t,color:n}){let{t:r}=c(`onboarding`);return(0,P.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":r(`stepIndicator.ariaLabel`,{current:e+1,total:t}),children:Array.from({length:t},(t,r)=>(0,P.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors`,style:n?{backgroundColor:n,opacity:r<=e?1:.3}:void 0,children:n?null:(0,P.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${r<=e?``:`opacity-20`}`})},r))})}function I(){let{t:e}=c(`onboarding`),t=r(),[a]=i(),m=u.use.user()?.id??null,_=s(),I=h(),[R,z]=b(),B=R??!0,[V,H]=y(),[U,W]=v(),G=l(),K=j();(0,N.useEffect)(()=>{C()},[]);let q=a.get(`preview`)===`true`,J=(0,N.useCallback)(e=>{},[]),Y=q?J:z,X=q?J:H,Z=q?J:W,Q=(0,N.useCallback)(()=>{if(q)return;d({userId:m,tos:V,privacy:U,shareAnalytics:null,shareDiagnostics:B,hasPlatformSession:G}),T(w.privacyTos,{userId:m});let e=S(a.get(`returnTo`));if(e){t(e,E);return}let n=a.get(`hosting`),r=new URLSearchParams;n&&r.set(`hosting`,n);let i=a.get(O);i&&r.set(O,i);let s=r.toString(),c=`${x({isLocalHatch:o()&&n!==null&&n!==`vellum-cloud`})}${s?`?${s}`:``}`,l=p();if(l?.resumeAfterOnboarding===!0)if(K===`disabled`)f();else{let e=L(l);if(e){e.set(M,c),t(`${g.checkout}?${e.toString()}`,E);return}}t(c,E)},[U,G,q,t,a,B,K,V,m]);return(0,P.jsx)(D,{showAvatarWave:!0,children:(0,P.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${_?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[I&&(0,P.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,P.jsx)(F,{current:2,total:3})}),(0,P.jsx)(`h1`,{className:_?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`privacyScreen.title`)}),(0,P.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${_?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`privacyScreen.body`)}),(0,P.jsx)(k,{electron:_,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:B,onShareAnalyticsChange:J,onShareDiagnosticsChange:Y,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,P.jsx)(A,{electron:_,privacyConsent:U,tosAccepted:V,onPrivacyChange:Z,onTosChange:X,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,P.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${_?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,P.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!V||!U,onClick:Q,className:_?void 0:`h-11 text-base`,children:e(`actions.start`)}),(0,P.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>t(o()?g.onboarding.hosting:g.onboarding.start,E),className:_?void 0:`h-11 text-base`,children:e(`actions.back`)})]})]})})}function L(e){return e.kind===`package`?new URLSearchParams({[_]:e.packageKey}):e.storageTier===null?null:m({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{I as PrivacyScreen};
@@ -0,0 +1 @@
1
+ import{i as e}from"./utils-1ZnEn_W1.js";var t={anthropic:[{id:`claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-5-20250929`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-opus-4-5-20251101`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-haiku-4-5-20251001`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0}],openai:[{id:`gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.4`,displayName:`GPT-5.4`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.2`,displayName:`GPT-5.2`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-mini`,displayName:`GPT-5.4 Mini`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-nano`,displayName:`GPT-5.4 Nano`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0}],gemini:[{id:`gemini-3.6-flash`,displayName:`Gemini 3.6 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash`,displayName:`Gemini 3.5 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash-lite`,displayName:`Gemini 3.5 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-pro-preview`,displayName:`Gemini 3.1 Pro Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3.1-pro-preview-customtools`,displayName:`Gemini 3.1 Pro Preview (Custom Tools)`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3-flash-preview`,displayName:`Gemini 3 Flash Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite-preview`,displayName:`Gemini 3.1 Flash-Lite Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite`,displayName:`Gemini 3.1 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash`,displayName:`Gemini 2.5 Flash`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash-lite`,displayName:`Gemini 2.5 Flash Lite`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536},{id:`gemini-2.5-pro`,displayName:`Gemini 2.5 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5}],ollama:[{id:`llama3.2`,displayName:`Llama 3.2`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:4096},{id:`mistral`,displayName:`Mistral`,contextWindowTokens:32768,defaultContextWindowTokens:32768,maxOutputTokens:4096}],fireworks:[{id:`accounts/fireworks/models/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`accounts/fireworks/models/kimi-k2p6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`accounts/fireworks/models/glm-5p2`,displayName:`GLM 5.2`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m2p7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/deepseek-v4-flash-0731`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0}],together:[{id:`MiniMaxAI/MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0}],openrouter:[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.5`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-opus-4.5`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-sol-pro`,displayName:`GPT-5.6 Sol Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra-pro`,displayName:`GPT-5.6 Terra Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna-pro`,displayName:`GPT-5.6 Luna Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`x-ai/grok-4.5`,displayName:`Grok 4.5`,contextWindowTokens:5e5,defaultContextWindowTokens:2e5,maxOutputTokens:3e4,supportsThinking:!0},{id:`x-ai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`x-ai/grok-4.20`,displayName:`Grok 4.20`,contextWindowTokens:2e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3,supportsThinking:!0},{id:`deepseek/deepseek-chat-v3-0324`,displayName:`DeepSeek V3`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3},{id:`deepseek/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v3.2-speciale`,displayName:`DeepSeek V3.2 Speciale`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:163840,supportsThinking:!0},{id:`qwen/qwen3.5-plus-02-15`,displayName:`Qwen 3.5 Plus`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-397b-a17b`,displayName:`Qwen 3.5 397B`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-flash-02-23`,displayName:`Qwen 3.5 Flash`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`qwen/qwen3-coder-next`,displayName:`Qwen 3 Coder`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`moonshotai/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`moonshotai/kimi-k2.5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`minimax/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`minimax/minimax-m2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:131072,supportsThinking:!0},{id:`minimax/minimax-m2.5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2.1`,displayName:`MiniMax M2.1`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2`,displayName:`MiniMax M2`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2-her`,displayName:`MiniMax M2-her`,contextWindowTokens:65536,defaultContextWindowTokens:65536,maxOutputTokens:2048},{id:`minimax/minimax-m1`,displayName:`MiniMax M1`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:4e4,supportsThinking:!0},{id:`minimax/minimax-01`,displayName:`MiniMax-01`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:1e6},{id:`z-ai/glm-5.2`,displayName:`GLM-5.2`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`mistralai/mistral-medium-3`,displayName:`Mistral Medium 3`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/mistral-small-2603`,displayName:`Mistral Small 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/devstral-2512`,displayName:`Devstral 2`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`meta-llama/llama-4-maverick`,displayName:`Llama 4 Maverick`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`meta-llama/llama-4-scout`,displayName:`Llama 4 Scout`,contextWindowTokens:327680,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`amazon/nova-pro-v1`,displayName:`Amazon Nova Pro`,contextWindowTokens:3e5,defaultContextWindowTokens:2e5,maxOutputTokens:5e3},{id:`openrouter/owl-alpha`,displayName:`Owl Alpha`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:262144}],"vercel-ai-gateway":[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`xai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0}],minimax:[{id:`MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`MiniMax-M2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:16384,supportsThinking:!0}],atlascloud:[{id:`deepseek-ai/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:8192,supportsThinking:!0}],litellm:[],baseten:[{id:`thinkingmachines/inkling`,displayName:`Inkling`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],poolside:[{id:`poolside/laguna-s-2.1`,displayName:`Laguna S 2.1`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`poolside/laguna-xs-2.1`,displayName:`Laguna XS 2.1`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],"openai-compatible":[]},n={anthropic:`claude-opus-4-8`,openai:`gpt-5.5`,gemini:`gemini-2.5-flash`,ollama:`llama3.2`,fireworks:`accounts/fireworks/models/deepseek-v4-flash-0731`,together:`MiniMaxAI/MiniMax-M3`,openrouter:`x-ai/grok-4.20`,"vercel-ai-gateway":`anthropic/claude-sonnet-4.6`,minimax:`MiniMax-M2.7`,atlascloud:`deepseek-ai/deepseek-v4-pro`,litellm:``,baseten:`thinkingmachines/inkling`,poolside:`poolside/laguna-s-2.1`,"openai-compatible":``},r={vellum:`Vellum`,chatgpt:`ChatGPT Subscription`,anthropic:`Anthropic`,openai:`OpenAI`,gemini:`Google Gemini`,ollama:`Ollama`,fireworks:`Fireworks`,together:`Together AI`,openrouter:`OpenRouter`,"vercel-ai-gateway":`Vercel AI Gateway`,"openai-compatible":`OpenAI-compatible`,minimax:`MiniMax`,atlascloud:`Atlas Cloud`,litellm:`LiteLLM`,baseten:`Baseten`,poolside:`Poolside`};t.anthropic;var i=[`anthropic`,`openai`,`gemini`,`fireworks`,`together`],a=(()=>{let e=new Set,n=new Set,r=[];for(let a of i)for(let i of t[a])e.has(i.id)||n.has(i.displayName)||(e.add(i.id),n.add(i.displayName),r.push(i));return r})();function o(e){let t=e.indexOf(`/`);if(t<=0)return null;let n=e.slice(0,t),r=i.find(e=>e===n),a=e.slice(t+1);return r&&a?{provider:r,model:a}:null}function s(e){let n=o(e);return n?n.provider:i.find(n=>t[n].some(t=>t.id===e))}var c=new Set([`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`]);function l(e){return e===`vellum`?a:e===`chatgpt`?t.openai.filter(e=>c.has(e.id)):t[e]??[]}function u(e){return e===`chatgpt`?`gpt-5.6-luna`:n[e]}var d=`openai-compatible`,f=[`anthropic`,`openai`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`gemini`,`ollama`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`];function p(e){return e!=null&&f.includes(e)}var m=`vellum`,h=`chatgpt`,g=new Set(i),_=1e3,v=1e3,y=2e5,b=[`default`,`firecrawl`],x={default:`Vellum`,firecrawl:`Firecrawl`},S={firecrawl:`fc-...`},C={firecrawl:`vellum:ai:firecrawlKey`},w=new Set([`firecrawl`]),T=[`vellum`,`inference-provider-native`,`perplexity`,`brave`,`tavily`,`firecrawl`],E={vellum:`Vellum`,"inference-provider-native":`Provider Native`,perplexity:`Perplexity`,brave:`Brave`,tavily:`Tavily`,firecrawl:`Firecrawl`},D={perplexity:`pplx-...`,brave:`BSA...`,tavily:`tvly-...`,firecrawl:`fc-...`},O={perplexity:`vellum:ai:perplexityKey`,brave:`vellum:ai:braveKey`,tavily:`vellum:ai:tavilyKey`,firecrawl:`vellum:ai:firecrawlKey`},k=new Set([`perplexity`,`brave`,`tavily`,`firecrawl`]),A=new Set([`managed`,`your-own`]);function j(e,t){return A.has(e)?e:t}function M(e,t){let n=t.filter(t=>t in e).map(t=>({name:t,...e[t]})),r=new Set(t),i=Object.entries(e).filter(([e])=>!r.has(e)).map(([e,t])=>({name:e,...t}));return[...n,...i]}function N(e,t){return e.find(e=>e.name===t)?.label??t}function P(e){if(e&&typeof e==`object`&&`success`in e&&e.success===!1)throw Error(`Failed to provision API key: server returned success=false`)}function F(e,t,n=_){return Math.min(Number.isFinite(e)?Math.max(Math.round(e),n):n,t)}function I(e,t){return e.toLocaleString(`en-US`,{maximumFractionDigits:t,minimumFractionDigits:0})}function L(e){let t=Array.isArray(e)?e[0]??0:e,n=Math.round(t);return Math.abs(n)>=1e6?`${I(n/1e6,2)}M`:Math.abs(n)>=1e3?`${I(n/1e3,1)}K`:n.toLocaleString(`en-US`)}function R(e){return O[e]??``}function z(e){return C[e]??``}var B=`0.10.8`;function V(){return e(B)}function H(e,{requireOwnProviderAndModel:t}){return e.status===`disabled`?!1:t?!!e.provider&&!!e.model:!0}function U(e,t,n){if(e.status===`disabled`)return!1;if(e.mix==null)return H(e,n);let r=Array.isArray(e.mix)?e.mix:[];return r.length===0?!1:r.every(e=>{let r=t.find(t=>t.name===e?.profile);return r!=null&&H(r,n)})}function W(e,t,n){let r=e.filter(t=>U(t,e,n));return t&&r.some(e=>e.name===t)?t:r[0]?.name}function G(e,t,n){let r=new Set;for(let e of t)e&&r.add(e);return e.filter(t=>U(t,e,n)||r.has(t.name))}function K(e){let t=e.label??e.name;return e.status===`disabled`?`${t} (Disabled)`:t}function q(e,t,n){return e.status===`disabled`?`disabled`:U(e,t,n)?null:`undispatchable`}function J(e){let t=e.label??e.name;return e.mix==null?`"${t}" has no provider and model, so it cannot be used and the action falls back to another profile.`:`"${t}" mixes a profile that has no provider and model, so some turns would fall back to another profile.`}export{v as A,o as B,S as C,g as D,f as E,r as F,i as I,u as L,p as M,c as N,d as O,t as P,s as R,b as S,y as T,E as _,J as a,w as b,P as c,L as d,z as f,k as g,N as h,W as i,m as j,_ as k,M as l,j as m,q as n,G as o,R as p,K as r,V as s,U as t,F as u,T as v,h as w,x,D as y,l as z};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{d as r,h as i,t as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{N as s,_ as c}from"./local-mode-DP-5m-kS.js";import"./i18n-zb2mgr1B.js";import{t as l}from"./useTranslation-Dn8TOHE6.js";import{n as u,tt as d}from"./auth-store-BDMYc7te.js";import{c as f}from"./api-xbjYCkk-.js";import{B as p,K as m}from"./platform-detection-BIfuAgU8.js";import{d as h}from"./routes-C293MsBG.js";import{i as g,s as _}from"./login-flow-CTw5lXLx.js";import{t as v}from"./external-urls-Dz7v7Xuw.js";import{r as y,t as b}from"./account-shell-7DXx2oD4.js";var x=e(n(),1),S=o();function C(){let{t:e}=l(`account`),[n]=i(),o=r(),C=u.use.refreshSession(),w=n.get(`error`),[T,E]=(0,x.useState)(null),D=(0,x.useRef)(!1),O=n.get(`returnTo`),k=g(n);return(0,x.useEffect)(()=>{D.current||w||(D.current=!0,(async()=>{try{let e=await m(),t=p(e.ok&&!!e.data.user,e.ok?[]:e.flows??[]);switch(t.kind){case`authenticated`:{if(await C(),c())try{let e=await f();if(e.ok&&e.data.length>0&&(await s(e.data,d.getState().currentOrganizationId??void 0),!O)){o(h.assistant,{replace:!0});break}}catch{}let e=h.assistant,{destination:t,requiresFullPageNavigation:n}=_({returnTo:O,fallback:e,authIntent:k});n?window.location.href=t:o(t,{replace:!0});break}case`provider_signup`:{let e=n.get(`returnTo`);o(e?`${h.account.providerSignup}?returnTo=${encodeURIComponent(e)}`:h.account.providerSignup,{replace:!0});break}case`error`:E(t.message);break}}catch(e){t(e,{context:`provider_callback`}),E(`Something went wrong. Please try signing in again.`)}})())},[k,w,C,O,o,n]),w===`signup_closed`?(0,S.jsxs)(b,{children:[(0,S.jsx)(y,{title:e(`providerCallbackPage.signupClosedTitle`),subtitle:e(`providerCallbackPage.signupClosedSubtitle`)}),(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,S.jsx)(`a`,{href:v,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:e(`providerCallbackPage.joinCommunity`)}),(0,S.jsx)(a,{to:h.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:e(`providerCallbackPage.backToSignIn`)})]})]}):w||T?(0,S.jsxs)(b,{children:[(0,S.jsx)(y,{title:e(`providerCallbackPage.failedTitle`),subtitle:T??e(`providerCallbackPage.failedSubtitle`)}),(0,S.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,S.jsx)(a,{to:h.account.login,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:e(`providerCallbackPage.backToSignIn`)})})]}):(0,S.jsx)(b,{children:(0,S.jsx)(y,{title:e(`providerCallbackPage.completingTitle`),subtitle:e(`providerCallbackPage.completingSubtitle`)})})}export{C as ProviderCallbackPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{d as r,h as i,t as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{N as s,_ as c}from"./local-mode-DP-5m-kS.js";import"./i18n-BR-AyG5b.js";import{t as l}from"./useTranslation-DxUSOwQs.js";import{n as u,tt as d}from"./auth-store-B9pHhreb.js";import{c as f}from"./api-C72Ea0va.js";import{B as p,K as m}from"./platform-detection-D4gxJctC.js";import{d as h}from"./routes-C293MsBG.js";import{i as g,s as _}from"./login-flow-imrf1-ub.js";import{t as v}from"./external-urls-Dz7v7Xuw.js";import{r as y,t as b}from"./account-shell-DQFZ4C79.js";var x=e(n(),1),S=o();function C(){let{t:e}=l(`account`),[n]=i(),o=r(),C=u.use.refreshSession(),w=n.get(`error`),[T,E]=(0,x.useState)(null),D=(0,x.useRef)(!1),O=n.get(`returnTo`),k=g(n);return(0,x.useEffect)(()=>{D.current||w||(D.current=!0,(async()=>{try{let e=await m(),t=p(e.ok&&!!e.data.user,e.ok?[]:e.flows??[]);switch(t.kind){case`authenticated`:{if(await C(),c())try{let e=await f();if(e.ok&&e.data.length>0&&(await s(e.data,d.getState().currentOrganizationId??void 0),!O)){o(h.assistant,{replace:!0});break}}catch{}let e=h.assistant,{destination:t,requiresFullPageNavigation:n}=_({returnTo:O,fallback:e,authIntent:k});n?window.location.href=t:o(t,{replace:!0});break}case`provider_signup`:{let e=n.get(`returnTo`);o(e?`${h.account.providerSignup}?returnTo=${encodeURIComponent(e)}`:h.account.providerSignup,{replace:!0});break}case`error`:E(t.message);break}}catch(e){t(e,{context:`provider_callback`}),E(`Something went wrong. Please try signing in again.`)}})())},[k,w,C,O,o,n]),w===`signup_closed`?(0,S.jsxs)(b,{children:[(0,S.jsx)(y,{title:e(`providerCallbackPage.signupClosedTitle`),subtitle:e(`providerCallbackPage.signupClosedSubtitle`)}),(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,S.jsx)(`a`,{href:v,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:e(`providerCallbackPage.joinCommunity`)}),(0,S.jsx)(a,{to:h.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:e(`providerCallbackPage.backToSignIn`)})]})]}):w||T?(0,S.jsxs)(b,{children:[(0,S.jsx)(y,{title:e(`providerCallbackPage.failedTitle`),subtitle:T??e(`providerCallbackPage.failedSubtitle`)}),(0,S.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,S.jsx)(a,{to:h.account.login,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:e(`providerCallbackPage.backToSignIn`)})})]}):(0,S.jsx)(b,{children:(0,S.jsx)(y,{title:e(`providerCallbackPage.completingTitle`),subtitle:e(`providerCallbackPage.completingSubtitle`)})})}export{C as ProviderCallbackPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n,h as r,t as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./i18n-zb2mgr1B.js";import{t as o}from"./useTranslation-Dn8TOHE6.js";import{n as s}from"./auth-store-BDMYc7te.js";import{G as c,Y as l,q as u}from"./platform-detection-BIfuAgU8.js";import{d}from"./routes-C293MsBG.js";import{c as f,s as p}from"./login-flow-CTw5lXLx.js";import{i as m,n as h,r as g,t as _}from"./account-shell-7DXx2oD4.js";import{t as v}from"./signup-shell-BLq9UcAD.js";var y=e(t(),1),b=a();function x(){let{t:e}=o(`account`),t=n(),[a]=r(),x=s.use.refreshSession(),S=a.get(`returnTo`),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(!1),[L,R]=(0,y.useState)(!0),z=(0,y.useRef)(!1);(0,y.useEffect)(()=>{z.current||(z.current=!0,(async()=>{try{let e=await c();if(!e.ok){t(d.account.login,{replace:!0});return}w(e.data.user.email??``),E(e.data.user.username??``),O(e.data.user.first_name??``),A(e.data.user.last_name??``),R(!1)}catch{t(d.account.login,{replace:!0})}})())},[t]);let B=async()=>{let e=await l({email:C,username:T});if(!e.ok){if(u(e)){await x();let e=f(S,d.account.root);e.requiresFullPageNavigation?window.location.href=e.destination:t(e.destination);return}P(e.errors[0]?.message??`Failed to complete signup.`);return}await x();let n=p({returnTo:S,fallback:d.account.root,authIntent:`signup`});n.requiresFullPageNavigation?window.location.href=n.destination:t(n.destination)},V=async t=>{t.preventDefault(),P(null),I(!0);try{await B()}catch{P(e(`authErrors.genericFailure`))}finally{I(!1)}},H=async t=>{if(t.preventDefault(),j.trim()){P(null),I(!0);try{await B()}catch{P(e(`authErrors.genericFailure`))}finally{I(!1)}}};if(L)return(0,b.jsx)(_,{children:(0,b.jsx)(g,{title:e(`providerSignupPage.completingTitle`),subtitle:e(`providerSignupPage.completingSubtitle`)})});if(C&&T){let t=j.trim().length>0&&!F;return(0,b.jsx)(v,{children:(0,b.jsxs)(`form`,{onSubmit:H,className:`signup-details__thread`,children:[(0,b.jsxs)(`h2`,{className:`signup-details__heading`,children:[e(`providerSignupPage.headingLine1`),(0,b.jsx)(`br`,{}),e(`providerSignupPage.headingLine2`)]}),N&&(0,b.jsx)(`p`,{className:`signup-details__error`,children:N}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.firstNameQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:e(`providerSignupPage.firstNamePlaceholder`),value:D,readOnly:!0,disabled:!0})]}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.lastNameQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:e(`providerSignupPage.lastNamePlaceholder`),value:k,readOnly:!0,disabled:!0})]}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.roleQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,autoComplete:`organization-title`,placeholder:e(`providerSignupPage.rolePlaceholder`),value:j,onChange:e=>M(e.target.value),autoFocus:!0})]}),(0,b.jsx)(`div`,{className:`signup-details__step`,children:(0,b.jsx)(`button`,{type:`submit`,className:`signup-details__continue`,disabled:!t,children:e(F?`providerSignupPage.submitting`:`providerSignupPage.submit`)})})]})})}return(0,b.jsxs)(_,{children:[(0,b.jsx)(g,{title:e(`providerSignupPage.completeAccountTitle`),subtitle:e(`providerSignupPage.completeAccountSubtitle`)}),(0,b.jsxs)(h,{onSubmit:V,error:N,submitLabel:e(`providerSignupPage.completeSignup`),submittingLabel:e(`providerSignupPage.completingSignup`),isSubmitting:F,footer:(0,b.jsx)(i,{to:d.account.login,className:`text-sm text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:e(`providerSignupPage.backToSignIn`)}),children:[(0,b.jsx)(m,{id:`email`,type:`email`,autoComplete:`email`,placeholder:e(`providerSignupPage.emailPlaceholder`),value:C,onChange:e=>w(e.target.value),required:!0}),(0,b.jsx)(m,{id:`username`,type:`text`,autoComplete:`username`,placeholder:e(`providerSignupPage.usernamePlaceholder`),value:T,onChange:e=>E(e.target.value),required:!0})]})]})}export{x as ProviderSignupPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n,h as r,t as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import"./i18n-BR-AyG5b.js";import{t as o}from"./useTranslation-DxUSOwQs.js";import{n as s}from"./auth-store-B9pHhreb.js";import{G as c,Y as l,q as u}from"./platform-detection-D4gxJctC.js";import{d}from"./routes-C293MsBG.js";import{c as f,s as p}from"./login-flow-imrf1-ub.js";import{i as m,n as h,r as g,t as _}from"./account-shell-DQFZ4C79.js";import{t as v}from"./signup-shell-XnqyIHQa.js";var y=e(t(),1),b=a();function x(){let{t:e}=o(`account`),t=n(),[a]=r(),x=s.use.refreshSession(),S=a.get(`returnTo`),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(!1),[L,R]=(0,y.useState)(!0),z=(0,y.useRef)(!1);(0,y.useEffect)(()=>{z.current||(z.current=!0,(async()=>{try{let e=await c();if(!e.ok){t(d.account.login,{replace:!0});return}w(e.data.user.email??``),E(e.data.user.username??``),O(e.data.user.first_name??``),A(e.data.user.last_name??``),R(!1)}catch{t(d.account.login,{replace:!0})}})())},[t]);let B=async()=>{let e=await l({email:C,username:T});if(!e.ok){if(u(e)){await x();let e=f(S,d.account.root);e.requiresFullPageNavigation?window.location.href=e.destination:t(e.destination);return}P(e.errors[0]?.message??`Failed to complete signup.`);return}await x();let n=p({returnTo:S,fallback:d.account.root,authIntent:`signup`});n.requiresFullPageNavigation?window.location.href=n.destination:t(n.destination)},V=async t=>{t.preventDefault(),P(null),I(!0);try{await B()}catch{P(e(`authErrors.genericFailure`))}finally{I(!1)}},H=async t=>{if(t.preventDefault(),j.trim()){P(null),I(!0);try{await B()}catch{P(e(`authErrors.genericFailure`))}finally{I(!1)}}};if(L)return(0,b.jsx)(_,{children:(0,b.jsx)(g,{title:e(`providerSignupPage.completingTitle`),subtitle:e(`providerSignupPage.completingSubtitle`)})});if(C&&T){let t=j.trim().length>0&&!F;return(0,b.jsx)(v,{children:(0,b.jsxs)(`form`,{onSubmit:H,className:`signup-details__thread`,children:[(0,b.jsxs)(`h2`,{className:`signup-details__heading`,children:[e(`providerSignupPage.headingLine1`),(0,b.jsx)(`br`,{}),e(`providerSignupPage.headingLine2`)]}),N&&(0,b.jsx)(`p`,{className:`signup-details__error`,children:N}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.firstNameQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:e(`providerSignupPage.firstNamePlaceholder`),value:D,readOnly:!0,disabled:!0})]}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.lastNameQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:e(`providerSignupPage.lastNamePlaceholder`),value:k,readOnly:!0,disabled:!0})]}),(0,b.jsxs)(`div`,{className:`signup-details__step`,children:[(0,b.jsxs)(`span`,{className:`signup-details__label`,children:[e(`providerSignupPage.roleQuestion`),` `,(0,b.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,b.jsx)(`input`,{className:`signup-details__input`,type:`text`,autoComplete:`organization-title`,placeholder:e(`providerSignupPage.rolePlaceholder`),value:j,onChange:e=>M(e.target.value),autoFocus:!0})]}),(0,b.jsx)(`div`,{className:`signup-details__step`,children:(0,b.jsx)(`button`,{type:`submit`,className:`signup-details__continue`,disabled:!t,children:e(F?`providerSignupPage.submitting`:`providerSignupPage.submit`)})})]})})}return(0,b.jsxs)(_,{children:[(0,b.jsx)(g,{title:e(`providerSignupPage.completeAccountTitle`),subtitle:e(`providerSignupPage.completeAccountSubtitle`)}),(0,b.jsxs)(h,{onSubmit:V,error:N,submitLabel:e(`providerSignupPage.completeSignup`),submittingLabel:e(`providerSignupPage.completingSignup`),isSubmitting:F,footer:(0,b.jsx)(i,{to:d.account.login,className:`text-sm text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:e(`providerSignupPage.backToSignIn`)}),children:[(0,b.jsx)(m,{id:`email`,type:`email`,autoComplete:`email`,placeholder:e(`providerSignupPage.emailPlaceholder`),value:C,onChange:e=>w(e.target.value),required:!0}),(0,b.jsx)(m,{id:`username`,type:`text`,autoComplete:`username`,placeholder:e(`providerSignupPage.usernamePlaceholder`),value:T,onChange:e=>E(e.target.value),required:!0})]})]})}export{x as ProviderSignupPage};
@@ -1 +1 @@
1
- import{l as e}from"./machine-sizes-Bx2eSjOW.js";function t(t,n){return t?{machine:t.machineSize==null||n?.machineSize!=null&&e(n.machineSize)>=e(t.machineSize),storage:t.storageGib==null||n?.storageGib!=null&&n.storageGib>=t.storageGib}:{machine:!1,storage:!1}}function n(e,n){let r=t(e,n);return r.machine&&r.storage}function r(e){if(!e)return!1;if(e.state===`resizing_machine`||e.state===`resizing_storage`)return!0;let t=e.active_operation?.operation;return typeof t==`string`&&t.startsWith(`resize`)}function i(e){if(!e)return{machine:!1,storage:!1};let t=e.active_operation?.operation;return{machine:e.state===`resizing_machine`||t===`resize_machine`,storage:e.state===`resizing_storage`||t===`resize_storage`}}function a(e){return e.state===`not_applicable`&&(e.reason===`no_active_pro`||e.reason===`no_provisionable_assistants`)}export{n as a,i,a as n,r,t};
1
+ import{l as e}from"./machine-sizes-D5IsW7GE.js";function t(t,n){return t?{machine:t.machineSize==null||n?.machineSize!=null&&e(n.machineSize)>=e(t.machineSize),storage:t.storageGib==null||n?.storageGib!=null&&n.storageGib>=t.storageGib}:{machine:!1,storage:!1}}function n(e,n){let r=t(e,n);return r.machine&&r.storage}function r(e){if(!e)return!1;if(e.state===`resizing_machine`||e.state===`resizing_storage`)return!0;let t=e.active_operation?.operation;return typeof t==`string`&&t.startsWith(`resize`)}function i(e){if(!e)return{machine:!1,storage:!1};let t=e.active_operation?.operation;return{machine:e.state===`resizing_machine`||t===`resize_machine`,storage:e.state===`resizing_storage`||t===`resize_storage`}}function a(e){return e.state===`not_applicable`&&(e.reason===`no_active_pro`||e.reason===`no_provisionable_assistants`)}export{n as a,i,a as n,r,t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-B4xcxzQN.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-D8V9YSOm.js","assets/esm-DyAueRRL.js","assets/esm-BYiovSCx.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./capture-error-Cdvvw9J5.js";import{t}from"./preload-helper-Cv2QeVDK.js";import{F as n,I as r}from"./sdk.gen-CMy8CiG0.js";import{t as i}from"./event-bus-CibPCHnD.js";import{s as a,w as o}from"./platform-detection-BIfuAgU8.js";import{i as s,t as c}from"./dist-D8V9YSOm.js";import{i as l}from"./typed-storage-DjhDRFKz.js";var u=s(`ApnsEnvironment`),d=`.dev`;function f(e){return e.endsWith(d)?`development`:`production`}async function p(e){try{let{environment:e}=await u.get();if(e===`development`||e===`production`)return e;console.debug(`[apns-environment] unreadable APNs entitlement, using bundle-id heuristic:`,e)}catch(e){console.debug(`[apns-environment] ApnsEnvironment bridge unavailable, using bundle-id heuristic:`,e)}return f(e)}var m=`vellum-alerts`,h=`AndroidNotificationChannels`,g=s(h),_=null;async function v(){a()&&(_||=(c.isPluginAvailable(h)?g.ensureAlertsChannel():t(async()=>{let{LocalNotifications:e}=await import(`./esm-B4xcxzQN.js`).then(e=>e.n);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3])).then(({LocalNotifications:e})=>e.createChannel({id:m,name:`Alerts`,importance:3}))).catch(e=>{throw _=null,e}),await _)}var y=`AndroidPushRegistration`,b=s(y);function x(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.bundleId==`string`&&typeof t.assistantId==`string`?{token:t.token,bundleId:t.bundleId,assistantId:t.assistantId}:null}var S=l({key:`vellum:push_registration`,scope:`user`,parse:x,serialize:JSON.stringify,fallback:null}),C=!1,w=null,T=null,E=null,D=new Set,O=Promise.resolve();function k(e){D.add(e),e.finally(()=>{D.delete(e)})}function A(e,t){k(c.getPlatform()===`android`?O=O.then(()=>M(e,t)):M(e,t))}function j(){let e=c.getPlatform();return o()&&(e===`ios`||e===`android`)}async function M(n,i){try{let{App:a}=await t(async()=>{let{App:e}=await import(`./esm-DyAueRRL.js`);return{App:e}},__vite__mapDeps([4,2,3])),{id:o}=await a.getInfo(),s=c.getPlatform(),l=s===`android`?{token:n,platform:`android`,bundle_id:o}:{token:n,platform:`ios`,bundle_id:o,apns_environment:await p(o)},u=await r({path:{assistant_id:i},body:l,throwOnError:!1});if(u.error){e(u.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}let d=T??S.load();T={token:n,bundleId:o,assistantId:i},S.save(T),d&&d.bundleId===o&&d.token!==n&&s===`android`&&await P(d)}catch(t){e(t,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}function N(e){if(typeof e!=`object`||!e)return;let t=e,n=t.deep_link;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n=null}if(typeof n==`object`&&n){let e=n.conversationId;if(typeof e==`string`)return e}return typeof t.conversationId==`string`?t.conversationId:void 0}async function P(t){let r=await n({path:{assistant_id:t.assistantId,token:t.token},query:{bundle_id:t.bundleId},throwOnError:!1});r.error&&e(r.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:t.assistantId,bundleId:t.bundleId}})}function F(e){E=e}async function I(){if(!C){C=!0;try{let{PushNotifications:n}=await t(async()=>{let{PushNotifications:e}=await import(`./esm-BYiovSCx.js`);return{PushNotifications:e}},__vite__mapDeps([5,3]));await n.addListener(`registration`,e=>{let t=w;t&&A(e.value,t)}),await n.addListener(`registrationError`,t=>{e(t,{context:`push_registration_native`,level:`warning`})}),c.getPlatform()===`android`&&await n.addListener(`pushNotificationReceived`,e=>E?.(e)),await n.addListener(`pushNotificationActionPerformed`,e=>{let t=N(e.notification.data);t&&i(`deeplink.openThread`,{threadId:t})})}catch(t){C=!1,e(t,{context:`push_registration_listeners`,level:`warning`})}}}async function L(n){if(!j())return;let r=c.getPlatform()===`android`;w=n,T&&T.assistantId!==n&&A(T.token,n);try{let{PushNotifications:e}=await t(async()=>{let{PushNotifications:e}=await import(`./esm-BYiovSCx.js`);return{PushNotifications:e}},__vite__mapDeps([5,3]));if(await I(),r&&!c.isPluginAvailable(y)||(await v(),(await e.requestPermissions()).receive!==`granted`))return;r?await b.register():await e.register()}catch(t){e(t,{context:`push_registration_register`,level:`warning`})}}async function R(){for(w=null;D.size>0;)await Promise.allSettled([...D]);let t=T??S.load();if(T=null,S.remove(),j()){if(t)try{await P(t)}catch(t){e(t,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}if(c.getPlatform()===`android`)try{c.isPluginAvailable(y)&&await b.unregister()}catch(t){e(t,{context:`push_registration_unregister`,level:`warning`})}}}function z(e){return T?.assistantId===e}export{R as a,p as c,F as i,z as n,m as o,L as r,v as s,N as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-tXi8GsTV.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-D8V9YSOm.js","assets/esm-BpO8b4iY.js","assets/esm-C0OhtIaa.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./capture-error-Cdvvw9J5.js";import{t}from"./preload-helper-Cv2QeVDK.js";import{F as n,I as r}from"./sdk.gen-CMy8CiG0.js";import{t as i}from"./event-bus-CibPCHnD.js";import{s as a,w as o}from"./platform-detection-D4gxJctC.js";import{i as s,t as c}from"./dist-D8V9YSOm.js";import{i as l}from"./typed-storage-DjhDRFKz.js";var u=s(`ApnsEnvironment`),d=`.dev`;function f(e){return e.endsWith(d)?`development`:`production`}async function p(e){try{let{environment:e}=await u.get();if(e===`development`||e===`production`)return e;console.debug(`[apns-environment] unreadable APNs entitlement, using bundle-id heuristic:`,e)}catch(e){console.debug(`[apns-environment] ApnsEnvironment bridge unavailable, using bundle-id heuristic:`,e)}return f(e)}var m=`vellum-alerts`,h=`AndroidNotificationChannels`,g=s(h),_=null;async function v(){a()&&(_||=(c.isPluginAvailable(h)?g.ensureAlertsChannel():t(async()=>{let{LocalNotifications:e}=await import(`./esm-tXi8GsTV.js`).then(e=>e.n);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3])).then(({LocalNotifications:e})=>e.createChannel({id:m,name:`Alerts`,importance:3}))).catch(e=>{throw _=null,e}),await _)}var y=`AndroidPushRegistration`,b=s(y);function x(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.bundleId==`string`&&typeof t.assistantId==`string`?{token:t.token,bundleId:t.bundleId,assistantId:t.assistantId}:null}var S=l({key:`vellum:push_registration`,scope:`user`,parse:x,serialize:JSON.stringify,fallback:null}),C=!1,w=null,T=null,E=null,D=new Set,O=Promise.resolve();function k(e){D.add(e),e.finally(()=>{D.delete(e)})}function A(e,t){k(c.getPlatform()===`android`?O=O.then(()=>M(e,t)):M(e,t))}function j(){let e=c.getPlatform();return o()&&(e===`ios`||e===`android`)}async function M(n,i){try{let{App:a}=await t(async()=>{let{App:e}=await import(`./esm-BpO8b4iY.js`);return{App:e}},__vite__mapDeps([4,2,3])),{id:o}=await a.getInfo(),s=c.getPlatform(),l=s===`android`?{token:n,platform:`android`,bundle_id:o}:{token:n,platform:`ios`,bundle_id:o,apns_environment:await p(o)},u=await r({path:{assistant_id:i},body:l,throwOnError:!1});if(u.error){e(u.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}let d=T??S.load();T={token:n,bundleId:o,assistantId:i},S.save(T),d&&d.bundleId===o&&d.token!==n&&s===`android`&&await P(d)}catch(t){e(t,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}function N(e){if(typeof e!=`object`||!e)return;let t=e,n=t.deep_link;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n=null}if(typeof n==`object`&&n){let e=n.conversationId;if(typeof e==`string`)return e}return typeof t.conversationId==`string`?t.conversationId:void 0}async function P(t){let r=await n({path:{assistant_id:t.assistantId,token:t.token},query:{bundle_id:t.bundleId},throwOnError:!1});r.error&&e(r.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:t.assistantId,bundleId:t.bundleId}})}function F(e){E=e}async function I(){if(!C){C=!0;try{let{PushNotifications:n}=await t(async()=>{let{PushNotifications:e}=await import(`./esm-C0OhtIaa.js`);return{PushNotifications:e}},__vite__mapDeps([5,3]));await n.addListener(`registration`,e=>{let t=w;t&&A(e.value,t)}),await n.addListener(`registrationError`,t=>{e(t,{context:`push_registration_native`,level:`warning`})}),c.getPlatform()===`android`&&await n.addListener(`pushNotificationReceived`,e=>E?.(e)),await n.addListener(`pushNotificationActionPerformed`,e=>{let t=N(e.notification.data);t&&i(`deeplink.openThread`,{threadId:t})})}catch(t){C=!1,e(t,{context:`push_registration_listeners`,level:`warning`})}}}async function L(n){if(!j())return;let r=c.getPlatform()===`android`;w=n,T&&T.assistantId!==n&&A(T.token,n);try{let{PushNotifications:e}=await t(async()=>{let{PushNotifications:e}=await import(`./esm-C0OhtIaa.js`);return{PushNotifications:e}},__vite__mapDeps([5,3]));if(await I(),r&&!c.isPluginAvailable(y)||(await v(),(await e.requestPermissions()).receive!==`granted`))return;r?await b.register():await e.register()}catch(t){e(t,{context:`push_registration_register`,level:`warning`})}}async function R(){for(w=null;D.size>0;)await Promise.allSettled([...D]);let t=T??S.load();if(T=null,S.remove(),j()){if(t)try{await P(t)}catch(t){e(t,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}if(c.getPlatform()===`android`)try{c.isPluginAvailable(y)&&await b.unregister()}catch(t){e(t,{context:`push_registration_unregister`,level:`warning`})}}}function z(e){return T?.assistantId===e}export{R as a,p as c,F as i,z as n,m as o,L as r,v as s,N as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./confirm-dialog-DNaRfy4W.js";import{n,t as r}from"./create-selectors-C7uuHryP.js";import{D as i,S as a,f as o,s,v as c}from"./local-mode-DP-5m-kS.js";import{n as l}from"./resolved-assistants-store-BuqctGKE.js";import{Z as u,n as d}from"./auth-store-BDMYc7te.js";import{d as f}from"./routes-C293MsBG.js";var p=r(n()(e=>({open:!1,initialBundle:null,guidanceMessage:null,deepLinkDrainSettled:!1,openConnectDialog:t=>e({open:!0,initialBundle:t?.initialBundle??null,guidanceMessage:t?.guidanceMessage??null}),closeConnectDialog:()=>e({open:!1,initialBundle:null,guidanceMessage:null}),markDeepLinkDrainSettled:()=>e({deepLinkDrainSettled:!0})})));async function m(e){let t=s(e);if(t||=(await a(),s(e)),t&&c(t)){try{await d.getState().connectPairedAssistant(e)}catch(e){return console.error(`switchToAssistant.connectPairedAssistant failed`,e),{ok:!1,error:`Failed to connect to the assistant.`}}return{ok:!0}}return await u(e),{ok:!0}}async function h(e){let t=o()?.assistantId===e,n;try{n=await i(e)}catch(e){return console.error(`removePairedAssistant.removeFromLockfile failed`,e),{ok:!1,error:`Failed to remove assistant.`}}if(!n.ok)return{ok:!1,error:n.error??`Failed to remove assistant.`};let r=l.getState();return r.activeAssistantId===e&&r.setActiveAssistantId(null),{ok:!0,nextRoute:t?`${f.selectAssistant}?noAutoSkip=1`:null}}var g=e();function _({open:e,kind:n,assistantName:r,errorMessage:i,isPending:a,onConfirm:o,onCancel:s}){return(0,g.jsx)(t,{open:e,title:`Remove from this device?`,message:(0,g.jsxs)(g.Fragment,{children:[n===`paired`?(0,g.jsxs)(g.Fragment,{children:[`This won’t affect `,r,` on its host machine. It only forgets the pairing on this device. Pair again anytime with vellum connect import.`]}):n===`origin`?(0,g.jsxs)(g.Fragment,{children:[`This won’t affect `,r,` or sign you out there. It only forgets the entry on this device. Add it again anytime.`]}):(0,g.jsxs)(g.Fragment,{children:[`This won’t delete `,r,`. It only removes it from this device. Logging in will make it available again.`]}),i&&(0,g.jsx)(`span`,{className:`mt-2 block text-[var(--system-negative-strong)]`,children:i})]}),confirmLabel:`Remove`,destructive:!0,isPending:a,onConfirm:o,onCancel:s})}export{p as i,h as n,m as r,_ as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./confirm-dialog-DNaRfy4W.js";import{n,t as r}from"./create-selectors-C7uuHryP.js";import{D as i,S as a,f as o,s,v as c}from"./local-mode-DP-5m-kS.js";import{n as l}from"./resolved-assistants-store-BuqctGKE.js";import{Z as u,n as d}from"./auth-store-B9pHhreb.js";import{d as f}from"./routes-C293MsBG.js";var p=r(n()(e=>({open:!1,initialBundle:null,guidanceMessage:null,deepLinkDrainSettled:!1,openConnectDialog:t=>e({open:!0,initialBundle:t?.initialBundle??null,guidanceMessage:t?.guidanceMessage??null}),closeConnectDialog:()=>e({open:!1,initialBundle:null,guidanceMessage:null}),markDeepLinkDrainSettled:()=>e({deepLinkDrainSettled:!0})})));async function m(e){let t=s(e);if(t||=(await a(),s(e)),t&&c(t)){try{await d.getState().connectPairedAssistant(e)}catch(e){return console.error(`switchToAssistant.connectPairedAssistant failed`,e),{ok:!1,error:`Failed to connect to the assistant.`}}return{ok:!0}}return await u(e),{ok:!0}}async function h(e){let t=o()?.assistantId===e,n;try{n=await i(e)}catch(e){return console.error(`removePairedAssistant.removeFromLockfile failed`,e),{ok:!1,error:`Failed to remove assistant.`}}if(!n.ok)return{ok:!1,error:n.error??`Failed to remove assistant.`};let r=l.getState();return r.activeAssistantId===e&&r.setActiveAssistantId(null),{ok:!0,nextRoute:t?`${f.selectAssistant}?noAutoSkip=1`:null}}var g=e();function _({open:e,kind:n,assistantName:r,errorMessage:i,isPending:a,onConfirm:o,onCancel:s}){return(0,g.jsx)(t,{open:e,title:`Remove from this device?`,message:(0,g.jsxs)(g.Fragment,{children:[n===`paired`?(0,g.jsxs)(g.Fragment,{children:[`This won’t affect `,r,` on its host machine. It only forgets the pairing on this device. Pair again anytime with vellum connect import.`]}):n===`origin`?(0,g.jsxs)(g.Fragment,{children:[`This won’t affect `,r,` or sign you out there. It only forgets the entry on this device. Add it again anytime.`]}):(0,g.jsxs)(g.Fragment,{children:[`This won’t delete `,r,`. It only removes it from this device. Logging in will make it available again.`]}),i&&(0,g.jsx)(`span`,{className:`mt-2 block text-[var(--system-negative-strong)]`,children:i})]}),confirmLabel:`Remove`,destructive:!0,isPending:a,onConfirm:o,onCancel:s})}export{p as i,h as n,m as r,_ as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import"./button-DSjqKLvM.js";import{d as n,n as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{d as a}from"./routes-C293MsBG.js";import"./conversation-store-BnS0mmz7.js";import"./conversation-selection-Da6kgY3F.js";import"./research-results-view-DDjp2hBc.js";var o=e(t(),1),s=i(),c=[{claim:`Software engineer based in Austin, TX`,confidence:`confident`,sources:[`https://github.com/example-dev`]},{claim:`Product engineer at an early-stage AI startup`,confidence:`confident`,sources:[`https://example.com/team`]},{claim:`Maintains an open-source CLI tool for local LLM evaluation and tooling`,confidence:`confident`,sources:[`https://github.com/example-dev`,`https://example.com/project`]},{claim:`Primarily writes TypeScript and Go`,confidence:`confident`,sources:[`https://github.com/example-dev`]},{claim:`Came up through a coding bootcamp rather than a CS degree`,confidence:`maybe`,sources:[]}];function l(){n();let[e,t]=(0,o.useState)(`results`),[i,l]=(0,o.useState)(()=>new Map);return c.map((e,t)=>({fact:e,index:t})),(0,s.jsx)(r,{to:a.assistant,replace:!0})}export{l as ResearchMockPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import"./button-DSjqKLvM.js";import{d as n,n as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{d as a}from"./routes-C293MsBG.js";import"./conversation-store-BnS0mmz7.js";import"./conversation-selection-Da6kgY3F.js";import"./research-results-view-7psD5IrG.js";var o=e(t(),1),s=i(),c=[{claim:`Software engineer based in Austin, TX`,confidence:`confident`,sources:[`https://github.com/example-dev`]},{claim:`Product engineer at an early-stage AI startup`,confidence:`confident`,sources:[`https://example.com/team`]},{claim:`Maintains an open-source CLI tool for local LLM evaluation and tooling`,confidence:`confident`,sources:[`https://github.com/example-dev`,`https://example.com/project`]},{claim:`Primarily writes TypeScript and Go`,confidence:`confident`,sources:[`https://github.com/example-dev`]},{claim:`Came up through a coding bootcamp rather than a CS degree`,confidence:`maybe`,sources:[]}];function l(){n();let[e,t]=(0,o.useState)(`results`),[i,l]=(0,o.useState)(()=>new Map);return c.map((e,t)=>({fact:e,index:t})),(0,s.jsx)(r,{to:a.assistant,replace:!0})}export{l as ResearchMockPage};