@vellumai/web 0.11.2-staging.2 → 0.11.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 (159) hide show
  1. package/dist/assets/{Combination-CWTYp834.js → Combination-TPH8qx8I.js} +1 -1
  2. package/dist/assets/{access-CVnesk0m.js → access-PKx6h0AJ.js} +1 -1
  3. package/dist/assets/{account-page-mMG1nL1O.js → account-page-DucijMvM.js} +1 -1
  4. package/dist/assets/{account-shell-BmH96-Ie.js → account-shell-BBDh-DzD.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-SN6NIuW5.js → acp-run-detail-panel-DJ6moBbf.js} +1 -1
  6. package/dist/assets/{activity-steps-panel-bduSS8_d.js → activity-steps-panel-C95hN_fd.js} +1 -1
  7. package/dist/assets/{add-credential-modal-4zzd0MPK.js → add-credential-modal-BbvTHJmF.js} +1 -1
  8. package/dist/assets/{add-credits-modal-DNYP2NMD.js → add-credits-modal-C5d63VSi.js} +1 -1
  9. package/dist/assets/{ai-page-BMqECtJX.js → ai-page-CbNTYziv.js} +1 -1
  10. package/dist/assets/{api-key-screen-tqtaQUVf.js → api-key-screen-B5zgGiwa.js} +1 -1
  11. package/dist/assets/{app-card-BJigGog3.js → app-card-CxO44OqN.js} +1 -1
  12. package/dist/assets/{assistant-feature-flag-store-BvLDPeej.js → assistant-feature-flag-store-BojuHxUH.js} +1 -1
  13. package/dist/assets/{assistant-status-panel-DyjhJvK6.js → assistant-status-panel-ZdWgKADH.js} +1 -1
  14. package/dist/assets/{background-task-detail-panel-DCtBOnvF.js → background-task-detail-panel-BvgkgKs6.js} +1 -1
  15. package/dist/assets/{billing-page-TF_LgX6K.js → billing-page-CSxWbmCW.js} +2 -2
  16. package/dist/assets/{bookmarks-page-Brvj5Jf6.js → bookmarks-page-hFDlAWts.js} +1 -1
  17. package/dist/assets/{button-Dy5001j6.js → button-BwFudwM5.js} +1 -1
  18. package/dist/assets/{channels-page-route-8vJJE2LN.js → channels-page-route-Cxn_zS-J.js} +1 -1
  19. package/dist/assets/{chat-markdown-message-B7qvlO44.js → chat-markdown-message-BZZsrGyj.js} +1 -1
  20. package/dist/assets/{checkbox-PU47Djxg.js → checkbox-fzrjTRTI.js} +1 -1
  21. package/dist/assets/{checkout-page-MpIPAAgf.js → checkout-page-lDrK4V11.js} +1 -1
  22. package/dist/assets/{command-palette-Bd1GTwZQ.js → command-palette-Bzsl-t3p.js} +1 -1
  23. package/dist/assets/{command-palette-window-page-CoweYsZl.js → command-palette-window-page-DjfAe-7N.js} +1 -1
  24. package/dist/assets/{community-page-BWMwSeEZ.js → community-page-CktLEQl7.js} +1 -1
  25. package/dist/assets/{confirm-dialog-j9o2h3xs.js → confirm-dialog-B7WBNDbT.js} +1 -1
  26. package/dist/assets/{connect-page-BxSNhZ8N.js → connect-page-hrIJuX_v.js} +1 -1
  27. package/dist/assets/{consent-controls-Bs63UL5k.js → consent-controls-HYcVhQZ2.js} +1 -1
  28. package/dist/assets/{contacts-page-route-BOpVOsYK.js → contacts-page-route-CX57wU3L.js} +1 -1
  29. package/dist/assets/{conversation-navigation-Bf3cDRKh.js → conversation-navigation-CIHBMx2t.js} +1 -1
  30. package/dist/assets/{copy-to-clipboard-DgY-nZpm.js → copy-to-clipboard-Y0mxY68V.js} +1 -1
  31. package/dist/assets/{credential-entry-page-CreYYbwf.js → credential-entry-page-DQOv-Jyx.js} +1 -1
  32. package/dist/assets/credentials-page-C0eeGia5.js +1 -0
  33. package/dist/assets/{csv-preview-cEf_PW-P.js → csv-preview-C4T5JLx3.js} +1 -1
  34. package/dist/assets/{debug-page-DfPZPo6D.js → debug-page-DzXHo3zM.js} +2 -2
  35. package/dist/assets/{deploy-dialogs-CuaO05wL.js → deploy-dialogs-DQGwptOi.js} +1 -1
  36. package/dist/assets/{deploy-store-BDIOP-i9.js → deploy-store-BJh0AR_u.js} +1 -1
  37. package/dist/assets/{detail-card-BElAV1cp.js → detail-card-Br_T-73R.js} +1 -1
  38. package/dist/assets/{detail-drawer-Cd_EQJkJ.js → detail-drawer-Cbj_q7o7.js} +1 -1
  39. package/dist/assets/{detail-panel-stop-button-Bhew_kym.js → detail-panel-stop-button-DN2NrxEh.js} +1 -1
  40. package/dist/assets/{detail-shell-BjqibXNX.js → detail-shell-BuJMM-9z.js} +1 -1
  41. package/dist/assets/{developer-page-DwBmhm09.js → developer-page-Cj9JWAsX.js} +1 -1
  42. package/dist/assets/{dist-EanpjdWC.js → dist-B5IUaBWa.js} +1 -1
  43. package/dist/assets/{dist-C68qFSny.js → dist-BrrL0-_M.js} +1 -1
  44. package/dist/assets/dist-DWcXIgDR.js +1 -0
  45. package/dist/assets/{document-viewer-container-iB63ww7P.js → document-viewer-container-CPc9KTln.js} +2 -2
  46. package/dist/assets/{document-viewer-page-CA1ParJ6.js → document-viewer-page-BqJvQQmH.js} +1 -1
  47. package/dist/assets/{dropdown-B3FHWc_n.js → dropdown-CJVkL1Yp.js} +1 -1
  48. package/dist/assets/{emails-page-Bo0Bwem2.js → emails-page-DwQ-FnOD.js} +1 -1
  49. package/dist/assets/{file-editor-BfJR0ScX.js → file-editor-BigdI9HF.js} +1 -1
  50. package/dist/assets/{file-markdown-DnVLY_b_.js → file-markdown-eU8RUJQZ.js} +1 -1
  51. package/dist/assets/{first-run-scope-CPJpXaWU.js → first-run-scope-DqdWmMO-.js} +1 -1
  52. package/dist/assets/{general-page-BXeIQDGi.js → general-page-uFG7UTqR.js} +1 -1
  53. package/dist/assets/hatching-screen-CWZvcZVI.js +1 -0
  54. package/dist/assets/{home-page-route-BPht0PNp.js → home-page-route-zQaUf7gb.js} +1 -1
  55. package/dist/assets/{hosting-screen-DxtyBx0I.js → hosting-screen-lGuLVQVG.js} +1 -1
  56. package/dist/assets/{identity-page-route-DgmrXhhV.js → identity-page-route-C64OsL5_.js} +1 -1
  57. package/dist/assets/index-Cn_k9u0x.css +2 -0
  58. package/dist/assets/{index-CPeIfypI.js → index-D-1mlWsA.js} +1 -1
  59. package/dist/assets/{input-tXUFa7Eo.js → input-CgGeKtja.js} +1 -1
  60. package/dist/assets/{inspect-page-C8aLJOd6.js → inspect-page-DdXP831Q.js} +1 -1
  61. package/dist/assets/integrations-page-DmQCd8GV.js +1 -0
  62. package/dist/assets/{intelligence-layout-BRC0qkZ7.js → intelligence-layout-IptAIgHy.js} +1 -1
  63. package/dist/assets/{library-detail-page-gC4yIWnV.js → library-detail-page-Ddel5wXb.js} +1 -1
  64. package/dist/assets/{library-page-B10gnbXU.js → library-page-B4k0PNa8.js} +1 -1
  65. package/dist/assets/{login-page-CbWRbJDE.js → login-page-CRIed3qa.js} +1 -1
  66. package/dist/assets/{logout-page-DCyzi0V6.js → logout-page-Ne05SAbm.js} +1 -1
  67. package/dist/assets/{logs-layout-CYkqau4S.js → logs-layout-BN5HA58-.js} +1 -1
  68. package/dist/assets/{memory-page-route-j_3602nh.js → memory-page-route-Mz8GlpcX.js} +1 -1
  69. package/dist/assets/{memory-router-playground-page-x5X662qi.js → memory-router-playground-page-CeIkpuOW.js} +1 -1
  70. package/dist/assets/{menu-wESJw6y3.js → menu-Cfi4A3sw.js} +1 -1
  71. package/dist/assets/{message-files-panel-C8JokH6e.js → message-files-panel-C8sWLQ58.js} +1 -1
  72. package/dist/assets/{messages-Dyp1xUqz.js → messages-BTSYvzWZ.js} +1 -1
  73. package/dist/assets/{metric-card-DpZFp8-q.js → metric-card-CczTqF_s.js} +1 -1
  74. package/dist/assets/{mobile-sidebar-drawer-BwCIAm23.js → mobile-sidebar-drawer-CSAugzxJ.js} +1 -1
  75. package/dist/assets/{modal-xr_vw1ZO.js → modal-DagTZ8xj.js} +1 -1
  76. package/dist/assets/mutation-error-Cp0Jaqnt.js +1 -0
  77. package/dist/assets/{not-found-Bh7ZsdAo.js → not-found-C1zvwDkh.js} +1 -1
  78. package/dist/assets/{notifications-page-BA2BW5y6.js → notifications-page-BzoWNM1e.js} +1 -1
  79. package/dist/assets/{onboarding-layout-iPzXbZk1.js → onboarding-layout-CNKJRWfe.js} +1 -1
  80. package/dist/assets/{open-workspace-file-CivxJWcw.js → open-workspace-file-DAlt8chN.js} +2 -2
  81. package/dist/assets/{page-shell-ZNQR4ZTn.js → page-shell-Dx-efyAO.js} +1 -1
  82. package/dist/assets/pairing-page-BqjYohpZ.js +1 -0
  83. package/dist/assets/{panel-item-CJh95P_q.js → panel-item-5YQ3jbso.js} +1 -1
  84. package/dist/assets/{personality-page-Bz_rNBSs.js → personality-page-CB98MeIQ.js} +1 -1
  85. package/dist/assets/{plans-page-BfyCgy38.js → plans-page-BcR_kjJL.js} +1 -1
  86. package/dist/assets/{platform-login-notice-DFmjUE9q.js → platform-login-notice-DvWjpI2S.js} +1 -1
  87. package/dist/assets/popover-CBYgK7Wt.js +1 -0
  88. package/dist/assets/{preview-error-BrLE2D3A.js → preview-error-DzUxX6Jy.js} +1 -1
  89. package/dist/assets/{privacy-page-BhEGh78C.js → privacy-page-B9zfD9a-.js} +1 -1
  90. package/dist/assets/{privacy-screen-CWVCI_KU.js → privacy-screen-Btqk8OjG.js} +1 -1
  91. package/dist/assets/{provider-callback-page-DP5cKqPE.js → provider-callback-page-Jul4gNdZ.js} +1 -1
  92. package/dist/assets/provider-key-BZOwvE14.js +1 -0
  93. package/dist/assets/{provider-signup-page-BjiiJWS_.js → provider-signup-page-C47ij2Um.js} +1 -1
  94. package/dist/assets/{research-mock-page-CGkqkXHp.js → research-mock-page-DthnGXhi.js} +1 -1
  95. package/dist/assets/{research-onboarding-route-DZF-B2Rk.js → research-onboarding-route-Cql_2-1F.js} +1 -1
  96. package/dist/assets/{research-results-view-BFZFPpev.js → research-results-view-BYpW36E0.js} +1 -1
  97. package/dist/assets/{retire-confirm-dialog-8xlq4bkx.js → retire-confirm-dialog-PvFzzHrQ.js} +1 -1
  98. package/dist/assets/{review-terms-screen-C5BAI3Rx.js → review-terms-screen-BpE_z8HY.js} +1 -1
  99. package/dist/assets/routes-DRAnvlxS.js +23 -0
  100. package/dist/assets/{runtime-upgrade-banner-DjFuJawk.js → runtime-upgrade-banner-Blp8EyfL.js} +1 -1
  101. package/dist/assets/{schedules-page-3ZE1nR6I.js → schedules-page-D6KPJIUP.js} +1 -1
  102. package/dist/assets/{select-assistant-screen-D4WHHv61.js → select-assistant-screen-DH6QRKdk.js} +1 -1
  103. package/dist/assets/{settings-divider-BkLQFMlW.js → settings-divider-COV4-sHz.js} +1 -1
  104. package/dist/assets/{settings-layout-BmOglXDq.js → settings-layout-CyMD8Ey7.js} +1 -1
  105. package/dist/assets/{share-feedback-modal-Rwuho_1S.js → share-feedback-modal-NfuDPoEg.js} +1 -1
  106. package/dist/assets/{sidebar-tree-Dxx5qLMQ.js → sidebar-tree-DTcPYrOG.js} +1 -1
  107. package/dist/assets/{site-favicon-CDH0mg6Q.js → site-favicon-DkjZF9mC.js} +1 -1
  108. package/dist/assets/{skill-detail-page-DswXTTyb.js → skill-detail-page-CzCcXCkp.js} +1 -1
  109. package/dist/assets/{skill-detail-panel-DhQFBAFF.js → skill-detail-panel-B1Kxa3zf.js} +1 -1
  110. package/dist/assets/{skills-CbF2uKXV.js → skills-CrZ3GlyK.js} +1 -1
  111. package/dist/assets/{slack-setup-wizard-DPzdheN0.js → slack-setup-wizard-CeBY_rKV.js} +1 -1
  112. package/dist/assets/src-CwGlaCIx.js +293 -0
  113. package/dist/assets/{start-screen-CSxaBn88.js → start-screen-wyemTUjV.js} +1 -1
  114. package/dist/assets/{subagent-detail-panel-CidisBCf.js → subagent-detail-panel-C3II8umu.js} +1 -1
  115. package/dist/assets/{superpowers-page-BouZK3P4.js → superpowers-page-DmIZ_ed4.js} +1 -1
  116. package/dist/assets/{system-events-page-BrvTNeiN.js → system-events-page-DAbap4FJ.js} +1 -1
  117. package/dist/assets/{tag-gOOX7fbA.js → tag-G0ELn_cq.js} +1 -1
  118. package/dist/assets/{text-preview-DwgKh8PW.js → text-preview-DLiOtb-y.js} +1 -1
  119. package/dist/assets/{theme-stage-page-LIhQbqRQ.js → theme-stage-page-Dt0ShS5G.js} +1 -1
  120. package/dist/assets/{tiptap-document-editor-BvGaiGeN.js → tiptap-document-editor-LwU6S_hn.js} +2 -2
  121. package/dist/assets/{toast-BtFgiPe3.js → toast-BHjG1kP8.js} +1 -1
  122. package/dist/assets/{tool-detail-panel-B2CIRZkB.js → tool-detail-panel-tFQRRPbP.js} +1 -1
  123. package/dist/assets/{transcript-message-body-shared-BfKwS5qD.js → transcript-message-body-shared-DdXeU1D-.js} +1 -1
  124. package/dist/assets/{upgrade-cancel-page-DjeqfvTa.js → upgrade-cancel-page-isK2Rvv6.js} +1 -1
  125. package/dist/assets/{upgrade-success-page-B4TCn340.js → upgrade-success-page-B7ZaoDsy.js} +1 -1
  126. package/dist/assets/{use-assistant-identity-details-D-7oN9gr.js → use-assistant-identity-details-BLHiMTpS.js} +1 -1
  127. package/dist/assets/{use-attachment-preview-CQjpDfsc.js → use-attachment-preview-TAzqhvwh.js} +1 -1
  128. package/dist/assets/{use-attachment-squares-8Hx-p8ls.js → use-attachment-squares-Cnn6a6er.js} +1 -1
  129. package/dist/assets/{use-bookmarks-DO9wmU-2.js → use-bookmarks-BKYsQrf9.js} +1 -1
  130. package/dist/assets/{use-checkout-dismiss-refresh-CV_H4uEB.js → use-checkout-dismiss-refresh-ChquCG4n.js} +1 -1
  131. package/dist/assets/{use-edit-app-Bd1eXXFq.js → use-edit-app-LCywIVb9.js} +1 -1
  132. package/dist/assets/{use-invite-link-dialog-TNGI1l4g.js → use-invite-link-dialog-CnOeFYBH.js} +1 -1
  133. package/dist/assets/{use-ios-app-nudge-CadXZRJC.js → use-ios-app-nudge-9Qqz96FD.js} +1 -1
  134. package/dist/assets/{use-skill-actions-B_tz3CI7.js → use-skill-actions-Ik0rj4or.js} +1 -1
  135. package/dist/assets/{use-sticky-profiles-D5TVHOgw.js → use-sticky-profiles-BwaZUy6p.js} +1 -1
  136. package/dist/assets/{use-subagent-card-data-bjGydvhR.js → use-subagent-card-data-1nEhEj8_.js} +1 -1
  137. package/dist/assets/{use-transcript-message-by-id-BgyP3Ki5.js → use-transcript-message-by-id-RhDDYgbY.js} +1 -1
  138. package/dist/assets/{use-transcript-messages-C2uwkjKL.js → use-transcript-messages-C5t358ZW.js} +1 -1
  139. package/dist/assets/{utils-3IBGVjNS.js → utils-B6xfBCpN.js} +1 -1
  140. package/dist/assets/{viewer-store-DbIS4l8d.js → viewer-store-DxLOGAkL.js} +1 -1
  141. package/dist/assets/{voice-list-D26Lzbpv.js → voice-list-DP4_zhJe.js} +1 -1
  142. package/dist/assets/{voice-page-CQ2Vp8p4.js → voice-page-Bn0QH4eT.js} +1 -1
  143. package/dist/assets/{voice-providers-note-Ck7hNTfp.js → voice-providers-note-F4pLO3zK.js} +1 -1
  144. package/dist/assets/{welcome-screen-CdsjDVfi.js → welcome-screen-B6BjQt9n.js} +1 -1
  145. package/dist/assets/{workflow-detail-panel-CsRhUrbM.js → workflow-detail-panel-H3N7Md_X.js} +1 -1
  146. package/dist/assets/{workspace-page-CFuSxp5s.js → workspace-page-B4sn6pzo.js} +1 -1
  147. package/dist/index.html +55 -55
  148. package/package.json +1 -1
  149. package/dist/assets/credentials-page-DBLT8nUI.js +0 -1
  150. package/dist/assets/dist-BDdp8zqz.js +0 -1
  151. package/dist/assets/hatching-screen-BUpSlvBy.js +0 -1
  152. package/dist/assets/index-C7_04HXM.css +0 -2
  153. package/dist/assets/integrations-page-Bp2Q81Qt.js +0 -1
  154. package/dist/assets/mutation-error-YLfUU5XL.js +0 -1
  155. package/dist/assets/pairing-page-P5ghxF0M.js +0 -1
  156. package/dist/assets/popover-B-3isZCV.js +0 -1
  157. package/dist/assets/provider-key-CgC-RLmR.js +0 -1
  158. package/dist/assets/routes-uGHUgv4F.js +0 -23
  159. package/dist/assets/src-Da9g8qsW.js +0 -293
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/routes-uGHUgv4F.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/api-pN-AgY8Q.js","assets/local-mode-DHueA-BJ.js","assets/is-electron-DIlIrdJX.js","assets/create-selectors-BfxF8Sx_.js","assets/react-BFJW0bSv.js","assets/local-settings-Bx7FsNo5.js","assets/api-CGsj1Pig.js","assets/sdk.gen-ies09CqM.js","assets/client.gen-Dq2brHDV.js","assets/sdk.gen-CjtCuSlS.js","assets/api-errors-BRGPPSWw.js","assets/use-assistant-avatar-Bjqx8JUy.js","assets/utils-DtVy-_pB.js","assets/assistant-identity-store-B51BX78j.js","assets/semver-Bfq1LtyW.js","assets/QueryClientProvider-CMu7CkQU.js","assets/jsx-runtime-D3ZM-ToX.js","assets/useQuery-Bz-fbQ-m.js","assets/use-ios-app-nudge-CadXZRJC.js","assets/funnel-events-B9hFLlxs.js","assets/prefs-CfRaGUUx.js","assets/onboarding-store-BiTZenvP.js","assets/device-settings-CUIsZfaf.js","assets/consent-logPJwKV.js","assets/ingest-BzFSv_f8.js","assets/client-identity-BZBfwdGQ.js","assets/platform-detection-AHYibqOx.js","assets/native-biometric-DetUqtjl.js","assets/native-deep-link-jXO4XsVj.js","assets/domains-Cwi5sL0m.js","assets/routes-DrfnNoYS.js","assets/dist-an0Z446E.js","assets/use-bus-subscription-DiCq1_ki.js","assets/event-bus-CbDg1VDt.js","assets/client-feature-flag-store-Cw39NfCq.js","assets/feature-flag-catalog-CpyCubJW.js","assets/theme-preferences-B2X7Xgir.js","assets/typed-storage-OO7emDaU.js","assets/button-Dy5001j6.js","assets/cn-CJf7MmLX.js","assets/bundle-mjs-BQxDdOEo.js","assets/checkbox-PU47Djxg.js","assets/createLucideIcon-CAM1RhH8.js","assets/check-Dt2rQhdg.js","assets/typography-DEI9Ra9z.js","assets/src-Da9g8qsW.js","assets/dist-C68qFSny.js","assets/dist-EanpjdWC.js","assets/menu-wESJw6y3.js","assets/Combination-CWTYp834.js","assets/chevron-right-CANAtgGn.js","assets/popover-B-3isZCV.js","assets/toast-BtFgiPe3.js","assets/circle-alert-DQMH8VJH.js","assets/circle-check-DvrCdroD.js","assets/info-DkhVkzmK.js","assets/x-D4O9yIS7.js","assets/panel-item-CJh95P_q.js","assets/dist-BDdp8zqz.js","assets/card-DRIctGVs.js","assets/confirm-dialog-j9o2h3xs.js","assets/loader-circle-DWWXcfTQ.js","assets/triangle-alert-D6bAGtMw.js","assets/modal-xr_vw1ZO.js","assets/dropdown-B3FHWc_n.js","assets/chevron-down-BNidRDh1.js","assets/input-tXUFa7Eo.js","assets/notice-Dslxs3H6.js","assets/progress-bar-3GUUAhXi.js","assets/tag-gOOX7fbA.js","assets/toggle-BEPV0rQM.js","assets/src-CfUWwwYf.css","assets/use-sticky-profiles-D5TVHOgw.js","assets/voice-list-D26Lzbpv.js","assets/react-query.gen-C7om930f.js","assets/useMutation-CXGTrp4W.js","assets/infiniteQueryOptions-CqLc14_4.js","assets/queryOptions-CMSBCFOf.js","assets/use-is-org-ready-3vHDbj4G.js","assets/auth-store-C9aYqB9U.js","assets/remote-gateway-session-C8pRadB2.js","assets/capture-error-CqtAGHQu.js","assets/resolved-assistants-store-C6oDdTxB.js","assets/square-DTFrgbZb.js","assets/volume-2-BXDl4IEg.js","assets/use-platform-gate-C5bNA5Pn.js","assets/search-DL-2uX3K.js","assets/identity-BplXBnQ5.js","assets/runtime-upgrade-banner-DjFuJawk.js","assets/react-query.gen-BtYBixpk.js","assets/local-runtime-upgrade-CnY-6TiF.js","assets/diagnostics-DykDXmF3.js","assets/misc-BBsGq1IU.js","assets/cloud-off-BFACQbO0.js","assets/moon-CHW45huN.js","assets/refresh-cw-EZQqnaxp.js","assets/wrench-DhynFba1.js","assets/chunk-5KNZJZUH-Bsoom5--.js","assets/retire-confirm-dialog-8xlq4bkx.js","assets/navigation-resolver-CzEY-5nE.js","assets/research-onboarding-persistence-DwV372yy.js","assets/build-state-9uUe0jN5.js","assets/use-command-palette-sections-BshFMe0w.js","assets/chat-Dy2BC2i1.js","assets/haptics-C4p_Rjba.js","assets/calendar-qrPKlf1H.js","assets/globe-CdLn4IX7.js","assets/layout-grid-Ct4RT2Ea.js","assets/message-square-CHUvAEY9.js","assets/monitor-RX4oi4Nj.js","assets/settings-6_RIT4kT.js","assets/add-credential-modal-4zzd0MPK.js","assets/use-active-assistant-id-JLsAfn3e.js","assets/key-round-BFkuiQGH.js","assets/app-card-BJigGog3.js","assets/edge-swipe-arbiter-store-BwC23ScO.js","assets/viewer-store-DbIS4l8d.js","assets/workspace-path-links-vDBIljq_.js","assets/pointer-CQ4DXHXb.js","assets/sandbox-bridge-B5H4c27m.js","assets/external-link-GPGZ1LGU.js","assets/puzzle-4NgH5snP.js","assets/use-edit-app-Bd1eXXFq.js","assets/use-is-mobile-MmHo-OM6.js","assets/conversation-store-CTMy9QPV.js","assets/edit-chat-session-DVzLQLWl.js","assets/chevron-up-DofScvyy.js","assets/minimize-2-Dj9FY4aF.js","assets/pencil-Cm5DdeRM.js","assets/avatar-renderer-TpNgmnU1.js","assets/avatar-svg-compositor-axSwKFvf.js","assets/animated-avatar-B0vCEKkY.js","assets/use-reduced-motion-fR0m_opJ.js","assets/proxy-DrtKRLtr.js","assets/chat-avatar-B5fx9Xm3.js","assets/sound-manager-Bv6Sc7Ut.js","assets/detail-shell-BjqibXNX.js","assets/apple-logo-BOBq3-Sn.js","assets/use-discord-nudge-DED9TaIm.js","assets/middleware-Bxr-mmHu.js","assets/integration-icon-B1G4FQT2.js","assets/public-asset-OTnPMErp.js","assets/chat-layout-slots-store-DP8MgnXi.js","assets/document-viewer-container-iB63ww7P.js","assets/use-local-file-info-D2-ycwyJ.js","assets/circle-check-big-DtV6IJuh.js","assets/download-Cnb8zZrK.js","assets/file-text-CwGsMgaa.js","assets/message-square-text-CN_v46So.js","assets/send-Bdmy_GSE.js","assets/trash-2-DfVRfykB.js","assets/user-DHC7OLPE.js","assets/not-found-Bh7ZsdAo.js","assets/arrow-left-W84B6oJL.js","assets/sparkles-DfEFn3Bh.js","assets/platform-login-notice-DFmjUE9q.js","assets/use-onboarding-login-CiQyxJLM.js","assets/login-flow-CQhvCbQQ.js","assets/log-in-D4nsqRbG.js","assets/slack-setup-wizard-DPzdheN0.js","assets/use-copy-to-clipboard-RUBxQIiE.js","assets/clipboard-copy-BYpgEh2O.js","assets/voice-providers-note-Ck7hNTfp.js","assets/use-save-twilio-credentials-yqA7lnzq.js","assets/sdk.gen-BpJ1vF7l.js","assets/mail-DyUf40pu.js","assets/message-circle-ByXBaIaq.js","assets/acp-run-store-DdzY8U9Y.js","assets/by-tool-use-id-index-CUFuQqHz.js","assets/optimistic-lifecycle-GoMZsAsc.js","assets/messages-Dyp1xUqz.js","assets/prechat-C4MZwKWX.js","assets/effective-timezone-BX46fWmk.js","assets/browser-timezone-Br-HawKV.js","assets/background-task-store-DpOSZFT8.js","assets/use-transcript-messages-C2uwkjKL.js","assets/use-attachment-preview-CQjpDfsc.js","assets/file-markdown-DnVLY_b_.js","assets/pdf-preview-pscVmtvX.js","assets/chevron-left-CrxnPze-.js","assets/file-DOePafLU.js","assets/acp-run-actions-zSUs8U3N.js","assets/code-D6SOwRrI.js","assets/background-task-actions-DmocXKSr.js","assets/message-content-B6_GZQl9.js","assets/transcript-message-body-shared-BfKwS5qD.js","assets/site-favicon-CDH0mg6Q.js","assets/three-dot-indicator-CeTxs9-J.js","assets/AnimatePresence-CHo6D7IH.js","assets/brain-CN4zzNgU.js","assets/user-plus-DjxxnQ8G.js","assets/subagent-store-DibRR9Ij.js","assets/copy-to-clipboard-DgY-nZpm.js","assets/circle-x-DTjJzoQl.js","assets/file-plus-DjC7wnGp.js","assets/terminal-BucMVaPU.js","assets/use-attachment-squares-8Hx-p8ls.js","assets/archive-BQ3zdIPv.js","assets/chat-markdown-message-B7qvlO44.js","assets/workspace-tree-query-Dfkrp_rV.js","assets/native-file-B71h3csB.js","assets/browser-CcdNg0HN.js","assets/native-anchor-D1Sy2PbD.js","assets/ellipsis-C5fQnusC.js","assets/eye-off-DQ4xakzN.js","assets/eye-B_jBDDRn.js","assets/preview-skeleton-Biw3dosM.js","assets/surface-parse-helpers-iPHZ9D7N.js","assets/conversation-navigation-Bf3cDRKh.js","assets/workflow-store-zCcRcvi8.js","assets/workflow-status-D0bBEpGp.js","assets/conversation-selection-CJs3Fnse.js","assets/use-subagent-card-data-bjGydvhR.js","assets/access-CVnesk0m.js","assets/assistant-feature-flag-store-BvLDPeej.js","assets/research-results-view-BFZFPpev.js","assets/research-facts-BUfgocIh.js","assets/ban-BKp90l-0.js","assets/utils-3IBGVjNS.js","assets/format-date-CQUMvfqf.js","assets/bell-2SnK9BVD.js","assets/clock-DeynsyYL.js","assets/list-D2LnQ7lS.js","assets/rotate-ccw-CL6IkaAI.js","assets/shield-check-CNsbiH1v.js","assets/invalidate-memory-queries-DonPN3eH.js","assets/get-memory-stats-BnRGtUPT.js","assets/invalidate-plugin-queries-B0OpJSUW.js","assets/first-run-scope-CPJpXaWU.js","assets/oauth-connection-utils-BrGz4Zc5.js","assets/oauth-popup-DAMkjCsP.js","assets/onboarding-layout-iPzXbZk1.js","assets/settings-navigation-CyH-twYD.js","assets/hard-navigate-BYoBFmE4.js","assets/use-supports-bookmarks-DwTpI8uM.js","assets/bug-DdmWJIkz.js","assets/chart-column-k8S2UYq8.js","assets/sliders-horizontal-BwdOIxz8.js","assets/mic-BZZo0R22.js","assets/users-OcC3p9Jn.js","assets/workspace-theme-tokens-dJKcMIdP.js","assets/conversation-queries-BBj4FfQn.js","assets/conversation-list-fetchers-C6W8PkvR.js","assets/use-app-theme-yiZ38i4_.js","assets/use-assistant-capability-CnI3VItU.js","assets/use-avatar-accent-var-BafXGBXW.js","assets/avatar-bundled-components-BvKt7I7O.js","assets/use-bookmarks-DO9wmU-2.js","assets/use-edge-swipe-CRkrRNLg.js","assets/use-swipe-engine-Bkqjs1Zk.js","assets/plugins-surface-C_pFzsVo.js","assets/android-consumption-only-D3L1Nc41.js","assets/installed-plugins-query-3ACToZeY.js","assets/doctor-handoff-store-CvOwsVRo.js","assets/threshold-presets-B-RqvhUM.js","assets/shield-CAWgGAqm.js","assets/trust-rules-api-Dbyz25hE.js","assets/dictation-overlay-CnPWVnXc.js","assets/notifications-BTG4cTbF.js","assets/esm-Jw5qNk7q.js","assets/deploy-store-BDIOP-i9.js","assets/avatar-subagent-tkmKhEWI.js","assets/avatar-tone-D99t9DAP.js","assets/conversation-cache-D1AJdwZd.js","assets/external-urls-BL9qY0s8.js","assets/eye-bbox-CRs175_n.js","assets/use-bundled-avatar-components-BcyasJwu.js","assets/use-effective-timezone-BM5B7KHp.js","assets/useInfiniteQuery-Dk8q0n49.js","assets/arrow-down-to-line-DMGjBlMw.js","assets/arrow-right-ChqGeAaW.js","assets/arrow-up-CWzHzcyU.js","assets/upload-DsWG9TbD.js","assets/circle-minus-BBDKV6k6.js","assets/cloud-q4J30bVb.js","assets/coins-CcTuNVlN.js","assets/target-CJU4DUFo.js","assets/dices-C3diFTyP.js","assets/file-code-CrtJR2ax.js","assets/video-Dtwi0MD9.js","assets/folder-_l8GIyQp.js","assets/hard-drive-sI2ZzmqM.js","assets/heart-DFD4eqW-.js","assets/inbox-OC3STytq.js","assets/laptop-BGOychmC.js","assets/lightbulb-NdZMkb6Y.js","assets/link-DOobzBVg.js","assets/log-out-CF9mMMsz.js","assets/paperclip--f908Kg3.js","assets/play-Dh6Bw5AP.js","assets/plus-EJu6s6xR.js","assets/smartphone-CIrxb2NM.js","assets/sun-BauGiwdK.js","assets/workflow-Bsy5y3W0.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Cv2QeVDK.js";import{d as t}from"./routes-DrfnNoYS.js";async function n(n){let{router:r}=await e(async()=>{let{router:e}=await import(`./routes-uGHUgv4F.js`).then(e=>e.n);return{router:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]));await r.navigate(`${t.workspace}?file=${encodeURIComponent(n)}`)}export{n as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/routes-DRAnvlxS.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/api-pN-AgY8Q.js","assets/local-mode-DHueA-BJ.js","assets/is-electron-DIlIrdJX.js","assets/create-selectors-BfxF8Sx_.js","assets/react-BFJW0bSv.js","assets/local-settings-Bx7FsNo5.js","assets/api-CGsj1Pig.js","assets/sdk.gen-ies09CqM.js","assets/client.gen-Dq2brHDV.js","assets/sdk.gen-CjtCuSlS.js","assets/api-errors-BRGPPSWw.js","assets/use-assistant-avatar-Bjqx8JUy.js","assets/utils-DtVy-_pB.js","assets/assistant-identity-store-B51BX78j.js","assets/semver-Bfq1LtyW.js","assets/QueryClientProvider-CMu7CkQU.js","assets/jsx-runtime-D3ZM-ToX.js","assets/useQuery-Bz-fbQ-m.js","assets/use-ios-app-nudge-9Qqz96FD.js","assets/funnel-events-B9hFLlxs.js","assets/prefs-CfRaGUUx.js","assets/onboarding-store-BiTZenvP.js","assets/device-settings-CUIsZfaf.js","assets/consent-logPJwKV.js","assets/ingest-BzFSv_f8.js","assets/client-identity-BZBfwdGQ.js","assets/platform-detection-AHYibqOx.js","assets/native-biometric-DetUqtjl.js","assets/native-deep-link-jXO4XsVj.js","assets/domains-Cwi5sL0m.js","assets/routes-DrfnNoYS.js","assets/dist-an0Z446E.js","assets/use-bus-subscription-DiCq1_ki.js","assets/event-bus-CbDg1VDt.js","assets/client-feature-flag-store-Cw39NfCq.js","assets/feature-flag-catalog-CpyCubJW.js","assets/theme-preferences-B2X7Xgir.js","assets/typed-storage-OO7emDaU.js","assets/button-BwFudwM5.js","assets/cn-CJf7MmLX.js","assets/bundle-mjs-BQxDdOEo.js","assets/src-CwGlaCIx.js","assets/dist-BrrL0-_M.js","assets/dist-B5IUaBWa.js","assets/checkbox-fzrjTRTI.js","assets/createLucideIcon-CAM1RhH8.js","assets/check-Dt2rQhdg.js","assets/typography-DEI9Ra9z.js","assets/menu-Cfi4A3sw.js","assets/Combination-TPH8qx8I.js","assets/chevron-right-CANAtgGn.js","assets/popover-CBYgK7Wt.js","assets/chevron-down-BNidRDh1.js","assets/toast-BHjG1kP8.js","assets/circle-alert-DQMH8VJH.js","assets/circle-check-DvrCdroD.js","assets/info-DkhVkzmK.js","assets/x-D4O9yIS7.js","assets/panel-item-5YQ3jbso.js","assets/dist-DWcXIgDR.js","assets/card-DRIctGVs.js","assets/confirm-dialog-B7WBNDbT.js","assets/loader-circle-DWWXcfTQ.js","assets/triangle-alert-D6bAGtMw.js","assets/modal-DagTZ8xj.js","assets/dropdown-CJVkL1Yp.js","assets/input-CgGeKtja.js","assets/notice-Dslxs3H6.js","assets/progress-bar-3GUUAhXi.js","assets/tag-G0ELn_cq.js","assets/toggle-BEPV0rQM.js","assets/src-CfUWwwYf.css","assets/use-sticky-profiles-BwaZUy6p.js","assets/voice-list-DP4_zhJe.js","assets/react-query.gen-C7om930f.js","assets/useMutation-CXGTrp4W.js","assets/infiniteQueryOptions-CqLc14_4.js","assets/queryOptions-CMSBCFOf.js","assets/use-is-org-ready-3vHDbj4G.js","assets/auth-store-C9aYqB9U.js","assets/remote-gateway-session-C8pRadB2.js","assets/capture-error-CqtAGHQu.js","assets/resolved-assistants-store-C6oDdTxB.js","assets/square-DTFrgbZb.js","assets/volume-2-BXDl4IEg.js","assets/use-platform-gate-C5bNA5Pn.js","assets/search-DL-2uX3K.js","assets/identity-BplXBnQ5.js","assets/runtime-upgrade-banner-Blp8EyfL.js","assets/react-query.gen-BtYBixpk.js","assets/local-runtime-upgrade-CnY-6TiF.js","assets/diagnostics-DykDXmF3.js","assets/misc-BBsGq1IU.js","assets/cloud-off-BFACQbO0.js","assets/moon-CHW45huN.js","assets/refresh-cw-EZQqnaxp.js","assets/wrench-DhynFba1.js","assets/chunk-5KNZJZUH-Bsoom5--.js","assets/retire-confirm-dialog-PvFzzHrQ.js","assets/navigation-resolver-CzEY-5nE.js","assets/research-onboarding-persistence-DwV372yy.js","assets/build-state-9uUe0jN5.js","assets/use-command-palette-sections-BshFMe0w.js","assets/chat-Dy2BC2i1.js","assets/haptics-C4p_Rjba.js","assets/calendar-qrPKlf1H.js","assets/globe-CdLn4IX7.js","assets/layout-grid-Ct4RT2Ea.js","assets/message-square-CHUvAEY9.js","assets/monitor-RX4oi4Nj.js","assets/settings-6_RIT4kT.js","assets/add-credential-modal-BbvTHJmF.js","assets/use-active-assistant-id-JLsAfn3e.js","assets/key-round-BFkuiQGH.js","assets/app-card-CxO44OqN.js","assets/edge-swipe-arbiter-store-BwC23ScO.js","assets/viewer-store-DxLOGAkL.js","assets/workspace-path-links-vDBIljq_.js","assets/pointer-CQ4DXHXb.js","assets/sandbox-bridge-B5H4c27m.js","assets/external-link-GPGZ1LGU.js","assets/puzzle-4NgH5snP.js","assets/use-edit-app-LCywIVb9.js","assets/use-is-mobile-MmHo-OM6.js","assets/conversation-store-CTMy9QPV.js","assets/edit-chat-session-DVzLQLWl.js","assets/chevron-up-DofScvyy.js","assets/minimize-2-Dj9FY4aF.js","assets/pencil-Cm5DdeRM.js","assets/avatar-renderer-TpNgmnU1.js","assets/avatar-svg-compositor-axSwKFvf.js","assets/animated-avatar-B0vCEKkY.js","assets/use-reduced-motion-fR0m_opJ.js","assets/proxy-DrtKRLtr.js","assets/chat-avatar-B5fx9Xm3.js","assets/sound-manager-Bv6Sc7Ut.js","assets/detail-shell-BuJMM-9z.js","assets/apple-logo-BOBq3-Sn.js","assets/use-discord-nudge-DED9TaIm.js","assets/middleware-Bxr-mmHu.js","assets/integration-icon-B1G4FQT2.js","assets/public-asset-OTnPMErp.js","assets/chat-layout-slots-store-DP8MgnXi.js","assets/document-viewer-container-CPc9KTln.js","assets/use-local-file-info-D2-ycwyJ.js","assets/circle-check-big-DtV6IJuh.js","assets/download-Cnb8zZrK.js","assets/file-text-CwGsMgaa.js","assets/message-square-text-CN_v46So.js","assets/send-Bdmy_GSE.js","assets/trash-2-DfVRfykB.js","assets/user-DHC7OLPE.js","assets/not-found-C1zvwDkh.js","assets/arrow-left-W84B6oJL.js","assets/sparkles-DfEFn3Bh.js","assets/platform-login-notice-DvWjpI2S.js","assets/use-onboarding-login-CiQyxJLM.js","assets/login-flow-CQhvCbQQ.js","assets/log-in-D4nsqRbG.js","assets/slack-setup-wizard-CeBY_rKV.js","assets/use-copy-to-clipboard-RUBxQIiE.js","assets/clipboard-copy-BYpgEh2O.js","assets/voice-providers-note-F4pLO3zK.js","assets/use-save-twilio-credentials-yqA7lnzq.js","assets/sdk.gen-BpJ1vF7l.js","assets/mail-DyUf40pu.js","assets/message-circle-ByXBaIaq.js","assets/acp-run-store-DdzY8U9Y.js","assets/by-tool-use-id-index-CUFuQqHz.js","assets/optimistic-lifecycle-GoMZsAsc.js","assets/messages-BTSYvzWZ.js","assets/prechat-C4MZwKWX.js","assets/effective-timezone-BX46fWmk.js","assets/browser-timezone-Br-HawKV.js","assets/background-task-store-DpOSZFT8.js","assets/use-transcript-messages-C5t358ZW.js","assets/use-attachment-preview-TAzqhvwh.js","assets/file-markdown-eU8RUJQZ.js","assets/pdf-preview-pscVmtvX.js","assets/chevron-left-CrxnPze-.js","assets/file-DOePafLU.js","assets/acp-run-actions-zSUs8U3N.js","assets/code-D6SOwRrI.js","assets/background-task-actions-DmocXKSr.js","assets/message-content-B6_GZQl9.js","assets/transcript-message-body-shared-DdXeU1D-.js","assets/site-favicon-DkjZF9mC.js","assets/three-dot-indicator-CeTxs9-J.js","assets/AnimatePresence-CHo6D7IH.js","assets/brain-CN4zzNgU.js","assets/user-plus-DjxxnQ8G.js","assets/subagent-store-DibRR9Ij.js","assets/copy-to-clipboard-Y0mxY68V.js","assets/circle-x-DTjJzoQl.js","assets/file-plus-DjC7wnGp.js","assets/terminal-BucMVaPU.js","assets/use-attachment-squares-Cnn6a6er.js","assets/archive-BQ3zdIPv.js","assets/chat-markdown-message-BZZsrGyj.js","assets/workspace-tree-query-Dfkrp_rV.js","assets/native-file-B71h3csB.js","assets/browser-CcdNg0HN.js","assets/native-anchor-D1Sy2PbD.js","assets/ellipsis-C5fQnusC.js","assets/eye-off-DQ4xakzN.js","assets/eye-B_jBDDRn.js","assets/preview-skeleton-Biw3dosM.js","assets/surface-parse-helpers-iPHZ9D7N.js","assets/conversation-navigation-CIHBMx2t.js","assets/workflow-store-zCcRcvi8.js","assets/workflow-status-D0bBEpGp.js","assets/conversation-selection-CJs3Fnse.js","assets/use-subagent-card-data-1nEhEj8_.js","assets/access-PKx6h0AJ.js","assets/assistant-feature-flag-store-BojuHxUH.js","assets/research-results-view-BYpW36E0.js","assets/research-facts-BUfgocIh.js","assets/ban-BKp90l-0.js","assets/utils-B6xfBCpN.js","assets/format-date-CQUMvfqf.js","assets/bell-2SnK9BVD.js","assets/clock-DeynsyYL.js","assets/list-D2LnQ7lS.js","assets/rotate-ccw-CL6IkaAI.js","assets/shield-check-CNsbiH1v.js","assets/invalidate-memory-queries-DonPN3eH.js","assets/get-memory-stats-BnRGtUPT.js","assets/invalidate-plugin-queries-B0OpJSUW.js","assets/first-run-scope-DqdWmMO-.js","assets/oauth-connection-utils-BrGz4Zc5.js","assets/oauth-popup-DAMkjCsP.js","assets/onboarding-layout-CNKJRWfe.js","assets/settings-navigation-CyH-twYD.js","assets/hard-navigate-BYoBFmE4.js","assets/use-supports-bookmarks-DwTpI8uM.js","assets/bug-DdmWJIkz.js","assets/chart-column-k8S2UYq8.js","assets/sliders-horizontal-BwdOIxz8.js","assets/mic-BZZo0R22.js","assets/users-OcC3p9Jn.js","assets/workspace-theme-tokens-dJKcMIdP.js","assets/conversation-queries-BBj4FfQn.js","assets/conversation-list-fetchers-C6W8PkvR.js","assets/use-app-theme-yiZ38i4_.js","assets/use-assistant-capability-CnI3VItU.js","assets/use-avatar-accent-var-BafXGBXW.js","assets/avatar-bundled-components-BvKt7I7O.js","assets/use-bookmarks-BKYsQrf9.js","assets/use-edge-swipe-CRkrRNLg.js","assets/use-swipe-engine-Bkqjs1Zk.js","assets/plugins-surface-C_pFzsVo.js","assets/android-consumption-only-D3L1Nc41.js","assets/installed-plugins-query-3ACToZeY.js","assets/doctor-handoff-store-CvOwsVRo.js","assets/threshold-presets-B-RqvhUM.js","assets/shield-CAWgGAqm.js","assets/trust-rules-api-Dbyz25hE.js","assets/dictation-overlay-CnPWVnXc.js","assets/notifications-BTG4cTbF.js","assets/esm-Jw5qNk7q.js","assets/deploy-store-BJh0AR_u.js","assets/avatar-subagent-tkmKhEWI.js","assets/avatar-tone-D99t9DAP.js","assets/conversation-cache-D1AJdwZd.js","assets/external-urls-BL9qY0s8.js","assets/eye-bbox-CRs175_n.js","assets/use-bundled-avatar-components-BcyasJwu.js","assets/use-effective-timezone-BM5B7KHp.js","assets/useInfiniteQuery-Dk8q0n49.js","assets/arrow-down-to-line-DMGjBlMw.js","assets/arrow-right-ChqGeAaW.js","assets/arrow-up-CWzHzcyU.js","assets/upload-DsWG9TbD.js","assets/circle-minus-BBDKV6k6.js","assets/cloud-q4J30bVb.js","assets/coins-CcTuNVlN.js","assets/target-CJU4DUFo.js","assets/dices-C3diFTyP.js","assets/file-code-CrtJR2ax.js","assets/video-Dtwi0MD9.js","assets/folder-_l8GIyQp.js","assets/hard-drive-sI2ZzmqM.js","assets/heart-DFD4eqW-.js","assets/inbox-OC3STytq.js","assets/laptop-BGOychmC.js","assets/lightbulb-NdZMkb6Y.js","assets/link-DOobzBVg.js","assets/log-out-CF9mMMsz.js","assets/paperclip--f908Kg3.js","assets/play-Dh6Bw5AP.js","assets/plus-EJu6s6xR.js","assets/smartphone-CIrxb2NM.js","assets/sun-BauGiwdK.js","assets/workflow-Bsy5y3W0.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Cv2QeVDK.js";import{d as t}from"./routes-DrfnNoYS.js";async function n(n){let{router:r}=await e(async()=>{let{router:e}=await import(`./routes-DRAnvlxS.js`).then(e=>e.n);return{router:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]));await r.navigate(`${t.workspace}?file=${encodeURIComponent(n)}`)}export{n as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./cn-CJf7MmLX.js";import"./src-Da9g8qsW.js";var n=e();function r({children:e,className:r,style:i}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 flex-1 flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-6 py-5`,r),style:i,children:e})}export{r as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./cn-CJf7MmLX.js";import"./src-CwGlaCIx.js";var n=e();function r({children:e,className:r,style:i}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 flex-1 flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-6 py-5`,r),style:i,children:e})}export{r as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{l as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./circle-alert-DQMH8VJH.js";import{t as s}from"./circle-check-DvrCdroD.js";import{t as c}from"./loader-circle-DWWXcfTQ.js";import{t as l}from"./smartphone-CIrxb2NM.js";import{h as u}from"./local-mode-DHueA-BJ.js";import{l as d,w as f}from"./native-biometric-DetUqtjl.js";import{a as p,c as m,i as h,n as g,r as _,t as v}from"./remote-gateway-session-C8pRadB2.js";import{d as y}from"./routes-DrfnNoYS.js";import{i as b,r as x}from"./platform-detection-AHYibqOx.js";import{t as S}from"./not-found-C1zvwDkh.js";var C=e(t(),1),w=a();function T(e){switch(e.kind){case`starting`:return{title:`Starting pairing`,body:`Creating a code for this browser.`};case`handoff_choice`:return{title:`Open in the Vellum app`,body:`Scanning from a phone with the Vellum app installed? Hand this pairing to the app.`};case`verifying`:return{title:`Pairing`,body:`Connecting this device to your assistant.`};case`approved`:return{title:`Connected`,body:`Opening your assistant.`};case`expired`:return{title:`Pairing expired`,body:`This pairing code is invalid or expired. Run vellum pair --qr (or vellum pair --web) on the machine running your assistant to get a new one.`};case`error`:return{title:`Pairing failed`,body:e.message};case`polling`:return{title:`Waiting for approval`,body:`Confirm this code on the machine running your assistant.`}}}function E({state:e}){return e.kind===`approved`?(0,w.jsx)(s,{className:`h-5 w-5 text-[var(--system-positive-strong)]`,"aria-hidden":!0}):e.kind===`handoff_choice`?(0,w.jsx)(l,{className:`h-5 w-5 text-[var(--system-info-strong)]`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`verifying`||e.kind===`polling`?(0,w.jsx)(c,{className:`h-5 w-5 animate-spin text-[var(--system-info-strong)]`,"aria-hidden":!0}):(0,w.jsx)(o,{className:`h-5 w-5 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}function D(){try{let e=new URL(window.location.href);for(let t of[`deviceCode`,`device_code`,`userCode`,`user_code`])e.searchParams.delete(t);e.hash=``,window.history.replaceState(null,``,`${e.pathname}${e.search}`)}catch{}}var O=`vellum-assistant`,k=`ai.vellum.assistant`;function A(e,t){let n=new URLSearchParams({url:m(),code:e});if(t===`ios`)return`${O}://connect?${n.toString()}`;let r=encodeURIComponent(window.location.href);return`intent://connect?${n.toString()}#Intent;scheme=${O};package=${k};S.browser_fallback_url=${r};end`}function j({deviceCode:e,platform:t,onContinueInBrowser:r}){return(0,w.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3`,children:[(0,w.jsx)(n,{variant:`primary`,fullWidth:!0,asChild:!0,children:(0,w.jsx)(`a`,{href:(0,C.useMemo)(()=>A(e,t),[e,t]),children:`Open in the Vellum app`})}),(0,w.jsx)(n,{variant:`outlined`,fullWidth:!0,onClick:r,children:`Continue in this browser`})]})}function M(){let e=r(),t=i(),n=u(),a=(0,C.useMemo)(()=>f(new URLSearchParams(e.search).get(`returnTo`),y.assistant),[e.search]),o=(0,C.useMemo)(()=>p(`${e.pathname}${e.search}${e.hash}`),[e.pathname,e.search,e.hash]),s=(0,C.useMemo)(()=>!o.deviceCode||d()?null:x()?`android`:b()?`ios`:null,[o.deviceCode]),[c,l]=(0,C.useState)(()=>o.deviceCode?{deviceCode:o.deviceCode,userCode:o.userCode}:null),[m,O]=(0,C.useState)(()=>!s),[k,A]=(0,C.useState)(()=>s?{kind:`handoff_choice`}:o.deviceCode?{kind:`verifying`}:{kind:`starting`});(0,C.useEffect)(()=>{if(!n||c)return;let e=new AbortController;return(async()=>{try{let t=await _(e.signal);l({deviceCode:t.deviceCode,userCode:t.userCode}),A({kind:`polling`,expiresAt:t.expiresAt})}catch{if(e.signal.aborted)return;A({kind:`error`,message:`The assistant could not start pairing. Refresh the page to try again.`})}})(),()=>{e.abort()}},[n,c]),(0,C.useEffect)(()=>{if(!n||!c?.deviceCode||!m)return;let e=new AbortController,r=null,i=async()=>{try{let n=await h(c.deviceCode,e.signal);if(n.status===`pending`){A({kind:`polling`,expiresAt:n.expiresAt||null}),r=setTimeout(()=>void i(),Math.max(1,n.intervalSeconds)*1e3);return}g(n),D(),A({kind:`approved`}),r=setTimeout(()=>t(a,{replace:!0}),250)}catch(t){if(e.signal.aborted)return;if(t instanceof v&&t.status===401){A({kind:`expired`});return}if(t instanceof v&&t.code===`GUARDIAN_REPAIR_REQUIRED`){A({kind:`error`,message:`The assistant's trust database needs repair. Run guardian repair on the machine hosting the assistant, then retry this same pairing link — the code stays valid.`});return}A({kind:`error`,message:`The assistant could not complete pairing. Try starting a new pairing.`})}};return i(),()=>{e.abort(),r&&clearTimeout(r)}},[n,c?.deviceCode,m,t,a]);let M=(0,C.useCallback)(()=>{O(!0),A({kind:`verifying`})},[]);if(!n)return(0,w.jsx)(S,{});let N=T(k);return(0,w.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--surface-base)] px-6 py-10 text-[var(--content-default)]`,children:(0,w.jsxs)(`section`,{className:`w-full max-w-md rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] p-8 shadow-[var(--shadow-sm)]`,children:[(0,w.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,w.jsx)(E,{state:k}),(0,w.jsx)(`h1`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:N.title})]}),k.kind===`polling`&&c?.userCode?(0,w.jsxs)(`div`,{className:`mb-5 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4 text-center`,children:[(0,w.jsx)(`div`,{className:`text-label-small-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:`Pairing code`}),(0,w.jsx)(`div`,{className:`mt-2 font-mono text-3xl font-semibold tracking-[0.18em] text-[var(--content-emphasised)]`,children:c.userCode})]}):null,(0,w.jsx)(`p`,{className:`text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:N.body}),k.kind===`handoff_choice`&&c&&s?(0,w.jsx)(j,{deviceCode:c.deviceCode,platform:s,onContinueInBrowser:M}):null,k.kind===`polling`&&k.expiresAt?(0,w.jsxs)(`p`,{className:`text-body-small-lighter mt-4 text-[var(--content-tertiary)]`,children:[`Expires `,new Date(k.expiresAt).toLocaleTimeString(),`.`]}):null]})})}export{M as RemoteWebPairingPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{a as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{n as i,t as a}from"./cn-CJf7MmLX.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-BDdp8zqz.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({});function _({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function v(e){return(0,h.jsx)(s,{"data-slot":`bottom-sheet-trigger`,...e})}function y({overlayClassName:e,className:t,padded:r=!0,children:i,ref:s,...c}){let l=n(),{onOpenChange:f}=(0,m.useContext)(g);return(0,h.jsxs)(u,{container:l??void 0,children:[(0,h.jsx)(o,{"data-slot":`bottom-sheet-overlay`,className:a(`fixed inset-0 z-50 bg-black/50`,e),onClick:()=>f?.(!1)}),(0,h.jsx)(d,{ref:s,"data-slot":`bottom-sheet-content`,className:a(`fixed inset-x-0 bottom-0 z-50 flex w-full flex-col rounded-t-[24px] border-t bg-[var(--surface-lift)] border-[var(--border-base)] shadow-xl focus:outline-none`,`min-h-[min(280px,45dvh)] max-h-[50dvh]`,`data-[state=open]:animate-[bottomSheetIn_180ms_ease-out]`,t),...c,children:(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-content-inner`,className:a(`flex min-h-0 flex-1 flex-col`,r&&`px-4 pt-4 pb-[calc(16px+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`),children:i})})]})}function b({icon:e,className:t,children:n,ref:r,...i}){return(0,h.jsxs)(f,{ref:r,"data-slot":`bottom-sheet-title`,className:a(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...i,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate leading-snug`,children:n})]})}function x({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`bottom-sheet-description`,className:a(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function S(e){return(0,h.jsx)(l,{"data-slot":`bottom-sheet-close`,...e})}function C({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-header`,className:a(`flex flex-col gap-1`,e),...n,children:t})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-body`,className:a(`flex-1 overflow-y-auto pt-4 text-[var(--content-default)]`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-footer`,className:a(`flex justify-end gap-2 pt-4`,e),...n,children:t})}var E={Root:_,Trigger:v,Content:y,Title:b,Description:x,Close:S,Header:C,Body:w,Footer:T},D=50,O=2e3,k=.8;function A({children:e,className:t}){let n=(0,m.useRef)(null),r=(0,m.useRef)(null),[i,o]=(0,m.useState)(0);(0,m.useEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;let i=()=>{let n=t.scrollWidth-e.clientWidth;o(n>0?n:0)};i();let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>a.disconnect()},[e]);let s=i>0,c=Math.max(O,Math.round(i*2/D*1e3)),l=Math.round(c/k);return(0,h.jsxs)(`span`,{"data-slot":`marquee-text`,ref:n,className:a(`relative min-w-0 flex-1 overflow-hidden`,t),children:[(0,h.jsx)(`span`,{className:`block truncate motion-safe:group-hover:invisible`,children:e}),(0,h.jsx)(`span`,{ref:r,"aria-hidden":!0,className:a(`absolute top-0 left-0 invisible block whitespace-nowrap`,`motion-safe:group-hover:visible`,s&&`motion-safe:group-hover:animate-panelitem-marquee`),style:s?{"--panelitem-marquee-distance":`${i}px`,"--panelitem-marquee-duration":`${l}ms`}:void 0,children:e})]})}var j=[`group relative`,`flex h-8 max-md:h-auto w-full items-center justify-between`,`rounded-[6px] p-[8px] max-md:py-3 gap-[4px]`,`text-left text-body-medium-lighter max-md:text-body-large-default`,`transition-colors`,`bg-transparent`,`text-[var(--content-secondary)]`,`outline-none`].join(` `),M=[`[@media(hover:hover)]:hover:bg-[var(--surface-hover)]`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,`cursor-pointer select-none`].join(` `),N=[`aria-[current=page]:bg-[var(--surface-active)]`,`aria-[current=page]:text-[var(--content-emphasised)]`].join(` `),P=[`aria-[current=page]:bg-[color-mix(in_oklab,var(--primary-base)_10%,transparent)]`,`aria-[current=page]:text-[var(--primary-base)]`,`aria-[current=page]:font-medium`].join(` `),F=`flex min-w-0 flex-1 items-center gap-[8px]`,I=[`shrink-0`,`text-[var(--content-tertiary)]`,`[@media(hover:hover)]:group-hover:text-[var(--content-secondary)]`].join(` `),L=`group-aria-[current=page]:text-[var(--content-default)]`,R=`group-aria-[current=page]:text-[var(--primary-base)]`,z=`min-w-0 flex-1 truncate`,B=`shrink-0 text-[var(--content-tertiary)]`,V=`flex items-center gap-2 shrink-0`,H=[`inline-flex items-center justify-center shrink-0`,`text-label-small-default leading-none`,`text-[var(--content-tertiary)]`,`rounded-[4px] bg-[var(--surface-base)] px-[4px] py-[2px]`,`[@media(hover:hover)]:group-hover:bg-transparent [@media(hover:hover)]:group-hover:rounded-none`,`[@media(hover:hover)]:group-hover:px-0 [@media(hover:hover)]:group-hover:py-0`,`group-aria-[current=page]:bg-transparent group-aria-[current=page]:rounded-none`,`group-aria-[current=page]:px-0 group-aria-[current=page]:py-0`].join(` `),U=`inline-flex items-center justify-center shrink-0`,W=`mr-2`,G=[`flex items-center shrink-0`,`opacity-0 transition-opacity`,`[@media(hover:hover)]:group-hover:opacity-100`,`group-focus-within:opacity-100`,`has-[[aria-expanded=true]]:opacity-100`,`group-aria-[current=page]:opacity-100`].join(` `);function K({icon:e,leadingSlot:t,label:n,expandChevron:r,badge:o,badgeBare:s=!1,trailingAction:c,active:l=!1,activeVariant:u=`default`,disabled:d=!1,onSelect:f,href:p,marqueeOnHover:m=!1,className:g,"aria-label":_,asChild:v=!1,children:y,ref:b,...x}){let S=l?`page`:void 0,C=_??(typeof n==`string`?n:void 0),w=t===void 0?e?(0,h.jsx)(e,{size:14,"aria-hidden":!0,className:a(`max-md:size-4`,I,u===`branded`?R:L)}):null:t,T=m?(0,h.jsx)(A,{children:n}):(0,h.jsx)(`span`,{className:z,children:n}),E=r?(0,h.jsx)(r,{size:12,"aria-hidden":!0,className:B}):null,D=o==null?null:(0,h.jsx)(`span`,{className:a(s?U:H,s&&!c&&W),children:o}),O=c?(0,h.jsx)(`span`,{className:a(G,`pointer-coarse:opacity-100`),onClick:e=>{e.stopPropagation(),e.preventDefault()},children:c}):null,k=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`span`,{className:F,children:[w,T,E]}),(0,h.jsxs)(`span`,{className:V,children:[D,O]})]}),K=a(j,(v||!!p||!!f)&&M,u===`branded`?P:N,g);if(v)return(0,h.jsx)(i,{"data-slot":`panel-item`,ref:b,className:K,"aria-current":S,"aria-label":C,...x,children:y});if(p){let{onClick:e,...t}=x;return(0,h.jsx)(`a`,{...t,"data-slot":`panel-item`,ref:b,href:p,className:K,"aria-current":S,"aria-label":C,onClick:t=>{e?.(t),t.defaultPrevented||f?.()},children:k})}if(f){let{onClick:e,onKeyDown:t,...n}=x,r=t=>{if(d){t.preventDefault();return}e?.(t),t.defaultPrevented||f()},i=e=>{d||(t?.(e),!e.defaultPrevented&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f()))};return(0,h.jsx)(`div`,{...n,"data-slot":`panel-item`,ref:b,role:`button`,tabIndex:d?-1:0,"aria-disabled":d||void 0,className:K,"aria-current":S,"aria-label":C,onClick:r,onKeyDown:i,children:k})}return(0,h.jsx)(`div`,{"data-slot":`panel-item`,ref:b,className:K,"aria-current":S,"aria-label":C,...x,children:k})}export{E as n,K as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{a as n}from"./button-BwFudwM5.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{n as i,t as a}from"./cn-CJf7MmLX.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DWcXIgDR.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({});function _({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function v(e){return(0,h.jsx)(s,{"data-slot":`bottom-sheet-trigger`,...e})}function y({overlayClassName:e,className:t,padded:r=!0,children:i,ref:s,...c}){let l=n(),{onOpenChange:f}=(0,m.useContext)(g);return(0,h.jsxs)(u,{container:l??void 0,children:[(0,h.jsx)(o,{"data-slot":`bottom-sheet-overlay`,className:a(`fixed inset-0 z-50 bg-black/50`,e),onClick:()=>f?.(!1)}),(0,h.jsx)(d,{ref:s,"data-slot":`bottom-sheet-content`,className:a(`fixed inset-x-0 bottom-0 z-50 flex w-full flex-col rounded-t-[24px] border-t bg-[var(--surface-lift)] border-[var(--border-base)] shadow-xl focus:outline-none`,`min-h-[min(280px,45dvh)] max-h-[50dvh]`,`data-[state=open]:animate-[bottomSheetIn_180ms_ease-out]`,t),...c,children:(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-content-inner`,className:a(`flex min-h-0 flex-1 flex-col`,r&&`px-4 pt-4 pb-[calc(16px+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`),children:i})})]})}function b({icon:e,className:t,children:n,ref:r,...i}){return(0,h.jsxs)(f,{ref:r,"data-slot":`bottom-sheet-title`,className:a(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...i,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate leading-snug`,children:n})]})}function x({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`bottom-sheet-description`,className:a(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function S(e){return(0,h.jsx)(l,{"data-slot":`bottom-sheet-close`,...e})}function C({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-header`,className:a(`flex flex-col gap-1`,e),...n,children:t})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-body`,className:a(`flex-1 overflow-y-auto pt-4 text-[var(--content-default)]`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-footer`,className:a(`flex justify-end gap-2 pt-4`,e),...n,children:t})}var E={Root:_,Trigger:v,Content:y,Title:b,Description:x,Close:S,Header:C,Body:w,Footer:T},D=50,O=2e3,k=.8;function A({children:e,className:t}){let n=(0,m.useRef)(null),r=(0,m.useRef)(null),[i,o]=(0,m.useState)(0);(0,m.useEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;let i=()=>{let n=t.scrollWidth-e.clientWidth;o(n>0?n:0)};i();let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>a.disconnect()},[e]);let s=i>0,c=Math.max(O,Math.round(i*2/D*1e3)),l=Math.round(c/k);return(0,h.jsxs)(`span`,{"data-slot":`marquee-text`,ref:n,className:a(`relative min-w-0 flex-1 overflow-hidden`,t),children:[(0,h.jsx)(`span`,{className:`block truncate motion-safe:group-hover:invisible`,children:e}),(0,h.jsx)(`span`,{ref:r,"aria-hidden":!0,className:a(`absolute top-0 left-0 invisible block whitespace-nowrap`,`motion-safe:group-hover:visible`,s&&`motion-safe:group-hover:animate-panelitem-marquee`),style:s?{"--panelitem-marquee-distance":`${i}px`,"--panelitem-marquee-duration":`${l}ms`}:void 0,children:e})]})}var j=[`group relative`,`flex h-8 max-md:h-auto w-full items-center justify-between`,`rounded-[6px] p-[8px] max-md:py-3 gap-[4px]`,`text-left text-body-medium-lighter max-md:text-body-large-default`,`transition-colors`,`bg-transparent`,`text-[var(--content-secondary)]`,`outline-none`].join(` `),M=[`[@media(hover:hover)]:hover:bg-[var(--surface-hover)]`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,`cursor-pointer select-none`].join(` `),N=[`aria-[current=page]:bg-[var(--surface-active)]`,`aria-[current=page]:text-[var(--content-emphasised)]`].join(` `),P=[`aria-[current=page]:bg-[color-mix(in_oklab,var(--primary-base)_10%,transparent)]`,`aria-[current=page]:text-[var(--primary-base)]`,`aria-[current=page]:font-medium`].join(` `),F=`flex min-w-0 flex-1 items-center gap-[8px]`,I=[`shrink-0`,`text-[var(--content-tertiary)]`,`[@media(hover:hover)]:group-hover:text-[var(--content-secondary)]`].join(` `),L=`group-aria-[current=page]:text-[var(--content-default)]`,R=`group-aria-[current=page]:text-[var(--primary-base)]`,z=`min-w-0 flex-1 truncate`,B=`shrink-0 text-[var(--content-tertiary)]`,V=`flex items-center gap-2 shrink-0`,H=[`inline-flex items-center justify-center shrink-0`,`text-label-small-default leading-none`,`text-[var(--content-tertiary)]`,`rounded-[4px] bg-[var(--surface-base)] px-[4px] py-[2px]`,`[@media(hover:hover)]:group-hover:bg-transparent [@media(hover:hover)]:group-hover:rounded-none`,`[@media(hover:hover)]:group-hover:px-0 [@media(hover:hover)]:group-hover:py-0`,`group-aria-[current=page]:bg-transparent group-aria-[current=page]:rounded-none`,`group-aria-[current=page]:px-0 group-aria-[current=page]:py-0`].join(` `),U=`inline-flex items-center justify-center shrink-0`,W=`mr-2`,G=[`flex items-center shrink-0`,`opacity-0 transition-opacity`,`[@media(hover:hover)]:group-hover:opacity-100`,`group-focus-within:opacity-100`,`has-[[aria-expanded=true]]:opacity-100`,`group-aria-[current=page]:opacity-100`].join(` `);function K({icon:e,leadingSlot:t,label:n,expandChevron:r,badge:o,badgeBare:s=!1,trailingAction:c,active:l=!1,activeVariant:u=`default`,disabled:d=!1,onSelect:f,href:p,marqueeOnHover:m=!1,className:g,"aria-label":_,asChild:v=!1,children:y,ref:b,...x}){let S=l?`page`:void 0,C=_??(typeof n==`string`?n:void 0),w=t===void 0?e?(0,h.jsx)(e,{size:14,"aria-hidden":!0,className:a(`max-md:size-4`,I,u===`branded`?R:L)}):null:t,T=m?(0,h.jsx)(A,{children:n}):(0,h.jsx)(`span`,{className:z,children:n}),E=r?(0,h.jsx)(r,{size:12,"aria-hidden":!0,className:B}):null,D=o==null?null:(0,h.jsx)(`span`,{className:a(s?U:H,s&&!c&&W),children:o}),O=c?(0,h.jsx)(`span`,{className:a(G,`pointer-coarse:opacity-100`),onClick:e=>{e.stopPropagation(),e.preventDefault()},children:c}):null,k=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`span`,{className:F,children:[w,T,E]}),(0,h.jsxs)(`span`,{className:V,children:[D,O]})]}),K=a(j,(v||!!p||!!f)&&M,u===`branded`?P:N,g);if(v)return(0,h.jsx)(i,{"data-slot":`panel-item`,ref:b,className:K,"aria-current":S,"aria-label":C,...x,children:y});if(p){let{onClick:e,...t}=x;return(0,h.jsx)(`a`,{...t,"data-slot":`panel-item`,ref:b,href:p,className:K,"aria-current":S,"aria-label":C,onClick:t=>{e?.(t),t.defaultPrevented||f?.()},children:k})}if(f){let{onClick:e,onKeyDown:t,...n}=x,r=t=>{if(d){t.preventDefault();return}e?.(t),t.defaultPrevented||f()},i=e=>{d||(t?.(e),!e.defaultPrevented&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f()))};return(0,h.jsx)(`div`,{...n,"data-slot":`panel-item`,ref:b,role:`button`,tabIndex:d?-1:0,"aria-disabled":d||void 0,className:K,"aria-current":S,"aria-label":C,onClick:r,onKeyDown:i,children:k})}return(0,h.jsx)(`div`,{"data-slot":`panel-item`,ref:b,className:K,"aria-current":S,"aria-label":C,...x,children:k})}export{E as n,K as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.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{t as o}from"./arrow-left-W84B6oJL.js";import"./src-Da9g8qsW.js";import{t as s}from"./sparkles-DfEFn3Bh.js";import{i as c,r as l,t as u}from"./dist-C68qFSny.js";import{n as d}from"./toast-BtFgiPe3.js";import{d as f}from"./routes-DrfnNoYS.js";import{n as p}from"./use-assistant-avatar-Bjqx8JUy.js";import{t as m}from"./use-active-assistant-id-JLsAfn3e.js";import{a as h,c as g,l as _,o as v,s as y}from"./latest-assistant-text-CwHBWP6s.js";import{a as b,c as x,i as S,n as C,o as w,r as T,t as E}from"./use-assistant-identity-details-D-7oN9gr.js";var D=e(t(),1),O=a(),k=`rgba(36, 41, 46, 0.25)`,A=`#FDFDFC`;function j({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){return(0,O.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,O.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:e.left}),(0,O.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:e.right}),(0,O.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]??b),disabled:i,min:0,max:100,step:1,"aria-label":`${e.left} to ${e.right}`,children:[(0,O.jsx)(c,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:k}}),(0,O.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:A}})]})]})}async function M({assistantId:e,values:t,assistantName:n}){return T({assistantId:e,content:_(t,void 0,n),title:`Updating personality`,context:`identity_personality_update`})}function N(){let e=m(),t=n(),a=r(),{components:o,traits:s,customImageUrl:c}=p(e),l=C(e),u=i({queryKey:y(e),queryFn:()=>v(e)}),[_,b]=(0,D.useState)(null),[x,S]=(0,D.useState)(!1),T=_??u.data??{},k=l.data?.identity?.name||`Assistant`;return(0,O.jsx)(w,{components:o,traits:s,customImageUrl:c,entrance:!0,children:(0,O.jsx)(P,{assistantName:k,values:T,onValueChange:(e,t)=>b({...T,[e]:t}),applying:x,onUpdate:()=>{S(!0);let n=h(T);M({assistantId:e,values:n,assistantName:l.data?.identity?.name}).then(async r=>{S(!1),r?(await g(e,n),a.invalidateQueries({queryKey:y(e)}),a.invalidateQueries({queryKey:E(e)}),d.success(`Personality updated — come say hi!`),t(f.identity)):d.error(`The personality update didn't go through. Please try again.`)})},onBack:()=>void t(f.identity)})})}function P({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{tone:c,bottomReserve:l}=x();return(0,O.jsxs)(O.Fragment,{children:[(0,O.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] ${c.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`}`,style:{color:c.fg},children:[(0,O.jsx)(o,{className:`h-4 w-4`,"aria-hidden":!0}),`Back`]}),(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:l},children:[(0,O.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,O.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,O.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:`Shape my personality`}),(0,O.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:c.fgMuted},children:`Slide the dials, then hit update — I’ll rewrite myself to match.`})]}),(0,O.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,O.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:S.map((e,i)=>(0,O.jsxs)(D.Fragment,{children:[i>0&&(0,O.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,O.jsx)(j,{axis:e,value:t[e.id]??b,onValueChange:t=>n(e.id,t),tone:c,disabled:r})]},e.id))}),(0,O.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,O.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:c.isLight?`#1A1A1A`:`#FFFFFF`,color:c.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:c.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:c.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,O.jsxs)(`span`,{className:`min-w-0 text-center`,children:[e,` is rewriting itself…`]})]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(s,{className:`h-4 w-4`,"aria-hidden":!0}),`Update personality`]})})]})]})}export{N as PersonalityPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.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{t as o}from"./arrow-left-W84B6oJL.js";import"./src-CwGlaCIx.js";import{t as s}from"./sparkles-DfEFn3Bh.js";import{i as c,r as l,t as u}from"./dist-BrrL0-_M.js";import{n as d}from"./toast-BHjG1kP8.js";import{d as f}from"./routes-DrfnNoYS.js";import{n as p}from"./use-assistant-avatar-Bjqx8JUy.js";import{t as m}from"./use-active-assistant-id-JLsAfn3e.js";import{a as h,c as g,l as _,o as v,s as y}from"./latest-assistant-text-CwHBWP6s.js";import{a as b,c as x,i as S,n as C,o as w,r as T,t as E}from"./use-assistant-identity-details-BLHiMTpS.js";var D=e(t(),1),O=a(),k=`rgba(36, 41, 46, 0.25)`,A=`#FDFDFC`;function j({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){return(0,O.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,O.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:e.left}),(0,O.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:e.right}),(0,O.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]??b),disabled:i,min:0,max:100,step:1,"aria-label":`${e.left} to ${e.right}`,children:[(0,O.jsx)(c,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:k}}),(0,O.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:A}})]})]})}async function M({assistantId:e,values:t,assistantName:n}){return T({assistantId:e,content:_(t,void 0,n),title:`Updating personality`,context:`identity_personality_update`})}function N(){let e=m(),t=n(),a=r(),{components:o,traits:s,customImageUrl:c}=p(e),l=C(e),u=i({queryKey:y(e),queryFn:()=>v(e)}),[_,b]=(0,D.useState)(null),[x,S]=(0,D.useState)(!1),T=_??u.data??{},k=l.data?.identity?.name||`Assistant`;return(0,O.jsx)(w,{components:o,traits:s,customImageUrl:c,entrance:!0,children:(0,O.jsx)(P,{assistantName:k,values:T,onValueChange:(e,t)=>b({...T,[e]:t}),applying:x,onUpdate:()=>{S(!0);let n=h(T);M({assistantId:e,values:n,assistantName:l.data?.identity?.name}).then(async r=>{S(!1),r?(await g(e,n),a.invalidateQueries({queryKey:y(e)}),a.invalidateQueries({queryKey:E(e)}),d.success(`Personality updated — come say hi!`),t(f.identity)):d.error(`The personality update didn't go through. Please try again.`)})},onBack:()=>void t(f.identity)})})}function P({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{tone:c,bottomReserve:l}=x();return(0,O.jsxs)(O.Fragment,{children:[(0,O.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] ${c.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`}`,style:{color:c.fg},children:[(0,O.jsx)(o,{className:`h-4 w-4`,"aria-hidden":!0}),`Back`]}),(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:l},children:[(0,O.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,O.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,O.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:`Shape my personality`}),(0,O.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:c.fgMuted},children:`Slide the dials, then hit update — I’ll rewrite myself to match.`})]}),(0,O.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,O.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:S.map((e,i)=>(0,O.jsxs)(D.Fragment,{children:[i>0&&(0,O.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,O.jsx)(j,{axis:e,value:t[e.id]??b,onValueChange:t=>n(e.id,t),tone:c,disabled:r})]},e.id))}),(0,O.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,O.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:c.isLight?`#1A1A1A`:`#FFFFFF`,color:c.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:c.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:c.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,O.jsxs)(`span`,{className:`min-w-0 text-center`,children:[e,` is rewriting itself…`]})]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(s,{className:`h-4 w-4`,"aria-hidden":!0}),`Update personality`]})})]})]})}export{N 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-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.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-DEI9Ra9z.js";import{t as u}from"./arrow-left-W84B6oJL.js";import{t as d}from"./circle-check-DvrCdroD.js";import{A as f,C as p,D as ee,E as m,I as te,L as ne,N as h,S as g,T as re,a as ie,b as ae,h as oe,i as se,j as ce,l as le,n as ue,o as de,r as fe,s as pe,t as me,u as he}from"./use-checkout-dismiss-refresh-CV_H4uEB.js";import{t as _}from"./sliders-horizontal-BwdOIxz8.js";import{t as ge}from"./loader-circle-DWWXcfTQ.js";import{t as v}from"./triangle-alert-D6bAGtMw.js";import{t as y}from"./tag-gOOX7fbA.js";import{t as b}from"./modal-xr_vw1ZO.js";import{n as x}from"./toast-BtFgiPe3.js";import{t as _e}from"./is-electron-DIlIrdJX.js";import{c as ve}from"./auth-store-C9aYqB9U.js";import{C as ye}from"./native-biometric-DetUqtjl.js";import{d as S,t as be}from"./routes-DrfnNoYS.js";import{i as xe,r as Se,t as Ce}from"./use-platform-gate-C5bNA5Pn.js";import{r as we}from"./use-is-org-ready-3vHDbj4G.js";import{n as Te}from"./browser-CcdNg0HN.js";import{$ as Ee,dt as De,et as C,lt as Oe,ut as ke}from"./react-query.gen-BtYBixpk.js";import{t as w}from"./use-bundled-avatar-components-BcyasJwu.js";import{s as Ae}from"./machine-sizes-B9nt_h-U.js";import{t as je}from"./checkout-return-target-BStfEab4.js";var T=e(t(),1),E=c(),D=`Select custom CPU power, Ram and Storage. Or just throw in some tokens.`;function Me({className:e,onConfigure:t,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){return(0,E.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,E.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Need something more tailored to your needs?`}),(0,E.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,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,E.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,E.jsx)(_,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,E.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Custom Plan`}),i?(0,E.jsx)(y,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:`Your Current Plan`}):null]}),(0,E.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??D})]})]}),(0,E.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,E.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:`Billed monthly`}),(0,E.jsx)(n,{variant:`outlined`,onClick:t,disabled:r,children:`Configure`})]})]})]})}function Ne({open:e,lostFeatures:t,pending:r,onCancel:i,onConfirm:a}){let o=t.length>0;return(0,E.jsx)(b.Root,{open:e,onOpenChange:e=>{!e&&!r&&i()},children:(0,E.jsxs)(b.Content,{size:`md`,hideCloseButton:!0,children:[(0,E.jsx)(b.Header,{children:(0,E.jsx)(b.Title,{icon:v,children:`Downgrade to Base?`})}),(0,E.jsxs)(b.Body,{children:[(0,E.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,E.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:t.map(e=>(0,E.jsx)(`li`,{children:(0,E.jsx)(l,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null]}),(0,E.jsxs)(b.Footer,{children:[(0,E.jsx)(n,{variant:`outlined`,onClick:i,disabled:r,children:`Cancel`}),(0,E.jsx)(n,{variant:`danger`,onClick:a,disabled:r,"data-testid":`confirm-free-downgrade-button`,children:`Downgrade to Base`})]})]})})}function Pe({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:ee}){let m=f===`downgrade`&&!u;return(0,E.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,E.jsx)(re,{tier:e,size:50}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,E.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!m&&!u?(0,E.jsx)(y,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:`Recommended`}):null]}),(0,E.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,E.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,E.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,E.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,E.jsx)(n,{variant:m?`outlined`:`primary`,fullWidth:!0,disabled:u||p,onClick:ee,children:u?`Current Plan`:o}),(0,E.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,E.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Includes:`}),(0,E.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,E.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,E.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,E.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}var Fe=`#0A0A0B`,Ie=`https://www.vellum.ai/docs/pricing`,Le=8e3,Re={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};w();var ze=[`Small Computer`,`4 GB Storage`,`Pay-as-you-go credits`];function Be(e){return`${h(e)}/month`}function Ve(e){return`${p(e)} Computer`}function He(e,t){let n=e.credits_usd??0;return[Ve(e),`${e.storage_gib} GB Storage`,`${h(n*100)} in credits included`,...t]}function Ue(e,t){return g(e,t).join(` · `)}function O(){let e=i(),[t,c]=r(),l=a(),d=_e(),p=xe({platformHostedOnly:!0}),ne=Ce(),h=Se(),g=p===`full`&&ne,re=p===`full`&&h,_=o({...Oe(),enabled:g}),v=o({...Ee(),enabled:g}),y=s(De()),{changePackage:b,isPending:w}=pe(),{changeTiers:D,isPending:Ve,current:O,currentReady:k,currentKnown:A,primaryAssistantId:We}=de({enabled:g});me();let[j,Ge]=(0,T.useState)(!1),[Ke,M]=(0,T.useState)(!1),[qe,N]=(0,T.useState)(!1),[P,F]=(0,T.useState)(null),[Je,I]=(0,T.useState)(!1),[Ye,L]=(0,T.useState)(void 0),R=(0,T.useRef)(!1),[z,Xe]=(0,T.useState)(!1),Ze=(0,T.useRef)(!1),[B,V]=(0,T.useState)(null),H=_.data,U=v.data?.plans.find(e=>e.id===`pro`),W=U?.packages??[],Qe=W.length>0,G=H?.plan_id===`pro`,$e=we(),et=te(We,g&&$e&&G&&A),tt=A?et:void 0,K=H?H.plan_id===`base`?`free`:ee(H.package)?H.package.key:null:null,q=ae(oe(H)),nt=new Set(v.data?.plans.find(e=>e.id===`base`)?.included_features??[]),rt=(U?.included_features??[]).filter(e=>!nt.has(e)),J=j||w||q.isPending,it=(0,T.useMemo)(()=>!G||O.storageTier==null?null:{machineTier:O.machineTier,storageTier:O.storageTier,creditTier:O.creditTier},[G,O.machineTier,O.storageTier,O.creditTier]),Y=t.get(be),X=!g&&!re,at=g&&!v.isLoading&&!Qe,Z=X||!(Y!=null&&!z)&&(_.isError||at);(0,T.useEffect)(()=>{Z&&e(X?S.settings.usageBilling:`${S.settings.usageBilling}&adjust_plan`,{replace:!0})},[Z,X,e]);let ot=()=>{(window.history.state?.idx??0)>0?e(-1):e(S.settings.usageBilling)},st=async e=>{Ge(!0);try{let t=await y.mutateAsync({body:{...e,return_target:je()}});t.status===`redirect`&&t.checkout_url?(ye(e.package?{kind:`package`,packageKey:e.package}:{kind:`custom`,machineTier:e.machine_tier??null,storageTier:e.storage_tier??null,creditTier:e.credit_tier??null}),ve(l),Te(t.checkout_url)):(await l.invalidateQueries({queryKey:ke()}),await l.invalidateQueries({queryKey:C()}))}catch(e){x.error(le(e,`Failed to start the upgrade checkout. Please try again.`))}finally{Ge(!1)}},Q=(t,n)=>{if(H&&!J){if(G){if(t===`free`){N(!0);return}let r=W.find(e=>e.key===t);if(!r||f(K,r.key)===`current`)return;if(!he(H)){e(`${S.settings.usageBilling}&adjust_plan`,{replace:n?.replaceOnBail===!0});return}F(r);return}t!==`free`&&st({target_plan_id:`pro`,package:t,confirm:!0})}},ct=(0,T.useRef)(Q);(0,T.useEffect)(()=>{ct.current=Q}),(0,T.useEffect)(()=>{if(Y==null||R.current||Z||!g||Ze.current)return;Ze.current=!0;let e=setTimeout(()=>{Xe(!0)},Le),t=()=>{clearTimeout(e),Xe(!0)};Promise.all([l.refetchQueries({queryKey:ke()}),l.refetchQueries({queryKey:C()})]).then(t,t)},[Z,Y,g,l]),(0,T.useEffect)(()=>{Y==null||R.current||Z||!g||!z||(R.current=!0,G&&Y!==`free`&&V(Y),c(e=>{let t=new URLSearchParams(e);return t.delete(be),t},{replace:!0}))},[z,Z,Y,g,G,c]),(0,T.useEffect)(()=>{B==null||Y!=null||(V(null),ct.current(B,{replaceOnBail:!0}))},[Y,B]);let $;if(H&&U&&Qe){let e=G&&K===null&&k&&O.storageGib!=null,t=e?Ue(O,U):void 0,n=()=>{N(!1),q.mutate({})},r=()=>({creditTier:O.creditTier,fromSnapshot:{machineSize:tt?.machine_size??null,storageGib:tt?.provisioned_storage_gib??null}}),i=P?K===null?`switch`:f(K,P.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,a=async()=>{if(!P)return;let e=P,t=r(),n=K===null||!k||!A||Ae(O.machineTier,e.machine_tier),a=await b(e.key);if(!a)return;if(F(null),a.status===`no_op`){x.success(`You're already on this plan.`);return}let o=e.credit_tier??null;L({fromSnapshot:t.fromSnapshot,credits:o===t.creditTier?null:{fromTier:t.creditTier,toTier:o},direction:Re[i],canLowerResources:n}),I(!0)},o=e=>st({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=!A||Ae(O.machineTier,e.machineTier),i=await D(e);i&&(M(!1),i.needsResize||i.creditChanged?(L({fromSnapshot:t.fromSnapshot,credits:i.creditChanged?{fromTier:t.creditTier,toTier:e.creditTier}:null,direction:`change`,canLowerResources:n}),I(!0)):x.success(`Plan updated.`))},c=()=>{J||G&&!k||M(!0)},l=[...W].sort((e,t)=>m.indexOf(e.key)-m.indexOf(t.key)),u=se(`free`),d=G?`downgrade`:f(K,`free`);$=(0,E.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,E.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,E.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,E.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,E.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,E.jsx)(Pe,{tierKey:`free`,name:`Base`,tagline:u?.tagline??``,priceLabel:`Free`,priceCaption:u?.priceCaption??`Forever`,ctaLabel:d===`downgrade`?fe(`Base`):u?.cta??`Start Free`,features:ze,tone:`dark`,isCurrent:K===`free`,intent:d,pending:J,onCta:()=>Q(`free`)}),l.map(e=>{let t=se(e.key),n=f(K,e.key);return(0,E.jsx)(Pe,{tierKey:e.key,name:e.name,tagline:t?.tagline??``,priceLabel:Be(e.total_price_cents),priceCaption:t?.priceCaption??`Billed monthly`,ctaLabel:n===`downgrade`?fe(e.name):t?.cta??e.name,features:He(e,t?.extraFeatures??[]),recommended:t?.recommended,tone:t?.recommended?`light`:`dark`,isCurrent:K===e.key,intent:n,pending:J,onCta:()=>Q(e.key)},e.key)})]}),(0,E.jsx)(Me,{className:`mt-6 sm:mt-10`,onConfigure:c,configureDisabled:G&&!k||J,isCurrent:e,currentSummary:t}),(0,E.jsx)(ie,{open:Ke,proPlan:U,pending:j||Ve,currentStorageGib:G?O.storageGib:null,initialSelection:it,onClose:()=>M(!1),onContinue:e=>{G?s(e):o(e)}}),(0,E.jsx)(ue,{open:P!==null,relation:i,packageName:P?.name??``,targetPackage:P,pending:w,onCancel:()=>F(null),onConfirm:()=>void a()}),(0,E.jsx)(Ne,{open:qe,lostFeatures:rt,pending:q.isPending,onCancel:()=>N(!1),onConfirm:n}),(0,E.jsx)(ce,{mode:`resize`,open:Je,onClose:()=>{I(!1),L(void 0)},resizeContext:Ye}),(0,E.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,E.jsx)(`a`,{href:Ie,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--content-default)] underline`,children:`Read our Docs.`})]})]})}else $=(0,E.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,E.jsx)(ge,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading plans`})});return(0,E.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:Fe},children:[(0,E.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:d?`3rem`:`2rem`},children:(0,E.jsx)(n,{variant:`outlined`,leftIcon:(0,E.jsx)(u,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:ot,className:`[-webkit-app-region:no-drag]`,children:`Back`})}),(0,E.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:$})]})}function k(){return(0,E.jsx)(ne,{redirectToBilling:!0,children:(0,E.jsx)(O,{})})}export{k as PlansPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.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-DEI9Ra9z.js";import{t as u}from"./arrow-left-W84B6oJL.js";import{t as d}from"./circle-check-DvrCdroD.js";import{A as f,C as p,D as ee,E as m,I as te,L as ne,N as h,S as g,T as re,a as ie,b as ae,h as oe,i as se,j as ce,l as le,n as ue,o as de,r as fe,s as pe,t as me,u as he}from"./use-checkout-dismiss-refresh-ChquCG4n.js";import{t as _}from"./sliders-horizontal-BwdOIxz8.js";import{t as ge}from"./loader-circle-DWWXcfTQ.js";import{t as v}from"./triangle-alert-D6bAGtMw.js";import{t as y}from"./tag-G0ELn_cq.js";import{t as b}from"./modal-DagTZ8xj.js";import{n as x}from"./toast-BHjG1kP8.js";import{t as _e}from"./is-electron-DIlIrdJX.js";import{c as ve}from"./auth-store-C9aYqB9U.js";import{C as ye}from"./native-biometric-DetUqtjl.js";import{d as S,t as be}from"./routes-DrfnNoYS.js";import{i as xe,r as Se,t as Ce}from"./use-platform-gate-C5bNA5Pn.js";import{r as we}from"./use-is-org-ready-3vHDbj4G.js";import{n as Te}from"./browser-CcdNg0HN.js";import{$ as Ee,dt as De,et as C,lt as Oe,ut as ke}from"./react-query.gen-BtYBixpk.js";import{t as w}from"./use-bundled-avatar-components-BcyasJwu.js";import{s as Ae}from"./machine-sizes-B9nt_h-U.js";import{t as je}from"./checkout-return-target-BStfEab4.js";var T=e(t(),1),E=c(),D=`Select custom CPU power, Ram and Storage. Or just throw in some tokens.`;function Me({className:e,onConfigure:t,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){return(0,E.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,E.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:`Need something more tailored to your needs?`}),(0,E.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,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,E.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,E.jsx)(_,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,E.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:`Custom Plan`}),i?(0,E.jsx)(y,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:`Your Current Plan`}):null]}),(0,E.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??D})]})]}),(0,E.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,E.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:`Billed monthly`}),(0,E.jsx)(n,{variant:`outlined`,onClick:t,disabled:r,children:`Configure`})]})]})]})}function Ne({open:e,lostFeatures:t,pending:r,onCancel:i,onConfirm:a}){let o=t.length>0;return(0,E.jsx)(b.Root,{open:e,onOpenChange:e=>{!e&&!r&&i()},children:(0,E.jsxs)(b.Content,{size:`md`,hideCloseButton:!0,children:[(0,E.jsx)(b.Header,{children:(0,E.jsx)(b.Title,{icon:v,children:`Downgrade to Base?`})}),(0,E.jsxs)(b.Body,{children:[(0,E.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,E.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:t.map(e=>(0,E.jsx)(`li`,{children:(0,E.jsx)(l,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null]}),(0,E.jsxs)(b.Footer,{children:[(0,E.jsx)(n,{variant:`outlined`,onClick:i,disabled:r,children:`Cancel`}),(0,E.jsx)(n,{variant:`danger`,onClick:a,disabled:r,"data-testid":`confirm-free-downgrade-button`,children:`Downgrade to Base`})]})]})})}function Pe({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:ee}){let m=f===`downgrade`&&!u;return(0,E.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,E.jsx)(re,{tier:e,size:50}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,E.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!m&&!u?(0,E.jsx)(y,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:`Recommended`}):null]}),(0,E.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,E.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,E.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,E.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,E.jsx)(n,{variant:m?`outlined`:`primary`,fullWidth:!0,disabled:u||p,onClick:ee,children:u?`Current Plan`:o}),(0,E.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,E.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:`Includes:`}),(0,E.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,E.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,E.jsx)(d,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,E.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}var Fe=`#0A0A0B`,Ie=`https://www.vellum.ai/docs/pricing`,Le=8e3,Re={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};w();var ze=[`Small Computer`,`4 GB Storage`,`Pay-as-you-go credits`];function Be(e){return`${h(e)}/month`}function Ve(e){return`${p(e)} Computer`}function He(e,t){let n=e.credits_usd??0;return[Ve(e),`${e.storage_gib} GB Storage`,`${h(n*100)} in credits included`,...t]}function Ue(e,t){return g(e,t).join(` · `)}function O(){let e=i(),[t,c]=r(),l=a(),d=_e(),p=xe({platformHostedOnly:!0}),ne=Ce(),h=Se(),g=p===`full`&&ne,re=p===`full`&&h,_=o({...Oe(),enabled:g}),v=o({...Ee(),enabled:g}),y=s(De()),{changePackage:b,isPending:w}=pe(),{changeTiers:D,isPending:Ve,current:O,currentReady:k,currentKnown:A,primaryAssistantId:We}=de({enabled:g});me();let[j,Ge]=(0,T.useState)(!1),[Ke,M]=(0,T.useState)(!1),[qe,N]=(0,T.useState)(!1),[P,F]=(0,T.useState)(null),[Je,I]=(0,T.useState)(!1),[Ye,L]=(0,T.useState)(void 0),R=(0,T.useRef)(!1),[z,Xe]=(0,T.useState)(!1),Ze=(0,T.useRef)(!1),[B,V]=(0,T.useState)(null),H=_.data,U=v.data?.plans.find(e=>e.id===`pro`),W=U?.packages??[],Qe=W.length>0,G=H?.plan_id===`pro`,$e=we(),et=te(We,g&&$e&&G&&A),tt=A?et:void 0,K=H?H.plan_id===`base`?`free`:ee(H.package)?H.package.key:null:null,q=ae(oe(H)),nt=new Set(v.data?.plans.find(e=>e.id===`base`)?.included_features??[]),rt=(U?.included_features??[]).filter(e=>!nt.has(e)),J=j||w||q.isPending,it=(0,T.useMemo)(()=>!G||O.storageTier==null?null:{machineTier:O.machineTier,storageTier:O.storageTier,creditTier:O.creditTier},[G,O.machineTier,O.storageTier,O.creditTier]),Y=t.get(be),X=!g&&!re,at=g&&!v.isLoading&&!Qe,Z=X||!(Y!=null&&!z)&&(_.isError||at);(0,T.useEffect)(()=>{Z&&e(X?S.settings.usageBilling:`${S.settings.usageBilling}&adjust_plan`,{replace:!0})},[Z,X,e]);let ot=()=>{(window.history.state?.idx??0)>0?e(-1):e(S.settings.usageBilling)},st=async e=>{Ge(!0);try{let t=await y.mutateAsync({body:{...e,return_target:je()}});t.status===`redirect`&&t.checkout_url?(ye(e.package?{kind:`package`,packageKey:e.package}:{kind:`custom`,machineTier:e.machine_tier??null,storageTier:e.storage_tier??null,creditTier:e.credit_tier??null}),ve(l),Te(t.checkout_url)):(await l.invalidateQueries({queryKey:ke()}),await l.invalidateQueries({queryKey:C()}))}catch(e){x.error(le(e,`Failed to start the upgrade checkout. Please try again.`))}finally{Ge(!1)}},Q=(t,n)=>{if(H&&!J){if(G){if(t===`free`){N(!0);return}let r=W.find(e=>e.key===t);if(!r||f(K,r.key)===`current`)return;if(!he(H)){e(`${S.settings.usageBilling}&adjust_plan`,{replace:n?.replaceOnBail===!0});return}F(r);return}t!==`free`&&st({target_plan_id:`pro`,package:t,confirm:!0})}},ct=(0,T.useRef)(Q);(0,T.useEffect)(()=>{ct.current=Q}),(0,T.useEffect)(()=>{if(Y==null||R.current||Z||!g||Ze.current)return;Ze.current=!0;let e=setTimeout(()=>{Xe(!0)},Le),t=()=>{clearTimeout(e),Xe(!0)};Promise.all([l.refetchQueries({queryKey:ke()}),l.refetchQueries({queryKey:C()})]).then(t,t)},[Z,Y,g,l]),(0,T.useEffect)(()=>{Y==null||R.current||Z||!g||!z||(R.current=!0,G&&Y!==`free`&&V(Y),c(e=>{let t=new URLSearchParams(e);return t.delete(be),t},{replace:!0}))},[z,Z,Y,g,G,c]),(0,T.useEffect)(()=>{B==null||Y!=null||(V(null),ct.current(B,{replaceOnBail:!0}))},[Y,B]);let $;if(H&&U&&Qe){let e=G&&K===null&&k&&O.storageGib!=null,t=e?Ue(O,U):void 0,n=()=>{N(!1),q.mutate({})},r=()=>({creditTier:O.creditTier,fromSnapshot:{machineSize:tt?.machine_size??null,storageGib:tt?.provisioned_storage_gib??null}}),i=P?K===null?`switch`:f(K,P.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,a=async()=>{if(!P)return;let e=P,t=r(),n=K===null||!k||!A||Ae(O.machineTier,e.machine_tier),a=await b(e.key);if(!a)return;if(F(null),a.status===`no_op`){x.success(`You're already on this plan.`);return}let o=e.credit_tier??null;L({fromSnapshot:t.fromSnapshot,credits:o===t.creditTier?null:{fromTier:t.creditTier,toTier:o},direction:Re[i],canLowerResources:n}),I(!0)},o=e=>st({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=!A||Ae(O.machineTier,e.machineTier),i=await D(e);i&&(M(!1),i.needsResize||i.creditChanged?(L({fromSnapshot:t.fromSnapshot,credits:i.creditChanged?{fromTier:t.creditTier,toTier:e.creditTier}:null,direction:`change`,canLowerResources:n}),I(!0)):x.success(`Plan updated.`))},c=()=>{J||G&&!k||M(!0)},l=[...W].sort((e,t)=>m.indexOf(e.key)-m.indexOf(t.key)),u=se(`free`),d=G?`downgrade`:f(K,`free`);$=(0,E.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,E.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,E.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,E.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,E.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,E.jsx)(Pe,{tierKey:`free`,name:`Base`,tagline:u?.tagline??``,priceLabel:`Free`,priceCaption:u?.priceCaption??`Forever`,ctaLabel:d===`downgrade`?fe(`Base`):u?.cta??`Start Free`,features:ze,tone:`dark`,isCurrent:K===`free`,intent:d,pending:J,onCta:()=>Q(`free`)}),l.map(e=>{let t=se(e.key),n=f(K,e.key);return(0,E.jsx)(Pe,{tierKey:e.key,name:e.name,tagline:t?.tagline??``,priceLabel:Be(e.total_price_cents),priceCaption:t?.priceCaption??`Billed monthly`,ctaLabel:n===`downgrade`?fe(e.name):t?.cta??e.name,features:He(e,t?.extraFeatures??[]),recommended:t?.recommended,tone:t?.recommended?`light`:`dark`,isCurrent:K===e.key,intent:n,pending:J,onCta:()=>Q(e.key)},e.key)})]}),(0,E.jsx)(Me,{className:`mt-6 sm:mt-10`,onConfigure:c,configureDisabled:G&&!k||J,isCurrent:e,currentSummary:t}),(0,E.jsx)(ie,{open:Ke,proPlan:U,pending:j||Ve,currentStorageGib:G?O.storageGib:null,initialSelection:it,onClose:()=>M(!1),onContinue:e=>{G?s(e):o(e)}}),(0,E.jsx)(ue,{open:P!==null,relation:i,packageName:P?.name??``,targetPackage:P,pending:w,onCancel:()=>F(null),onConfirm:()=>void a()}),(0,E.jsx)(Ne,{open:qe,lostFeatures:rt,pending:q.isPending,onCancel:()=>N(!1),onConfirm:n}),(0,E.jsx)(ce,{mode:`resize`,open:Je,onClose:()=>{I(!1),L(void 0)},resizeContext:Ye}),(0,E.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,E.jsx)(`a`,{href:Ie,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--content-default)] underline`,children:`Read our Docs.`})]})]})}else $=(0,E.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,E.jsx)(ge,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading plans`})});return(0,E.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:Fe},children:[(0,E.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:d?`3rem`:`2rem`},children:(0,E.jsx)(n,{variant:`outlined`,leftIcon:(0,E.jsx)(u,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:ot,className:`[-webkit-app-region:no-drag]`,children:`Back`})}),(0,E.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:$})]})}function k(){return(0,E.jsx)(ne,{redirectToBilling:!0,children:(0,E.jsx)(O,{})})}export{k as PlansPage};
@@ -1 +1 @@
1
- import{t as e}from"./button-Dy5001j6.js";import{l as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./log-in-D4nsqRbG.js";import{t as i}from"./notice-Dslxs3H6.js";import{t as a}from"./use-onboarding-login-CiQyxJLM.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-BwFudwM5.js";import{l as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./log-in-D4nsqRbG.js";import{t as i}from"./notice-Dslxs3H6.js";import{t as a}from"./use-onboarding-login-CiQyxJLM.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};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{B as n,H as r,L as i,N as a,P as o,V as s,a as c,c as l,d as u,f as d,l as f,o as p,p as m,s as h,u as g,z as _}from"./button-BwFudwM5.js";import{t as v}from"./jsx-runtime-D3ZM-ToX.js";import{t as y}from"./cn-CJf7MmLX.js";import{i as b,n as x,r as S,t as C}from"./Combination-TPH8qx8I.js";var w=e(t(),1),T=v(),E=`Popover`,[D,ee]=n(E,[m]),O=m(),[k,A]=D(E),j=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:s=!1}=e,c=O(t),l=w.useRef(null),[u,f]=w.useState(!1),[m,h]=p({prop:r,defaultProp:i??!1,onChange:o,caller:E});return(0,T.jsx)(d,{...c,children:(0,T.jsx)(k,{scope:t,contentId:a(),triggerRef:l,open:m,onOpenChange:h,onOpenToggle:w.useCallback(()=>h(e=>!e),[h]),hasCustomAnchor:u,onCustomAnchorAdd:w.useCallback(()=>f(!0),[]),onCustomAnchorRemove:w.useCallback(()=>f(!1),[]),modal:s,children:n})})};j.displayName=E;var M=`PopoverAnchor`,N=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(M,n),a=O(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return w.useEffect(()=>(o(),()=>s()),[o,s]),(0,T.jsx)(f,{...a,...r,ref:t})});N.displayName=M;var P=`PopoverTrigger`,F=w.forwardRef((e,t)=>{let{__scopePopover:n,...a}=e,o=A(P,n),c=O(n),l=s(t,o.triggerRef),u=(0,T.jsx)(i.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":X(o.open),...a,ref:l,onClick:r(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?u:(0,T.jsx)(f,{asChild:!0,...c,children:u})});F.displayName=P;var I=`PopoverPortal`,[L,R]=D(I,{forceMount:void 0}),z=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=A(I,t);return(0,T.jsx)(L,{scope:t,forceMount:n,children:(0,T.jsx)(h,{present:n||a.open,children:(0,T.jsx)(l,{asChild:!0,container:i,children:r})})})};z.displayName=I;var B=`PopoverContent`,V=w.forwardRef((e,t)=>{let n=R(B,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=A(B,e.__scopePopover);return(0,T.jsx)(h,{present:r||a.open,children:a.modal?(0,T.jsx)(U,{...i,ref:t}):(0,T.jsx)(W,{...i,ref:t})})});V.displayName=B;var H=_(`PopoverContent.RemoveScroll`),U=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),i=w.useRef(null),a=s(t,i),o=w.useRef(!1);return w.useEffect(()=>{let e=i.current;if(e)return x(e)},[]),(0,T.jsx)(C,{as:H,allowPinchZoom:!0,children:(0,T.jsx)(G,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:r(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:r(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;o.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:r(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),W=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),r=w.useRef(!1),i=w.useRef(!1);return(0,T.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),G=w.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:d,onInteractOutside:f,...p}=e,m=A(B,n),h=O(n);return b(),(0,T.jsx)(S,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,T.jsx)(o,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,T.jsx)(u,{"data-state":X(m.open),role:`dialog`,id:m.contentId,...h,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),K=`PopoverClose`,q=w.forwardRef((e,t)=>{let{__scopePopover:n,...a}=e,o=A(K,n);return(0,T.jsx)(i.button,{type:`button`,...a,ref:t,onClick:r(e.onClick,()=>o.onOpenChange(!1))})});q.displayName=K;var J=`PopoverArrow`,Y=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=O(n);return(0,T.jsx)(g,{...i,...r,ref:t})});Y.displayName=J;function X(e){return e?`open`:`closed`}var Z=j,Q=N,$=F,te=z,ne=V,re=q,ie=Z;function ae(e){return(0,T.jsx)($,{"data-slot":`popover-trigger`,...e})}function oe(e){return(0,T.jsx)(re,{"data-slot":`popover-close`,...e})}function se(e){return(0,T.jsx)(Q,{"data-slot":`popover-anchor`,...e})}function ce({className:e,children:t,sideOffset:n=6,align:r=`center`,ref:i,...a}){let o=c();return(0,T.jsx)(te,{container:o??void 0,children:(0,T.jsx)(ne,{ref:i,"data-slot":`popover-content`,align:r,sideOffset:n,className:y(`z-50 rounded-lg bg-[var(--surface-lift)] p-2 shadow-[var(--shadow-popover)] outline-none`,`text-[color:var(--content-default)]`,`data-[state=open]:animate-[popoverIn_120ms_ease-out]`,e),...a,children:t})})}var le={Root:ie,Trigger:ae,Content:ce,Close:oe,Anchor:se};export{le as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./typography-DEI9Ra9z.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import"./src-Da9g8qsW.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-DEI9Ra9z.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import"./src-CwGlaCIx.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-CUIsZfaf.js";import{t as o}from"./react-BFJW0bSv.js";import{F as s,t as c}from"./button-Dy5001j6.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-CJf7MmLX.js";import{t as m}from"./card-DRIctGVs.js";import{t as h}from"./chevron-down-BNidRDh1.js";import{t as g}from"./chevron-right-CANAtgGn.js";import{t as _}from"./loader-circle-DWWXcfTQ.js";import{c as v,o as y,r as b,t as x}from"./threshold-presets-B-RqvhUM.js";import{t as S}from"./pencil-Cm5DdeRM.js";import{t as C}from"./shield-check-CNsbiH1v.js";import{t as w}from"./trash-2-DfVRfykB.js";import{t as T}from"./x-D4O9yIS7.js";import{t as E}from"./notice-Dslxs3H6.js";import{t as D}from"./tag-gOOX7fbA.js";import{t as O}from"./input-tXUFa7Eo.js";import{t as k}from"./toggle-BEPV0rQM.js";import{n as A}from"./toast-BtFgiPe3.js";import{t as j}from"./confirm-dialog-j9o2h3xs.js";import{t as M}from"./dropdown-B3FHWc_n.js";import{n as N,r as P,v as F}from"./auth-store-C9aYqB9U.js";import{t as ee}from"./sdk.gen-ies09CqM.js";import{a as I,m as te,n as ne,o as re,r as ie,s as ae,t as oe}from"./native-biometric-DetUqtjl.js";import{d as se,u as ce}from"./routes-DrfnNoYS.js";import{f as le}from"./platform-detection-AHYibqOx.js";import{i as L,r as ue,t as de}from"./use-platform-gate-C5bNA5Pn.js";import{f as fe,p as pe}from"./prefs-CfRaGUUx.js";import{n as me,t as R}from"./react-query.gen-BtYBixpk.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-Dbyz25hE.js";import{t as be}from"./platform-login-notice-DFmjUE9q.js";import{t as V}from"./use-active-assistant-id-JLsAfn3e.js";import{t as H}from"./detail-card-BElAV1cp.js";import{t as U}from"./setting-row-C4jX7c_4.js";import{t as xe}from"./settings-divider-BkLQFMlW.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=te(),t=le(),[n,r]=(0,W.useState)(()=>ie()),[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 oe(),r(!1);else{let e=ae();if(!e||!await re(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)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,G.jsx)(w,{className:`h-4 w-4`})})]})]},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:ce(se.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-CUIsZfaf.js";import{t as o}from"./react-BFJW0bSv.js";import{W as s,t as c}from"./button-BwFudwM5.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-CJf7MmLX.js";import{t as m}from"./card-DRIctGVs.js";import{t as h}from"./chevron-down-BNidRDh1.js";import{t as g}from"./chevron-right-CANAtgGn.js";import{t as _}from"./loader-circle-DWWXcfTQ.js";import{c as v,o as y,r as b,t as x}from"./threshold-presets-B-RqvhUM.js";import{t as S}from"./pencil-Cm5DdeRM.js";import{t as C}from"./shield-check-CNsbiH1v.js";import{t as w}from"./trash-2-DfVRfykB.js";import{t as T}from"./x-D4O9yIS7.js";import{t as E}from"./notice-Dslxs3H6.js";import{t as D}from"./tag-G0ELn_cq.js";import{t as O}from"./input-CgGeKtja.js";import{t as k}from"./toggle-BEPV0rQM.js";import{n as A}from"./toast-BHjG1kP8.js";import{t as j}from"./confirm-dialog-B7WBNDbT.js";import{t as M}from"./dropdown-CJVkL1Yp.js";import{n as N,r as P,v as F}from"./auth-store-C9aYqB9U.js";import{t as ee}from"./sdk.gen-ies09CqM.js";import{a as I,m as te,n as ne,o as re,r as ie,s as ae,t as oe}from"./native-biometric-DetUqtjl.js";import{d as se,u as ce}from"./routes-DrfnNoYS.js";import{f as le}from"./platform-detection-AHYibqOx.js";import{i as L,r as ue,t as de}from"./use-platform-gate-C5bNA5Pn.js";import{f as fe,p as pe}from"./prefs-CfRaGUUx.js";import{n as me,t as R}from"./react-query.gen-BtYBixpk.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-Dbyz25hE.js";import{t as be}from"./platform-login-notice-DvWjpI2S.js";import{t as V}from"./use-active-assistant-id-JLsAfn3e.js";import{t as H}from"./detail-card-Br_T-73R.js";import{t as U}from"./setting-row-C4jX7c_4.js";import{t as xe}from"./settings-divider-COV4-sHz.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=te(),t=le(),[n,r]=(0,W.useState)(()=>ie()),[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 oe(),r(!1);else{let e=ae();if(!e||!await re(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)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,G.jsx)(w,{className:`h-4 w-4`})})]})]},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:ce(se.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-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{f as o}from"./local-mode-DHueA-BJ.js";import{t as s}from"./is-electron-DIlIrdJX.js";import{_ as c,i as l,n as u}from"./auth-store-C9aYqB9U.js";import{b as d,m as f,v as p,x as m}from"./native-biometric-DetUqtjl.js";import{d as h,t as g}from"./routes-DrfnNoYS.js";import{d as _,m as v,p as y}from"./prefs-CfRaGUUx.js";import{o as b,r as x}from"./navigation-resolver-CzEY-5nE.js";import{l as S,n as C,o as w}from"./funnel-events-B9hFLlxs.js";import{t as T}from"./onboarding-layout-iPzXbZk1.js";import{t as E}from"./plugin-attribution-DAf_69AU.js";import{n as D,t as O}from"./consent-controls-Bs63UL5k.js";import{r as k,t as A}from"./checkout-continuation-CYDyrqci.js";var j=e(t(),1),M=a();function N({current:e,total:t,color:n}){return(0,M.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":`Step ${e+1} of ${t}`,children:Array.from({length:t},(t,r)=>(0,M.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,M.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${r<=e?``:`opacity-20`}`})},r))})}function P(){let e=i(),[t]=r(),a=u.use.user()?.id??null,p=s(),g=f(),[P,I]=y(),L=P??!0,[R,z]=v(),[B,V]=_(),H=l(),U=k();(0,j.useEffect)(()=>{S()},[]);let W=t.get(`preview`)===`true`,G=(0,j.useCallback)(e=>{},[]),K=W?G:I,q=W?G:z,J=W?G:V,Y=(0,j.useCallback)(()=>{if(W)return;c({userId:a,tos:R,privacy:B,shareAnalytics:null,shareDiagnostics:L,hasPlatformSession:H}),w(C.privacyTos,{userId:a});let n=x(t.get(`returnTo`));if(n){e(n);return}let r=t.get(`hosting`),i=new URLSearchParams;r&&i.set(`hosting`,r);let s=t.get(E);s&&i.set(E,s);let l=i.toString(),u=`${b({isLocalHatch:o()&&r!==null&&r!==`vellum-cloud`})}${l?`?${l}`:``}`,f=m();if(f?.resumeAfterOnboarding===!0)if(U===`disabled`)d();else{let t=F(f);if(t){t.set(A,u),e(`${h.checkout}?${t.toString()}`);return}}e(u)},[B,H,W,e,t,L,U,R,a]);return(0,M.jsx)(T,{children:(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[g&&(0,M.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,M.jsx)(N,{current:2,total:3})}),(0,M.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Before You Start`}),(0,M.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose your privacy preferences. You can update these anytime in the Settings.`}),(0,M.jsx)(D,{electron:p,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:L,onShareAnalyticsChange:G,onShareDiagnosticsChange:K,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,M.jsx)(O,{electron:p,privacyConsent:B,tosAccepted:R,onPrivacyChange:J,onTosChange:q,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,M.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,M.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!R||!B,onClick:Y,className:p?void 0:`h-11 text-base`,children:`Start`}),(0,M.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(o()?h.onboarding.hosting:h.onboarding.start),className:p?void 0:`h-11 text-base`,children:`Back`})]})]})})}function F(e){return e.kind===`package`?new URLSearchParams({[g]:e.packageKey}):e.storageTier===null?null:p({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{P as PrivacyScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{f as o}from"./local-mode-DHueA-BJ.js";import{t as s}from"./is-electron-DIlIrdJX.js";import{_ as c,i as l,n as u}from"./auth-store-C9aYqB9U.js";import{b as d,m as f,v as p,x as m}from"./native-biometric-DetUqtjl.js";import{d as h,t as g}from"./routes-DrfnNoYS.js";import{d as _,m as v,p as y}from"./prefs-CfRaGUUx.js";import{o as b,r as x}from"./navigation-resolver-CzEY-5nE.js";import{l as S,n as C,o as w}from"./funnel-events-B9hFLlxs.js";import{t as T}from"./onboarding-layout-CNKJRWfe.js";import{t as E}from"./plugin-attribution-DAf_69AU.js";import{n as D,t as O}from"./consent-controls-HYcVhQZ2.js";import{r as k,t as A}from"./checkout-continuation-CYDyrqci.js";var j=e(t(),1),M=a();function N({current:e,total:t,color:n}){return(0,M.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":`Step ${e+1} of ${t}`,children:Array.from({length:t},(t,r)=>(0,M.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,M.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${r<=e?``:`opacity-20`}`})},r))})}function P(){let e=i(),[t]=r(),a=u.use.user()?.id??null,p=s(),g=f(),[P,I]=y(),L=P??!0,[R,z]=v(),[B,V]=_(),H=l(),U=k();(0,j.useEffect)(()=>{S()},[]);let W=t.get(`preview`)===`true`,G=(0,j.useCallback)(e=>{},[]),K=W?G:I,q=W?G:z,J=W?G:V,Y=(0,j.useCallback)(()=>{if(W)return;c({userId:a,tos:R,privacy:B,shareAnalytics:null,shareDiagnostics:L,hasPlatformSession:H}),w(C.privacyTos,{userId:a});let n=x(t.get(`returnTo`));if(n){e(n);return}let r=t.get(`hosting`),i=new URLSearchParams;r&&i.set(`hosting`,r);let s=t.get(E);s&&i.set(E,s);let l=i.toString(),u=`${b({isLocalHatch:o()&&r!==null&&r!==`vellum-cloud`})}${l?`?${l}`:``}`,f=m();if(f?.resumeAfterOnboarding===!0)if(U===`disabled`)d();else{let t=F(f);if(t){t.set(A,u),e(`${h.checkout}?${t.toString()}`);return}}e(u)},[B,H,W,e,t,L,U,R,a]);return(0,M.jsx)(T,{children:(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${p?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[g&&(0,M.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,M.jsx)(N,{current:2,total:3})}),(0,M.jsx)(`h1`,{className:p?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Before You Start`}),(0,M.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${p?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose your privacy preferences. You can update these anytime in the Settings.`}),(0,M.jsx)(D,{electron:p,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:L,onShareAnalyticsChange:G,onShareDiagnosticsChange:K,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,M.jsx)(O,{electron:p,privacyConsent:B,tosAccepted:R,onPrivacyChange:J,onTosChange:q,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,M.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${p?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,M.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!R||!B,onClick:Y,className:p?void 0:`h-11 text-base`,children:`Start`}),(0,M.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(o()?h.onboarding.hosting:h.onboarding.start),className:p?void 0:`h-11 text-base`,children:`Back`})]})]})})}function F(e){return e.kind===`package`?new URLSearchParams({[g]:e.packageKey}):e.storageTier===null?null:p({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{P as PrivacyScreen};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{E as s,f as c}from"./local-mode-DHueA-BJ.js";import{at as l,n as u}from"./auth-store-C9aYqB9U.js";import{c as d}from"./api-CGsj1Pig.js";import{T as f,j as p}from"./native-biometric-DetUqtjl.js";import{d as m}from"./routes-DrfnNoYS.js";import{i as h,s as g}from"./login-flow-CQhvCbQQ.js";import{t as _}from"./external-urls-BL9qY0s8.js";import{r as v,t as y}from"./account-shell-BmH96-Ie.js";var b=e(n(),1),x=o();function S(){let[e]=r(),n=a(),o=u.use.refreshSession(),S=e.get(`error`),[C,w]=(0,b.useState)(null),T=(0,b.useRef)(!1),E=e.get(`returnTo`),D=h(e);return(0,b.useEffect)(()=>{T.current||S||(T.current=!0,(async()=>{try{let t=await p(),r=f(t.ok&&!!t.data.user,t.ok?[]:t.flows??[]);switch(r.kind){case`authenticated`:{if(await o(),c())try{let e=await d();if(e.ok&&e.data.length>0&&(await s(e.data,l.getState().currentOrganizationId??void 0),!E)){n(m.assistant,{replace:!0});break}}catch{}let e=m.assistant,{destination:t,requiresFullPageNavigation:r}=g({returnTo:E,fallback:e,authIntent:D});r?window.location.href=t:n(t,{replace:!0});break}case`provider_signup`:{let t=e.get(`returnTo`);n(t?`${m.account.providerSignup}?returnTo=${encodeURIComponent(t)}`:m.account.providerSignup,{replace:!0});break}case`error`:w(r.message);break}}catch(e){t(e,{context:`provider_callback`}),w(`Something went wrong. Please try signing in again.`)}})())},[D,S,o,E,n,e]),S===`signup_closed`?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Signups are currently closed`,subtitle:`Join the community to request access or learn when signups reopen.`}),(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,x.jsx)(`a`,{href:_,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:`Join the community`}),(0,x.jsx)(i,{to:m.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:`Back to sign in`})]})]}):S||C?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Authentication failed`,subtitle:C??`Something went wrong during social sign-in. Please try again or use a different method.`}),(0,x.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,x.jsx)(i,{to:m.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:`Back to sign in`})})]}):(0,x.jsx)(y,{children:(0,x.jsx)(v,{title:`Completing sign-in...`,subtitle:`Please wait while we finish authenticating you.`})})}export{S as ProviderCallbackPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{m as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{E as s,f as c}from"./local-mode-DHueA-BJ.js";import{at as l,n as u}from"./auth-store-C9aYqB9U.js";import{c as d}from"./api-CGsj1Pig.js";import{T as f,j as p}from"./native-biometric-DetUqtjl.js";import{d as m}from"./routes-DrfnNoYS.js";import{i as h,s as g}from"./login-flow-CQhvCbQQ.js";import{t as _}from"./external-urls-BL9qY0s8.js";import{r as v,t as y}from"./account-shell-BBDh-DzD.js";var b=e(n(),1),x=o();function S(){let[e]=r(),n=a(),o=u.use.refreshSession(),S=e.get(`error`),[C,w]=(0,b.useState)(null),T=(0,b.useRef)(!1),E=e.get(`returnTo`),D=h(e);return(0,b.useEffect)(()=>{T.current||S||(T.current=!0,(async()=>{try{let t=await p(),r=f(t.ok&&!!t.data.user,t.ok?[]:t.flows??[]);switch(r.kind){case`authenticated`:{if(await o(),c())try{let e=await d();if(e.ok&&e.data.length>0&&(await s(e.data,l.getState().currentOrganizationId??void 0),!E)){n(m.assistant,{replace:!0});break}}catch{}let e=m.assistant,{destination:t,requiresFullPageNavigation:r}=g({returnTo:E,fallback:e,authIntent:D});r?window.location.href=t:n(t,{replace:!0});break}case`provider_signup`:{let t=e.get(`returnTo`);n(t?`${m.account.providerSignup}?returnTo=${encodeURIComponent(t)}`:m.account.providerSignup,{replace:!0});break}case`error`:w(r.message);break}}catch(e){t(e,{context:`provider_callback`}),w(`Something went wrong. Please try signing in again.`)}})())},[D,S,o,E,n,e]),S===`signup_closed`?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Signups are currently closed`,subtitle:`Join the community to request access or learn when signups reopen.`}),(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,x.jsx)(`a`,{href:_,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:`Join the community`}),(0,x.jsx)(i,{to:m.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:`Back to sign in`})]})]}):S||C?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Authentication failed`,subtitle:C??`Something went wrong during social sign-in. Please try again or use a different method.`}),(0,x.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,x.jsx)(i,{to:m.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:`Back to sign in`})})]}):(0,x.jsx)(y,{children:(0,x.jsx)(v,{title:`Completing sign-in...`,subtitle:`Please wait while we finish authenticating you.`})})}export{S as ProviderCallbackPage};
@@ -0,0 +1 @@
1
+ import{n as e}from"./assistant-identity-store-B51BX78j.js";import{a as t}from"./utils-DtVy-_pB.js";import{Jt as n,O as r,j as i,k as a,sr as o}from"./sdk.gen-CjtCuSlS.js";import{t as s}from"./identity-BplXBnQ5.js";var c=[{id:`anthropic`,displayName:`Anthropic`,apiKeyPlaceholder:`sk-ant-api03-...`,docsUrl:`https://console.anthropic.com/settings/keys`,requiresKey:!0,defaultModel:`claude-sonnet-4-6`},{id:`openai`,displayName:`OpenAI`,apiKeyPlaceholder:`sk-proj-...`,docsUrl:`https://platform.openai.com/api-keys`,requiresKey:!0,defaultModel:`gpt-5.4-mini`},{id:`gemini`,displayName:`Google Gemini`,apiKeyPlaceholder:`AIza...`,docsUrl:`https://aistudio.google.com/apikey`,requiresKey:!0,defaultModel:`gemini-3-flash-preview`},{id:`ollama`,displayName:`Ollama`,apiKeyPlaceholder:null,docsUrl:`https://ollama.com/download`,requiresKey:!1,defaultModel:`llama3.2`,models:[{id:`llama3.2`,displayName:`Llama 3.2`,contextWindowTokens:128e3,maxOutputTokens:4096},{id:`mistral`,displayName:`Mistral`,contextWindowTokens:32768,maxOutputTokens:4096}]},{id:`fireworks`,displayName:`Fireworks`,apiKeyPlaceholder:`fw_...`,docsUrl:`https://fireworks.ai/account/api-keys`,requiresKey:!0,defaultModel:`accounts/fireworks/models/minimax-m3`},{id:`openrouter`,displayName:`OpenRouter`,apiKeyPlaceholder:`sk-or-v1-...`,docsUrl:`https://openrouter.ai/keys`,requiresKey:!0,defaultModel:`anthropic/claude-sonnet-4.6`},{id:`vercel-ai-gateway`,displayName:`Vercel AI Gateway`,apiKeyPlaceholder:`vck_...`,docsUrl:`https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai-gateway%2Fapi-keys&title=AI+Gateway+API+Keys`,requiresKey:!0,defaultModel:`anthropic/claude-sonnet-4.6`},{id:`openai-compatible`,displayName:`OpenAI-compatible`,apiKeyPlaceholder:`Your provider's API key (optional)`,docsUrl:null,requiresKey:!0}],l=c[0];function u(e){return c.find(t=>t.id===e)}function d(e){let t=u(e);return t?.defaultModel??t?.models?.[0]?.id}var f=`0.11.1`;async function p(n){let r=e();return t(r===null?(await s(n))?.version??null:r,f)}var m=`onboarding.providerKey`,h=2e5,g=`custom-balanced`,_=new Set([`ollama`,`openai-compatible`]);function v(e){try{if(e===null){sessionStorage.removeItem(m);return}sessionStorage.setItem(m,JSON.stringify(e))}catch{}}function y(e){return typeof e==`object`&&!!e&&`provider`in e&&typeof e.provider==`string`&&`key`in e&&typeof e.key==`string`&&(!(`model`in e)||typeof e.model==`string`)&&(!(`baseUrl`in e)||typeof e.baseUrl==`string`)&&(!(`customModels`in e)||typeof e.customModels==`string`)}function b(){try{let e=sessionStorage.getItem(m);if(!e)return null;let t=JSON.parse(e);return y(t)?t:null}catch{return null}}function x(){let e=b();try{sessionStorage.removeItem(m)}catch{}return e}var S=class extends Error{provider;reason;constructor(e,t){super(t??`${e} rejected the API key`),this.name=`ProviderKeyRejectedError`,this.provider=e,this.reason=t}};function C(e,t){if(!e?.ok)throw Object.assign(Error(t),{status:e?.status})}async function w(e,t,n){let{data:r,response:i}=await o({path:{assistant_id:e},body:{type:`api_key`,name:t,value:n},throwOnError:!1});if(C(i,`Failed to write provider secret`),r&&r.success===!1)throw new S(t,r.error)}async function T(e,t){let r=u(t)?.displayName??t,{response:i}=await n({path:{assistant_id:e},body:{name:`${t}-personal`,provider:t,auth:{type:`api_key`,credential:`credential/${t}/api_key`},label:`${r} (Personal)`},throwOnError:!1});i?.status!==409&&C(i,`Failed to create provider connection`)}async function E(e,t){let{response:n}=await r({path:{assistant_id:e},body:{provider:t},throwOnError:!1});C(n,`Failed to set default provider`)}async function D(e,t,r,i){let a=t===`openai-compatible`,o=r||a?{type:`api_key`,credential:`credential/${t}/api_key`}:{type:`none`},s=a&&i?.baseUrl?i.baseUrl:void 0,c=a&&i?.customModels?i.customModels.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):void 0,{response:l}=await n({path:{assistant_id:e},body:{name:t,provider:t,auth:o,...s===void 0?{}:{base_url:s},...c===void 0?{}:{models:c}},throwOnError:!1});l?.status!==409&&C(l,`Failed to create provider connection`)}function O(e,t){let n=u(e),r=n?.models?.find(e=>e.id===t),i={provider:e,model:t,provider_connection:e,source:`user`,label:n?.displayName??e,maxTokens:r?.maxOutputTokens??16e3,contextWindow:{maxInputTokens:r?.contextWindowTokens??h}};return e===`ollama`?(i.effort=`none`,i.thinking={enabled:!1,streamThinking:!1}):(i.effort=`high`,i.thinking={enabled:!0,streamThinking:!0}),i}async function k(e,t,n){let{response:r}=await a({path:{assistant_id:e,name:t},body:O(t,n),throwOnError:!1});C(r,`Failed to set provider profile`);let{response:o}=await i({path:{assistant_id:e},body:{llm:{activeProfile:t}},throwOnError:!1});C(o,`Failed to activate provider profile`)}async function A(e,t,n){await D(e,t.provider,n,{baseUrl:t.baseUrl,customModels:t.customModels});let r=t.model?.trim()||d(t.provider);if(!r)return;let{response:o}=await a({path:{assistant_id:e,name:g},body:{...O(t.provider,r),label:`Balanced`,description:`Good balance of quality, cost, and speed`},throwOnError:!1});C(o,`Failed to set provider profile`);let{response:s}=await i({path:{assistant_id:e},body:{llm:{activeProfile:g}},throwOnError:!1});C(s,`Failed to activate provider profile`)}async function j(e){let t=x();if(t)try{await M(e,t)}catch(e){throw e instanceof S&&v(t),e}}async function M(e,t){let n=t.key.trim();if(!_.has(t.provider)){await w(e,t.provider,n),await p(e)?(await T(e,t.provider),await E(e,t.provider)):await A(e,t,n.length>0);return}let r=n.length>0,i=t.provider===`openai-compatible`;(r||i)&&await w(e,t.provider,n),await D(e,t.provider,r,{baseUrl:t.baseUrl,customModels:t.customModels});let a=t.model?.trim(),o=t.customModels?.split(`,`).map(e=>e.trim()).find(e=>e),s=a||o||d(t.provider);s&&await k(e,t.provider,s)}export{l as a,u as c,v as i,j as n,c as o,b as r,d as s,S as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n,t as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{n as o}from"./auth-store-C9aYqB9U.js";import{A as s,M as c,P as l}from"./native-biometric-DetUqtjl.js";import{d as u}from"./routes-DrfnNoYS.js";import{c as d,s as f}from"./login-flow-CQhvCbQQ.js";import{i as p,n as m,r as h,t as g}from"./account-shell-BmH96-Ie.js";import{t as _}from"./signup-shell-Dwuv81sx.js";var v=e(t(),1),y=a();function b(){let e=i(),[t]=n(),a=o.use.refreshSession(),b=t.get(`returnTo`),[x,S]=(0,v.useState)(``),[C,w]=(0,v.useState)(``),[T,E]=(0,v.useState)(``),[D,O]=(0,v.useState)(``),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(null),[N,P]=(0,v.useState)(!1),[F,I]=(0,v.useState)(!0),L=(0,v.useRef)(!1);(0,v.useEffect)(()=>{L.current||(L.current=!0,(async()=>{try{let t=await s();if(!t.ok){e(u.account.login,{replace:!0});return}S(t.data.user.email??``),w(t.data.user.username??``),E(t.data.user.first_name??``),O(t.data.user.last_name??``),I(!1)}catch{e(u.account.login,{replace:!0})}})())},[e]);let R=async()=>{let t=await l({email:x,username:C});if(!t.ok){if(c(t)){await a();let t=d(b,u.account.root);t.requiresFullPageNavigation?window.location.href=t.destination:e(t.destination);return}M(t.errors[0]?.message??`Failed to complete signup.`);return}await a();let n=f({returnTo:b,fallback:u.account.root,authIntent:`signup`});n.requiresFullPageNavigation?window.location.href=n.destination:e(n.destination)},z=async e=>{e.preventDefault(),M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}},B=async e=>{if(e.preventDefault(),k.trim()){M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}}};if(F)return(0,y.jsx)(g,{children:(0,y.jsx)(h,{title:`Completing signup...`,subtitle:`Please wait while we load your information.`})});if(x&&C){let e=k.trim().length>0&&!N;return(0,y.jsx)(_,{children:(0,y.jsxs)(`form`,{onSubmit:B,className:`signup-details__thread`,children:[(0,y.jsxs)(`h2`,{className:`signup-details__heading`,children:[`Almost there,`,(0,y.jsx)(`br`,{}),`one more detail`]}),j&&(0,y.jsx)(`p`,{className:`signup-details__error`,children:j}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`What should I call you?`,` `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`First name`,value:T,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`And your last name? `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`Last name`,value:D,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`Your role `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,autoComplete:`organization-title`,placeholder:`e.g. Software Engineer`,value:k,onChange:e=>A(e.target.value),autoFocus:!0})]}),(0,y.jsx)(`div`,{className:`signup-details__step`,children:(0,y.jsx)(`button`,{type:`submit`,className:`signup-details__continue`,disabled:!e,children:N?`Setting up…`:`Continue →`})})]})})}return(0,y.jsxs)(g,{children:[(0,y.jsx)(h,{title:`Complete your account`,subtitle:`We need a few more details to finish setting up your account.`}),(0,y.jsxs)(m,{onSubmit:z,error:j,submitLabel:`Complete signup`,submittingLabel:`Completing...`,isSubmitting:N,footer:(0,y.jsx)(r,{to:u.account.login,className:`text-sm text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:`← Back to sign in`}),children:[(0,y.jsx)(p,{id:`email`,type:`email`,autoComplete:`email`,placeholder:`Email`,value:x,onChange:e=>S(e.target.value),required:!0}),(0,y.jsx)(p,{id:`username`,type:`text`,autoComplete:`username`,placeholder:`Username`,value:C,onChange:e=>w(e.target.value),required:!0})]})]})}export{b as ProviderSignupPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n,t as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{n as o}from"./auth-store-C9aYqB9U.js";import{A as s,M as c,P as l}from"./native-biometric-DetUqtjl.js";import{d as u}from"./routes-DrfnNoYS.js";import{c as d,s as f}from"./login-flow-CQhvCbQQ.js";import{i as p,n as m,r as h,t as g}from"./account-shell-BBDh-DzD.js";import{t as _}from"./signup-shell-Dwuv81sx.js";var v=e(t(),1),y=a();function b(){let e=i(),[t]=n(),a=o.use.refreshSession(),b=t.get(`returnTo`),[x,S]=(0,v.useState)(``),[C,w]=(0,v.useState)(``),[T,E]=(0,v.useState)(``),[D,O]=(0,v.useState)(``),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(null),[N,P]=(0,v.useState)(!1),[F,I]=(0,v.useState)(!0),L=(0,v.useRef)(!1);(0,v.useEffect)(()=>{L.current||(L.current=!0,(async()=>{try{let t=await s();if(!t.ok){e(u.account.login,{replace:!0});return}S(t.data.user.email??``),w(t.data.user.username??``),E(t.data.user.first_name??``),O(t.data.user.last_name??``),I(!1)}catch{e(u.account.login,{replace:!0})}})())},[e]);let R=async()=>{let t=await l({email:x,username:C});if(!t.ok){if(c(t)){await a();let t=d(b,u.account.root);t.requiresFullPageNavigation?window.location.href=t.destination:e(t.destination);return}M(t.errors[0]?.message??`Failed to complete signup.`);return}await a();let n=f({returnTo:b,fallback:u.account.root,authIntent:`signup`});n.requiresFullPageNavigation?window.location.href=n.destination:e(n.destination)},z=async e=>{e.preventDefault(),M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}},B=async e=>{if(e.preventDefault(),k.trim()){M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}}};if(F)return(0,y.jsx)(g,{children:(0,y.jsx)(h,{title:`Completing signup...`,subtitle:`Please wait while we load your information.`})});if(x&&C){let e=k.trim().length>0&&!N;return(0,y.jsx)(_,{children:(0,y.jsxs)(`form`,{onSubmit:B,className:`signup-details__thread`,children:[(0,y.jsxs)(`h2`,{className:`signup-details__heading`,children:[`Almost there,`,(0,y.jsx)(`br`,{}),`one more detail`]}),j&&(0,y.jsx)(`p`,{className:`signup-details__error`,children:j}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`What should I call you?`,` `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`First name`,value:T,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`And your last name? `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`Last name`,value:D,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`Your role `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,autoComplete:`organization-title`,placeholder:`e.g. Software Engineer`,value:k,onChange:e=>A(e.target.value),autoFocus:!0})]}),(0,y.jsx)(`div`,{className:`signup-details__step`,children:(0,y.jsx)(`button`,{type:`submit`,className:`signup-details__continue`,disabled:!e,children:N?`Setting up…`:`Continue →`})})]})})}return(0,y.jsxs)(g,{children:[(0,y.jsx)(h,{title:`Complete your account`,subtitle:`We need a few more details to finish setting up your account.`}),(0,y.jsxs)(m,{onSubmit:z,error:j,submitLabel:`Complete signup`,submittingLabel:`Completing...`,isSubmitting:N,footer:(0,y.jsx)(r,{to:u.account.login,className:`text-sm text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:`← Back to sign in`}),children:[(0,y.jsx)(p,{id:`email`,type:`email`,autoComplete:`email`,placeholder:`Email`,value:x,onChange:e=>S(e.target.value),required:!0}),(0,y.jsx)(p,{id:`username`,type:`text`,autoComplete:`username`,placeholder:`Username`,value:C,onChange:e=>w(e.target.value),required:!0})]})]})}export{b as ProviderSignupPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import"./button-Dy5001j6.js";import{n,u as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{d as a}from"./routes-DrfnNoYS.js";import"./conversation-store-CTMy9QPV.js";import"./research-results-view-BFZFPpev.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(){r();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)(n,{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-BwFudwM5.js";import{n,u as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{d as a}from"./routes-DrfnNoYS.js";import"./conversation-store-CTMy9QPV.js";import"./research-results-view-BYpW36E0.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(){r();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)(n,{to:a.assistant,replace:!0})}export{l as ResearchMockPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-CqtAGHQu.js";import{t as r}from"./react-BFJW0bSv.js";import{F as i,t as a}from"./button-Dy5001j6.js";import{m as o,u as s}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as c}from"./QueryClientProvider-CMu7CkQU.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-CJf7MmLX.js";import{t as d}from"./arrow-left-W84B6oJL.js";import{t as f}from"./arrow-right-ChqGeAaW.js";import{t as p}from"./dices-C3diFTyP.js";import{t as m}from"./loader-circle-DWWXcfTQ.js";import{t as h}from"./pencil-Cm5DdeRM.js";import{t as g}from"./plus-EJu6s6xR.js";import{t as _}from"./search-DL-2uX3K.js";import{t as v}from"./x-D4O9yIS7.js";import{t as y}from"./notice-Dslxs3H6.js";import{t as b}from"./tag-gOOX7fbA.js";import{t as x}from"./input-tXUFa7Eo.js";import{i as S,r as C,t as w}from"./dist-C68qFSny.js";import{n as T,t as E}from"./create-selectors-BfxF8Sx_.js";import{b as D,dt as ee,f as O,it as k,o as A,ot as j,w as M}from"./local-mode-DHueA-BJ.js";import{r as N}from"./api-errors-BRGPPSWw.js";import{_t as te,at as ne,gt as re,ht as ie,n as ae,rt as oe,st as se,vt as P}from"./auth-store-C9aYqB9U.js";import{Cn as F,Kn as ce,Sn as I,V as le,kr as ue,qn as de,tt as L}from"./sdk.gen-CjtCuSlS.js";import{a as fe,o as R,r as pe}from"./api-CGsj1Pig.js";import{d as me}from"./routes-DrfnNoYS.js";import{n as he}from"./use-is-org-ready-3vHDbj4G.js";import{t as ge}from"./navigation-resolver-CzEY-5nE.js";import{o as _e,s as ve}from"./prechat-C4MZwKWX.js";import{t as ye}from"./browser-timezone-Br-HawKV.js";import{t as be}from"./identity-BplXBnQ5.js";import{c as xe}from"./conversation-list-fetchers-C6W8PkvR.js";import{i as Se}from"./conversation-cache-D1AJdwZd.js";import{t as Ce}from"./avatar-bundled-components-BvKt7I7O.js";import{i as we,n as Te,r as Ee,t as De}from"./research-onboarding-persistence-DwV372yy.js";import{a as Oe,c as ke,i as Ae,l as je,o as Me,s as z,t as B,u as Ne}from"./first-run-scope-CPJpXaWU.js";import{c as Pe,i as Fe}from"./funnel-events-B9hFLlxs.js";import{t as V}from"./proxy-DrtKRLtr.js";import{t as H}from"./AnimatePresence-CHo6D7IH.js";import{t as U}from"./use-reduced-motion-fR0m_opJ.js";import{i as Ie}from"./avatar-tone-D99t9DAP.js";import{n as Le,t as Re}from"./eye-bbox-CRs175_n.js";import{a as ze,i as Be}from"./research-facts-BUfgocIh.js";import{t as Ve}from"./onboarding-layout-iPzXbZk1.js";import{t as W}from"./animated-avatar-B0vCEKkY.js";import{n as G,t as He}from"./use-bundled-avatar-components-BcyasJwu.js";import{a as Ue,c as We,i as Ge,l as Ke,n as K,r as qe,t as Je,u as Ye}from"./latest-assistant-text-CwHBWP6s.js";import{n as q,t as Xe}from"./onboarding-step-layout-Bsc_5btV.js";import{a as Ze,i as Qe,n as $e,r as et,t as tt}from"./avatar-random-BR8w4F35.js";import{n as nt}from"./plugin-attribution-DAf_69AU.js";var J=e(r(),1),rt=`grounded`,it=12;function at(e,t){let n=e.slice(0,it).map(e=>`- ${e.name} — ${e.description}`).join(`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./capture-error-CqtAGHQu.js";import{t as r}from"./react-BFJW0bSv.js";import{W as i,t as a}from"./button-BwFudwM5.js";import{m as o,u as s}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as c}from"./QueryClientProvider-CMu7CkQU.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./cn-CJf7MmLX.js";import{t as d}from"./arrow-left-W84B6oJL.js";import{t as f}from"./arrow-right-ChqGeAaW.js";import{t as p}from"./dices-C3diFTyP.js";import{t as m}from"./loader-circle-DWWXcfTQ.js";import{t as h}from"./pencil-Cm5DdeRM.js";import{t as g}from"./plus-EJu6s6xR.js";import{t as _}from"./search-DL-2uX3K.js";import{t as v}from"./x-D4O9yIS7.js";import{t as y}from"./notice-Dslxs3H6.js";import{t as b}from"./tag-G0ELn_cq.js";import{t as x}from"./input-CgGeKtja.js";import{i as S,r as C,t as w}from"./dist-BrrL0-_M.js";import{n as T,t as E}from"./create-selectors-BfxF8Sx_.js";import{b as D,dt as ee,f as O,it as k,o as A,ot as j,w as M}from"./local-mode-DHueA-BJ.js";import{r as N}from"./api-errors-BRGPPSWw.js";import{_t as te,at as ne,gt as re,ht as ie,n as ae,rt as oe,st as se,vt as P}from"./auth-store-C9aYqB9U.js";import{Cn as F,Kn as ce,Sn as I,V as le,kr as ue,qn as de,tt as L}from"./sdk.gen-CjtCuSlS.js";import{a as fe,o as R,r as pe}from"./api-CGsj1Pig.js";import{d as me}from"./routes-DrfnNoYS.js";import{n as he}from"./use-is-org-ready-3vHDbj4G.js";import{t as ge}from"./navigation-resolver-CzEY-5nE.js";import{o as _e,s as ve}from"./prechat-C4MZwKWX.js";import{t as ye}from"./browser-timezone-Br-HawKV.js";import{t as be}from"./identity-BplXBnQ5.js";import{c as xe}from"./conversation-list-fetchers-C6W8PkvR.js";import{i as Se}from"./conversation-cache-D1AJdwZd.js";import{t as Ce}from"./avatar-bundled-components-BvKt7I7O.js";import{i as we,n as Te,r as Ee,t as De}from"./research-onboarding-persistence-DwV372yy.js";import{a as Oe,c as ke,i as Ae,l as je,o as Me,s as z,t as B,u as Ne}from"./first-run-scope-DqdWmMO-.js";import{c as Pe,i as Fe}from"./funnel-events-B9hFLlxs.js";import{t as V}from"./proxy-DrtKRLtr.js";import{t as H}from"./AnimatePresence-CHo6D7IH.js";import{t as U}from"./use-reduced-motion-fR0m_opJ.js";import{i as Ie}from"./avatar-tone-D99t9DAP.js";import{n as Le,t as Re}from"./eye-bbox-CRs175_n.js";import{a as ze,i as Be}from"./research-facts-BUfgocIh.js";import{t as Ve}from"./onboarding-layout-CNKJRWfe.js";import{t as W}from"./animated-avatar-B0vCEKkY.js";import{n as G,t as He}from"./use-bundled-avatar-components-BcyasJwu.js";import{a as Ue,c as We,i as Ge,l as Ke,n as K,r as qe,t as Je,u as Ye}from"./latest-assistant-text-CwHBWP6s.js";import{n as q,t as Xe}from"./onboarding-step-layout-Bsc_5btV.js";import{a as Ze,i as Qe,n as $e,r as et,t as tt}from"./avatar-random-BR8w4F35.js";import{n as nt}from"./plugin-attribution-DAf_69AU.js";var J=e(r(),1),rt=`grounded`,it=12;function at(e,t){let n=e.slice(0,it).map(e=>`- ${e.name} — ${e.description}`).join(`
2
2
  `);return n?`
