@vellumai/web 0.10.6 → 0.10.7-dev.202607072325.09ad030

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 (408) hide show
  1. package/dist/assets/{AnimatePresence-VF_hIZFD.js → AnimatePresence-CS9ctsw2.js} +2 -2
  2. package/dist/assets/{BundleConfirmPage-DOUpVq0Q.js → BundleConfirmPage-TmAbYoHc.js} +1 -1
  3. package/dist/assets/Combination-BG46kjfK.js +41 -0
  4. package/dist/assets/{a2a-invite-Bv0xGbPM.js → a2a-invite-wNM6Ff0r.js} +1 -1
  5. package/dist/assets/{about-page-ci8HgT8u.js → about-page-B-vlKylA.js} +1 -1
  6. package/dist/assets/{account-page-BiUlH7g9.js → account-page-Br93lL5p.js} +1 -1
  7. package/dist/assets/{account-shell-D0ubbqxG.js → account-shell-UA4SkMah.js} +1 -1
  8. package/dist/assets/acp-run-detail-panel-BF4PE4Zx.js +5 -0
  9. package/dist/assets/{add-credits-modal-BpZFOp84.js → add-credits-modal-o3H9AYgv.js} +1 -1
  10. package/dist/assets/advanced-page-DrCYguEX.js +1 -0
  11. package/dist/assets/ai-page-CQflrT_o.js +1 -0
  12. package/dist/assets/{animated-avatar-FIuLddxJ.js → animated-avatar-Btzkc8DC.js} +1 -1
  13. package/dist/assets/api-bHQ_ZhgO.js +1 -0
  14. package/dist/assets/{api-key-screen-BMj30LHe.js → api-key-screen-D7lS8mvX.js} +1 -1
  15. package/dist/assets/api-sofbwGIB.js +1 -0
  16. package/dist/assets/{app-info-Dtc98M-e.js → app-info-3nsDebwR.js} +1 -1
  17. package/dist/assets/{archive-BFILUl9x.js → archive-0aqysuyd.js} +1 -1
  18. package/dist/assets/{archive-page-aRD_FLfQ.js → archive-page-Du_siKo9.js} +1 -1
  19. package/dist/assets/arrow-left-DI9551VI.js +1 -0
  20. package/dist/assets/arrow-up-BxoccrRI.js +1 -0
  21. package/dist/assets/assistant-feature-flag-store-DIEpxIVZ.js +1 -0
  22. package/dist/assets/assistant-identity-store-DiUhyQ7n.js +1 -0
  23. package/dist/assets/{assistant-status-panel-8WiPtFrO.js → assistant-status-panel-mDIcc6r5.js} +1 -1
  24. package/dist/assets/auth-store-BgCpm8aB.js +2 -0
  25. package/dist/assets/background-task-detail-panel-C2J7hEqw.js +1 -0
  26. package/dist/assets/ban-CVKGuUAQ.js +1 -0
  27. package/dist/assets/{bell-DB1SrBre.js → bell-BQLonLMp.js} +1 -1
  28. package/dist/assets/billing-page-DN5EqQwA.js +3 -0
  29. package/dist/assets/{bookmark-C3S-p0MQ.js → bookmark-CNrithFf.js} +1 -1
  30. package/dist/assets/bookmarks-page-LwzS4lTO.js +1 -0
  31. package/dist/assets/{brain-Bs6LnfHO.js → brain-BLDXGaUy.js} +1 -1
  32. package/dist/assets/browser-B78iIKae.js +2 -0
  33. package/dist/assets/{bug-DDcuQ3au.js → bug-BsuQ5ciQ.js} +1 -1
  34. package/dist/assets/build-state-ksGNj2xS.js +1 -0
  35. package/dist/assets/{misc-GIyc06fS.js → bundle-mjs-BZt35okJ.js} +1 -1
  36. package/dist/assets/button-D1p5nVKJ.js +1 -0
  37. package/dist/assets/{calendar-CpgH8CqM.js → calendar-h-mv1itX.js} +1 -1
  38. package/dist/assets/{capture-error-8raDoxFL.js → capture-error-CmeVLfq0.js} +1 -1
  39. package/dist/assets/{card-BibIM9x3.js → card-Bv5O5juh.js} +1 -1
  40. package/dist/assets/channels-page-route-BviNR0ND.js +9 -0
  41. package/dist/assets/check-DFNrQERi.js +1 -0
  42. package/dist/assets/checkbox-Dy4hoNDa.js +1 -0
  43. package/dist/assets/chevron-down-qD-re7AW.js +1 -0
  44. package/dist/assets/chevron-left-BMF1xNfR.js +1 -0
  45. package/dist/assets/chevron-right-DqqmezXC.js +1 -0
  46. package/dist/assets/{chevron-up-BRZN6p_l.js → chevron-up-3jCod9LW.js} +1 -1
  47. package/dist/assets/{circle-alert-DvNg50UK.js → circle-alert-zOqdmf25.js} +1 -1
  48. package/dist/assets/circle-check-VSiny8yl.js +1 -0
  49. package/dist/assets/{client-feature-flag-store-D3f7L4rr.js → client-feature-flag-store-C0Tjm-Hl.js} +1 -1
  50. package/dist/assets/client-identity-DAs2xjUd.js +1 -0
  51. package/dist/assets/{clipboard-copy-cZENPJ25.js → clipboard-copy-DF6K1xc6.js} +1 -1
  52. package/dist/assets/{cloud-off-fMC5iwVY.js → cloud-off-Db1nySkc.js} +1 -1
  53. package/dist/assets/cn-C36Yvcac.js +1 -0
  54. package/dist/assets/code-Czx7d7SK.js +1 -0
  55. package/dist/assets/{command-palette-BHVjkDPP.js → command-palette-DEJb0zLE.js} +1 -1
  56. package/dist/assets/{command-palette-window-page-C8htNOF6.js → command-palette-window-page-fbP12QjU.js} +1 -1
  57. package/dist/assets/{community-page-BvBiiBNT.js → community-page-C1IbvYv7.js} +1 -1
  58. package/dist/assets/confirm-dialog-C0tP3s3P.js +1 -0
  59. package/dist/assets/{connect-page-65umesqK.js → connect-page-BMcYePcl.js} +1 -1
  60. package/dist/assets/{consent-controls-CoeCtvwh.js → consent-controls-COgMzEvv.js} +1 -1
  61. package/dist/assets/contacts-gateway-CZELTTWO.js +1 -0
  62. package/dist/assets/contacts-page-route-BNOTqSpK.js +1 -0
  63. package/dist/assets/{conversation-list-fetchers-D5PpdmFr.js → conversation-list-fetchers-DThMiPVW.js} +1 -1
  64. package/dist/assets/{conversation-store-BheNrWpL.js → conversation-store-DIfV0qat.js} +1 -1
  65. package/dist/assets/copy-Cn1FKrEp.js +1 -0
  66. package/dist/assets/{cpu-D1r7PLan.js → cpu-BJuB2Khn.js} +1 -1
  67. package/dist/assets/{credit-card-BwN95biV.js → credit-card-BuyWdO9t.js} +1 -1
  68. package/dist/assets/{danger-zone-redirect-page-BLyU56iI.js → danger-zone-redirect-page-CCxH8sPh.js} +1 -1
  69. package/dist/assets/debug-page-CJkMdOHL.js +4 -0
  70. package/dist/assets/definitions-B5E7eevX.js +1 -0
  71. package/dist/assets/{deploy-dialogs-DyZ__q_z.js → deploy-dialogs-r9b51B5r.js} +1 -1
  72. package/dist/assets/{detail-card-DXLMG-Zw.js → detail-card-TE7YEaVh.js} +1 -1
  73. package/dist/assets/{detail-panel-stop-button-DXQQXCtp.js → detail-panel-stop-button-BF53QuQ1.js} +1 -1
  74. package/dist/assets/detail-shell-Cln4I2nP.js +4 -0
  75. package/dist/assets/developer-page-D-gYFJxp.js +1 -0
  76. package/dist/assets/devices-page-snCBoJN0.js +1 -0
  77. package/dist/assets/{diagnostics-BQUtALh-.js → diagnostics-CPXHD6ua.js} +1 -1
  78. package/dist/assets/{dictation-overlay-page-D5pUTXA9.js → dictation-overlay-page-BPqv3HiZ.js} +1 -1
  79. package/dist/assets/dist-CAIL9R6N.js +1 -0
  80. package/dist/assets/dist-CXAvuqD6.js +1 -0
  81. package/dist/assets/dist-DSnPnoEz.js +1 -0
  82. package/dist/assets/dist-DcPLFkll.js +1 -0
  83. package/dist/assets/document-viewer-page-4pRVWlRI.js +1 -0
  84. package/dist/assets/{domain-field-CNW1t3OC.js → domain-field-C5a2iMot.js} +1 -1
  85. package/dist/assets/dropdown-BsftIzw-.js +1 -0
  86. package/dist/assets/earn-credits-modal-zxGdReHl.js +1 -0
  87. package/dist/assets/effective-timezone-DzaTH0MB.js +1 -0
  88. package/dist/assets/{emails-page--1HEyMqD.js → emails-page-DKvm3nEr.js} +1 -1
  89. package/dist/assets/{environment-store-CN3UaYQg.js → environment-store-BhzMRyLQ.js} +1 -1
  90. package/dist/assets/esm-0-ZimRqn.js +2 -0
  91. package/dist/assets/esm-Bz3kpqSC.js +2 -0
  92. package/dist/assets/esm-C6lFTYDL.js +1 -0
  93. package/dist/assets/esm-D8HhVT3_.js +2 -0
  94. package/dist/assets/esm-DTVZeytq.js +2 -0
  95. package/dist/assets/esm-FQkJ9Rs-.js +2 -0
  96. package/dist/assets/esm-dnA2U8Jo.js +2 -0
  97. package/dist/assets/{external-link-BgOnp59e.js → external-link-CfkE0LZW.js} +1 -1
  98. package/dist/assets/feature-flag-catalog-Ca2Lo1Sx.js +1 -0
  99. package/dist/assets/file-editor-UZBbQtPc.js +1 -0
  100. package/dist/assets/{file-text-D4wmdFsJ.js → file-text-DDcypanB.js} +1 -1
  101. package/dist/assets/general-page-5PLBxswP.js +1 -0
  102. package/dist/assets/{globe-CRuerXYx.js → globe-BgFbM_BQ.js} +1 -1
  103. package/dist/assets/haptics-7ccjHjqM.js +2 -0
  104. package/dist/assets/{hard-drive-DsJ64Fuu.js → hard-drive-8yxasJWm.js} +1 -1
  105. package/dist/assets/hatching-screen-BIxpLmO2.js +1 -0
  106. package/dist/assets/home-page-route-OvBWSwFC.js +1 -0
  107. package/dist/assets/{hosting-screen--GdpAsIo.js → hosting-screen-BlWbXsL-.js} +1 -1
  108. package/dist/assets/identity-page-route-CeyRWGSF.js +1 -0
  109. package/dist/assets/index-BCm5Qo5B.css +2 -0
  110. package/dist/assets/index-DD6uDbkv.js +114 -0
  111. package/dist/assets/{info-C9uyv2bI.js → info-DZoiK09u.js} +1 -1
  112. package/dist/assets/{input-D4W4p0pZ.js → input-DR1eB4a1.js} +1 -1
  113. package/dist/assets/{inspect-page-C-fq5PsM.js → inspect-page-Bwi5XsEh.js} +4 -4
  114. package/dist/assets/{install-DKnSvyt9.js → install-4dDaK6k1.js} +1 -1
  115. package/dist/assets/integrations-page-kEQJPFn5.js +1 -0
  116. package/dist/assets/intelligence-layout-DrZ0cmc1.js +1 -0
  117. package/dist/assets/{keyboard-shortcuts-page-DiFBwxwl.js → keyboard-shortcuts-page-CY1Iu2jL.js} +1 -1
  118. package/dist/assets/library-detail-page-CfiXPkp7.js +1 -0
  119. package/dist/assets/library-page-CweBANUw.js +1 -0
  120. package/dist/assets/{link-2-BIp7l4R9.js → link-2-DfxjDwqD.js} +1 -1
  121. package/dist/assets/list-row-YOzkXNjq.js +1 -0
  122. package/dist/assets/loader-circle-088bE-Hd.js +1 -0
  123. package/dist/assets/local-mode-YoUYEn7C.js +39 -0
  124. package/dist/assets/{log-in-BCOweEUO.js → log-in-BQonRVoo.js} +1 -1
  125. package/dist/assets/log-out-zhu7VraA.js +1 -0
  126. package/dist/assets/{login-flow-COr5zRoB.js → login-flow-CUN2stiy.js} +1 -1
  127. package/dist/assets/login-page-C5xLPDcY.js +1 -0
  128. package/dist/assets/logout-page-DmbJTrnq.js +1 -0
  129. package/dist/assets/logs-layout-eEqpOnNZ.js +1 -0
  130. package/dist/assets/{memory-router-playground-page-rPz9hfL9.js → memory-router-playground-page-CdPSZDpx.js} +1 -1
  131. package/dist/assets/menu-Bjq0lFxx.js +1 -0
  132. package/dist/assets/{messages-Doco46Z6.js → messages-CFT0cFRG.js} +2 -2
  133. package/dist/assets/{metric-card-DejhOUyM.js → metric-card-8SJnb8f6.js} +1 -1
  134. package/dist/assets/{minimize-2-BQKYHW0m.js → minimize-2-BusmaFRB.js} +1 -1
  135. package/dist/assets/misc-BTzhQRok.js +1 -0
  136. package/dist/assets/{mobile-sidebar-drawer-DwE65WjT.js → mobile-sidebar-drawer-DOjPe_9x.js} +1 -1
  137. package/dist/assets/{modal-BNAVT2FK.js → modal-cdtdc8dA.js} +1 -1
  138. package/dist/assets/{monitor-xGqXetuk.js → monitor-CWNmhnli.js} +1 -1
  139. package/dist/assets/{moon-rIyEhhAK.js → moon-Br0t6dvo.js} +1 -1
  140. package/dist/assets/mutation-error-DjaYE1g4.js +1 -0
  141. package/dist/assets/native-biometric-rXfe6lHU.js +6 -0
  142. package/dist/assets/native-deep-link-BWXQ0lVp.js +1 -0
  143. package/dist/assets/native-file-v09EzS1a.js +2 -0
  144. package/dist/assets/notice-BQRdh9ak.js +1 -0
  145. package/dist/assets/{notifications-page-D3Gip5vS.js → notifications-page-B4E24ebC.js} +1 -1
  146. package/dist/assets/{oauth-complete-page-DAuZqgBq.js → oauth-complete-page-DTN-GTIH.js} +1 -1
  147. package/dist/assets/{oauth-popup-complete-page-CvOB8DyR.js → oauth-popup-complete-page-CaXW7ptF.js} +1 -1
  148. package/dist/assets/{page-shell-C3-rU99a.js → page-shell-D2BB59Ix.js} +1 -1
  149. package/dist/assets/pairing-page-DZcTw1tq.js +1 -0
  150. package/dist/assets/panel-item-vXPWJAXs.js +1 -0
  151. package/dist/assets/{password-reset-page-BCyMJkWQ.js → password-reset-page-4qZSsNBc.js} +1 -1
  152. package/dist/assets/{pencil-CtYlsDsm.js → pencil-rKUVpppO.js} +1 -1
  153. package/dist/assets/platform-detection-T2pHtGrM.js +1 -0
  154. package/dist/assets/platform-loopback-page-DwyL8kjo.js +1 -0
  155. package/dist/assets/{plugin-detail-page-D_0rFOJ7.js → plugin-detail-page-C43OCujw.js} +1 -1
  156. package/dist/assets/plugins-page-URxDlRlx.js +1 -0
  157. package/dist/assets/plugins-surface-BePLpYIv.js +1 -0
  158. package/dist/assets/plus-D96er_7C.js +1 -0
  159. package/dist/assets/pointer-5Fi1H1Av.js +1 -0
  160. package/dist/assets/popover-DKvyZMoc.js +1 -0
  161. package/dist/assets/prechat-route-Td35x7FF.js +1 -0
  162. package/dist/assets/prefs-DQSqJGU7.js +1 -0
  163. package/dist/assets/privacy-page-vr4pbmh9.js +1 -0
  164. package/dist/assets/privacy-screen-Cos37QIv.js +1 -0
  165. package/dist/assets/{progress-bar-DIFlWPPg.js → progress-bar-q6qGo2Sp.js} +1 -1
  166. package/dist/assets/provider-callback-page-BXaSHzDk.js +1 -0
  167. package/dist/assets/provider-key-DMwDGx17.js +1 -0
  168. package/dist/assets/provider-signup-page-R0UzbDFK.js +1 -0
  169. package/dist/assets/proxy-Dc2HWwub.js +1 -0
  170. package/dist/assets/{quick-input-page-DITr3SKX.js → quick-input-page-CrIOFT4p.js} +1 -1
  171. package/dist/assets/react-query.gen-AbBrwMPh.js +1 -0
  172. package/dist/assets/react-query.gen-DrkKCNeH.js +1 -0
  173. package/dist/assets/{refresh-cw-Dlu2vgR6.js → refresh-cw-NXysUsL-.js} +1 -1
  174. package/dist/assets/remote-gateway-session-DnRxrW5U.js +1 -0
  175. package/dist/assets/{repeat-MDHTMmlC.js → repeat-Hff7oFdK.js} +1 -1
  176. package/dist/assets/research-mock-page-DplpbgtW.js +1 -0
  177. package/dist/assets/research-onboarding-persistence-OdxcXxrg.js +1 -0
  178. package/dist/assets/research-onboarding-route-Cv9ElOtb.js +61 -0
  179. package/dist/assets/{resize-errors-CN02qg8O.js → resize-errors-WFP78pIe.js} +1 -1
  180. package/dist/assets/resolved-assistants-store-DccydJ5N.js +1 -0
  181. package/dist/assets/{review-terms-screen-C2mUaOA6.js → review-terms-screen-DxUdQm5K.js} +1 -1
  182. package/dist/assets/routes-CBm-E8tn.js +1 -0
  183. package/dist/assets/{save-C03NWAqR.js → save-PmScRf6-.js} +1 -1
  184. package/dist/assets/{schedules-CQOSfZg8.js → schedules-D_aX-M6x.js} +1 -1
  185. package/dist/assets/{sdk.gen-Ec1nF7iZ.js → sdk.gen-B3bmXhSv.js} +1 -1
  186. package/dist/assets/sdk.gen-JlA-scjv.js +1 -0
  187. package/dist/assets/sdk.gen-P3yAvcBO.js +6 -0
  188. package/dist/assets/security-page-pOYL1CFa.js +1 -0
  189. package/dist/assets/select-assistant-screen-B2m5-Dex.js +1 -0
  190. package/dist/assets/{setting-row-Ci9YIJwu.js → setting-row-DAnTCHDc.js} +1 -1
  191. package/dist/assets/settings-layout-D83FJ0WZ.js +1 -0
  192. package/dist/assets/share-feedback-modal-Po7Xlam-.js +1 -0
  193. package/dist/assets/{shortcut-keys-vM6sNj7W.js → shortcut-keys-DKqAVRjB.js} +1 -1
  194. package/dist/assets/sidebar-tree-DKykyrmE.js +1 -0
  195. package/dist/assets/signup-page-3MF8DoRN.js +1 -0
  196. package/dist/assets/{signup-shell-Bw9OFI-z.js → signup-shell-CfqC32v2.js} +1 -1
  197. package/dist/assets/skills-page-DE1-rldF.js +1 -0
  198. package/dist/assets/sounds-page-Bkl7tFeF.js +1 -0
  199. package/dist/assets/{sparkles-Bkcjn8HQ.js → sparkles-3RJkeWa7.js} +1 -1
  200. package/dist/assets/src-C-RxAhZg.js +293 -0
  201. package/dist/assets/{stat-square-8mff1dLC.js → stat-square-CSQ2Md1V.js} +1 -1
  202. package/dist/assets/subagent-detail-panel-LxxIRTeB.js +4 -0
  203. package/dist/assets/{subagent-store-BmGtlv6O.js → subagent-store-BRcRbFQY.js} +1 -1
  204. package/dist/assets/system-events-page-CvzT4-vY.js +1 -0
  205. package/dist/assets/{system-events-redirect-page-Dnoz3v9J.js → system-events-redirect-page-DePjjQN1.js} +1 -1
  206. package/dist/assets/tag-BriFUtvF.js +1 -0
  207. package/dist/assets/tiptap-document-editor-gEhk4ieZ.js +282 -0
  208. package/dist/assets/toast-HPdEfHz3.js +1 -0
  209. package/dist/assets/{toggle-X_kQW5my.js → toggle-D7S110RM.js} +1 -1
  210. package/dist/assets/{tool-detail-panel-B3u6-K3R.js → tool-detail-panel-Dft0Hx4c.js} +2 -2
  211. package/dist/assets/{triangle-alert-BcZY_IvR.js → triangle-alert-CuLBwl1x.js} +1 -1
  212. package/dist/assets/{typography-BscuIPxA.js → typography-D5f7kt80.js} +1 -1
  213. package/dist/assets/{upgrade-cancel-page-CgX8IYAL.js → upgrade-cancel-page-SdR5eJcW.js} +1 -1
  214. package/dist/assets/{upgrade-success-page-DKKw3H1x.js → upgrade-success-page-CVLYuCHs.js} +1 -1
  215. package/dist/assets/usage-page-BqRgURSH.js +1 -0
  216. package/dist/assets/{use-active-assistant-id-iCLBbJXU.js → use-active-assistant-id-CyH4rTOc.js} +1 -1
  217. package/dist/assets/{use-bus-subscription-Cv9Js5_J.js → use-bus-subscription-BtJLhem5.js} +1 -1
  218. package/dist/assets/use-edge-swipe-back-uITLp4L4.js +1 -0
  219. package/dist/assets/use-invite-link-dialog-NmdTWylD.js +1 -0
  220. package/dist/assets/use-is-org-ready-CkTSZRNq.js +1 -0
  221. package/dist/assets/use-onboarding-login-ChdVOaal.js +1 -0
  222. package/dist/assets/{use-reduced-motion-BlCAREB8.js → use-reduced-motion-DRo6JmG-.js} +1 -1
  223. package/dist/assets/{use-skill-categories-CRMzRD6m.js → use-skill-categories-DLf0Fo9y.js} +1 -1
  224. package/dist/assets/{user-plus-D30zPuGV.js → user-plus-CBZUdRuz.js} +1 -1
  225. package/dist/assets/{utils-ChLzMd8R.js → utils-BbAwYb4I.js} +1 -1
  226. package/dist/assets/{viewer-store-D7cH9LQF.js → viewer-store-Kfp8axoz.js} +1 -1
  227. package/dist/assets/{voice-page-BT_3N22n.js → voice-page-IOVqjMhF.js} +1 -1
  228. package/dist/assets/{weather-forecast-display-C0Zvm9vl.js → weather-forecast-display-Ba7wKOLM.js} +1 -1
  229. package/dist/assets/web-BFaMQr0t.js +1 -0
  230. package/dist/assets/web-BG6ifSw3.js +1 -0
  231. package/dist/assets/web-BhRkAg3a.js +1 -0
  232. package/dist/assets/web-BkOWX8LM.js +1 -0
  233. package/dist/assets/web-Boeo363U.js +1 -0
  234. package/dist/assets/web-DIGPtYgc.js +1 -0
  235. package/dist/assets/web-DPZnGXO_.js +1 -0
  236. package/dist/assets/web-LKOaH9Uf.js +1 -0
  237. package/dist/assets/{welcome-screen-Dx4jNLFF.js → welcome-screen-wOifg1iN.js} +1 -1
  238. package/dist/assets/{workflow-detail-panel-CvbzHGzG.js → workflow-detail-panel-W3CdD_4G.js} +1 -1
  239. package/dist/assets/workspace-page-C10OB0F4.js +1 -0
  240. package/dist/assets/x-CwzRJv9J.js +1 -0
  241. package/dist/index.html +140 -140
  242. package/package.json +1 -1
  243. package/dist/assets/Combination-UBPhVLWy.js +0 -41
  244. package/dist/assets/acp-run-detail-panel-B2ycT_78.js +0 -5
  245. package/dist/assets/advanced-page-BClLCzBA.js +0 -1
  246. package/dist/assets/ai-page-DnocNQmY.js +0 -1
  247. package/dist/assets/api-DvthVfI2.js +0 -1
  248. package/dist/assets/arrow-left-CP-EhDNF.js +0 -1
  249. package/dist/assets/arrow-up-nBfZxfhi.js +0 -1
  250. package/dist/assets/assistant-api-Dlwk8jYW.js +0 -1
  251. package/dist/assets/assistant-feature-flag-store-B440uAh9.js +0 -6
  252. package/dist/assets/assistant-identity-store-DP4B8mmA.js +0 -1
  253. package/dist/assets/auth-store-B8KDWYi4.js +0 -2
  254. package/dist/assets/background-task-detail-panel-IILCVufr.js +0 -1
  255. package/dist/assets/ban-BpBuRCKI.js +0 -1
  256. package/dist/assets/billing-page-q1D1xspC.js +0 -3
  257. package/dist/assets/bookmarks-page-D5XLE9A7.js +0 -1
  258. package/dist/assets/browser-DdI2GrPw.js +0 -2
  259. package/dist/assets/build-state-DAcnY2g_.js +0 -1
  260. package/dist/assets/button-D-AX8Voo.js +0 -1
  261. package/dist/assets/channels-page-route-m_HALkI5.js +0 -1
  262. package/dist/assets/check-CW0KmV0o.js +0 -1
  263. package/dist/assets/check-D6WkI0gF.js +0 -1
  264. package/dist/assets/checkbox-ueHEk2G-.js +0 -1
  265. package/dist/assets/chevron-left-DghyKSEE.js +0 -1
  266. package/dist/assets/chevron-right-B6vEpVY0.js +0 -1
  267. package/dist/assets/circle-check-DzlJxj_M.js +0 -1
  268. package/dist/assets/client-identity-DiDHLoNp.js +0 -1
  269. package/dist/assets/cn-DvW5mxZR.js +0 -1
  270. package/dist/assets/code-BhoMjTYO.js +0 -1
  271. package/dist/assets/confirm-dialog-bfBx6UYv.js +0 -1
  272. package/dist/assets/contacts-gateway-_mvlDweU.js +0 -1
  273. package/dist/assets/contacts-page-route-CQXKgYfo.js +0 -1
  274. package/dist/assets/conversation-selection-jLLIV1vI.js +0 -1
  275. package/dist/assets/createLucideIcon-BlMXrA59.js +0 -1
  276. package/dist/assets/debug-page-BfYzZTih.js +0 -4
  277. package/dist/assets/detail-shell-C--69S4R.js +0 -4
  278. package/dist/assets/developer-page-LlFmliRP.js +0 -1
  279. package/dist/assets/device-settings-BBwtGKJb.js +0 -1
  280. package/dist/assets/devices-page-C65LYzPc.js +0 -1
  281. package/dist/assets/dist-CGS5MDkK.js +0 -5
  282. package/dist/assets/dist-Ddn3FnfV.js +0 -1
  283. package/dist/assets/document-viewer-page-mRBDn4Gc.js +0 -1
  284. package/dist/assets/dropdown-ChWAdhLG.js +0 -1
  285. package/dist/assets/earn-credits-modal-DVUdlw2V.js +0 -1
  286. package/dist/assets/effective-timezone-DrYGH2Lb.js +0 -1
  287. package/dist/assets/esm-BKCTntwk.js +0 -2
  288. package/dist/assets/esm-CNMouzMT.js +0 -2
  289. package/dist/assets/esm-CSgBiYzF.js +0 -2
  290. package/dist/assets/esm-CccIkVyz.js +0 -2
  291. package/dist/assets/esm-CpbLh3YJ.js +0 -2
  292. package/dist/assets/esm-DlsDcixX.js +0 -1
  293. package/dist/assets/feature-flag-catalog-CRFA909Q.js +0 -1
  294. package/dist/assets/file-editor-PNZ9cTI-.js +0 -1
  295. package/dist/assets/format-DuvgAcxs.js +0 -1
  296. package/dist/assets/general-page-DL3fu61f.js +0 -1
  297. package/dist/assets/haptics-DUNUKgg4.js +0 -1
  298. package/dist/assets/hatching-screen-Bc0QiEVj.js +0 -1
  299. package/dist/assets/home-page-route-CR3ajpvl.js +0 -1
  300. package/dist/assets/identity-page-route-z0mc5jGO.js +0 -1
  301. package/dist/assets/index-CWzNQ8A_.js +0 -129
  302. package/dist/assets/index-DMbjaeZr.css +0 -2
  303. package/dist/assets/info-BGLlcyt6.js +0 -1
  304. package/dist/assets/integrations-page-BeTfBE7R.js +0 -1
  305. package/dist/assets/intelligence-layout-ShKSJFRX.js +0 -1
  306. package/dist/assets/lib-DWRDi23Z.js +0 -14
  307. package/dist/assets/library-detail-page-BE-B5vd3.js +0 -1
  308. package/dist/assets/library-page-COsPjT0P.js +0 -1
  309. package/dist/assets/list-row-Di0MK3wu.js +0 -1
  310. package/dist/assets/loader-circle-BITX1qOw.js +0 -1
  311. package/dist/assets/local-mode-CgrENuVf.js +0 -39
  312. package/dist/assets/login-page-B_AWg_-m.js +0 -1
  313. package/dist/assets/logout-page-B-vCELzg.js +0 -1
  314. package/dist/assets/logs-layout-Bb2Ki85T.js +0 -1
  315. package/dist/assets/menu-BLJEjTFD.js +0 -1
  316. package/dist/assets/mutation-error-BN5zz5X4.js +0 -1
  317. package/dist/assets/native-biometric-C5AdTx4r.js +0 -6
  318. package/dist/assets/native-deep-link-CkFNpKqQ.js +0 -1
  319. package/dist/assets/native-file-swemzdL9.js +0 -2
  320. package/dist/assets/notice-CqRgVmeL.js +0 -1
  321. package/dist/assets/pairing-page-CSXR4O5_.js +0 -1
  322. package/dist/assets/panel-item-Q1g7DFJw.js +0 -1
  323. package/dist/assets/platform-detection-B1WOWEur.js +0 -1
  324. package/dist/assets/platform-loopback-page-DViSSCNq.js +0 -1
  325. package/dist/assets/plugins-page-DnsCa0ka.js +0 -1
  326. package/dist/assets/plugins-surface-CAUFbZFj.js +0 -1
  327. package/dist/assets/plus-CzwTg9D8.js +0 -1
  328. package/dist/assets/popover-BUj2v1xo.js +0 -1
  329. package/dist/assets/prechat-route-BRLg12I0.js +0 -1
  330. package/dist/assets/prefs-BK4ReLBx.js +0 -1
  331. package/dist/assets/privacy-page-DK_E5UDG.js +0 -1
  332. package/dist/assets/privacy-screen-VCEt0iH8.js +0 -1
  333. package/dist/assets/provider-callback-page-DSqK6K5B.js +0 -1
  334. package/dist/assets/provider-key-DSBs9REL.js +0 -1
  335. package/dist/assets/provider-signup-page-CuLVID0r.js +0 -1
  336. package/dist/assets/proxy-BzcB2wP4.js +0 -1
  337. package/dist/assets/react-query.gen-Bxy9zjSn.js +0 -1
  338. package/dist/assets/react-query.gen-DQUX56Gs.js +0 -1
  339. package/dist/assets/remote-gateway-session-C2xcV9Z_.js +0 -1
  340. package/dist/assets/research-mock-page-D0KTjYOI.js +0 -1
  341. package/dist/assets/research-onboarding-route-CoGKBjAq.js +0 -61
  342. package/dist/assets/resolved-assistants-store-Dqf0LJrA.js +0 -1
  343. package/dist/assets/routes-CCywyokq.js +0 -1
  344. package/dist/assets/sdk.gen-B3Z8klU-.js +0 -1
  345. package/dist/assets/select-assistant-screen-DkgCyv2V.js +0 -1
  346. package/dist/assets/settings-layout-BLjA2_fl.js +0 -1
  347. package/dist/assets/share-feedback-modal-34O8UomD.js +0 -1
  348. package/dist/assets/sidebar-tree-DJnIQnXc.js +0 -1
  349. package/dist/assets/signup-page-CJeIDhFC.js +0 -1
  350. package/dist/assets/skills-page-CcrxOAfG.js +0 -1
  351. package/dist/assets/sound-manager-DtzFjWmP.js +0 -1
  352. package/dist/assets/sounds-page-BHhIVuV0.js +0 -1
  353. package/dist/assets/src-CUycEQpW.js +0 -293
  354. package/dist/assets/subagent-detail-panel-Cj7wlfR3.js +0 -4
  355. package/dist/assets/system-events-page-B9LdpkBg.js +0 -1
  356. package/dist/assets/tag-CW6WC4fE.js +0 -1
  357. package/dist/assets/tiptap-document-editor-jcHGSIJg.js +0 -281
  358. package/dist/assets/toast-B0OiPFFj.js +0 -1
  359. package/dist/assets/trace-page-D-2QJklH.js +0 -1
  360. package/dist/assets/triangle-alert-Bz1PpciW.js +0 -1
  361. package/dist/assets/usage-page-obI_HCGk.js +0 -1
  362. package/dist/assets/use-is-org-ready-CXt7jaER.js +0 -1
  363. package/dist/assets/use-onboarding-login-DgxS4dsO.js +0 -1
  364. package/dist/assets/use-setup-channel-param-CNNd-gJV.js +0 -9
  365. package/dist/assets/web-60vPNzAv.js +0 -1
  366. package/dist/assets/web-BZF5Krzc.js +0 -1
  367. package/dist/assets/web-BfGgEMt3.js +0 -1
  368. package/dist/assets/web-Bqls6sCO.js +0 -1
  369. package/dist/assets/web-DF-93Ff2.js +0 -1
  370. package/dist/assets/web-Dw05M3EW.js +0 -1
  371. package/dist/assets/web-IVArvzQ-.js +0 -1
  372. package/dist/assets/workspace-page-DDNf-ykG.js +0 -1
  373. package/dist/assets/x-B0gfyRAR.js +0 -1
  374. package/dist/assets/x-C8bCmIhD.js +0 -1
  375. /package/dist/assets/{api-errors-CPc5p2r9.js → api-errors-DZ6ckXtC.js} +0 -0
  376. /package/dist/assets/{avatar-bundled-components-DMC1S-8P.js → avatar-bundled-components-vcdejfQE.js} +0 -0
  377. /package/dist/assets/{avatar-svg-compositor-D6G3Y6hA.js → avatar-svg-compositor-T4Nlid_8.js} +0 -0
  378. /package/dist/assets/{build.umd-gY3Uzz96.js → build.umd-BRloxS0w.js} +0 -0
  379. /package/dist/assets/{by-tool-use-id-index-KHuXlFNc.js → by-tool-use-id-index-BzhJW3di.js} +0 -0
  380. /package/dist/assets/{chat-C19ZjAL3.js → chat-CZBa_f1B.js} +0 -0
  381. /package/dist/assets/{client.gen-nWvCdeJb.js → client.gen-AQhSugfA.js} +0 -0
  382. /package/dist/assets/{client.gen-CbVuiseX.js → client.gen-V_HNquaL.js} +0 -0
  383. /package/dist/assets/{composer-focus-Clt7vN-2.js → composer-focus-mqPYdp3p.js} +0 -0
  384. /package/dist/assets/{create-selectors-BE0_e_Ed.js → create-selectors-DxrPZQND.js} +0 -0
  385. /package/dist/assets/{createLucideIcon-Bjb-Kuq7.js → createLucideIcon-IRfcSUxS.js} +0 -0
  386. /package/dist/assets/{definitions-DeG2sRFv.js → definitions-C6k0EQJc.js} +0 -0
  387. /package/dist/assets/{dist-CNEsSZUe.js → dist-DYJxpPwT2.js} +0 -0
  388. /package/dist/assets/{edit-chat-session-RMvGKcHJ.js → edit-chat-session-ViDBnAwR.js} +0 -0
  389. /package/dist/assets/{emoji-catalog-data-ClLxfwNZ.js → emoji-catalog-data-CX_Q9AiW.js} +0 -0
  390. /package/dist/assets/{event-bus-ULoEgfFr.js → event-bus-BXKLAX-e.js} +0 -0
  391. /package/dist/assets/{format-date-CmX7EYBN.js → format-date-C-eCaBOj.js} +0 -0
  392. /package/dist/assets/{format-file-size-D7iZejgy.js → format-file-size-Cnq-CdFe.js} +0 -0
  393. /package/dist/assets/{impersonate-version-flag-BpzPjXeb.js → impersonate-version-flag-CPPn65xN.js} +0 -0
  394. /package/dist/assets/{is-electron-C_ZTVhv8.js → is-electron-LEymSS4C.js} +0 -0
  395. /package/dist/assets/{llm-dimension-DyYwG3mU.js → llm-dimension-DMXIDBqX.js} +0 -0
  396. /package/dist/assets/{onboarding-step-layout-2XcmxqFN.js → onboarding-step-layout-CqsxCaSG.js} +0 -0
  397. /package/dist/assets/{pdf-Cuv7mg8b.js → pdf-BvpzlNL1.js} +0 -0
  398. /package/dist/assets/{prechat-BzdosDIx.js → prechat-BoMF1Jj-.js} +0 -0
  399. /package/dist/assets/{prechat-names-DPum8sFP.js → prechat-names-r2l4SHE1.js} +0 -0
  400. /package/dist/assets/{public-asset-DYtCQInw.js → public-asset-CsdLlNtA.js} +0 -0
  401. /package/dist/assets/{semver-DMpUdXpu.js → semver-BcXhJ-Ta.js} +0 -0
  402. /package/dist/assets/{status-badge-pill-CXey_r2B.js → status-badge-pill-DWywzjvD.js} +0 -0
  403. /package/dist/assets/{step-indicator-dots-CvPP_zNN.js → step-indicator-dots-DKLSzjtH.js} +0 -0
  404. /package/dist/assets/{usage-window-C6gWu5Qu.js → usage-window-Bqypb8ID.js} +0 -0
  405. /package/dist/assets/{use-is-mobile-Cqknxs2C.js → use-is-mobile-Cy10kl9u.js} +0 -0
  406. /package/dist/assets/{workflow-status-BF9EOzZI.js → workflow-status-CQB-_S1y.js} +0 -0
  407. /package/dist/assets/{xterm-BPl0dA68.js → xterm-C7EFbJH6.js} +0 -0
  408. /package/dist/assets/{xterm-addon-fit-BCzoNVYn.js → xterm-addon-fit-IajRC7KP.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-BlMXrA59.js";import{o}from"./routes-CCywyokq.js";import{Hi as s,Lr as c,Ti as l,ka as u}from"./index-CWzNQ8A_.js";import{n as d,t as f}from"./sidebar-tree-DJnIQnXc.js";var p=a(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),m=e(t(),1),h=[{id:`usage`,label:`Usage`,href:o.logs.usage,icon:u},{id:`logs`,label:`Logs`,href:o.logs.trace,icon:l},{id:`emails`,label:`Emails`,href:o.logs.emails,icon:s},{id:`system-events`,label:`System Events`,href:o.logs.systemEvents,icon:p}],g=i();function _(){let e=c({platformHostedOnly:!0}),t=c(),{pathname:i}=r(),a=(0,m.useMemo)(()=>h.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),s=(0,m.useMemo)(()=>{let e=h.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===o.logs.root?h[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,g.jsx)(d,{backHref:o.assistant,sidebar:(0,g.jsx)(f,{items:a,indexPath:o.logs.root}),title:s,menuRoute:o.logs.root,children:(0,g.jsx)(n,{})})}export{_ as LogsLayout};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,E as r,S as i,a,o,s,w as c,y as l}from"./button-D-AX8Voo.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{a as d,o as f,t as p}from"./cn-DvW5mxZR.js";import{t as ee}from"./createLucideIcon-Bjb-Kuq7.js";import{t as m}from"./check-CW0KmV0o.js";import{a as h,c as g,i as te,o as _,r as ne,s as re}from"./panel-item-Q1g7DFJw.js";import{n as v,t as y}from"./dist-Ddn3FnfV.js";import{a as ie,i as ae,n as oe,r as se,t as ce}from"./Combination-UBPhVLWy.js";import{a as b,i as le,n as x,o as S,r as C}from"./popover-BUj2v1xo.js";var w=ee(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),T=e(t(),1),E=u();function ue(e){let t=D(e),n=T.forwardRef((e,n)=>{let{children:r,...i}=e,a=T.Children.toArray(r),o=a.find(O);if(o){let e=o.props.children,r=a.map(t=>t===o?T.Children.count(e)>1?T.Children.only(null):T.isValidElement(e)?e.props.children:null:t);return(0,E.jsx)(t,{...i,ref:n,children:T.isValidElement(e)?T.cloneElement(e,void 0,r):null})}return(0,E.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function D(e){let t=T.forwardRef((e,t)=>{let{children:n,...r}=e;if(T.isValidElement(n)){let e=pe(n),i=fe(r,n.props);return n.type!==T.Fragment&&(i.ref=t?d(t,e):e),T.cloneElement(n,i)}return T.Children.count(n)>1?T.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var de=Symbol(`radix.slottable`);function O(e){return T.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===de}function fe(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function pe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var k=[`Enter`,` `],A=[`ArrowDown`,`PageUp`,`Home`],me=[`ArrowUp`,`PageDown`,`End`],he=[...A,...me],ge={ltr:[...k,`ArrowRight`],rtl:[...k,`ArrowLeft`]},_e={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},j=`Menu`,[M,ve,ye]=re(j),[N,P]=r(j,[ye,S,h]),F=S(),be=h(),[xe,I]=N(j),[Se,L]=N(j),Ce=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:o,modal:s=!0}=e,c=F(t),[l,u]=T.useState(null),d=T.useRef(!1),f=i(o),p=_(a);return T.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,E.jsx)(b,{...c,children:(0,E.jsx)(xe,{scope:t,open:n,onOpenChange:f,content:l,onContentChange:u,children:(0,E.jsx)(Se,{scope:t,onClose:T.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:d,dir:p,modal:s,children:r})})})};Ce.displayName=j;var we=`MenuAnchor`,R=T.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=F(n);return(0,E.jsx)(x,{...i,...r,ref:t})});R.displayName=we;var z=`MenuPortal`,[Te,Ee]=N(z,{forceMount:void 0}),De=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=I(z,t);return(0,E.jsx)(Te,{scope:t,forceMount:n,children:(0,E.jsx)(y,{present:n||a.open,children:(0,E.jsx)(s,{asChild:!0,container:i,children:r})})})};De.displayName=z;var B=`MenuContent`,[Oe,V]=N(B),ke=T.forwardRef((e,t)=>{let n=Ee(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=I(B,e.__scopeMenu),o=L(B,e.__scopeMenu);return(0,E.jsx)(M.Provider,{scope:e.__scopeMenu,children:(0,E.jsx)(y,{present:r||a.open,children:(0,E.jsx)(M.Slot,{scope:e.__scopeMenu,children:o.modal?(0,E.jsx)(Ae,{...i,ref:t}):(0,E.jsx)(je,{...i,ref:t})})})})}),Ae=T.forwardRef((e,t)=>{let n=I(B,e.__scopeMenu),r=T.useRef(null),i=f(t,r);return T.useEffect(()=>{let e=r.current;if(e)return oe(e)},[]),(0,E.jsx)(H,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:v(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),je=T.forwardRef((e,t)=>{let n=I(B,e.__scopeMenu);return(0,E.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Me=ue(`MenuContent.ScrollLock`),H=T.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:p,onDismiss:ee,disableOutsideScroll:m,...h}=e,g=I(B,n),_=L(B,n),ne=F(n),re=be(n),y=ve(n),[oe,b]=T.useState(null),x=T.useRef(null),S=f(t,x,g.onContentChange),C=T.useRef(0),w=T.useRef(``),ue=T.useRef(0),D=T.useRef(null),de=T.useRef(`right`),O=T.useRef(0),fe=m?ce:T.Fragment,pe=m?{as:Me,allowPinchZoom:!0}:void 0,k=e=>{let t=w.current+e,n=y().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=lt(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){w.current=t,window.clearTimeout(C.current),t!==``&&(C.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};T.useEffect(()=>()=>window.clearTimeout(C.current),[]),ae();let A=T.useCallback(e=>de.current===D.current?.side&&dt(e,D.current?.area),[]);return(0,E.jsx)(Oe,{scope:n,searchRef:w,onItemEnter:T.useCallback(e=>{A(e)&&e.preventDefault()},[A]),onItemLeave:T.useCallback(e=>{A(e)||(x.current?.focus(),b(null))},[A]),onTriggerLeave:T.useCallback(e=>{A(e)&&e.preventDefault()},[A]),pointerGraceTimerRef:ue,onPointerGraceIntentChange:T.useCallback(e=>{D.current=e},[]),children:(0,E.jsx)(fe,{...pe,children:(0,E.jsx)(se,{asChild:!0,trapped:i,onMountAutoFocus:v(a,e=>{e.preventDefault(),x.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,E.jsx)(ie,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:p,onDismiss:ee,children:(0,E.jsx)(te,{asChild:!0,...re,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:oe,onCurrentTabStopIdChange:b,onEntryFocus:v(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,E.jsx)(le,{role:`menu`,"aria-orientation":`vertical`,"data-state":at(g.open),"data-radix-menu-content":``,dir:_.dir,...ne,...h,ref:S,style:{outline:`none`,...h.style},onKeyDown:v(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&k(e.key));let i=x.current;if(e.target!==i||!he.includes(e.key))return;e.preventDefault();let a=y().filter(e=>!e.disabled).map(e=>e.ref.current);me.includes(e.key)&&a.reverse(),st(a)}),onBlur:v(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(C.current),w.current=``)}),onPointerMove:v(e.onPointerMove,X(e=>{let t=e.target,n=O.current!==e.clientX;e.currentTarget.contains(t)&&n&&(de.current=e.clientX>O.current?`right`:`left`,O.current=e.clientX)}))})})})})})})});ke.displayName=B;var Ne=`MenuGroup`,U=T.forwardRef((e,t)=>{let{__scopeMenu:r,...i}=e;return(0,E.jsx)(n.div,{role:`group`,...i,ref:t})});U.displayName=Ne;var Pe=`MenuLabel`,Fe=T.forwardRef((e,t)=>{let{__scopeMenu:r,...i}=e;return(0,E.jsx)(n.div,{...i,ref:t})});Fe.displayName=Pe;var W=`MenuItem`,Ie=`menu.itemSelect`,G=T.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=T.useRef(null),o=L(W,e.__scopeMenu),s=V(W,e.__scopeMenu),l=f(t,a),u=T.useRef(!1),d=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ie,{bubbles:!0,cancelable:!0});e.addEventListener(Ie,e=>r?.(e),{once:!0}),c(e,t),t.defaultPrevented?u.current=!1:o.onClose()}};return(0,E.jsx)(Le,{...i,ref:l,disabled:n,onClick:v(e.onClick,d),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:v(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:v(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||k.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});G.displayName=W;var Le=T.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:i=!1,textValue:a,...o}=e,s=V(W,r),c=be(r),l=T.useRef(null),u=f(t,l),[d,p]=T.useState(!1),[ee,m]=T.useState(``);return T.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[o.children]),(0,E.jsx)(M.ItemSlot,{scope:r,disabled:i,textValue:a??ee,children:(0,E.jsx)(ne,{asChild:!0,...c,focusable:!i,children:(0,E.jsx)(n.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...o,ref:u,onPointerMove:v(e.onPointerMove,X(e=>{i?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:v(e.onPointerLeave,X(e=>s.onItemLeave(e))),onFocus:v(e.onFocus,()=>p(!0)),onBlur:v(e.onBlur,()=>p(!1))})})})}),Re=`MenuCheckboxItem`,ze=T.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,E.jsx)(Ke,{scope:e.__scopeMenu,checked:n,children:(0,E.jsx)(G,{role:`menuitemcheckbox`,"aria-checked":Y(n)?`mixed`:n,...i,ref:t,"data-state":ot(n),onSelect:v(i.onSelect,()=>r?.(Y(n)?!0:!n),{checkForDefaultPrevented:!1})})})});ze.displayName=Re;var Be=`MenuRadioGroup`,[Ve,He]=N(Be,{value:void 0,onValueChange:()=>{}}),Ue=T.forwardRef((e,t)=>{let{value:n,onValueChange:r,...a}=e,o=i(r);return(0,E.jsx)(Ve,{scope:e.__scopeMenu,value:n,onValueChange:o,children:(0,E.jsx)(U,{...a,ref:t})})});Ue.displayName=Be;var We=`MenuRadioItem`,Ge=T.forwardRef((e,t)=>{let{value:n,...r}=e,i=He(We,e.__scopeMenu),a=n===i.value;return(0,E.jsx)(Ke,{scope:e.__scopeMenu,checked:a,children:(0,E.jsx)(G,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":ot(a),onSelect:v(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ge.displayName=We;var K=`MenuItemIndicator`,[Ke,qe]=N(K,{checked:!1}),Je=T.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:i,...a}=e,o=qe(K,r);return(0,E.jsx)(y,{present:i||Y(o.checked)||o.checked===!0,children:(0,E.jsx)(n.span,{...a,ref:t,"data-state":ot(o.checked)})})});Je.displayName=K;var Ye=`MenuSeparator`,Xe=T.forwardRef((e,t)=>{let{__scopeMenu:r,...i}=e;return(0,E.jsx)(n.div,{role:`separator`,"aria-orientation":`horizontal`,...i,ref:t})});Xe.displayName=Ye;var Ze=`MenuArrow`,Qe=T.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=F(n);return(0,E.jsx)(C,{...i,...r,ref:t})});Qe.displayName=Ze;var q=`MenuSub`,[$e,et]=N(q),tt=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,o=I(q,t),s=F(t),[c,u]=T.useState(null),[d,f]=T.useState(null),p=i(a);return T.useEffect(()=>(o.open===!1&&p(!1),()=>p(!1)),[o.open,p]),(0,E.jsx)(b,{...s,children:(0,E.jsx)(xe,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:f,children:(0,E.jsx)($e,{scope:t,contentId:l(),triggerId:l(),trigger:c,onTriggerChange:u,children:n})})})};tt.displayName=q;var J=`MenuSubTrigger`,nt=T.forwardRef((e,t)=>{let n=I(J,e.__scopeMenu),r=L(J,e.__scopeMenu),i=et(J,e.__scopeMenu),a=V(J,e.__scopeMenu),o=T.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=T.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return T.useEffect(()=>u,[u]),T.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,E.jsx)(R,{asChild:!0,...l,children:(0,E.jsx)(Le,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":at(n.open),...e,ref:d(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:v(e.onPointerMove,X(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:v(e.onPointerLeave,X(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:v(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||ge[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});nt.displayName=J;var rt=`MenuSubContent`,it=T.forwardRef((e,t)=>{let n=Ee(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=I(B,e.__scopeMenu),o=L(B,e.__scopeMenu),s=et(rt,e.__scopeMenu),c=T.useRef(null),l=f(t,c);return(0,E.jsx)(M.Provider,{scope:e.__scopeMenu,children:(0,E.jsx)(y,{present:r||a.open,children:(0,E.jsx)(M.Slot,{scope:e.__scopeMenu,children:(0,E.jsx)(H,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:v(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:v(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:v(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=_e[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});it.displayName=rt;function at(e){return e?`open`:`closed`}function Y(e){return e===`indeterminate`}function ot(e){return Y(e)?`indeterminate`:e?`checked`:`unchecked`}function st(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ct(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function lt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ct(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ut(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function dt(e,t){return t?ut({x:e.clientX,y:e.clientY},t):!1}function X(e){return t=>t.pointerType===`mouse`?e(t):void 0}var ft=Ce,pt=R,mt=De,ht=ke,gt=U,_t=Fe,vt=G,yt=ze,bt=Ue,xt=Ge,St=Je,Ct=Xe,wt=Qe,Tt=tt,Et=nt,Dt=it,Z=`DropdownMenu`,[Ot,kt]=r(Z,[P]),Q=P(),[At,jt]=Ot(Z),Mt=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:s,modal:c=!0}=e,u=Q(t),d=T.useRef(null),[f,p]=o({prop:i,defaultProp:a??!1,onChange:s,caller:Z});return(0,E.jsx)(At,{scope:t,triggerId:l(),triggerRef:d,contentId:l(),open:f,onOpenChange:p,onOpenToggle:T.useCallback(()=>p(e=>!e),[p]),modal:c,children:(0,E.jsx)(ft,{...u,open:f,onOpenChange:p,dir:r,modal:c,children:n})})};Mt.displayName=Z;var Nt=`DropdownMenuTrigger`,Pt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:i=!1,...a}=e,o=jt(Nt,r),s=Q(r);return(0,E.jsx)(pt,{asChild:!0,...s,children:(0,E.jsx)(n.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":i?``:void 0,disabled:i,...a,ref:d(t,o.triggerRef),onPointerDown:v(e.onPointerDown,e=>{!i&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:v(e.onKeyDown,e=>{i||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Pt.displayName=Nt;var Ft=`DropdownMenuPortal`,It=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Q(t);return(0,E.jsx)(mt,{...r,...n})};It.displayName=Ft;var Lt=`DropdownMenuContent`,Rt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=jt(Lt,n),a=Q(n),o=T.useRef(!1);return(0,E.jsx)(ht,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:v(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:v(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Rt.displayName=Lt;var zt=`DropdownMenuGroup`,Bt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(gt,{...i,...r,ref:t})});Bt.displayName=zt;var Vt=`DropdownMenuLabel`,Ht=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(_t,{...i,...r,ref:t})});Ht.displayName=Vt;var Ut=`DropdownMenuItem`,Wt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(vt,{...i,...r,ref:t})});Wt.displayName=Ut;var Gt=`DropdownMenuCheckboxItem`,Kt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(yt,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuRadioGroup`,Jt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(bt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuRadioItem`,Xt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(xt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuItemIndicator`,Qt=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(St,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=`DropdownMenuSeparator`,en=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(Ct,{...i,...r,ref:t})});en.displayName=$t;var tn=`DropdownMenuArrow`,nn=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(wt,{...i,...r,ref:t})});nn.displayName=tn;var rn=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,s=Q(t),[c,l]=o({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,E.jsx)(Tt,{...s,open:c,onOpenChange:l,children:n})},an=`DropdownMenuSubTrigger`,on=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(Et,{...i,...r,ref:t})});on.displayName=an;var sn=`DropdownMenuSubContent`,cn=T.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,E.jsx)(Dt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});cn.displayName=sn;var ln=Mt,un=Pt,dn=It,fn=Rt,pn=Ht,mn=Wt,hn=Kt,gn=Jt,_n=Xt,vn=Qt,yn=en,bn=rn,xn=on,Sn=cn,$=[`relative flex cursor-pointer select-none items-center gap-2`,`rounded-md px-2 py-1.5 text-body-medium-default outline-none`,`text-[var(--content-secondary)]`,`data-[highlighted]:bg-[var(--surface-hover)]`,`data-[highlighted]:text-[var(--content-emphasised)]`,`data-[disabled]:cursor-not-allowed data-[disabled]:text-[var(--content-disabled)]`,`data-[disabled]:data-[highlighted]:bg-transparent`,`transition-colors`].join(` `),Cn=[`z-50 min-w-[10rem] overflow-hidden rounded-lg bg-[var(--surface-lift)] p-2 shadow-[var(--shadow-popover)]`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`].join(` `),wn=ln;function Tn({asChild:e=!0,...t}){return(0,E.jsx)(un,{"data-slot":`menu-trigger`,asChild:e,...t})}function En({className:e,sideOffset:t=6,collisionPadding:n=8,onPointerDownOutside:r,onCloseAutoFocus:i,ref:o,...s}){let c=a(),l=(0,T.useRef)(!1);return(0,E.jsx)(dn,{container:c??void 0,children:(0,E.jsx)(fn,{ref:o,"data-slot":`menu-content`,sideOffset:t,collisionPadding:n,onPointerDownOutside:e=>{l.current=!0,r?.(e)},onCloseAutoFocus:e=>{l.current&&=(e.preventDefault(),!1),i?.(e)},className:p(Cn,e),...s})})}function Dn({className:e,children:t,leftIcon:n,shortcut:r,ref:i,...a}){return(0,E.jsxs)(mn,{ref:i,"data-slot":`menu-item`,className:p($,e),...a,children:[n?(0,E.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,"aria-hidden":!0,children:n}):null,(0,E.jsx)(`span`,{className:`flex-1 truncate`,children:t}),r?(0,E.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:r}):null]})}function On({className:e,children:t,checked:n,shortcut:r,ref:i,...a}){return(0,E.jsxs)(hn,{ref:i,checked:n,"data-slot":`menu-checkbox-item`,className:p($,`pl-7`,e),...a,children:[(0,E.jsx)(`span`,{className:`absolute left-1.5 flex h-4 w-4 items-center justify-center`,children:(0,E.jsx)(vn,{children:(0,E.jsx)(m,{className:`h-3.5 w-3.5 text-[var(--content-default)]`,"aria-hidden":!0})})}),(0,E.jsx)(`span`,{className:`flex-1 truncate`,children:t}),r?(0,E.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:r}):null]})}function kn({ref:e,...t}){return(0,E.jsx)(gn,{ref:e,"data-slot":`menu-radio-group`,...t})}function An({className:e,children:t,shortcut:n,ref:r,...i}){return(0,E.jsxs)(_n,{ref:r,"data-slot":`menu-radio-item`,className:p($,`pl-7`,e),...i,children:[(0,E.jsx)(`span`,{className:`absolute left-1.5 flex h-4 w-4 items-center justify-center`,children:(0,E.jsx)(vn,{children:(0,E.jsx)(w,{className:`h-2 w-2 fill-current text-[var(--content-default)]`,"aria-hidden":!0})})}),(0,E.jsx)(`span`,{className:`flex-1 truncate`,children:t}),n?(0,E.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:n}):null]})}function jn({className:e,ref:t,...n}){return(0,E.jsx)(yn,{ref:t,"data-slot":`menu-separator`,className:p(`my-1 h-px bg-[var(--border-base)]`,e),...n})}function Mn({className:e,ref:t,...n}){return(0,E.jsx)(pn,{ref:t,"data-slot":`menu-label`,className:p(`px-2 py-1.5 text-body-small-default uppercase tracking-wide`,`text-[var(--content-tertiary)]`,e),...n})}var Nn=bn;function Pn({className:e,children:t,leftIcon:n,ref:r,...i}){return(0,E.jsxs)(xn,{ref:r,"data-slot":`menu-sub-trigger`,className:p($,`data-[state=open]:bg-[var(--surface-hover)]`,`data-[state=open]:text-[var(--content-emphasised)]`,e),...i,children:[n?(0,E.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,"aria-hidden":!0,children:n}):null,(0,E.jsx)(`span`,{className:`flex-1 truncate`,children:t}),(0,E.jsx)(g,{className:`ml-auto h-3.5 w-3.5 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function Fn({className:e,ref:t,...n}){let r=a();return(0,E.jsx)(dn,{container:r??void 0,children:(0,E.jsx)(Sn,{ref:t,"data-slot":`menu-sub-content`,className:p(Cn,e),...n})})}var In={Root:wn,Trigger:Tn,Content:En,Item:Dn,CheckboxItem:On,RadioGroup:kn,RadioItem:An,Separator:jn,Label:Mn,Sub:Nn,SubTrigger:Pn,SubContent:Fn};export{Tt as _,wt as a,P as b,gt as c,_t as d,mt as f,Ct as g,ft as h,pt as i,vt as l,xt as m,Cn as n,yt as o,bt as p,$ as r,ht as s,In as t,St as u,Dt as v,w as x,Et as y};
@@ -1 +0,0 @@
1
- import{n as e}from"./toast-B0OiPFFj.js";function t(t){return n=>{e.error(n instanceof Error?n.message:t)}}export{t};
@@ -1,6 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n}from"./device-settings-BBwtGKJb.js";import{t as r}from"./react-DJZBPgpf.js";import{f as i,ot as a}from"./local-mode-CgrENuVf.js";import{t as o}from"./is-electron-C_ZTVhv8.js";import{i as s,t as c}from"./dist-CNEsSZUe.js";import{t as l}from"./return-to-DnS1UWHr.js";import{o as u}from"./routes-CCywyokq.js";var d={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function f({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
2
- `);let a=p.split(`
3
-
4
- `);p=a.pop()??``;for(let e of a){let t=e.split(`
5
- `),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
6
- `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var p=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},m=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},h=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},g=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(m(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=p(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):_({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},_=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},v=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=h(r),s=Object.entries(i).map(([t,i])=>_({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},ee=/\{[^{}]+\}/g,te=({path:e,url:t})=>{let n=t,r=t.match(ee);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,g({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,v({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${_({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},ne=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=te({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function y(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var b=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},x=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=g({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=v({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=_({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},re=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},ie=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,ae=async({security:e,...t})=>{for(let n of e){if(ie(t,n.name))continue;let e=await b(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},S=e=>ne({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:x(e.querySerializer),url:e.url}),C=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=w(e.headers,t.headers),n},oe=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},w=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?oe(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},T=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},se=()=>({error:new T,request:new T,response:new T}),E=x({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),ce={"Content-Type":`application/json`},D=(e={})=>({...d,headers:ce,parseAs:`auto`,querySerializer:E,...e}),O=((e={})=>{let t=C(D(),e),n=()=>({...t}),r=e=>(t=C(t,e),n()),i=se(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:w(t.headers,e.headers),serializedBody:void 0};n.security&&await ae({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:S(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:y(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?re(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return f({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:y(n),url:r})};return{buildUrl:e=>S({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(D()),le=e=>(e.client??O).get({url:`/_allauth/{client}/v1/auth/provider/signup`,...e}),ue=e=>(e.client??O).post({url:`/_allauth/{client}/v1/auth/provider/signup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),de=e=>(e.client??O).delete({url:`/_allauth/{client}/v1/auth/session`,...e}),k=e=>(e.client??O).get({url:`/_allauth/{client}/v1/auth/session`,...e}),A=()=>o()?`app`:`browser`;function fe(e){return!e.ok&&e.status===409}function j(e,t){let n=e;if(n&&Array.isArray(n.errors))return{ok:!1,status:t,errors:n.errors};let r=n?.data;return r&&Array.isArray(r.flows)?{ok:!1,status:t,errors:[],flows:r.flows}:{ok:!1,status:t,errors:[]}}async function M(){let{data:e,error:t,response:n}=await k({path:{client:A()}});return e?{ok:!0,data:e.data}:j(t,n?.status)}async function pe(){let{data:e,error:t,response:n}=await de({path:{client:A()}});return e?{ok:!0,data:e}:n?.status===401?{ok:!0,data:{}}:j(t,n?.status)}async function me(){let{data:e,error:t,response:n}=await le({path:{client:A()}});return e?{ok:!0,data:e.data}:j(t,n?.status)}async function he({email:e,username:t}){let{data:n,error:r,response:i}=await ue({path:{client:A()},body:{email:e,username:t}});return n?{ok:!0,data:n.data}:j(r,i?.status)}var N;function ge(){return o()?(N===void 0&&(N=window.vellum?.auth?.getSessionToken?.()??null),N):null}function _e(e){N=e}var P=`__Secure-csrftoken`;function F(){return document.cookie.split(`; `).findLast(e=>e.startsWith(`${P}=`))?.split(`=`).slice(1).join(`=`)}function I(){document.cookie.split(`; `).filter(e=>e.startsWith(`${P}=`)).length>1&&(document.cookie=`${P}=; path=/; max-age=0; secure`)}var L=null;async function R(){o()||a()||(I(),!F()&&(L||=(async()=>{for(let e=0;e<2;e++)try{if(await k({path:{client:`browser`}}),F())return}catch{console.warn(`CSRF cookie bootstrap failed (attempt ${e+1}/2)`),e===0&&await new Promise(e=>setTimeout(e,500))}})().finally(()=>{L=null}),await L))}var ve=`/_allauth/browser/v1/auth/provider/redirect`;function ye(e,t,n,r={}){let i={provider:e,callback_url:new URL(t,n).href,process:`login`};return r.intent&&(i.intent=r.intent),r.loginHint&&(i.login_hint=r.loginHint),i}function be(e){if(!e)throw Error(`Unable to start provider redirect: CSRF token is missing. The session may not be initialized. Please refresh the page and try again.`)}async function xe(e,t,n={}){await R();let r=F();be(r);let i=window.location.origin,a=document.createElement(`form`);a.method=`POST`,a.action=`${i}${ve}`;let o=ye(e,t,i,n);o.csrfmiddlewaretoken=r;for(let[e,t]of Object.entries(o)){let n=document.createElement(`input`);n.type=`hidden`,n.name=e,n.value=t,a.appendChild(n)}document.body.appendChild(a),a.submit()}function Se(e,t){return e?{kind:`authenticated`}:t.some(e=>e.id===`provider_signup`&&e.is_pending)?{kind:`provider_signup`}:{kind:`error`,message:`Unexpected authentication state.`}}var Ce=`https://www.vellum.ai`,we=`vellum:loopback:state`,Te=`vellum:loopback:returnTo`;function z(){let e=window.__VELLUM_CONFIG__;return e?.webUrl?{webUrl:e.webUrl}:{webUrl:Ce}}function Ee(){let e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function De(){return z().webUrl===window.location.origin}async function Oe(e,t){let{webUrl:n}=z(),r=Ee(),i=window.location.port||`3000`;sessionStorage.setItem(we,r),e&&sessionStorage.setItem(Te,e);let a=`/accounts/cli/callback?port=${i}&state=${r}`,o=`${n}/account/${t?.intent===`signup`?`signup`:`login`}?returnTo=${encodeURIComponent(a)}`;window.location.href=o}async function B(e){o()&&await window.vellum?.menu.setPlatformSession(e)}var V=e(r(),1),ke=s(`NativeAuth`),H=u.assistant,U=!1;function Ae(){return U}function je(){return`${window.location.protocol}//${window.location.host}`}function W(){return typeof window<`u`&&c.isNativePlatform()}var Me=()=>()=>{};function Ne(){return(0,V.useSyncExternalStore)(Me,W,()=>!1)}async function G(e){let t=e?.baseURL??je(),{sessionToken:n}=await ke.startAuth({baseURL:t,...e?.loginHint?{loginHint:e.loginHint}:{},...e?.intent?{intent:e.intent}:{}});q(n),W()&&await K(),$()&&await Z(n);let r=l(e?.returnTo??null,H);window.location.href=r}async function K(){for(let e=0;e<6;e++){try{let e=await M();if(e.ok&&e.data.user)return}catch{}await new Promise(t=>setTimeout(t,50*(e+1)))}}function q(e){let t=`path=/; domain=.vellum.ai; secure; samesite=lax; max-age=1209600`;document.cookie=`sessionid=${e}; ${t}`,document.cookie=`__Secure-sessionid=${e}; ${t}`}function Pe(){if(typeof document>`u`)return null;let e=document.cookie.split(`; `);for(let t of[`__Secure-sessionid`,`sessionid`]){let n=e.find(e=>e.startsWith(`${t}=`));if(n){let e=n.slice(t.length+1);if(e)return e}}return null}async function Fe(e,t,n={}){if(W()){try{await G({returnTo:n.intent===`signup`?u.onboarding.privacy:n.returnTo??null,loginHint:n.loginHint,intent:n.intent})}catch(e){if(e?.code===`USER_CANCELLED`)return;throw e}return}if(o()&&window.vellum?.auth?.startOAuth){U=!0;try{let e=await window.vellum.auth.startOAuth({loginHint:n.loginHint,intent:n.intent});if(e?.sessionToken){_e(e.sessionToken),await B(!0);let t=l(n.intent===`signup`?u.onboarding.privacy:n.returnTo??null,H);window.location.href=t}}finally{U=!1}return}if(i()&&!De()){await Oe(n.returnTo??void 0,{intent:n.intent});return}await xe(e,t,n)}var J=s(`NativeBiometric`),Y=`vellum.ai`;async function X(){if(!W())return!1;try{let{available:e}=await J.isAvailable();return e}catch{return!1}}async function Z(e){if(!await X())return!1;try{return await J.storeToken({token:e,server:Y}),!0}catch(e){return console.error(`[native-biometric] failed to store token:`,e),!1}}var Q=null;async function Ie(){return W()?Q||(Q=(async()=>{try{let{token:e}=await J.retrieveToken({server:Y,reason:`Sign in to Vellum`});return e}catch{return null}finally{Q=null}})(),Q):null}async function Le(){if(W())try{await J.deleteToken({server:Y})}catch{}}function $(){return n(`biometricEnabled`,!0)}function Re(e){t(`biometricEnabled`,e)}async function ze(){if(!W())return`Biometrics`;try{let{biometryType:e}=await J.isAvailable();switch(e){case`faceId`:return`Face ID`;case`touchId`:return`Touch ID`;case`opticId`:return`Optic ID`;default:return`Biometrics`}}catch{return`Biometrics`}}export{fe as C,O as E,M as S,he as T,Se as _,Ie as a,ge as b,Pe as c,Ae as d,Fe as f,B as g,K as h,$ as i,q as l,Ne as m,ze as n,Re as o,G as p,X as r,Z as s,Le as t,W as u,R as v,pe as w,me as x,F as y};
@@ -1 +0,0 @@
1
- var e=`vellum:oauth-complete-deeplink`,t=`oauth-complete`,n={"www.vellum.ai":`vellum-assistant`,"vellum.ai":`vellum-assistant`,"staging-assistant.vellum.ai":`vellum-assistant-staging`,"dev-assistant.vellum.ai":`vellum-assistant-dev`};new Set(Object.values(n).map(e=>`${e}:`));function r(e){return n[e]??null}function i(e,n){let r=new URLSearchParams;return r.set(`requestId`,n.requestId),n.oauthStatus!==null&&r.set(`oauth_status`,n.oauthStatus),n.oauthProvider!==null&&r.set(`oauth_provider`,n.oauthProvider),n.oauthCode!==null&&r.set(`oauth_code`,n.oauthCode),`${e}://${t}?${r.toString()}`}export{i as n,r,e as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CSgBiYzF.js","assets/preload-helper-BewR0kVT.js","assets/dist-CNEsSZUe.js","assets/definitions-DeG2sRFv.js","assets/esm-CpbLh3YJ.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./preload-helper-BewR0kVT.js";import{t as n}from"./dist-CNEsSZUe.js";var r=e({saveFile:()=>i});async function i(e,t){n.isNativePlatform()?await a(e,t):o(e,t)}async function a(e,n){let{Filesystem:r,Directory:i}=await t(async()=>{let{Filesystem:e,Directory:t}=await import(`./esm-CSgBiYzF.js`);return{Filesystem:e,Directory:t}},__vite__mapDeps([0,1,2,3])),{Share:a}=await t(async()=>{let{Share:e}=await import(`./esm-CpbLh3YJ.js`);return{Share:e}},__vite__mapDeps([4,1,2])),o;if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch file: ${t.statusText}`);o=await t.blob()}else o=e;let c=await s(o),l=await r.writeFile({path:n,data:c,directory:i.Cache});try{await a.share({files:[l.uri]})}catch{}r.deleteFile({path:n,directory:i.Cache}).catch(()=>{})}function o(e,t){let n=document.createElement(`a`);typeof e==`string`?n.href=e:n.href=URL.createObjectURL(e),n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),e instanceof Blob&&URL.revokeObjectURL(n.href)}function s(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{let e=r.result.split(`,`)[1];e?t(e):n(Error(`Failed to convert blob to base64`))},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}export{i as n,r as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-DvW5mxZR.js";import{t as n}from"./typography-BscuIPxA.js";import{n as r,r as i,t as a}from"./info-BGLlcyt6.js";import{t as o}from"./triangle-alert-Bz1PpciW.js";import{t as s}from"./x-C8bCmIhD.js";var c=e(),l={info:{container:`bg-[var(--surface-overlay)] border-[var(--border-element)]`,icon:`text-[color:var(--content-secondary)]`,DefaultIcon:a},success:{container:`bg-[var(--system-positive-weak)] border-[color-mix(in_srgb,var(--system-positive-strong)_25%,transparent)]`,icon:`text-[color:var(--system-positive-strong)]`,DefaultIcon:r},warning:{container:`bg-[var(--system-mid-weak)] border-[color-mix(in_srgb,var(--system-mid-strong)_30%,transparent)]`,icon:`text-[color:var(--system-mid-strong)]`,DefaultIcon:i},error:{container:`bg-[var(--system-negative-weak)] border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)]`,icon:`text-[color:var(--system-negative-strong)]`,DefaultIcon:o},neutral:{container:`bg-[var(--surface-overlay)] border-[var(--border-base)]`,icon:`text-[color:var(--content-secondary)]`,DefaultIcon:null}};function u({tone:e=`info`,title:r,children:i,icon:a,onDismiss:o,actions:u,className:d,ref:f,...p}){let m=l[e],h=e===`error`?`alert`:`status`,g=a===void 0?m.DefaultIcon?(0,c.jsx)(m.DefaultIcon,{className:`h-4 w-4`,"aria-hidden":`true`}):null:a;return(0,c.jsxs)(`div`,{...p,ref:f,role:h,"data-slot":`notice`,className:t(`relative flex w-full gap-3 rounded-lg border p-3`,r?`items-start`:`items-center`,`text-[color:var(--content-default)]`,m.container,d),children:[g?(0,c.jsx)(`span`,{className:t(`flex shrink-0 items-center justify-center`,r&&`mt-0.5`,m.icon),children:g}):null,(0,c.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[r?(0,c.jsx)(n,{variant:`body-medium-default`,as:`p`,className:`text-[color:var(--content-emphasised)]`,children:r}):null,i?(0,c.jsx)(n,{variant:`body-medium-lighter`,as:`div`,className:`text-[color:var(--content-secondary)]`,children:i}):null]}),u?(0,c.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:u}):null,o?(0,c.jsx)(`button`,{type:`button`,onClick:o,"aria-label":`Dismiss`,className:t(`shrink-0 cursor-pointer rounded bg-transparent p-0.5`,`text-[color:var(--content-secondary)] opacity-70 transition-opacity`,`hover:opacity-100 keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,c.jsx)(s,{className:`h-3.5 w-3.5`,strokeWidth:2,"aria-hidden":`true`})}):null]})}export{u as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{h as a}from"./local-mode-CgrENuVf.js";import{t as o}from"./circle-alert-DvNg50UK.js";import{t as s}from"./circle-check-DzlJxj_M.js";import{t as c}from"./loader-circle-BITX1qOw.js";import{a as l,i as u,n as d,r as f,t as p}from"./remote-gateway-session-C2xcV9Z_.js";import{t as m}from"./return-to-DnS1UWHr.js";import{o as h}from"./routes-CCywyokq.js";import{t as g}from"./index-CWzNQ8A_.js";var _=e(t(),1),v=i();function y(e){switch(e.kind){case`starting`:return{title:`Starting pairing`,body:`Creating a code for this browser.`};case`approved`:return{title:`Connected`,body:`Opening your assistant.`};case`expired`:return{title:`Pairing expired`,body:`Start a new web pairing from the local assistant.`};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 b({state:e}){return e.kind===`approved`?(0,v.jsx)(s,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`polling`?(0,v.jsx)(c,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}):(0,v.jsx)(o,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0})}function x(){let e=r(),t=n(),i=a(),o=(0,_.useMemo)(()=>m(new URLSearchParams(e.search).get(`returnTo`),h.assistant),[e.search]),s=(0,_.useMemo)(()=>l(`${e.pathname}${e.search}${e.hash}`),[e.pathname,e.search,e.hash]),[c,x]=(0,_.useState)(()=>s.deviceCode?{deviceCode:s.deviceCode,userCode:s.userCode}:null),[S,C]=(0,_.useState)(c?{kind:`polling`,expiresAt:null}:{kind:`starting`});if((0,_.useEffect)(()=>{if(!i||c)return;let e=new AbortController;return(async()=>{try{let t=await f(e.signal);x({deviceCode:t.deviceCode,userCode:t.userCode}),C({kind:`polling`,expiresAt:t.expiresAt})}catch{if(e.signal.aborted)return;C({kind:`error`,message:`The assistant could not start pairing. Refresh the page to try again.`})}})(),()=>{e.abort()}},[i,c]),(0,_.useEffect)(()=>{if(!i||!c?.deviceCode)return;let e=new AbortController,n=null,r=async()=>{try{let i=await u(c.deviceCode,e.signal);if(i.status===`pending`){C({kind:`polling`,expiresAt:i.expiresAt||null}),n=setTimeout(()=>void r(),Math.max(1,i.intervalSeconds)*1e3);return}d(i),C({kind:`approved`}),n=setTimeout(()=>t(o,{replace:!0}),250)}catch(t){if(e.signal.aborted)return;if(t instanceof p&&t.status===401){C({kind:`expired`});return}C({kind:`error`,message:`The assistant could not complete pairing. Try starting a new pairing.`})}};return r(),()=>{e.abort(),n&&clearTimeout(n)}},[i,c?.deviceCode,t,o]),!i)return(0,v.jsx)(g,{});let w=y(S);return(0,v.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,v.jsxs)(`section`,{className:`w-full max-w-md rounded-lg border border-[var(--border-default)] bg-[var(--background-surface)] p-8 shadow-sm`,children:[(0,v.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,v.jsx)(b,{state:S}),(0,v.jsx)(`h1`,{className:`text-xl font-semibold`,children:w.title})]}),c?.userCode?(0,v.jsxs)(`div`,{className:`mb-5 rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4 text-center`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium uppercase text-[var(--content-secondary)]`,children:`Pairing code`}),(0,v.jsx)(`div`,{className:`mt-2 font-mono text-3xl font-semibold tracking-[0.18em]`,children:c.userCode})]}):null,(0,v.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:w.body}),S.kind===`polling`&&S.expiresAt?(0,v.jsxs)(`p`,{className:`mt-4 text-xs text-[var(--content-tertiary)]`,children:[`Expires `,new Date(S.expiresAt).toLocaleTimeString(),`.`]}):null]})})}export{x as RemoteWebPairingPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,E as r,S as i,a,o,y as s}from"./button-D-AX8Voo.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{a as l,o as u,r as d,t as f}from"./cn-DvW5mxZR.js";import{t as p}from"./createLucideIcon-Bjb-Kuq7.js";import{n as m}from"./dist-Ddn3FnfV.js";import{a as h,c as g,i as _,n as v,o as y,r as b,s as x,t as S}from"./dist-CGS5MDkK.js";var C=p(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),w=e(t(),1),T=c();function E(e){let t=D(e),n=w.forwardRef((e,n)=>{let{children:r,...i}=e,a=w.Children.toArray(r),o=a.find(k);if(o){let e=o.props.children,r=a.map(t=>t===o?w.Children.count(e)>1?w.Children.only(null):w.isValidElement(e)?e.props.children:null:t);return(0,T.jsx)(t,{...i,ref:n,children:w.isValidElement(e)?w.cloneElement(e,void 0,r):null})}return(0,T.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function D(e){let t=w.forwardRef((e,t)=>{let{children:n,...r}=e;if(w.isValidElement(n)){let e=j(n),i=A(r,n.props);return n.type!==w.Fragment&&(i.ref=t?l(t,e):e),w.cloneElement(n,i)}return w.Children.count(n)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var O=Symbol(`radix.slottable`);function k(e){return w.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===O}function A(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function j(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function M(e){let t=e+`CollectionProvider`,[n,i]=r(t),[a,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,r=w.useRef(null),i=w.useRef(new Map).current;return(0,T.jsx)(a,{scope:t,itemMap:i,collectionRef:r,children:n})};s.displayName=t;let c=e+`CollectionSlot`,l=E(c),d=w.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,T.jsx)(l,{ref:u(t,o(c,n).collectionRef),children:r})});d.displayName=c;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=E(f),h=w.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,a=w.useRef(null),s=u(t,a),c=o(f,n);return w.useEffect(()=>(c.itemMap.set(a,{ref:a,...i}),()=>void c.itemMap.delete(a))),(0,T.jsx)(m,{[p]:``,ref:s,children:r})});h.displayName=f;function g(t){let n=o(e+`CollectionConsumer`,t);return w.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:s,Slot:d,ItemSlot:h},g,i]}var N=w.createContext(void 0);function P(e){let t=w.useContext(N);return e||t||`ltr`}var F=`rovingFocusGroup.onEntryFocus`,I={bubbles:!1,cancelable:!0},L=`RovingFocusGroup`,[R,z,B]=M(L),[ee,te]=r(L,[B]),[ne,V]=ee(L),H=w.forwardRef((e,t)=>(0,T.jsx)(R.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(R.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(U,{...e,ref:t})})}));H.displayName=L;var U=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:a,loop:s=!1,dir:c,currentTabStopId:l,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:f,onEntryFocus:p,preventScrollOnEntryFocus:h=!1,...g}=e,_=w.useRef(null),v=u(t,_),y=P(c),[b,x]=o({prop:l,defaultProp:d??null,onChange:f,caller:L}),[S,C]=w.useState(!1),E=i(p),D=z(r),O=w.useRef(!1),[k,A]=w.useState(0);return w.useEffect(()=>{let e=_.current;if(e)return e.addEventListener(F,E),()=>e.removeEventListener(F,E)},[E]),(0,T.jsx)(ne,{scope:r,orientation:a,dir:y,loop:s,currentTabStopId:b,onItemFocus:w.useCallback(e=>x(e),[x]),onItemShiftTab:w.useCallback(()=>C(!0),[]),onFocusableItemAdd:w.useCallback(()=>A(e=>e+1),[]),onFocusableItemRemove:w.useCallback(()=>A(e=>e-1),[]),children:(0,T.jsx)(n.div,{tabIndex:S||k===0?-1:0,"data-orientation":a,...g,ref:v,style:{outline:`none`,...e.style},onMouseDown:m(e.onMouseDown,()=>{O.current=!0}),onFocus:m(e.onFocus,e=>{let t=!O.current;if(e.target===e.currentTarget&&t&&!S){let t=new CustomEvent(F,I);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=D().filter(e=>e.focusable);Y([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),h)}}O.current=!1}),onBlur:m(e.onBlur,()=>C(!1))})})}),W=`RovingFocusGroupItem`,G=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:i=!0,active:a=!1,tabStopId:o,children:c,...l}=e,u=s(),d=o||u,f=V(W,r),p=f.currentTabStopId===d,h=z(r),{onFocusableItemAdd:g,onFocusableItemRemove:_,currentTabStopId:v}=f;return w.useEffect(()=>{if(i)return g(),()=>_()},[i,g,_]),(0,T.jsx)(R.ItemSlot,{scope:r,id:d,focusable:i,active:a,children:(0,T.jsx)(n.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...l,ref:t,onMouseDown:m(e.onMouseDown,e=>{i?f.onItemFocus(d):e.preventDefault()}),onFocus:m(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:m(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=J(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=h().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?X(n,r+1):n.slice(r+1)}setTimeout(()=>Y(n))}}),children:typeof c==`function`?c({isCurrentTabStop:p,hasTabStop:v!=null}):c})})});G.displayName=W;var K={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function q(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function J(e,t,n){let r=q(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return K[r]}function Y(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function X(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Z=H,re=G,Q=(0,w.createContext)({});function ie({onOpenChange:e,...t}){return(0,T.jsx)(Q,{value:{onOpenChange:e},children:(0,T.jsx)(y,{onOpenChange:e,...t})})}function ae(e){return(0,T.jsx)(g,{"data-slot":`bottom-sheet-trigger`,...e})}function oe({overlayClassName:e,className:t,children:n,ref:r,...i}){let o=a(),{onOpenChange:s}=(0,w.useContext)(Q);return(0,T.jsxs)(h,{container:o??void 0,children:[(0,T.jsx)(_,{"data-slot":`bottom-sheet-overlay`,className:f(`fixed inset-0 z-50 bg-black/50`,e),onClick:()=>s?.(!1)}),(0,T.jsx)(v,{ref:r,"data-slot":`bottom-sheet-content`,className:f(`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`,`max-h-[50dvh]`,`data-[state=open]:animate-[bottomSheetIn_180ms_ease-out]`,t),...i,children:(0,T.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-4 pt-4 pb-[calc(16px+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`,children:n})})]})}function se({icon:e,className:t,children:n,ref:r,...i}){return(0,T.jsxs)(x,{ref:r,"data-slot":`bottom-sheet-title`,className:f(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...i,children:[e?(0,T.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,T.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,T.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function ce({className:e,children:t,ref:n,...r}){return(0,T.jsx)(b,{ref:n,"data-slot":`bottom-sheet-description`,className:f(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function le(e){return(0,T.jsx)(S,{"data-slot":`bottom-sheet-close`,...e})}function ue({className:e,children:t,...n}){return(0,T.jsx)(`div`,{"data-slot":`bottom-sheet-header`,className:f(`flex flex-col gap-1`,e),...n,children:t})}function de({className:e,children:t,...n}){return(0,T.jsx)(`div`,{"data-slot":`bottom-sheet-body`,className:f(`flex-1 overflow-y-auto pt-4 text-[var(--content-default)]`,e),...n,children:t})}function fe({className:e,children:t,...n}){return(0,T.jsx)(`div`,{"data-slot":`bottom-sheet-footer`,className:f(`flex justify-end gap-2 pt-4`,e),...n,children:t})}var pe={Root:ie,Trigger:ae,Content:oe,Title:se,Description:ce,Close:le,Header:ue,Body:de,Footer:fe},me=50,he=2e3,ge=.8;function _e({children:e,className:t}){let n=(0,w.useRef)(null),r=(0,w.useRef)(null),[i,a]=(0,w.useState)(0);(0,w.useEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;let i=()=>{let n=t.scrollWidth-e.clientWidth;a(n>0?n:0)};i();let o=new ResizeObserver(i);return o.observe(e),o.observe(t),()=>o.disconnect()},[e]);let o=i>0,s=Math.max(he,Math.round(i*2/me*1e3)),c=Math.round(s/ge);return(0,T.jsxs)(`span`,{"data-slot":`marquee-text`,ref:n,className:f(`relative min-w-0 flex-1 overflow-hidden`,t),children:[(0,T.jsx)(`span`,{className:`block truncate motion-safe:group-hover:invisible`,children:e}),(0,T.jsx)(`span`,{ref:r,"aria-hidden":!0,className:f(`absolute top-0 left-0 invisible block whitespace-nowrap`,`motion-safe:group-hover:visible`,o&&`motion-safe:group-hover:animate-panelitem-marquee`),style:o?{"--panelitem-marquee-distance":`${i}px`,"--panelitem-marquee-duration":`${c}ms`}:void 0,children:e})]})}var ve=[`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(` `),ye=[`hover:bg-[var(--surface-hover)]`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,`cursor-pointer select-none`].join(` `),be=[`aria-[current=page]:bg-[var(--surface-active)]`,`aria-[current=page]:text-[var(--content-emphasised)]`].join(` `),$=[`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(` `),xe=`flex min-w-0 flex-1 items-center gap-[8px]`,Se=[`shrink-0`,`text-[var(--content-tertiary)]`,`group-hover:text-[var(--content-secondary)]`].join(` `),Ce=`group-aria-[current=page]:text-[var(--content-default)]`,we=`group-aria-[current=page]:text-[var(--primary-base)]`,Te=`min-w-0 flex-1 truncate`,Ee=`shrink-0 text-[var(--content-tertiary)]`,De=`flex items-center gap-2 shrink-0`,Oe=[`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]`,`group-hover:bg-transparent group-hover:rounded-none`,`group-hover:px-0 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(` `),ke=[`flex items-center shrink-0`,`opacity-0 transition-opacity`,`group-hover:opacity-100`,`group-aria-[current=page]:opacity-100`].join(` `);function Ae({icon:e,leadingSlot:t,label:n,expandChevron:r,badge:i,trailingAction:a,active:o=!1,activeVariant:s=`default`,disabled:c=!1,onSelect:l,href:u,marqueeOnHover:p=!1,className:m,"aria-label":h,asChild:g=!1,children:_,ref:v,...y}){let b=o?`page`:void 0,x=h??(typeof n==`string`?n:void 0),S=(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`span`,{className:xe,children:[t===void 0?e?(0,T.jsx)(e,{size:14,"aria-hidden":!0,className:f(`max-md:size-4`,Se,s===`branded`?we:Ce)}):null:t,p?(0,T.jsx)(_e,{children:n}):(0,T.jsx)(`span`,{className:Te,children:n}),r?(0,T.jsx)(r,{size:12,"aria-hidden":!0,className:Ee}):null]}),(0,T.jsxs)(`span`,{className:De,children:[i==null?null:(0,T.jsx)(`span`,{className:Oe,children:i}),a?(0,T.jsx)(`span`,{className:ke,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:a}):null]})]}),C=f(ve,(g||!!u||!!l)&&ye,s===`branded`?$:be,m);if(g)return(0,T.jsx)(d,{"data-slot":`panel-item`,ref:v,className:C,"aria-current":b,"aria-label":x,...y,children:_});if(u){let{onClick:e,...t}=y;return(0,T.jsx)(`a`,{...t,"data-slot":`panel-item`,ref:v,href:u,className:C,"aria-current":b,"aria-label":x,onClick:t=>{e?.(t),t.defaultPrevented||l?.()},children:S})}if(l){let{onClick:e,onKeyDown:t,...n}=y,r=t=>{if(c){t.preventDefault();return}e?.(t),t.defaultPrevented||l()},i=e=>{c||(t?.(e),!e.defaultPrevented&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l()))};return(0,T.jsx)(`div`,{...n,"data-slot":`panel-item`,ref:v,role:`button`,tabIndex:c?-1:0,"aria-disabled":c||void 0,className:C,"aria-current":b,"aria-label":x,onClick:r,onKeyDown:i,children:S})}return(0,T.jsx)(`div`,{"data-slot":`panel-item`,ref:v,className:C,"aria-current":b,"aria-label":x,...y,children:S})}export{te as a,C as c,Z as i,pe as n,P as o,re as r,M as s,Ae as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./is-electron-C_ZTVhv8.js";import{u as r}from"./native-biometric-C5AdTx4r.js";import{t as i}from"./dist-CNEsSZUe.js";var a=e(t(),1);function o(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent;if(/iPhone|iPod/.test(e)||/iPad/.test(e))return!0;let t=navigator.userAgentData;return(t?.platform?t.platform.toLowerCase().includes(`mac`):navigator.platform.toLowerCase().includes(`mac`))&&navigator.maxTouchPoints>1}function s(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent;return/Safari/.test(e)&&!/CriOS|FxiOS|EdgiOS|OPiOS|Chrome|Chromium/.test(e)}function c(){if(typeof navigator>`u`||o())return!1;let e=navigator.userAgentData;return e?.platform?e.platform.toLowerCase().includes(`mac`):navigator.platform.toLowerCase().includes(`mac`)}function l(){return typeof navigator>`u`?!1:/Android/i.test(navigator.userAgent)}function u(){return n()?`macos`:r()?i.getPlatform()===`android`?`android`:`ios`:o()?`ios`:l()?`android`:`web`}var d=()=>()=>{};function f(){return(0,a.useSyncExternalStore)(d,()=>o()&&!r()&&!s(),()=>!1)}function p(){return(0,a.useSyncExternalStore)(d,()=>c()&&!r()&&!n(),()=>!1)}export{p as i,c as n,f as r,u as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{S as a,k as o}from"./local-mode-CgrENuVf.js";import{D as s,n as c}from"./auth-store-B8KDWYi4.js";import{c as l}from"./api-DvthVfI2.js";import{g as u}from"./native-biometric-C5AdTx4r.js";import{o as d}from"./routes-CCywyokq.js";var f=e(t(),1),p=i(),m=`vellum:loopback:state`,h=`vellum:loopback:returnTo`;function g(){let[e]=r(),t=n(),[i,g]=(0,f.useState)(null);return(0,f.useEffect)(()=>{let n=e.get(`state`),r=e.get(`session_token`),i=sessionStorage.getItem(m),f=sessionStorage.getItem(h)||d.assistant;if(sessionStorage.removeItem(m),sessionStorage.removeItem(h),!n||n!==i){g(`Login failed: state mismatch. Please try again.`);return}if(!r){g(`Login failed: no session token received. Please try again.`);return}if(!/^[a-zA-Z0-9]+$/.test(r)){g(`Login failed: invalid session token.`);return}(async()=>{if(!await o(r)){g(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await c.getState().initSession(),await u(!0);try{let e=await l();if(e.ok&&e.data.length>0){await a(e.data,s.getState().currentOrganizationId??void 0),t(d.assistant,{replace:!0});return}}catch{}t(f,{replace:!0})})()},[e,t]),i?(0,p.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,p.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,p.jsx)(`p`,{className:`text-body-medium-default`,children:i}),(0,p.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void t(d.welcome),children:`Back to Welcome`})]})}):(0,p.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,p.jsx)(`p`,{className:`text-body-medium-default`,children:`Completing login...`})})}export{g as PlatformLoopbackPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{O as i,t as a}from"./button-D-AX8Voo.js";import{h as o,r as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as c}from"./QueryClientProvider-DKhXIxGb.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./useMutation-Lj4VunQV.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./card-BibIM9x3.js";import{n as p,t as m}from"./panel-item-Q1g7DFJw.js";import"./src-CUycEQpW.js";import{t as h}from"./confirm-dialog-bfBx6UYv.js";import{t as g}from"./tag-CW6WC4fE.js";import{t as _}from"./popover-BUj2v1xo.js";import{t as v}from"./input-D4W4p0pZ.js";import{t as y}from"./toggle-X_kQW5my.js";import{n as b}from"./toast-B0OiPFFj.js";import{t as x}from"./createLucideIcon-BlMXrA59.js";import{t as S}from"./arrow-left-CP-EhDNF.js";import{t as C}from"./check-D6WkI0gF.js";import{t as w}from"./cloud-off-fMC5iwVY.js";import{t as T}from"./external-link-BgOnp59e.js";import{i as E,n as D,r as O,t as ee}from"./use-skill-categories-CRMzRD6m.js";import{t as k}from"./globe-CRuerXYx.js";import{t as te}from"./hard-drive-DsJ64Fuu.js";import{t as A}from"./loader-circle-BITX1qOw.js";import{t as ne}from"./sparkles-Bkcjn8HQ.js";import{t as j}from"./triangle-alert-BcZY_IvR.js";import{t as M}from"./x-B0gfyRAR.js";import{Tn as N,kn as P,wn as re}from"./sdk.gen-B3Z8klU-.js";import{Jt as ie,Kt as ae,at as oe,et as se,it as F,nt as ce,qt as le}from"./react-query.gen-Bxy9zjSn.js";import{o as ue}from"./routes-CCywyokq.js";import{n as de}from"./use-is-mobile-Cqknxs2C.js";import{t as fe}from"./assistant-identity-store-DP4B8mmA.js";import{t as I}from"./misc-GIyc06fS.js";import{Ai as pe,Da as L,Ea as R,Ot as z,Pa as B,Yi as V,da as H,fi as U,ki as W,lr as me,wi as he,z as G}from"./index-CWzNQ8A_.js";import{t as ge}from"./use-active-assistant-id-iCLBbJXU.js";import{t as _e}from"./plugins-surface-CAUFbZFj.js";var ve=x(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),K=e(r(),1),q=d(),ye={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function J({external:e=!1,size:t=`sm`,className:n}){let r=e?`📦`:`🧩`;return(0,q.jsx)(`span`,{className:I(`flex shrink-0 items-center justify-center`,ye[t],n),children:r})}var be=e=>`Remove "${e}" from this assistant?`,xe=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,Se=`Upgrade anyway`,Ce=`Failed to install plugin. Please try again.`,we=`Failed to remove plugin. Please try again.`,Te=`Failed to upgrade plugin. Please try again.`,Ee=`Failed to update plugin. Please try again.`;function De(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function Oe(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function ke(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ae(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function Y(e){return e?e.slice(0,7):`unknown`}function X({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,q.jsx)(`dl`,{className:I(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,q.jsxs)(`div`,{className:`contents`,children:[(0,q.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,q.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,q.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,q.jsx)(T,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function je({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),v=e.installed??!1,b=e.artifact??null,x=t?.status===`update-available`,S=x?`Upgrade ${Y(t?.local?.commit??null)} → ${Y(t?.remote?.commit??null)}`:void 0;return(0,q.jsxs)(q.Fragment,{children:[v?(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,q.jsx)(y,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,b?(0,q.jsx)(a,{asChild:!0,leftIcon:(0,q.jsx)(H,{"aria-hidden":!0}),children:(0,q.jsx)(`a`,{href:b.url,download:!0,children:b.label??`Download`})}):null,x?(0,q.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:S,leftIcon:c?(0,q.jsx)(A,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(L,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,q.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,q.jsx)(A,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(U,{"aria-hidden":!0}),children:`Remove`})]}):(0,q.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,q.jsx)(A,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(B,{"aria-hidden":!0}),children:`Install`}),(0,q.jsx)(h,{open:p,title:`Remove plugin`,message:be(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,q.jsx)(h,{open:g,title:`Upgrade plugin`,message:xe(e.name),confirmLabel:Se,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function Z(){return(0,q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,q.jsx)(A,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Q(){return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,q.jsx)(j,{className:`h-6 w-6`,"aria-hidden":!0}),(0,q.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,q.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function Me({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Ce:t?we:n?Te:null;return r?(0,q.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,q.jsx)(j,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function Ne({external:e,className:t}){let n=e?{label:`External`,icon:k}:{label:`Local`,icon:te};return(0,q.jsx)(g,{tone:`neutral`,leftIcon:(0,K.createElement)(n.icon),className:t,children:n.label})}function Pe({onClick:e,isUpgrading:t=!1}={}){let n=(0,q.jsx)(g,{tone:`warning`,leftIcon:(0,K.createElement)(t?A:L,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var Fe=300*1e3;function Ie({assistantId:e,name:t,enabled:n=!0}){return l({...ce({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:Fe,retry:!1})}function Le(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function Re(e,t,n){let r=c(),i=n?.onRemoved,a=l({...se({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=Ie({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,K.useCallback)(()=>me(r,e,t),[e,t,r]),u=ie({onSuccess:()=>{s(),b.success(`Installed ${t||`plugin`}`)}}),d=ae({onSuccess:()=>{s(),i?.()}}),f=le({onSuccess:e=>{s(),b.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${Y(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{u.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:u.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:u.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:Le(o)}}function ze(e){let t=c(),n={queryKey:F({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=u({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?N({path:{assistant_id:e,name:t},throwOnError:!1}):re({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),b.error(Ee)},onSettled:(n,r,i)=>{me(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function Be({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:p,isInstalling:m,isRemoving:h,isUpgrading:g,isInstallError:_,isRemoveError:v,isUpgradeError:y,hasLocalEdits:b}=Re(e,t,{onRemoved:n}),{toggle:x,togglingName:C}=ze(e);return(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,q.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,q.jsx)(S,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,q.jsx)(Ve,{name:t,plugin:o,externalHint:r,drift:s,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:m,isRemoving:h,isUpgrading:g,hasLocalEdits:b,enabled:i,onToggle:()=>x(t,!i),isToggling:C===t})]}),(_||v||y)&&(0,q.jsx)(Me,{isInstallError:_,isRemoveError:v,isUpgradeError:y}),(0,q.jsx)(f.Root,{asChild:!0,children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,q.jsx)(Z,{}):l||!o?(0,q.jsx)(Q,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(X,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,q.jsx)(G,{content:o.readme}):(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Ve({name:e,plugin:t,externalHint:n,drift:r,onInstall:i,onRemove:a,onUpgrade:o,isInstalling:s,isRemoving:c,isUpgrading:l,hasLocalEdits:u,enabled:d,onToggle:f,isToggling:p}){let m=t?.source?.kind===`github`,h=t?m:n,g=r?.status===`update-available`;return(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[h===void 0?(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,q.jsx)(J,{external:h,size:`md`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,q.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,q.jsx)(Ne,{external:m}):null,g?(0,q.jsx)(Pe,{}):null]}),t?.description?(0,q.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,q.jsx)(je,{plugin:t,drift:r,onInstall:i,onRemove:a,onUpgrade:o,isInstalling:s,isRemoving:c,isUpgrading:l,hasLocalEdits:u,enabled:d,onToggle:f,isToggling:p}):null]})}var He=e(i(),1);function Ue({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:p,isInstalling:m,isRemoving:h,isUpgrading:g,isInstallError:_,isRemoveError:v,isUpgradeError:y,hasLocalEdits:b}=Re(e,t,{onRemoved:n}),{toggle:x,togglingName:C}=ze(e),[w,T]=(0,K.useState)(null);(0,K.useEffect)(()=>{T(document.getElementById(`viewport-overlays`))},[]);let E=o?.source?.kind===`github`,D=o?E:r,O=s?.status===`update-available`,ee=o?.name??t,k=(0,q.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(a,{variant:`ghost`,iconOnly:(0,q.jsx)(S,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:ee}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,q.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[D===void 0?(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,q.jsx)(J,{external:D,size:`md`}),(0,q.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:ee})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[O?(0,q.jsx)(Pe,{}):null,o?(0,q.jsx)(Ne,{external:E}):null]})]}),o?.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,q.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,q.jsx)(je,{plugin:o,drift:s,enabled:i,onToggle:()=>x(t,!i),isToggling:C===t,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:m,isRemoving:h,isUpgrading:g,hasLocalEdits:b})}):null,(_||v||y)&&(0,q.jsx)(`div`,{className:`mt-3`,children:(0,q.jsx)(Me,{isInstallError:_,isRemoveError:v,isUpgradeError:y})}),(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,q.jsx)(Z,{}):l||!o?(0,q.jsx)(Q,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(X,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,q.jsx)(G,{content:o.readme}):(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return w?(0,He.createPortal)(k,w):k}var We={value:`all`,label:`All`,icon:V},Ge={value:`available`,label:`Available`,icon:B};function Ke(e){return e?[We,{value:`active`,label:`Active`,icon:pe},{value:`off`,label:`Off`,icon:ve},Ge]:[We,{value:`installed`,label:`Installed`,icon:R},Ge]}function qe({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i=!1,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginToggleSupported:d}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(v,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search plugins`,"aria-label":`Search plugins`,leftIcon:(0,q.jsx)(he,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,q.jsx)(A,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,q.jsx)(Je,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginToggleSupported:d})]})}function Je(e){let t=de(),[n,r]=(0,K.useState)(!1),i=(0,q.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,q.jsx)(E,{"aria-hidden":!0}),"aria-label":`Filter plugins`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,q.jsx)(Ye,{...e,open:n,onOpenChange:r,trigger:i}):(0,q.jsxs)(_.Root,{open:n,onOpenChange:r,children:[(0,q.jsx)(_.Trigger,{asChild:!0,children:i}),(0,q.jsx)(_.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,q.jsx)(`ul`,{role:`listbox`,children:(0,q.jsx)(Qe,{label:`Status`,options:Ke(e.pluginToggleSupported),selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})})})]})}function Ye({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginToggleSupported:l,open:u,onOpenChange:d,trigger:f}){let m=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,q.jsxs)(p.Root,{open:u,onOpenChange:d,children:[(0,q.jsx)(p.Trigger,{asChild:!0,children:f}),(0,q.jsxs)(p.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,q.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,q.jsx)(p.Header,{children:(0,q.jsx)(p.Title,{children:`Filters`})}),(0,q.jsxs)(p.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,q.jsx)(Xe,{label:`Status`,children:Ke(l).map(n=>(0,q.jsx)(Ze,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),n.length>0&&(0,q.jsxs)(Xe,{label:`Categories`,children:[(0,q.jsx)(Ze,{icon:V,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),m.map(e=>(0,q.jsx)(Ze,{icon:O(e.icon)??V,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,q.jsx)(p.Footer,{children:(0,q.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Xe({label:e,children:t}){return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function Ze({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,q.jsx)(m,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,q.jsx)(C,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function Qe({label:e,options:t,selected:n,onSelect:r}){return(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,q.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,q.jsx)(`li`,{children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,q.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,q.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function $e({item:e,drift:t,onSelect:n,onInstall:r,onRemove:i,onUpgrade:o,isInstalling:s=!1,isRemoving:c=!1,isUpgrading:l=!1}){let u=e.status===`available`,d=t?.status===`update-available`,p=e.enabled!==void 0,m=e.enabled===!1;return(0,q.jsx)(f.Root,{asChild:!0,children:(0,q.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsx)(J,{size:`sm`,external:e.external,className:m?`opacity-50`:void 0}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:m?`var(--content-tertiary)`:`var(--content-emphasised)`},children:e.name}),e.version?(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,e.version]}):null,d?(0,q.jsx)(Pe,{onClick:o,isUpgrading:l}):null]}),(0,q.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description??`No description provided.`}),e.issues&&e.issues.length>0?(0,q.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:e.issues.join(`; `),children:[e.issues[0],e.issues.length>1?` (+${e.issues.length-1} more)`:``]}):null]}),u?s?(0,q.jsx)(a,{type:`button`,iconOnly:(0,q.jsx)(A,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,q.jsx)(a,{type:`button`,iconOnly:(0,q.jsx)(B,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!r,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[p?(0,q.jsx)(g,{tone:e.enabled?`positive`:`neutral`,children:e.enabled?`Enabled`:`Disabled`}):null,(0,q.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:c?(0,q.jsx)(A,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(U,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:c||l||!i,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var et=300*1e3,$=[],tt=[];async function nt(e,t,n){let r=await P({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function rt(e,t){let[n,r]=(0,K.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,K.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function it(e,t=null){let n=t??void 0,r=l({queryKey:F({path:{assistant_id:e},query:{q:void 0,category:n}}),queryFn:({signal:t})=>nt(e,n,t),enabled:!!e,staleTime:et}),i=l({...z(e),enabled:!!e&&t!==null}),a=l({...oe({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e,staleTime:et}),o=(0,K.useMemo)(()=>{let e=t===null?r.data?.plugins:i.data?.plugins??r.data?.plugins;return new Set((e??$).map(e=>e.name))},[t,i.data?.plugins,r.data?.plugins]),s=(0,K.useMemo)(()=>{let e=r.data?.plugins??$,n=a.data?.matches??tt;return ke(De(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!o.has(e.name))))},[r.data?.plugins,a.data?.matches,t,o]),u=t===null?r.data:i.data,d=rt(e,u?.categoryCounts!==void 0),f=rt(e,(u?.plugins??$).some(e=>e.enabled!==void 0)),p=c(),m=(0,K.useRef)(null);return(0,K.useEffect)(()=>{if(m.current===e||!a.isSuccess)return;let t=u?.plugins;if(!t?.length)return;let n=new Map((a.data?.matches??tt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(m.current=e,p.invalidateQueries({queryKey:F({path:{assistant_id:e},query:{q:void 0}})}))},[e,a.isSuccess,a.data?.matches,u?.plugins,p]),{items:s,isLoading:r.isLoading,catalogLoading:a.isLoading,isError:r.isError,isFetching:r.isFetching||a.isFetching,catalogError:a.isError,categorySupported:d,pluginToggleSupported:f,installedCategoryCounts:u?.categoryCounts,installedPlugins:u?.plugins??$,installedTotal:u?.totalCount,catalogMatches:a.data?.matches??tt,unfilteredInstalledNames:o}}var at=`vellum:plugins:tipDismissed`;function ot({assistantId:e}){let r=c(),i=de(),[a,s]=o(),l=a.get(`plugin`),[u,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(`all`),[m,g]=(0,K.useState)(null),[_,v]=(0,K.useState)(null),[y,x]=(0,K.useState)(null),[S,C]=(0,K.useState)(null),[w,T]=(0,K.useState)(null),[E,O]=(0,K.useState)(null),[k,te]=(0,K.useState)(()=>n(at,!1)),[A,ne]=(0,K.useState)(e);e!==A&&(ne(e),g(null));let j=e===A?m:null,{data:M=[]}=ee(e),{items:N,isLoading:P,catalogLoading:re,isError:oe,isFetching:se,catalogError:F,categorySupported:ce,pluginToggleSupported:ue,installedCategoryCounts:fe,installedPlugins:I,installedTotal:pe,catalogMatches:L,unfilteredInstalledNames:R}=it(e,j),z=(ue?[`all`,`active`,`off`,`available`]:[`all`,`installed`,`available`]).includes(f)?f:`all`,{counts:B,totalCount:V}=st(fe,I,pe,L,R,z),H=ce&&M.length>0,U=(0,K.useCallback)(t=>me(r,e,t),[e,r]),W=ie({onMutate:e=>v(e.body.name),onSuccess:(e,t)=>b.success(`Installed ${t.body.name}`),onError:()=>b.error(Ce),onSettled:(e,t,n)=>{v(null),U(n.body.name)}}),he=ae({onMutate:e=>x(e.path.name),onSuccess:(e,t)=>b.success(`Removed ${t.path.name}`),onError:()=>b.error(we),onSettled:(e,t,n)=>{x(null),U(n.path.name)}}),G=le({onMutate:e=>C(e.path.name),onSuccess:(e,t)=>b.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${Y(e.toCommit)}`),onError:()=>b.error(Te),onSettled:(e,t,n)=>{C(null),U(n.path.name)}}),ge=(0,K.useCallback)(e=>s(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[s]),_e=(0,K.useCallback)(()=>s(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[s]),ve=(0,K.useCallback)(t=>{W.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,W]),ye=(0,K.useCallback)(()=>{w&&(he.mutate({path:{assistant_id:e,name:w.name}}),T(null))},[e,w,he]),J=(0,K.useCallback)(t=>{G.mutate({path:{assistant_id:e,name:t},body:{}})},[e,G]),Ee=(0,K.useCallback)(()=>{E&&(J(E.name),O(null))},[E,J]),De=(0,K.useCallback)((e,t)=>{if(Le(t)){O(e);return}J(e.name)},[J]),ke=(0,K.useCallback)(()=>{te(!0),t(at,!0)},[]),X=(0,K.useMemo)(()=>Ae(N,z).filter(e=>Oe(e,u)),[N,z,u]),je=se&&!P,Z=u.trim().length>0;if(l){let t=N.find(e=>e.name===l),n={assistantId:e,name:l,externalHint:t?.external,enabled:t?.enabled,onBack:_e};return i?(0,q.jsx)(Ue,{...n}):(0,q.jsx)(Be,{...n})}let Q=(0,q.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:P?(0,q.jsx)(dt,{}):oe?(0,q.jsx)(ft,{}):X.length===0?re&&(z===`all`||z===`available`)?(0,q.jsx)(dt,{}):(0,q.jsx)(pt,{filter:z,category:j}):(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:X.map(t=>(0,q.jsx)(`li`,{children:t.status===`installed`?(0,q.jsx)(ct,{assistantId:e,item:t,onSelect:()=>ge(t),onRemove:()=>T(t),onUpgrade:e=>De(t,e),isRemoving:y===t.name,isUpgrading:S===t.name}):(0,q.jsx)($e,{item:t,onSelect:()=>ge(t),onInstall:()=>ve(t),isInstalling:_===t.name})},t.name))})});return(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!k&&(0,q.jsx)(lt,{onDismiss:ke}),(0,q.jsx)(qe,{search:u,onSearchChange:d,filter:z,onFilterChange:p,isSearching:je,categories:H?M:[],category:j,onCategoryChange:g,counts:B,totalCount:V,showCounts:!Z,pluginToggleSupported:ue}),F&&!P&&!oe?(0,q.jsx)(ut,{}):null,H?(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,q.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto md:block`,children:(0,q.jsx)(D,{ariaLabel:`Plugin categories`,selected:j,onSelect:g,counts:B,totalCount:V,showCounts:!Z,categories:M})}),Q]}):Q,(0,q.jsx)(h,{open:w!==null,title:`Remove plugin`,message:w?be(w.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:ye,onCancel:()=>T(null)}),(0,q.jsx)(h,{open:E!==null,title:`Upgrade plugin`,message:E?xe(E.name):``,confirmLabel:Se,destructive:!0,onConfirm:Ee,onCancel:()=>O(null)})]})}function st(e,t,n,r,i,a){return(0,K.useMemo)(()=>{let o={},s=a!==`available`,c=a===`all`||a===`available`,l=a===`active`||a===`off`,u=l?t.filter(e=>a===`off`?e.enabled===!1:e.enabled!==!1):t;if(s)if(!l&&e&&Object.keys(e).length>0)Object.assign(o,e);else for(let e of u){let t=e.category??`system`;o[t]=(o[t]??0)+1}let d=0;if(c)for(let e of r){if(i.has(e.name))continue;let t=e.category??`system`;o[t]=(o[t]??0)+1,d+=1}let f=l?u.length:n??t.length;return{counts:o,totalCount:(s?f:0)+d}},[e,t,n,r,i,a])}function ct({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=Ie({assistantId:e,name:t.name}).data;return(0,q.jsx)($e,{item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function lt({onDismiss:e}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,q.jsx)(ne,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,q.jsx)(`p`,{className:`flex-1`,children:`Browse the catalog below to install plugins that extend your assistant.`}),(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,q.jsx)(M,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function ut(){return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,q.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,q.jsx)(`p`,{className:`flex-1`,children:`Catalog browsing is temporarily unavailable. Installed plugins are still listed below.`})]})}function dt(){return(0,q.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,q.jsx)(A,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function ft(){return(0,q.jsx)(f.Root,{children:(0,q.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,q.jsx)(j,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,q.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load plugins`}),(0,q.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function pt({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=mt(e,t);return(0,q.jsx)(f.Root,{children:(0,q.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,q.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,q.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,q.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function mt(e,t){if(t)return{title:`No plugins in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:V};switch(e){case`installed`:return{title:`No Plugins Installed`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:W};case`active`:return{title:`No Active Plugins`,subtitle:`Install a plugin from the catalog, or turn on an installed one.`,Icon:W};case`off`:return{title:`No Plugins Turned Off`,subtitle:`Installed plugins you turn off will appear here.`,Icon:W};case`available`:return{title:`No Plugins Available`,subtitle:`Every catalog plugin is already installed.`,Icon:R};default:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:W}}}function ht(){let e=fe.use.version(),t=_e(),n=ge();return e===null?null:t?(0,q.jsx)(ot,{assistantId:n}):(0,q.jsx)(s,{to:ue.identity,replace:!0})}export{ht as PluginsPage};
@@ -1 +0,0 @@
1
- import{n as e}from"./utils-ChLzMd8R.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-BlMXrA59.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,E as r,S as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,l as p,m,o as h,p as ee,s as te,u as ne,v as re,y as g}from"./button-D-AX8Voo.js";import{t as _}from"./jsx-runtime-CVSDxk6A.js";import{a as v,o as y,t as b}from"./cn-DvW5mxZR.js";import{n as x,t as S}from"./dist-Ddn3FnfV.js";import{a as ie,i as ae,n as C,r as oe,t as w}from"./Combination-UBPhVLWy.js";var T=e(t(),1),E=_(),D=`Popper`,[O,k]=r(D),[se,A]=O(D),j=e=>{let{__scopePopper:t,children:n}=e,[r,i]=T.useState(null);return(0,E.jsx)(se,{scope:t,anchor:r,onAnchorChange:i,children:n})};j.displayName=D;var M=`PopperAnchor`,N=T.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:i,...a}=e,o=A(M,r),s=T.useRef(null),c=y(t,s),l=T.useRef(null);return T.useEffect(()=>{let e=l.current;l.current=i?.current||s.current,e!==l.current&&o.onAnchorChange(l.current)}),i?null:(0,E.jsx)(n.div,{...a,ref:c})});N.displayName=M;var P=`PopperContent`,[ce,F]=O(P),I=T.forwardRef((e,t)=>{let{__scopePopper:r,side:o=`bottom`,sideOffset:p=0,align:h=`center`,alignOffset:te=0,arrowPadding:g=0,avoidCollisions:_=!0,collisionBoundary:v=[],collisionPadding:b=0,sticky:x=`partial`,hideWhenDetached:S=!1,updatePositionStrategy:ie=`optimized`,onPlaced:ae,...C}=e,oe=A(P,r),[w,D]=T.useState(null),O=y(t,e=>D(e)),[k,se]=T.useState(null),j=c(k),M=j?.width??0,N=j?.height??0,F=o+(h===`center`?``:`-`+h),I=typeof b==`number`?b:{top:0,right:0,bottom:0,left:0,...b},L=Array.isArray(v)?v:[v],le=L.length>0,R={padding:I,boundary:L.filter(ue),altBoundary:le},{refs:B,floatingStyles:V,placement:H,isPositioned:U,middlewareData:W}=a({strategy:`fixed`,placement:F,whileElementsMounted:(...e)=>re(...e,{animationFrame:ie===`always`}),elements:{reference:oe.anchor},middleware:[m({mainAxis:p+N,alignmentAxis:te}),_&&f({mainAxis:!0,crossAxis:!1,limiter:x===`partial`?ee():void 0,...R}),_&&l({...R}),d({...R,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),k&&ne({element:k,padding:g}),de({arrowWidth:M,arrowHeight:N}),S&&u({strategy:`referenceHidden`,...R})]}),[G,fe]=z(H),K=i(ae);s(()=>{U&&K?.()},[U,K]);let pe=W.arrow?.x,me=W.arrow?.y,q=W.arrow?.centerOffset!==0,[J,he]=T.useState();return s(()=>{w&&he(window.getComputedStyle(w).zIndex)},[w]),(0,E.jsx)(`div`,{ref:B.setFloating,"data-radix-popper-content-wrapper":``,style:{...V,transform:U?V.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:J,"--radix-popper-transform-origin":[W.transformOrigin?.x,W.transformOrigin?.y].join(` `),...W.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,E.jsx)(ce,{scope:r,placedSide:G,onArrowChange:se,arrowX:pe,arrowY:me,shouldHideArrow:q,children:(0,E.jsx)(n.div,{"data-side":G,"data-align":fe,...C,ref:O,style:{...C.style,animation:U?void 0:`none`}})})})});I.displayName=P;var L=`PopperArrow`,le={top:`bottom`,right:`left`,bottom:`top`,left:`right`},R=T.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=F(L,n),a=le[i.placedSide];return(0,E.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,E.jsx)(p,{...r,ref:t,style:{...r.style,display:`block`}})})});R.displayName=L;function ue(e){return e!==null}var de=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=z(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function z(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var B=j,V=N,H=I,U=R;function W(e){let t=G(e),n=T.forwardRef((e,n)=>{let{children:r,...i}=e,a=T.Children.toArray(r),o=a.find(K);if(o){let e=o.props.children,r=a.map(t=>t===o?T.Children.count(e)>1?T.Children.only(null):T.isValidElement(e)?e.props.children:null:t);return(0,E.jsx)(t,{...i,ref:n,children:T.isValidElement(e)?T.cloneElement(e,void 0,r):null})}return(0,E.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function G(e){let t=T.forwardRef((e,t)=>{let{children:n,...r}=e;if(T.isValidElement(n)){let e=me(n),i=pe(r,n.props);return n.type!==T.Fragment&&(i.ref=t?v(t,e):e),T.cloneElement(n,i)}return T.Children.count(n)>1?T.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var fe=Symbol(`radix.slottable`);function K(e){return T.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===fe}function pe(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function me(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var q=`Popover`,[J,he]=r(q,[k]),Y=k(),[ge,X]=J(q),Z=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=Y(t),c=T.useRef(null),[l,u]=T.useState(!1),[d,f]=h({prop:r,defaultProp:i??!1,onChange:a,caller:q});return(0,E.jsx)(B,{...s,children:(0,E.jsx)(ge,{scope:t,contentId:g(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:T.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:T.useCallback(()=>u(!0),[]),onCustomAnchorRemove:T.useCallback(()=>u(!1),[]),modal:o,children:n})})};Z.displayName=q;var _e=`PopoverAnchor`,ve=T.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=X(_e,n),a=Y(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return T.useEffect(()=>(o(),()=>s()),[o,s]),(0,E.jsx)(V,{...a,...r,ref:t})});ve.displayName=_e;var ye=`PopoverTrigger`,be=T.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=X(ye,r),o=Y(r),s=y(t,a.triggerRef),c=(0,E.jsx)(n.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Ne(a.open),...i,ref:s,onClick:x(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?c:(0,E.jsx)(V,{asChild:!0,...o,children:c})});be.displayName=ye;var Q=`PopoverPortal`,[xe,Se]=J(Q,{forceMount:void 0}),Ce=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=X(Q,t);return(0,E.jsx)(xe,{scope:t,forceMount:n,children:(0,E.jsx)(S,{present:n||a.open,children:(0,E.jsx)(te,{asChild:!0,container:i,children:r})})})};Ce.displayName=Q;var $=`PopoverContent`,we=T.forwardRef((e,t)=>{let n=Se($,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=X($,e.__scopePopover);return(0,E.jsx)(S,{present:r||a.open,children:a.modal?(0,E.jsx)(Ee,{...i,ref:t}):(0,E.jsx)(De,{...i,ref:t})})});we.displayName=$;var Te=W(`PopoverContent.RemoveScroll`),Ee=T.forwardRef((e,t)=>{let n=X($,e.__scopePopover),r=T.useRef(null),i=y(t,r),a=T.useRef(!1);return T.useEffect(()=>{let e=r.current;if(e)return C(e)},[]),(0,E.jsx)(w,{as:Te,allowPinchZoom:!0,children:(0,E.jsx)(Oe,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:x(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:x(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:x(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),De=T.forwardRef((e,t)=>{let n=X($,e.__scopePopover),r=T.useRef(!1),i=T.useRef(!1);return(0,E.jsx)(Oe,{...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()}})}),Oe=T.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=X($,n),p=Y(n);return ae(),(0,E.jsx)(oe,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,E.jsx)(ie,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,E.jsx)(H,{"data-state":Ne(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.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)`}})})})}),ke=`PopoverClose`,Ae=T.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=X(ke,r);return(0,E.jsx)(n.button,{type:`button`,...i,ref:t,onClick:x(e.onClick,()=>a.onOpenChange(!1))})});Ae.displayName=ke;var je=`PopoverArrow`,Me=T.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Y(n);return(0,E.jsx)(U,{...i,...r,ref:t})});Me.displayName=je;function Ne(e){return e?`open`:`closed`}var Pe=Z,Fe=ve,Ie=be,Le=Ce,Re=we,ze=Ae,Be=Pe;function Ve(e){return(0,E.jsx)(Ie,{"data-slot":`popover-trigger`,...e})}function He(e){return(0,E.jsx)(ze,{"data-slot":`popover-close`,...e})}function Ue(e){return(0,E.jsx)(Fe,{"data-slot":`popover-anchor`,...e})}function We({className:e,children:t,sideOffset:n=6,align:r=`center`,ref:i,...a}){let s=o();return(0,E.jsx)(Le,{container:s??void 0,children:(0,E.jsx)(Re,{ref:i,"data-slot":`popover-content`,align:r,sideOffset:n,className:b(`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 Ge={Root:Be,Trigger:Ve,Content:We,Close:He,Anchor:Ue};export{B as a,H as i,V as n,k as o,U as r,Ge as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./card-BibIM9x3.js";import{t as l}from"./input-D4W4p0pZ.js";import{c as u,f as d,o as f}from"./local-mode-CgrENuVf.js";import{t as p}from"./is-electron-C_ZTVhv8.js";import{n as m}from"./resolved-assistants-store-Dqf0LJrA.js";import{t as h}from"./check-D6WkI0gF.js";import{t as g}from"./chevron-left-DghyKSEE.js";import{t as _}from"./loader-circle-BITX1qOw.js";import{t as v}from"./pencil-CtYlsDsm.js";import{t as y}from"./x-B0gfyRAR.js";import{A as b,C as ee,a as x,j as S,n as C,o as w}from"./auth-store-B8KDWYi4.js";import{t as T}from"./client.gen-nWvCdeJb.js";import{m as E}from"./native-biometric-C5AdTx4r.js";import{o as D}from"./routes-CCywyokq.js";import{r as O}from"./platform-detection-B1WOWEur.js";import{o as k,r as A}from"./prefs-BK4ReLBx.js";import{t as j}from"./client-feature-flag-store-D3f7L4rr.js";import{c as M,l as te,n as N,t as ne}from"./prechat-BzdosDIx.js";import{b as re,r as ie,yt as ae}from"./react-query.gen-DQUX56Gs.js";import{n as oe,t as se}from"./browser-DdI2GrPw.js";import{t as P}from"./public-asset-DYtCQInw.js";import{$t as F,Dt as ce,Et as le,St as ue,Tt as de,X as fe,Y as I,an as L,bt as pe,d as R,en as z,f as me,in as B,la as V,nn as H,p as he,tn as ge,yt as U}from"./index-CWzNQ8A_.js";import{t as W}from"./onboarding-step-layout-2XcmxqFN.js";import{n as _e,r as ve}from"./prechat-names-DPum8sFP.js";import{t as ye}from"./step-indicator-dots-CvPP_zNN.js";var G=e(t(),1);async function be(){try{let{data:e,response:t}=await T.get({url:`/v1/onboarding/recipe/`,throwOnError:!1});if(!t?.ok||!e)return null;let n=e;return typeof n.cohort!=`string`||!Array.isArray(n.tasks)||typeof n.tone!=`string`||typeof n.bootstrap_template!=`string`||typeof n.initial_message!=`string`||!Array.isArray(n.skills)||typeof n.skip_prechat!=`boolean`?null:{cohort:n.cohort,tasks:n.tasks,tone:n.tone,bootstrapTemplate:n.bootstrap_template,initialMessage:n.initial_message,skills:n.skills,skipPrechat:n.skip_prechat}}catch{return null}}var K=s(),xe=[{label:`Push notifications`,detail:`stay in the loop even when the browser is closed`},{label:`Biometric login`,detail:`Face ID & Touch ID for instant, secure access`},{label:`Native haptics`,detail:`tactile feedback that feels part of the device`},{label:`Home screen access`,detail:`launch your assistant with a single tap`}];function Se({onComplete:e}){function t(){he(),R(),e()}return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col items-center justify-center px-6 pb-40 text-center`,children:[(0,K.jsx)(`div`,{className:`mb-8 flex size-16 items-center justify-center rounded-2xl border`,style:{background:`var(--surface-overlay)`,borderColor:`var(--border-element)`,boxShadow:`0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.04)`,animation:`fadeInUp 0.3s ease-out both`},children:(0,K.jsxs)(`svg`,{width:`28`,height:`28`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--content-default)`},"aria-hidden":!0,children:[(0,K.jsx)(`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`3`}),(0,K.jsx)(`line`,{x1:`12`,y1:`18`,x2:`12`,y2:`18.01`})]})}),(0,K.jsx)(`p`,{className:`text-label-small-default mb-3 uppercase tracking-[0.2em]`,style:{color:`var(--content-tertiary)`,animation:`fadeInUp 0.3s ease-out 0.05s both`},children:`One more thing`}),(0,K.jsx)(`h1`,{className:`mb-3 text-3xl font-semibold tracking-tight`,style:{color:`var(--content-default)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`Your assistant, in your pocket.`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter mb-10 max-w-sm`,style:{color:`var(--content-secondary)`,animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`The iOS app keeps your assistant a tap away — with push notifications, biometric login, and native haptics.`}),(0,K.jsx)(`div`,{className:`mb-10 w-full rounded-xl border px-5 py-4`,style:{background:`var(--surface-overlay)`,borderColor:`var(--border-element)`,animation:`fadeInUp 0.3s ease-out 0.2s both`},children:(0,K.jsx)(`ul`,{className:`space-y-4`,children:xe.map((e,t)=>(0,K.jsxs)(`li`,{className:`flex items-start gap-3`,style:{animation:`fadeInUp 0.3s ease-out ${.25+t*.05}s both`},children:[(0,K.jsx)(`span`,{className:`mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full`,style:{background:`var(--system-positive-weak)`},children:(0,K.jsx)(h,{size:12,style:{color:`var(--system-positive-strong)`}})}),(0,K.jsxs)(`span`,{className:`text-left`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),(0,K.jsxs)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[` — `,e.detail]})]})]},e.label))})}),(0,K.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.45s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:t,className:`h-11 text-base`,children:`Download on the App Store`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:e,className:`h-11 text-base`,children:`Continue in browser`})]})]})})}var q=`google`,Ce=[{id:`gmail`,label:`Gmail`,logoSrc:P(`/images/integrations/gmail.svg`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:P(`/images/integrations/google-calendar.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:P(`/images/integrations/google-drive.svg`)}];function we({assistantId:e,assistantName:t,onConnect:r,onSkip:i,onBack:o}){let s=p(),c=a(),l=E(),u=(0,G.useRef)(null),d=(0,G.useRef)(null),f=(0,G.useRef)(null),m=(0,G.useRef)(null),h=(0,G.useRef)(null),v=(0,G.useRef)(null),y=(0,G.useRef)(null),[b,x]=(0,G.useState)(!1),S=(0,G.useCallback)(()=>{d.current=null,x(!1)},[]),C=(0,G.useCallback)(()=>{h.current&&=(window.removeEventListener(`message`,h.current),null),v.current&&=(window.removeEventListener(`storage`,v.current),null)},[]),w=(0,G.useCallback)(()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),m.current&&=(clearTimeout(m.current),null)},[]),T=ae();(0,G.useEffect)(()=>()=>{f.current&&clearInterval(f.current),m.current&&clearTimeout(m.current),u.current&&!u.current.closed&&u.current.close(),h.current&&window.removeEventListener(`message`,h.current),v.current&&window.removeEventListener(`storage`,v.current),y.current&&=(y.current(),null)},[]);let O=(0,G.useCallback)(async e=>{try{return(await c.fetchQuery({...re({path:{assistant_id:e}}),staleTime:0})).find(e=>e.provider===q&&e.connected)??null}catch{return null}},[c]),k=(0,G.useCallback)(async()=>{let e=d.current?.platformAssistantId;w(),S(),r((e?await O(e):null)?.scopes_granted??[])},[S,w,O,r]),A=(0,G.useCallback)(e=>{e.type===`vellum:oauth-complete`&&(!d.current||e.requestId!==d.current.requestId||(e.oauthStatus===`connected`?k():(w(),S())))},[S,w,k]),j=(0,G.useCallback)(e=>{let t=d.current;if(!t)return;let n=F(e,window.location.origin,t.requestId);n&&A(n)},[A]),M=(0,G.useCallback)(e=>{let t=d.current;if(!t)return;let n=z(e,t.requestId);n&&(A(n),window.localStorage.removeItem(H(t.requestId)))},[A]);B((0,G.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&A({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[A]));let te=(0,G.useCallback)(()=>{let t=crypto.randomUUID();if(C(),h.current=j,v.current=M,l){x(!0),(async()=>{let n;try{n=await ee(e)}catch{S();return}d.current={requestId:t,platformAssistantId:n},T.mutate({path:{assistant_id:n,provider:q},body:{requested_scopes:[],redirect_after_connect:`${D.account.oauth.popupComplete}?requestId=${t}&native=1`}},{onSuccess(e){se(e.connect_url)},onError(){S()}})})(),window.addEventListener(`message`,j),window.addEventListener(`storage`,M),y.current&&y.current();let n=oe(()=>{let e=d.current;if(!e){n(),y.current=null;return}(async()=>{let t=await O(e.platformAssistantId);d.current&&(t?await k():S(),C(),n(),y.current=null)})()});y.current=n;return}let n=window.open(``,`_blank`,`width=500,height=600`);if(n===null){C();return}u.current=n,x(!0),window.addEventListener(`message`,j),window.addEventListener(`storage`,M),f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!m.current&&(m.current=setTimeout(async()=>{m.current=null;let e=d.current;if(!e)return;let t=window.localStorage.getItem(H(e.requestId));if(t)try{let n=JSON.parse(t);if(ge(n,e.requestId)){A(n),window.localStorage.removeItem(H(e.requestId)),C();return}}catch{}let n=await O(e.platformAssistantId);d.current&&(n?await k():(w(),S()),C())},1e3))},100),(async()=>{let n;try{n=await ee(e)}catch{w(),S(),C();return}d.current={requestId:t,platformAssistantId:n},T.mutate({path:{assistant_id:n,provider:q},body:{requested_scopes:[],redirect_after_connect:`${D.account.oauth.popupComplete}?requestId=${t}`}},{onSuccess(e){u.current&&!u.current.closed?u.current.location.href=e.connect_url:d.current&&(w(),S(),C())},onError(){w(),S(),C()}})})()},[e,S,w,O,A,j,M,k,l,C,T]),N=t||`your assistant`,ne=t||`Your assistant`;return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center ${s?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,K.jsx)(`button`,{type:`button`,onClick:o,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{className:`h-4 w-4`})}),(0,K.jsx)(`h1`,{className:`text-center ${s?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Connect Google`}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,K.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`If you use Google, ${N} can use Gmail, Calendar, and Drive with your permission.`}),(0,K.jsx)(`div`,{className:`mt-6 flex items-stretch justify-center gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:Ce.map(e=>(0,K.jsxs)(`div`,{className:`flex w-24 flex-col items-center gap-2.5 rounded-2xl bg-[var(--surface-lift)] px-3 pb-3 pt-4`,children:[(0,K.jsx)(`img`,{src:e.logoSrc,alt:``,width:28,height:28,className:`h-7 w-7 object-contain`,loading:`eager`}),(0,K.jsx)(`span`,{className:`text-center text-xs leading-tight text-[var(--content-tertiary)]`,children:e.label})]},e.id))}),(0,K.jsx)(`p`,{className:`mt-8 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.25s both`},children:`${ne} will never send email, change calendar events, or edit files without your permission. You can disconnect at any time.`}),(0,K.jsxs)(`div`,{className:`${s?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.35s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:te,disabled:b||T.isPending,className:`${s?`h-9`:`h-11 text-base`}`,children:b||T.isPending?(0,K.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,K.jsx)(_,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}),`Waiting for authorization...`]}):`Connect Google`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,disabled:b||T.isPending,className:`${s?`h-9`:`h-11 text-base`}`,children:`Skip for now`})]})]})})}function Te({userName:e,assistantName:t,selectedGroupId:r,displayedAssistantNames:i,onUserNameChange:a,onAssistantNameChange:o,onGroupChange:s,onBack:c,onComplete:u,onSkip:d}){let f=p();return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center ${f?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full items-center ${c?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[c?(0,K.jsx)(`button`,{type:`button`,onClick:c,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{className:`h-4 w-4`})}):null,(0,K.jsx)(`h1`,{className:`text-center ${f?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Let's get to know each other.`}),c?(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,K.jsx)(`p`,{className:`mt-2 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change these any time.`}),(0,K.jsxs)(`div`,{className:`${f?`mt-6`:`mt-8`} flex w-full flex-col ${f?`gap-4`:`gap-6`}`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(l,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>a(e.target.value),className:W,fullWidth:!0}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(l,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>o(e.target.value),className:W,fullWidth:!0}),(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let n=e===t;return(0,K.jsx)(`button`,{type:`button`,onClick:()=>o(e),"aria-pressed":n,className:`cursor-pointer rounded-full border px-3 py-1 text-label-small-default transition-colors ${n?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] text-[var(--content-secondary)] hover:bg-[var(--surface-base)]`}`,children:e},e)})})]}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Pick a vibe`}),(0,K.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:_e.map(e=>(0,K.jsx)(Ee,{group:e,isActive:r===e.id,onToggle:()=>s(r===e.id?null:e.id)},e.id))})]})]}),(0,K.jsxs)(`div`,{className:`${f?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:u,className:`${f?`h-9`:`h-11 text-base`}`,children:`Let's go`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:d,className:`${f?`h-9`:`h-11 text-base`}`,children:`Skip`})]})]})})}function Ee({group:e,isActive:t,onToggle:n}){return(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":`${e.label}, ${e.descriptor}`,className:`flex cursor-pointer flex-col items-start gap-0.5 rounded-lg border p-3 text-left transition-colors ${t?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default ${t?`text-[var(--content-inset)]`:`text-[var(--content-default)]`}`,children:e.descriptor}),(0,K.jsx)(`span`,{className:`text-body-small-default ${t?`text-[var(--content-inset)] opacity-60`:`text-[var(--content-tertiary)]`}`,children:e.tagline})]})}function De({userName:e,assistantName:t,displayedAssistantNames:r,onUserNameChange:i,onAssistantNameChange:a,onBack:o,onContinue:s,onSkip:c,currentStep:u,totalSteps:d}){return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col px-6 pb-40 text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center pb-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[o?(0,K.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,K.jsx)(g,{}),onClick:o,"aria-label":`Back`}):(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}),(0,K.jsx)(`div`,{className:`flex justify-center`,children:(0,K.jsx)(ye,{current:u,total:d})}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,K.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`Let's get to know each other.`}),(0,K.jsx)(`p`,{className:`mt-2 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change these any time.`}),(0,K.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-6`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(l,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>i(e.target.value),className:W,fullWidth:!0}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsx)(l,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>a(e.target.value),className:W,fullWidth:!0}),(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.map(e=>{let n=e===t;return(0,K.jsx)(`button`,{type:`button`,onClick:()=>a(e),"aria-pressed":n,className:`cursor-pointer rounded-full border px-3 py-1 text-label-small-default transition-colors ${n?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] text-[var(--content-secondary)] hover:bg-[var(--surface-base)]`}`,children:e},e)})})]})]})]}),(0,K.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:s,className:`h-11 text-base`,children:`Continue`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:c,className:`h-11 text-base`,children:`Skip`})]})]})})}var Oe=[{id:`chatgpt`,label:`ChatGPT`,logoSrc:P(`/images/prior-assistants/chatgpt.svg`)},{id:`claude`,label:`Claude`,logoSrc:P(`/images/prior-assistants/claude.svg`)},{id:`openclaw`,label:`OpenClaw`,logoSrc:P(`/images/prior-assistants/openclaw.png`)},{id:`hermes`,label:`Hermes`,logoSrc:P(`/images/prior-assistants/hermes.png`)},{id:`manus`,label:`Manus`,logoSrc:P(`/images/prior-assistants/manus.svg`)},{id:`gemini`,label:`Gemini`,logoSrc:P(`/images/prior-assistants/gemini.svg`)},{id:`copilot`,label:`Copilot`,logoSrc:P(`/images/prior-assistants/copilot.svg`)}];function ke({selectedAssistants:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),[s,u]=(0,G.useState)(()=>J(e)),[d,f]=(0,G.useState)(()=>s.length>0),m=(0,G.useRef)(Y(e));(0,G.useEffect)(()=>{let t=Y(e);if(t===m.current)return;let n=J(e);u(n),f(e=>e||n.length>0),m.current=t},[e]),(0,G.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of s.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}Ae(n,e)||(m.current=Y(n),t(n))},[s]);let h=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},_=(0,G.useMemo)(()=>{let e=new Set;return s.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[s]),b=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full items-center grid-cols-[auto_1fr_auto]`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,K.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{className:`h-4 w-4`})}),(0,K.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Have you used any of these?`}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,K.jsx)(`p`,{className:`${o?`mt-3`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`If you've built anything with another assistant, I can help you bring it over.`}),(0,K.jsxs)(`div`,{className:`${o?`mt-4`:`mt-8`} grid w-full grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:[Oe.map(t=>(0,K.jsx)(je,{assistant:t,selected:e.has(t.id),onToggle:()=>h(t.id)},t.id)),d?null:(0,K.jsx)(Me,{onClick:()=>f(!0)})]}),d?(0,K.jsx)(c,{padding:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(v,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),u(``)},"aria-label":`Dismiss custom assistants`,className:`ml-auto inline-flex h-6 w-6 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(y,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,K.jsx)(l,{"aria-label":`Other assistants`,placeholder:`e.g. Perplexity, Poe, Character.AI...`,value:s,onChange:e=>u(e.target.value),helperText:`Separate multiple assistants with commas`,className:W,fullWidth:!0}),_.length>0?(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:_.map(e=>(0,K.jsx)(`span`,{className:`rounded-full bg-[var(--primary-base)] px-3 py-1 text-label-small-default text-[var(--content-inset)]`,children:e},e))}):null]})}):null,(0,K.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I haven't used any`})]})]})})}function Ae(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function J(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function Y(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function je({assistant:e,selected:t,onToggle:n}){return(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":e.label,className:`relative flex h-[88px] w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border p-2 transition-colors ${t?`border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_10%,transparent)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(Ne,{assistant:e,size:32}),(0,K.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-2 top-2 flex h-4 w-4 items-center justify-center rounded-full bg-[var(--primary-base)]`,children:(0,K.jsx)(h,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function Me({onClick:e}){return(0,K.jsxs)(`button`,{type:`button`,onClick:e,"aria-label":`Something else`,className:`flex h-[88px] w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-2 transition-colors hover:bg-[var(--surface-base)]`,children:[(0,K.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,K.jsx)(V,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,K.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function Ne({assistant:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,K.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,K.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,K.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,K.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,K.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})});let n=e.label.slice(0,2).toUpperCase();return(0,K.jsx)(`span`,{className:`flex items-center justify-center rounded-full bg-[var(--surface-base)] text-label-small-default text-[var(--content-default)]`,style:{width:t,height:t},"aria-hidden":`true`,children:n})}function Pe({selectedTasks:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),s=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)};return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,K.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{className:`h-4 w-4`})}),(0,K.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What are you working on?`}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,K.jsx)(`p`,{className:`${o?`mt-2`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`Pick the one or two you do most — you can select more if it really is all of it.`}),(0,K.jsx)(`div`,{className:`${o?`mt-6`:`mt-8`} flex w-full flex-col ${o?`gap-1`:`gap-2`}`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:I.map(t=>{let n=fe[t.iconKey],r=e.has(t.id);return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>s(t.id),"aria-pressed":r,className:`group flex w-full cursor-pointer items-center ${o?`gap-2 p-3`:`gap-3 px-4 py-3`} rounded-lg border text-left transition-colors ${r?`border-[var(--primary-base)] bg-[var(--primary-base)]/10`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(`div`,{className:`flex w-6 shrink-0 items-center justify-center text-[var(--content-secondary)]`,children:n?(0,K.jsx)(n,{className:`h-4 w-4`}):null}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:t.label}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t.sublabel})]}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`flex h-5 w-5 shrink-0 items-center justify-center rounded-md ${r?`bg-[var(--primary-base)]`:`border-[1.5px] border-[var(--border-element)]`}`,children:r?(0,K.jsx)(h,{className:`h-3 w-3 text-[var(--content-inset)]`}):null})]},t.id)})}),(0,K.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:`Continue`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I'll set this up later`})]})]})})}var Fe=new Set([`gmail`,`google-calendar`,`google-drive`]),Ie=[{id:`gmail`,label:`Gmail`,logoSrc:P(`/images/integrations/gmail.svg`)},{id:`outlook`,label:`Outlook`,logoSrc:P(`/images/integrations/outlook.png`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:P(`/images/integrations/google-calendar.svg`)},{id:`slack`,label:`Slack`,logoSrc:P(`/images/integrations/slack.svg`)},{id:`notion`,label:`Notion`,logoSrc:P(`/images/integrations/notion.svg`)},{id:`linear`,label:`Linear`,logoSrc:P(`/images/integrations/linear-light-logo.svg`)},{id:`jira`,label:`Jira`,logoSrc:P(`/images/integrations/jira.svg`)},{id:`github`,label:`GitHub`,logoSrc:P(`/images/integrations/github.svg`),logoSrcDark:P(`/images/integrations/github-dark.svg`)},{id:`figma`,label:`Figma`,logoSrc:P(`/images/integrations/figma.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:P(`/images/integrations/google-drive.svg`)},{id:`excel`,label:`Excel`,logoSrc:P(`/images/integrations/excel.svg`)},{id:`apple-notes`,label:`Apple Notes`,logoSrc:P(`/images/integrations/apple-notes.svg`)}];function Le(e){let t=e.map(e=>e.startsWith(`other:`)?e.slice(6):e);return Array.from(new Set(t)).sort()}function Re({selectedTools:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),[s,u]=(0,G.useState)(()=>ze(e)),[d,f]=(0,G.useState)(()=>s.length>0),m=(0,G.useRef)(Z(e));(0,G.useEffect)(()=>{let t=Z(e);if(t===m.current)return;let n=ze(e);u(n),f(e=>e||n.length>0),m.current=t},[e]),(0,G.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of s.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}X(n,e)||(m.current=Z(n),t(n))},[s]);let h=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},_=(0,G.useMemo)(()=>{let e=new Set;return s.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[s]),b=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full items-center ${r?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[r?(0,K.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(g,{className:`h-4 w-4`})}):null,(0,K.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What do you use?`}),r?(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,K.jsx)(`p`,{className:`${o?`mt-3`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`This helps me tailor how I assist you. No connections needed — you can set those up later.`}),(0,K.jsxs)(`div`,{className:`grid w-full gap-2 ${o?`mt-4 grid-cols-4`:`mt-8 grid-cols-2 sm:grid-cols-3 md:grid-cols-4`}`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:[Ie.map(t=>(0,K.jsx)(Q,{tool:t,selected:e.has(t.id),onToggle:()=>h(t.id),electron:o},t.id)),d?null:(0,K.jsx)($,{onClick:()=>f(!0),electron:o})]}),d?(0,K.jsx)(c,{padding:o?`sm`:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,K.jsxs)(`div`,{className:`flex flex-col ${o?`gap-2`:`gap-3`}`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(v,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),u(``)},"aria-label":`Dismiss custom tools`,className:`ml-auto inline-flex h-6 w-6 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] hover:bg-[var(--surface-base)]`,children:(0,K.jsx)(y,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,K.jsx)(l,{"aria-label":`Other tools`,placeholder:`e.g. Trello, Basecamp, Asana...`,value:s,onChange:e=>u(e.target.value),helperText:`Separate multiple tools with commas`,className:W,fullWidth:!0}),_.length>0?(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:_.map(e=>(0,K.jsx)(`span`,{className:`rounded-full bg-[var(--primary-base)] px-3 py-1 text-label-small-default text-[var(--content-inset)]`,children:e},e))}):null]})}):null,(0,K.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I'll set this up later`})]})]})})}function X(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ze(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function Z(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function Q({tool:e,selected:t,onToggle:n,electron:r}){return(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":e.label,className:`relative flex ${r?`h-[72px]`:`h-[88px]`} w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border p-2 transition-colors ${t?`border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_10%,transparent)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(Be,{tool:e,size:32}),(0,K.jsx)(`span`,{className:`${r?`w-full truncate`:`line-clamp-2`} text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-2 top-2 flex h-4 w-4 items-center justify-center rounded-full bg-[var(--primary-base)]`,children:(0,K.jsx)(h,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function $({onClick:e,electron:t}){return(0,K.jsxs)(`button`,{type:`button`,onClick:e,"aria-label":`Something else`,className:`flex ${t?`min-h-[72px]`:`h-[88px]`} w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-2 transition-colors hover:bg-[var(--surface-base)]`,children:[(0,K.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,K.jsx)(V,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,K.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function Be({tool:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,K.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,K.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,K.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,K.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,K.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})});let n=e.label.slice(0,2).toUpperCase();return(0,K.jsx)(`span`,{className:`flex items-center justify-center rounded-full bg-[var(--surface-base)] text-label-small-default text-[var(--content-default)]`,style:{width:t,height:t},"aria-hidden":`true`,children:n})}function Ve({selectedGroupId:e,onGroupChange:t,onBack:r,onContinue:i,onSkip:a,currentStep:o,totalSteps:s}){return(0,K.jsx)(L,{showCreatureFooter:!1,children:(0,K.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col px-6 pb-40 text-[var(--content-default)]`,children:[(0,K.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center pb-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,K.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,K.jsx)(g,{}),onClick:r,"aria-label":`Back`}),(0,K.jsx)(`div`,{className:`flex justify-center`,children:(0,K.jsx)(ye,{current:o,total:s})}),(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,K.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,K.jsx)(`h1`,{className:`w-full text-left text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`What's my vibe?`}),(0,K.jsx)(`p`,{className:`mt-2 w-full text-left text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change this any time.`}),(0,K.jsx)(`div`,{className:`mt-8 flex w-full flex-col gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:_e.map(n=>{let r=e===n.id;return(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(r?null:n.id),"aria-pressed":r,className:`flex cursor-pointer items-center justify-between rounded-xl border px-4 py-4 text-left transition-colors ${r?`border-[var(--content-default)] bg-[var(--surface-lift)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.descriptor}),(0,K.jsx)(`span`,{className:`flex h-5 w-5 items-center justify-center rounded-full border-2 transition-colors ${r?`border-[var(--content-default)]`:`border-[var(--content-disabled)]`}`,children:r&&(0,K.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-[var(--content-default)]`})})]},n.id)})})]}),(0,K.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,K.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`Continue`}),(0,K.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`h-11 text-base`,children:`Skip`})]})]})})}function He(e){let[t,n]=(0,G.useState)(()=>(e??``).trim()),r=(0,G.useRef)(!1);return(0,G.useEffect)(()=>{if(r.current)return;let t=(e??``).trim();t&&n(e=>e||t)},[e]),{value:t,onChange:(0,G.useCallback)(e=>{r.current=!0,n(e)},[])}}var Ue=[`gmail`,`google-calendar`,`google-drive`],We=`experiment-activation-flow-2026-06-03`,Ge=`BOOTSTRAP-ACTIVATION-RAIL.md`;function Ke(e,t,n){return t?.initialMessage?t.initialMessage:n?N(e):ne}function qe(e){let{mode:t,recipe:n}=e,r=e.connectedScopes!==void 0,i;i=t===`native`?{tools:[],tasks:[],tone:e.tone,googleConnected:!1}:t===`paredDown`?{tools:r?[...Ue]:[],tasks:n?.tasks??[],tone:e.tone,googleConnected:r}:{tools:Le([...e.selectedTools]),tasks:[...e.selectedTasks].sort(),tone:e.tone},n&&(i.cohort=n.cohort,i.bootstrapTemplate=n.bootstrapTemplate,i.skills=n.skills),e.activationFlowEnabled&&(i.cohort=We,i.bootstrapTemplate=Ge);let a=e.userName.trim();a&&(i.userName=a);let o=e.occupation?.trim();o&&(i.occupation=o);let s=e.assistantName.trim();return s&&(i.assistantName=s),t===`paredDown`?r&&(i.googleScopes=e.connectedScopes):t===`control`&&(r?(i.googleConnected=!0,i.googleScopes=e.connectedScopes):e.googleConnected?(i.googleConnected=!0,i.googleScopes=e.googleScopes):i.googleConnected=!1),t===`control`&&e.selectedPriorAssistants.size>0&&(i.priorAssistants=Le([...e.selectedPriorAssistants])),i.initialMessage=Ke(i,e.activationFlowEnabled?null:n,e.selfIntroGreetingEnabled),i}function Je(e){return!e.localMode||e.platformSession===`present`?!0:e.platformSession===`unknown`&&e.hasCachedPlatformAssistant}function Ye(e){let{paredDown:t}=e;return[{id:`name`,funnelStep:U.nameVibe,enabled:!0},{id:`taskTone`,funnelStep:U.controlWorkType,enabled:!t},{id:`tools`,funnelStep:U.controlTools,enabled:!t},{id:`priorAssistants`,funnelStep:U.controlPriorAssistants,enabled:!t&&e.canOfferPriorAssistants},{id:`google`,funnelStep:t?U.gmailConnect:U.controlGmailConnect,enabled:e.canOfferGoogleStep&&(t||e.hasGoogleTool)},{id:`iosApp`,funnelStep:U.controlGetApp,enabled:!t&&e.showIOSAppStep}].filter(e=>e.enabled).map(({enabled:e,...t})=>t)}function Xe(){return[{id:`nativeName`,funnelStep:null},{id:`nativeVibe`,funnelStep:null}]}var Ze=`1`;function Qe(e){return e===`nativeVibe`||e===Ze?`nativeVibe`:null}function $e(e,t){let n=e.findIndex(e=>e.id===t);return n<0?null:e[n+1]?.id??null}function et(e,t){let n=e.findIndex(e=>e.id===t);return n<=0?null:e[n-1]?.id??null}function tt(){let e=r(),t=E(),n=k()&&A();return(0,G.useEffect)(()=>{!n&&!t&&e(D.onboarding.privacy,{replace:!0})},[n,t,e]),t||n}function nt(e,t){let n=e?`prechat_native_screen:${e}`:null,[r,i]=(0,G.useState)(()=>t?`nativeName`:`name`),a=(0,G.useCallback)(e=>{if(n)try{e===null?sessionStorage.removeItem(n):sessionStorage.setItem(n,e)}catch{}},[n]);return(0,G.useLayoutEffect)(()=>{if(n)try{let e=Qe(sessionStorage.getItem(n));e&&i(e)}catch{}},[n]),(0,G.useEffect)(()=>{t&&a(r===`nativeVibe`?`nativeVibe`:null)},[t,r,a]),{currentStep:r,setCurrentStep:i,clearPersistedStep:(0,G.useCallback)(()=>{a(null)},[a])}}var rt=3;function it(){let e=u();return e?.cloud===`vellum`?e.assistantId:f()[0]?.assistantId??null}function at(){let e=r(),[t]=i(),n=t.get(`preview`)===`true`,a=C.use.user(),s=x(),c=w(),l=a?.id??null,u=a?.firstName??``,f=a?.lastName??``,p=E(),h=m.use.activeAssistantId(),g=d(),_=O()&&!me(),v=j.use.stringFlags().preChatOnboardingExperiment20260606??`control`,y=(j.use.stringFlags().experimentActivationFlow20260603??`control`)===`variant-a`,ee=j.use.selfIntroGreeting(),T=de(v),k=le()??T,A=k===pe.paredDown,N=g?it():null,ne=tt(),{currentStep:re,setCurrentStep:ae,clearPersistedStep:oe}=nt(l,p),se=C.use.platformSession(),P=S(se),[F,fe]=(0,G.useState)(()=>new Set),[I,L]=(0,G.useState)(()=>new Set),[R,z]=(0,G.useState)(()=>new Set),{value:B,onChange:V}=He(g&&!P?``:u||f),[H,he]=(0,G.useState)(null),[ge]=(0,G.useState)(()=>ve()),[U,W]=(0,G.useState)(``),[_e,ye]=(0,G.useState)(!1),[xe,q]=(0,G.useState)([]),{data:Ce}=o({...ie(),enabled:!c&&s&&(!g||P)}),{data:Ee,isLoading:Oe}=o({queryKey:[`onboarding-recipe`,l],queryFn:be,enabled:!c&&s&&!p&&!g,staleTime:1/0}),Ae=Ee??null,J=Ce?.id??h??N,Y=Je({localMode:g,platformSession:se,hasCachedPlatformAssistant:N!==null}),je=Y,Me=Y,Ne=async()=>{await b.checkAssistant(),e(`${D.assistant}?onboarding=1`,{replace:!0})};function Ie(e,t=k){n||ue(e,{userId:l,variant:ce(t)})}let Le=[...F].some(e=>Fe.has(e)),X=p?Xe():Ye({paredDown:A,canOfferPriorAssistants:Me,canOfferGoogleStep:n?!1:je,hasGoogleTool:Le,showIOSAppStep:_});function ze(t){if(n){e(-1);return}te(qe({mode:p?`native`:A?`paredDown`:`control`,recipe:p?null:Ae,selectedTools:F,selectedTasks:I,selectedPriorAssistants:t?.selectedPriorAssistants??R,tone:H??Ae?.tone??`grounded`,userName:B,assistantName:U,selfIntroGreetingEnabled:ee,activationFlowEnabled:p?void 0:y,googleConnected:_e,googleScopes:xe,connectedScopes:t?.connectedScopes}));let r=U.trim();r&&M(r),p?(oe(),e(D.onboarding.privacy)):(b.markExpectingFirstMessage(),Ne())}let Z=(e,t)=>{e.funnelStep&&Ie(e.funnelStep);let n=$e(X,e.id);n?ae(n):ze(t)},Q=e=>{let t=et(X,e.id);t&&ae(t)};if(!ne||Oe)return null;let $=X.find(e=>e.id===re)??X[0];return $?$.id===`nativeName`?(0,K.jsx)(De,{userName:B,assistantName:U,displayedAssistantNames:ge,onUserNameChange:V,onAssistantNameChange:W,onContinue:()=>Z($),onSkip:()=>Z($),currentStep:0,totalSteps:rt}):$.id===`nativeVibe`?(0,K.jsx)(Ve,{selectedGroupId:H,onGroupChange:he,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($),currentStep:1,totalSteps:rt}):$.id===`name`?(0,K.jsx)(Te,{userName:B,assistantName:U,selectedGroupId:H,displayedAssistantNames:ge,onUserNameChange:V,onAssistantNameChange:W,onGroupChange:he,onComplete:()=>Z($),onSkip:()=>Z($)}):$.id===`taskTone`?(0,K.jsx)(Pe,{selectedTasks:I,onChange:L,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`tools`?(0,K.jsx)(Re,{selectedTools:F,onChange:fe,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`priorAssistants`?(0,K.jsx)(ke,{selectedAssistants:R,onChange:z,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>{let e=new Set;z(e),Z($,{selectedPriorAssistants:e})}}):$.id===`google`?J?(0,K.jsx)(we,{assistantId:J,assistantName:U,onConnect:e=>{ye(!0),q(e),Z($,{connectedScopes:e})},onSkip:()=>Z($),onBack:()=>Q($)}):null:$.id===`iosApp`?(0,K.jsx)(Se,{onComplete:()=>Z($)}):null:null}function ot(){return(0,K.jsx)(at,{})}export{ot as PreChatRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{n as i}from"./device-settings-BBwtGKJb.js";import{t as a}from"./react-DJZBPgpf.js";import{p as o}from"./auth-store-B8KDWYi4.js";var s=e(a(),1),c=`vellum:onboarding:selectedVersion`;function l(){return[o.use.shareAnalytics(),(0,s.useCallback)(e=>{o.getState().setShareAnalytics(e)},[])]}function u(){return[o.use.shareDiagnostics(),(0,s.useCallback)(e=>{o.getState().setShareDiagnostics(e)},[])]}function d(){return[o.use.tosAccepted(),(0,s.useCallback)(e=>{o.getState().setTosAccepted(e)},[])]}function f(){return[o.use.privacyConsent(),(0,s.useCallback)(e=>{o.getState().setPrivacyConsent(e)},[])]}function p(){return[o.use.analyticsConsentCurrent(),(0,s.useCallback)(e=>{o.getState().setAnalyticsConsentCurrent(e)},[])]}function m(){return[o.use.diagnosticsConsentCurrent(),(0,s.useCallback)(e=>{o.getState().setDiagnosticsConsentCurrent(e)},[])]}function h(){return o.getState().tosAccepted}function g(){return o.getState().privacyConsent}function _(){return o.getState().analyticsConsentCurrent}function v(){return o.getState().diagnosticsConsentCurrent}function y(){return o.getState().shareAnalytics&&i(`shareAnalytics`,!1)}function b(){if(typeof window>`u`)return``;try{return n(c,``)}catch{return``}}function x(e){if(!(typeof window>`u`))try{e===``?t(c):r(c,e)}catch{}}export{y as a,m as c,u as d,d as f,b as i,f as l,v as n,h as o,x as p,g as r,p as s,_ as t,l as u};
@@ -1 +0,0 @@
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-BBwtGKJb.js";import{t as o}from"./react-DJZBPgpf.js";import{O as s,t as c}from"./button-D-AX8Voo.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./useMutation-Lj4VunQV.js";import{t as f}from"./jsx-runtime-CVSDxk6A.js";import{t as p}from"./cn-DvW5mxZR.js";import{t as m}from"./card-BibIM9x3.js";import{t as h}from"./dropdown-ChWAdhLG.js";import{t as g}from"./confirm-dialog-bfBx6UYv.js";import{t as _}from"./notice-CqRgVmeL.js";import{t as v}from"./tag-CW6WC4fE.js";import{t as y}from"./input-D4W4p0pZ.js";import{t as b}from"./toggle-X_kQW5my.js";import{n as x}from"./toast-B0OiPFFj.js";import{t as S}from"./chevron-right-B6vEpVY0.js";import{t as C}from"./loader-circle-BITX1qOw.js";import{t as w}from"./pencil-CtYlsDsm.js";import{t as T}from"./x-B0gfyRAR.js";import{f as E,n as D,r as O}from"./auth-store-B8KDWYi4.js";import{t as k}from"./sdk.gen-Ec1nF7iZ.js";import{c as A,i as ee,m as te,n as ne,o as j,r as re,s as ie,t as ae}from"./native-biometric-C5AdTx4r.js";import{a as oe,o as se}from"./routes-CCywyokq.js";import{n as M,t as ce}from"./react-query.gen-DQUX56Gs.js";import{C as le,Dn as ue,Fn as de,Fr as fe,H as pe,Ir as me,Lr as N,Nn as he,Oa as P,Pn as F,U as I,W as L,_ as R,fi as ge,g as z,h as B,v as _e,xi as V}from"./index-CWzNQ8A_.js";import{t as H}from"./use-active-assistant-id-iCLBbJXU.js";import{t as U}from"./detail-card-DXLMG-Zw.js";import{t as W}from"./setting-row-Ci9YIJwu.js";var G=e(o(),1),K=f(),q=[{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.`}],ve=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function ye(){let[e,t]=(0,G.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function be(){let[e,r]=(0,G.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,G.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||ue(0)}]}function xe({row:e,onToggle:t}){return(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(b,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.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,K.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,K.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Se(){return(0,K.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 Ce({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=de(),{pendingKind:o,run:s}=ye(),[c,l]=be(),u=(0,G.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of q){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,G.useMemo)(()=>{let e=q.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=ve.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 he(e.sourceKind):await F(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,K.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,K.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,K.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,K.jsx)(Se,{}),`Checking permissions...`]}):(0,K.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,K.jsx)(xe,{row:e,onToggle:p},e.id))}),r&&(0,K.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 we(){let e=N({platformHostedOnly:!0}),t=fe(),n=me(),r=l(),{data:i,isLoading:a,isError:o}=u({...ce(),enabled:e===`full`&&t}),s=d({mutationFn:async e=>{let{data:t}=await k({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{M(r,void 0,e),x.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{x.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,K.jsxs)(`div`,{children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow Staff Access`}),(0,K.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,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,K.jsxs)(K.Fragment,{children:[(s.isPending||c)&&(0,K.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(b,{checked:f,disabled:p,onChange:()=>s.mutate(!f)})]})})]}),e===`disabled`&&(0,K.jsx)(le,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function Te(){let e=te(),[t,n]=(0,G.useState)(()=>ee()),[r,i]=(0,G.useState)(!1),[a,o]=(0,G.useState)(`Face ID`),[s,c]=(0,G.useState)(!1);if((0,G.useEffect)(()=>{e&&(re().then(i),ne().then(o))},[e]),!e||!r)return null;let l=async()=>{c(!0);try{if(t)j(!1),await ae(),n(!1);else{let e=A();e&&await ie(e),j(!0),n(!0)}}finally{c(!1)}};return(0,K.jsx)(U,{title:`Security`,children:(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,a,` for sign-in`]}),(0,K.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,a,` or your device passcode instead of signing in again.`]})]}),(0,K.jsx)(b,{checked:t,onChange:()=>void l(),disabled:s})]})})}function J(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Y=B.map(e=>({value:e.id,label:e.label,icon:(0,K.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Ee(){let e=H(),t=l(),{data:n,isError:r}=u({queryKey:[`thresholds`,e],queryFn:()=>R(e),staleTime:3e4}),[i,a]=(0,G.useState)(`relaxed`),[o,s]=(0,G.useState)(`conservative`),[c,d]=(0,G.useState)(`strict`),[f,p]=(0,G.useState)(!1),g=(0,G.useRef)(!1),[_,v]=(0,G.useState)(!1),y=(0,G.useRef)(null),b=(0,G.useRef)(null);(0,G.useEffect)(()=>{!n||g.current||(a(z(n.interactive).id),s(z(n.autonomous).id),d(z(n.headless).id),v(!0))},[n]),(0,G.useEffect)(()=>()=>{y.current!==null&&(clearTimeout(y.current),y.current=null,b.current?.(),b.current=null)},[]);let x=(0,G.useCallback)((n,r,i)=>{if(!e||!_)return;let a=B.find(e=>e.id===n)?.riskThreshold,o=B.find(e=>e.id===r)?.riskThreshold,s=B.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||_e(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,_,t]),C=(0,G.useCallback)((e,t,n)=>{y.current!==null&&clearTimeout(y.current),b.current=()=>x(e,t,n),y.current=setTimeout(()=>{b.current?.(),y.current=null,b.current=null},500)},[x]),w=(0,G.useCallback)(e=>{g.current=!0,a(e),C(e,o,c)},[o,c,C]),T=(0,G.useCallback)(e=>{g.current=!0,s(e),C(i,e,c)},[i,c,C]),E=(0,G.useCallback)(e=>{g.current=!0,d(e),C(i,o,e)},[i,o,C]),D=B.find(e=>e.id===i),O=B.find(e=>e.id===o),k=B.find(e=>e.id===c),A=!e||!_;return(0,K.jsxs)(m,{children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Risk Tolerance`}),(0,K.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 tolerance determines which levels auto-approve.`}),r&&(0,K.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,K.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:i,onChange:w,options:Y,disabled:A})}),D&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:D.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.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,K.jsx)(P,{className:`h-4 w-4`}):(0,K.jsx)(S,{className:`h-4 w-4`}),(0,K.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,K.jsxs)(`div`,{className:f?`mt-4 space-y-4`:`hidden`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,K.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,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:o,onChange:T,options:Y,disabled:A})}),O&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:O.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:c,onChange:E,options:Y,disabled:A})}),k&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:k.description})]})]})]})]})]})}var X=e(s(),1),De=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],Z=[{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 Oe({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,G.useRef)(null),[a,o]=(0,G.useState)(t.tool),[s,c]=(0,G.useState)(t.pattern),[l,u]=(0,G.useState)(t.risk),[d,f]=(0,G.useState)(t.description??``),[p,m]=(0,G.useState)(!1),[g,v]=(0,G.useState)(null),b=s.trim(),x=b.length>0&&!p,S=(0,G.useCallback)(async n=>{if(n.preventDefault(),!x)return;let i=d.trim()||`${a} — ${b}`;m(!0),v(null);try{await L(e,t.id,{risk:l,description:i}),r()}catch(e){v(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,x,d,t,r,l,a,b]);return(0,X.createPortal)((0,K.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,G.useCallback)(e=>{e.key===`Escape`&&n()},[n]),onClick:(0,G.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,K.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,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,K.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,K.jsx)(T,{className:`h-4 w-4`})})]}),(0,K.jsxs)(`form`,{onSubmit:e=>void S(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[g&&(0,K.jsx)(_,{tone:`error`,children:g}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,K.jsx)(`div`,{className:`mt-1`,children:(0,K.jsx)(h,{value:a,onChange:o,disabled:!0,options:De.map(e=>({value:e,label:e}))})})]}),(0,K.jsx)(y,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,K.jsx)(`div`,{className:`mt-2 flex gap-2`,children:Z.map(e=>(0,K.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,K.jsx)(`div`,{children:e.label}),(0,K.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,K.jsx)(y,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${b||`pattern`}`}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,K.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,K.jsx)(`button`,{type:`submit`,disabled:!x,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 ke(e){return e.origin===`default`&&!e.userModified}function Ae(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 je(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 Me({assistantId:e,onClose:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)([]),[a,o]=(0,G.useState)(!0),[s,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)(!1),y=(0,G.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([I(e),I(e,{origin:`default`})]);return Ae(t,n)}return I(e)},[e]),x=(0,G.useCallback)(async()=>{o(!0);try{i(await y(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[y,m]);(0,G.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await y(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}},[y,m]);let S=(0,G.useCallback)(async()=>{if(f)try{await pe(e,f.id),x()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,x]);return(0,X.createPortal)((0,K.jsxs)(K.Fragment,{children:[(0,K.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,G.useCallback)(e=>{e.key===`Escape`&&t()},[t]),onClick:(0,G.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,K.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,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(b,{checked:m,onChange:h,label:`Show all defaults`}),(0,K.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,K.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,K.jsx)(`div`,{className:`mb-3`,children:(0,K.jsx)(_,{tone:`error`,children:s})}),a?(0,K.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,K.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,K.jsx)(V,{className:`h-8 w-8`}),(0,K.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,K.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=ke(e);return(0,K.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,K.jsx)(v,{tone:je(e.risk),children:Q(e.risk)}),e.origin===`default`&&(0,K.jsx)(v,{tone:`neutral`,children:`Default`}),e.userModified&&(0,K.jsx)(v,{tone:`warning`,children:`Modified`})]}),(0,K.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,K.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,K.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,K.jsx)(w,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,K.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,K.jsx)(ge,{className:`h-4 w-4`})})]})]},e.id)})})]})]})}),u&&(0,K.jsx)(Oe,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),x()}}),(0,K.jsx)(g,{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 S(),onCancel:()=>p(null)})]}),document.body)}function Ne(){let e=H(),[t,n]=(0,G.useState)(!1);return(0,K.jsxs)(m,{children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(V,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.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,K.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,K.jsx)(Me,{assistantId:e,onClose:()=>n(!1)})]})}var Pe=[{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`}],Fe=`thirtyDays`;function $(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Ie(){let e=N({platformHostedOnly:!0}),t=O(),a=t,o=D.use.user()?.id??null,[s,c]=(0,G.useState)(()=>n(`shareAnalytics`,!0)),[l,u]=(0,G.useState)(()=>n(`shareDiagnostics`,!0)),[d,f]=(0,G.useState)(()=>i(`llmLogRetention`,Fe));return(0,K.jsxs)(`div`,{className:`space-y-4`,children:[(0,K.jsx)(Te,{}),(0,K.jsx)(Ce,{}),(0,K.jsx)(Ne,{}),(0,K.jsx)(Ee,{}),(0,K.jsx)(U,{title:`Privacy`,subtitle:t?(0,K.jsxs)(K.Fragment,{children:[`View details about what data we collect and how it's used in our`,` `,(0,K.jsx)(`a`,{href:oe(se.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`privacy policy`}),`.`]}):void 0,children:(0,K.jsxs)(`div`,{className:`space-y-4`,children:[a&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(W,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:s,onChange:()=>{let e=!s;c(e),E(`share_analytics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{}),(0,K.jsx)(W,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:l,onChange:()=>{let e=!l;u(e),E(`share_diagnostics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{})]}),(0,K.jsx)(we,{}),e!==`gated`&&(0,K.jsx)($,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:d,onChange:e=>{f(e),r(`llmLogRetention`,e)},options:Pe})}),(0,K.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{Ie as PrivacyPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{f as o}from"./local-mode-CgrENuVf.js";import{t as s}from"./is-electron-C_ZTVhv8.js";import{d as c,i as l,n as u}from"./auth-store-B8KDWYi4.js";import{m as d}from"./native-biometric-C5AdTx4r.js";import{o as f}from"./routes-CCywyokq.js";import{d as p,f as m,l as h,u as g}from"./prefs-BK4ReLBx.js";import{t as _}from"./client-feature-flag-store-D3f7L4rr.js";import{Dt as v,St as y,Tt as b,an as x,wt as S,yt as C}from"./index-CWzNQ8A_.js";import{t as w}from"./step-indicator-dots-CvPP_zNN.js";import{n as T,t as E}from"./consent-controls-CoeCtvwh.js";var D=e(t(),1);function O({researchOnboardingEnabled:e,isNative:t,isLocalMode:n}){return e&&!t&&!n?f.onboarding.research:f.onboarding.hatching}var k=a();function A(){let e=r(),[t]=i(),a=u.use.user()?.id??null,A=s(),j=d(),M=_.use.stringFlags().preChatOnboardingExperiment20260606??`control`,N=_.use.researchOnboarding(),P=b(M),[F,I]=g(),[L,R]=p(),[z,B]=m(),[V,H]=h(),U=l();(0,D.useEffect)(()=>{j||S()},[j]);let W=t.get(`preview`)===`true`,G=(0,D.useCallback)(e=>{},[]),K=W?G:I,q=W?G:R,J=W?G:B,Y=W?G:H,X=(0,D.useCallback)(()=>{if(W){e(`${f.onboarding.prechat}?preview=true`);return}if(c({userId:a,tos:z,privacy:V,shareAnalytics:F,shareDiagnostics:L,hasPlatformSession:U}),!j){let e=v(P);y(C.privacyTos,{userId:a,variant:e})}let n=t.get(`hosting`),r=new URLSearchParams;n&&r.set(`hosting`,n);let i=r.toString();e(`${O({researchOnboardingEnabled:N,isNative:j,isLocalMode:o()})}${i?`?${i}`:``}`)},[V,U,j,W,e,P,N,t,F,L,z,a]);return(0,k.jsx)(x,{children:(0,k.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${A?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[j&&(0,k.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,k.jsx)(w,{current:2,total:3})}),(0,k.jsx)(`h1`,{className:A?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Before You Start`}),(0,k.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${A?`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,k.jsx)(T,{electron:A,shareAnalytics:F,shareDiagnostics:L,onShareAnalyticsChange:K,onShareDiagnosticsChange:q,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,k.jsx)(E,{electron:A,privacyConsent:V,tosAccepted:z,onPrivacyChange:Y,onTosChange:J,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,k.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${A?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,k.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!z||!V,onClick:X,className:A?void 0:`h-11 text-base`,children:`Start`}),(0,k.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(-1),className:A?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{A as PrivacyScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-8raDoxFL.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,h as i,t as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{S as s,f as c}from"./local-mode-CgrENuVf.js";import{D as l,n as u}from"./auth-store-B8KDWYi4.js";import{c as d}from"./api-DvthVfI2.js";import{S as f,_ as p}from"./native-biometric-C5AdTx4r.js";import{o as m}from"./routes-CCywyokq.js";import{a as h,i as g}from"./login-flow-COr5zRoB.js";import{n as _}from"./index-CWzNQ8A_.js";import{r as v,t as y}from"./account-shell-D0ubbqxG.js";var b=e(n(),1),x=o();function S(){let[e]=i(),n=r(),o=u.use.refreshSession(),S=e.get(`error`),[C,w]=(0,b.useState)(null),T=(0,b.useRef)(!1),E=e.get(`returnTo`),D=g(e);return(0,b.useEffect)(()=>{T.current||S||(T.current=!0,(async()=>{try{let t=await f(),r=p(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}=h({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)(a,{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)(a,{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 +0,0 @@
1
- import{D as e,Gn as t,Rt as n,k as r}from"./sdk.gen-B3Z8klU-.js";var i=[{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`,models:[{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:2e5,maxOutputTokens:64e3},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:2e5,maxOutputTokens:128e3},{id:`x-ai/grok-4.20-beta`,displayName:`Grok 4.20 Beta`,contextWindowTokens:2e5,maxOutputTokens:16e3},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,maxOutputTokens:32e3}]},{id:`openai-compatible`,displayName:`OpenAI-compatible`,apiKeyPlaceholder:`Your provider's API key (optional)`,docsUrl:null,requiresKey:!0}],a=i[0];function o(e){return i.find(t=>t.id===e)}function s(e){let t=o(e);return t?.defaultModel??t?.models?.[0]?.id}var c=`onboarding.providerKey`,l=`custom-balanced`,u=2e5;function d(e){try{if(e===null){sessionStorage.removeItem(c);return}sessionStorage.setItem(c,JSON.stringify(e))}catch{}}function f(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 p(){try{let e=sessionStorage.getItem(c);if(!e)return null;let t=JSON.parse(e);return f(t)?t:null}catch{return null}}function m(){let e=p();try{sessionStorage.removeItem(c)}catch{}return e}async function h(e,n,r){let{response:i}=await t({path:{assistant_id:e},body:{type:`api_key`,name:n,value:r},throwOnError:!1});if(!i?.ok)throw Object.assign(Error(`Failed to write provider secret`),{status:i?.status})}async function g(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});if(!l?.ok&&l?.status!==409)throw Object.assign(Error(`Failed to create provider connection`),{status:l?.status})}function _(e,t){let n=o(e)?.models?.find(e=>e.id===t),r={provider:e,model:t,provider_connection:e,source:`user`,label:`Balanced`,description:`Good balance of quality, cost, and speed`,maxTokens:n?.maxOutputTokens??16e3,contextWindow:{maxInputTokens:n?.contextWindowTokens??u}};return e===`ollama`?(r.effort=`none`,r.thinking={enabled:!1,streamThinking:!1}):(r.effort=`high`,r.thinking={enabled:!0,streamThinking:!0}),r}async function v(t,n,r){let{response:i}=await e({path:{assistant_id:t,name:l},body:_(n,r),throwOnError:!1});if(!i?.ok)throw Object.assign(Error(`Failed to set provider profile`),{status:i?.status})}async function y(e){let{response:t}=await r({path:{assistant_id:e},body:{llm:{activeProfile:l}},throwOnError:!1});if(!t?.ok)throw Object.assign(Error(`Failed to activate provider profile`),{status:t?.status})}async function b(e){let t=m();if(!t)return;let n=t.key.trim(),r=n.length>0,i=t.provider===`openai-compatible`;(r||i)&&await h(e,t.provider,n),await g(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),c=a||o||s(t.provider);c&&(await v(e,t.provider,c),await y(e))}export{i as a,a as i,p as n,s as o,d as r,o as s,b as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r,t as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{n as o}from"./auth-store-B8KDWYi4.js";import{C as s,T as c,x as l}from"./native-biometric-C5AdTx4r.js";import{o as u}from"./routes-CCywyokq.js";import{a as d,o as f}from"./login-flow-COr5zRoB.js";import{i as p,n as m,r as h,t as g}from"./account-shell-D0ubbqxG.js";import{t as _}from"./signup-shell-Bw9OFI-z.js";var v=e(t(),1),y=a();function b(){let e=n(),[t]=r(),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 l();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 c({email:x,username:C});if(!t.ok){if(s(t)){await a();let t=f(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=d({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)(i,{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};