3
3
  Capabilities you can offer me — specialized skillsets you can invoke on my behalf, not generic chat:
4
4
  ${n}
@@ -1,3 +1,3 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./ban-BKp90l-0.js";import{t as a}from"./globe-CdLn4IX7.js";import{t as o}from"./sparkles-DfEFn3Bh.js";import{t as s}from"./tag-gOOX7fbA.js";import{t as c}from"./popover-B-3isZCV.js";import{n as l,r as u,t as d}from"./research-facts-BUfgocIh.js";var f=e(t(),1),p=r();function m({src:e,domain:t,className:n}){let[r,i]=(0,f.useState)(!1),o=n??`size-4`;return!e||r?(0,p.jsx)(`span`,{className:`flex ${o} items-center justify-center text-[var(--content-tertiary)]`,children:(0,p.jsx)(a,{className:`size-3.5`})}):(0,p.jsx)(`img`,{src:e,alt:``,title:t,width:16,height:16,className:`${o} shrink-0 rounded-sm object-contain`,onError:()=>i(!0)})}function h(e){let t=e.contentBlocks;if(t&&t.length>0){let e=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./ban-BKp90l-0.js";import{t as a}from"./globe-CdLn4IX7.js";import{t as o}from"./sparkles-DfEFn3Bh.js";import{t as s}from"./tag-G0ELn_cq.js";import{t as c}from"./popover-CBYgK7Wt.js";import{n as l,r as u,t as d}from"./research-facts-BUfgocIh.js";var f=e(t(),1),p=r();function m({src:e,domain:t,className:n}){let[r,i]=(0,f.useState)(!1),o=n??`size-4`;return!e||r?(0,p.jsx)(`span`,{className:`flex ${o} items-center justify-center text-[var(--content-tertiary)]`,children:(0,p.jsx)(a,{className:`size-3.5`})}):(0,p.jsx)(`img`,{src:e,alt:``,title:t,width:16,height:16,className:`${o} shrink-0 rounded-sm object-contain`,onError:()=>i(!0)})}function h(e){let t=e.contentBlocks;if(t&&t.length>0){let e=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `).trim();if(e)return e}return(e.textSegments??[]).join(`
3
3
  `).trim()}function g(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.role!==`user`)return n}return null}function _(e){let t=new Map;for(let n of e){let e=u(n);e&&!t.has(e)&&t.set(e,n)}return[...t].map(([e,t])=>({domain:e,url:t}))}var v=[`not_me`,`not_relevant`];function y({fact:e,removed:t,onRemove:n,onSetReason:r,onRestore:a,resolveFavicon:o}){let[u,h]=(0,f.useState)(!1),[g,y]=(0,f.useState)(!1),b=l(e.confidence),x=_(e.sources),S=x.length>0&&!t;return(0,p.jsxs)(`li`,{className:`group flex flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] transition-opacity ${t?`opacity-50`:``}`,style:{animation:`fadeInUp 0.35s ease-out both`},children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2.5 px-4 py-2.5 ${S?`cursor-pointer`:``}`,onClick:S?()=>h(e=>!e):void 0,children:[(0,p.jsx)(`span`,{className:`text-[15px] leading-snug text-[var(--content-default)] ${t?`line-through`:``}`,children:e.claim}),(0,p.jsx)(s,{tone:b.tone,children:b.label}),(0,p.jsxs)(c.Root,{open:g,onOpenChange:e=>{y(e),e&&!t&&n()},children:[(0,p.jsx)(c.Trigger,{asChild:!0,children:(0,p.jsx)(`button`,{type:`button`,"aria-label":t?`Edit removal`:`Remove`,onClick:e=>e.stopPropagation(),className:`ml-auto shrink-0 cursor-pointer text-[var(--content-tertiary)] transition-opacity hover:text-[var(--content-default)] focus-visible:opacity-100 ${t?`opacity-100`:`opacity-0 group-hover:opacity-100`}`,children:(0,p.jsx)(i,{className:`size-[18px]`})})}),(0,p.jsxs)(c.Content,{align:`end`,className:`flex w-52 flex-col gap-0.5`,children:[(0,p.jsx)(`p`,{className:`px-2 pb-1 pt-1 text-label-small-default text-[var(--content-tertiary)]`,children:`Why remove this?`}),v.map(e=>(0,p.jsx)(`button`,{type:`button`,onClick:()=>{r(e),y(!1)},className:`rounded-md px-2 py-1.5 text-left text-sm text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)]`,children:d[e]},e)),(0,p.jsx)(`button`,{type:`button`,onClick:()=>{a(),y(!1)},className:`mt-0.5 rounded-md border-t border-[var(--border-base)] px-2 pt-2 pb-1 text-left text-sm text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:`Keep it`})]})]})]}),u&&S?(0,p.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-[var(--border-base)] px-4 py-2.5`,children:[(0,p.jsx)(`span`,{className:`text-label-small-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:`Sources`}),x.map(({domain:e,url:t})=>(0,p.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,className:`flex items-center gap-2 text-sm text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,p.jsx)(m,{src:o(e),domain:e}),e]},e))]}):null]})}function b({items:e,removals:t,onRemove:n,onSetReason:r,onRestore:i,title:a,resolveFavicon:o}){return(0,p.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,p.jsx)(`h2`,{className:`text-lg font-medium text-[var(--content-secondary)]`,children:a}),(0,p.jsx)(`ul`,{className:`flex flex-col gap-2`,children:e.map(({fact:e,index:a})=>(0,p.jsx)(y,{fact:e,removed:t.has(a),onRemove:()=>n(a),onSetReason:e=>r(a,e),onRestore:()=>i(a),resolveFavicon:o},`${a}-${e.claim}`))})]})}function x({suggestions:e,onSelect:t}){return e.length===0?null:(0,p.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,p.jsx)(`h2`,{className:`text-lg font-medium text-[var(--content-secondary)]`,children:`Here's how I could help to start:`}),(0,p.jsx)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2`,children:e.slice(0,4).map((e,n)=>(0,p.jsxs)(`button`,{type:`button`,onClick:()=>t(e.prompt),className:`flex cursor-pointer items-center gap-2.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-3 text-left transition-colors hover:border-[var(--border-element)] hover:bg-[var(--surface-base)]`,style:{animation:`fadeInUp 0.35s ease-out both`},children:[(0,p.jsx)(o,{className:`size-4 shrink-0 text-[var(--content-tertiary)]`}),(0,p.jsx)(`span`,{className:`text-[15px] leading-snug text-[var(--content-default)]`,children:e.suggestion})]},`${n}-${e.suggestion}`))})]})}function S({mode:e,loadingContent:t,items:r,removals:i,suggestions:a,resultsTitle:o,showSuggestions:s,canContinue:c,resolveFavicon:l,onRemove:u,onSetReason:d,onRestore:f,onSuggestionClick:m,onContinue:h}){return(0,p.jsx)(`div`,{className:`flex h-full w-full flex-col overflow-y-auto bg-[var(--surface-base)]`,children:(0,p.jsxs)(`div`,{className:`mx-auto flex min-h-full w-full max-w-2xl flex-col gap-8 px-6 py-12`,children:[(0,p.jsx)(`div`,{className:`flex flex-1 flex-col justify-start gap-8 pt-4`,children:e===`results`?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(b,{items:r,removals:i,onRemove:u,onSetReason:d,onRestore:f,resolveFavicon:l,title:o}),s?(0,p.jsx)(x,{suggestions:a,onSelect:m}):null]}):e===`empty`?(0,p.jsxs)(`div`,{className:`flex flex-col items-center gap-3 text-center text-[var(--content-secondary)]`,children:[(0,p.jsx)(`p`,{className:`text-lg text-[var(--content-default)]`,children:`Let's just dive in.`}),(0,p.jsx)(`p`,{className:`text-body-medium-lighter`,children:`I couldn't pull together a clean profile this time — we can get to know each other as we go.`})]}):t}),(0,p.jsx)(`div`,{className:`flex shrink-0 justify-end`,children:(0,p.jsx)(n,{variant:`primary`,size:`regular`,onClick:h,disabled:!c,className:`h-11 px-6 text-base`,children:`Continue`})})]})})}export{m as i,h as n,g as r,S as t};
@@ -1 +1 @@
1
- import{o as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./confirm-dialog-j9o2h3xs.js";import{E as r,S as i,a,d as o,f as s}from"./local-mode-DHueA-BJ.js";import{n as c}from"./resolved-assistants-store-C6oDdTxB.js";import{at as l,n as u}from"./auth-store-C9aYqB9U.js";import{c as d,d as f}from"./api-CGsj1Pig.js";import{d as p}from"./routes-DrfnNoYS.js";import{a as m}from"./navigation-resolver-CzEY-5nE.js";import{t as h}from"./build-state-9uUe0jN5.js";import{t as g}from"./research-onboarding-persistence-DwV372yy.js";var _=`vellum_assistant_name`;function v(){let e=m(h(),{kind:`post-retire`});return e.action===`redirect`?e.to:p.welcome}async function y(t){try{let n=a().assistants.find(e=>e.assistantId===t);if(s()&&n&&o(n)){let e=await i(t);if(!e.ok)return{ok:!1,error:e.error||`Failed to retire assistant.`}}else{let e=await f(t);if(!(e.ok||e.status===404))return{ok:!1,error:typeof e.error?.detail==`string`?e.error.detail:`Failed to retire assistant.`};if(s())try{let e=await d();e.ok&&await r(e.data,l.getState().currentOrganizationId??void 0)}catch{}}return c.getState().remove(t),g(u.getState().user?.id??null),e(_),{ok:!0,nextRoute:v()}}catch{return{ok:!1,error:`Failed to retire assistant.`}}}var b=t();function x({open:e,isPending:t,extraMessage:r,onConfirm:i,onCancel:a}){return(0,b.jsx)(n,{open:e,title:`Retire Assistant`,message:(0,b.jsxs)(b.Fragment,{children:[`This will permanently retire this assistant and all of its data. You will need to go through the onboarding flow again to create a new one. This action cannot be undone.`,r]}),confirmLabel:`Retire`,destructive:!0,isPending:t,onConfirm:i,onCancel:a})}export{y as n,x as t};
1
+ import{o as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./confirm-dialog-B7WBNDbT.js";import{E as r,S as i,a,d as o,f as s}from"./local-mode-DHueA-BJ.js";import{n as c}from"./resolved-assistants-store-C6oDdTxB.js";import{at as l,n as u}from"./auth-store-C9aYqB9U.js";import{c as d,d as f}from"./api-CGsj1Pig.js";import{d as p}from"./routes-DrfnNoYS.js";import{a as m}from"./navigation-resolver-CzEY-5nE.js";import{t as h}from"./build-state-9uUe0jN5.js";import{t as g}from"./research-onboarding-persistence-DwV372yy.js";var _=`vellum_assistant_name`;function v(){let e=m(h(),{kind:`post-retire`});return e.action===`redirect`?e.to:p.welcome}async function y(t){try{let n=a().assistants.find(e=>e.assistantId===t);if(s()&&n&&o(n)){let e=await i(t);if(!e.ok)return{ok:!1,error:e.error||`Failed to retire assistant.`}}else{let e=await f(t);if(!(e.ok||e.status===404))return{ok:!1,error:typeof e.error?.detail==`string`?e.error.detail:`Failed to retire assistant.`};if(s())try{let e=await d();e.ok&&await r(e.data,l.getState().currentOrganizationId??void 0)}catch{}}return c.getState().remove(t),g(u.getState().user?.id??null),e(_),{ok:!0,nextRoute:v()}}catch{return{ok:!1,error:`Failed to retire assistant.`}}}var b=t();function x({open:e,isPending:t,extraMessage:r,onConfirm:i,onCancel:a}){return(0,b.jsx)(n,{open:e,title:`Retire Assistant`,message:(0,b.jsxs)(b.Fragment,{children:[`This will permanently retire this assistant and all of its data. You will need to go through the onboarding flow again to create a new one. This action cannot be undone.`,r]}),confirmLabel:`Retire`,destructive:!0,isPending:t,onConfirm:i,onCancel:a})}export{y as n,x as t};