@vellumai/web 0.10.7 → 0.10.8-dev.202607102228.5945895

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 (373) hide show
  1. package/dist/assets/{AnimatePresence-Oxz4BTMX.js → AnimatePresence-s1Z1HHWx.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-CASo0dJB.js → BundleConfirmPage-C6bP7QB3.js} +1 -1
  3. package/dist/assets/{Combination-BG46kjfK.js → Combination-Cd_aWAsj.js} +1 -1
  4. package/dist/assets/{a2a-invite-CQMqpPDZ.js → a2a-invite-B9cylfIO.js} +1 -1
  5. package/dist/assets/{about-page-m20KWWnD.js → about-page-XGv9RAQu.js} +1 -1
  6. package/dist/assets/{account-page-s8JvT8Ly.js → account-page-BIf1VgXI.js} +1 -1
  7. package/dist/assets/{account-shell-BSwEFNTM.js → account-shell-DtCF7xdZ.js} +1 -1
  8. package/dist/assets/{acp-run-detail-panel-7SM2s3JT.js → acp-run-detail-panel-B4hgMVrG.js} +4 -4
  9. package/dist/assets/activity-steps-panel-C1yQ2L2r.js +1 -0
  10. package/dist/assets/{add-credits-modal-wQTjoJNa.js → add-credits-modal-B2NNTrN3.js} +1 -1
  11. package/dist/assets/{advanced-page-Ct7QbjS_.js → advanced-page-BwGOw8_x.js} +1 -1
  12. package/dist/assets/ai-page-BrigF9S7.js +1 -0
  13. package/dist/assets/animated-avatar-Cqpzb8O4.js +1 -0
  14. package/dist/assets/api-DHuLwcqq.js +1 -0
  15. package/dist/assets/{api-DXLi4DU7.js → api-Y8JHO-Hz.js} +1 -1
  16. package/dist/assets/{api-key-screen-DCT4UgG9.js → api-key-screen-g8n_qvMv.js} +1 -1
  17. package/dist/assets/{app-info-BNPvryVV.js → app-info-Clwt3pCt.js} +1 -1
  18. package/dist/assets/{archive-page-Ct96gKer.js → archive-page-BsrdafLF.js} +1 -1
  19. package/dist/assets/{assistant-feature-flag-store-BRGydSRn.js → assistant-feature-flag-store-DRERrNOn.js} +1 -1
  20. package/dist/assets/assistant-identity-store-CX03CK8q.js +1 -0
  21. package/dist/assets/{assistant-status-panel-boGM54mS.js → assistant-status-panel-zU13Q_Xu.js} +1 -1
  22. package/dist/assets/auth-store-CRgW9dVz.js +2 -0
  23. package/dist/assets/avatar-bundled-components--1Wyhs4r.js +1 -0
  24. package/dist/assets/background-task-detail-panel-zgQoO82i.js +1 -0
  25. package/dist/assets/billing-page-DEl2nu5I.js +3 -0
  26. package/dist/assets/bookmarks-page-C32OmhV9.js +1 -0
  27. package/dist/assets/browser-BcxhPHJY.js +2 -0
  28. package/dist/assets/browser-timezone-2SnmKDjM.js +1 -0
  29. package/dist/assets/build-state-BMsdXtAG.js +1 -0
  30. package/dist/assets/button-amTXFI-2.js +1 -0
  31. package/dist/assets/{capture-error-CmeVLfq0.js → capture-error-Dhiismgm.js} +1 -1
  32. package/dist/assets/channels-page-route-DCJaRu9K.js +9 -0
  33. package/dist/assets/chat-markdown-message-a1td8Ual.js +2 -0
  34. package/dist/assets/{checkbox-Dy4hoNDa.js → checkbox-EdyezNqo.js} +1 -1
  35. package/dist/assets/{client-feature-flag-store-C0Tjm-Hl.js → client-feature-flag-store-Dwtv7Vxd.js} +1 -1
  36. package/dist/assets/{client-identity-jhypHe7Y.js → client-identity-Dt1fkB-d.js} +1 -1
  37. package/dist/assets/clipboard-copy-DF6K1xc6.js +1 -0
  38. package/dist/assets/command-palette-DuCamEfT.js +1 -0
  39. package/dist/assets/{command-palette-window-page-DBnL5TIj.js → command-palette-window-page-DTbWLtIo.js} +1 -1
  40. package/dist/assets/community-page-CLGoMvV2.js +1 -0
  41. package/dist/assets/{confirm-dialog-DW84Cxfq.js → confirm-dialog-CSkhRFRk.js} +1 -1
  42. package/dist/assets/{connect-page-By7gD4Gi.js → connect-page-B0gbTndx.js} +1 -1
  43. package/dist/assets/{consent-controls-J9UujLtO.js → consent-controls-Cnr1DzCr.js} +1 -1
  44. package/dist/assets/contacts-gateway-CW5CipBv.js +1 -0
  45. package/dist/assets/contacts-page-route-C0ELB5tV.js +1 -0
  46. package/dist/assets/{conversation-list-fetchers-ogeilsCp.js → conversation-list-fetchers-DS9vmqfD.js} +1 -1
  47. package/dist/assets/{conversation-store-COUX81g-.js → conversation-store-BljZWolF.js} +1 -1
  48. package/dist/assets/credential-entry-page-DUQnPan9.js +1 -0
  49. package/dist/assets/credentials-page-Bmbk_m7r.js +1 -0
  50. package/dist/assets/{danger-zone-redirect-page-RdZGvrN7.js → danger-zone-redirect-page-BWg7rn8D.js} +1 -1
  51. package/dist/assets/debug-page-DEIR36y-.js +4 -0
  52. package/dist/assets/definitions-DScTW2c-.js +1 -0
  53. package/dist/assets/{deploy-dialogs-C5LDby59.js → deploy-dialogs-hO4uNCg-.js} +1 -1
  54. package/dist/assets/{detail-card-CnahmiAd.js → detail-card-BAbE5QFz.js} +1 -1
  55. package/dist/assets/{detail-panel-stop-button-BGbnqhbl.js → detail-panel-stop-button-DuIg1ANM.js} +1 -1
  56. package/dist/assets/{developer-page-Bgo4T1LR.js → developer-page-l4Uyz0TA.js} +1 -1
  57. package/dist/assets/devices-page-BPUVvxip.js +1 -0
  58. package/dist/assets/{diagnostics-BUlVBxem.js → diagnostics-DANnV3Z3.js} +1 -1
  59. package/dist/assets/{dictation-overlay-page-DVlL606t.js → dictation-overlay-page-DQtALeh1.js} +1 -1
  60. package/dist/assets/{dist-DSnPnoEz.js → dist-BItmZQO6.js} +1 -1
  61. package/dist/assets/{dist-CAIL9R6N.js → dist-CxHeCOEv.js} +1 -1
  62. package/dist/assets/{dist-DcPLFkll.js → dist-DqmYHxdg.js} +1 -1
  63. package/dist/assets/{dist-CXAvuqD6.js → dist-HJ505Xnn.js} +1 -1
  64. package/dist/assets/document-viewer-page-BH8lwUNW.js +1 -0
  65. package/dist/assets/domains-D3QF404Q.js +1 -0
  66. package/dist/assets/download-CAuK-nZ6.js +1 -0
  67. package/dist/assets/{dropdown-BsftIzw-.js → dropdown-ByHOpeOU.js} +1 -1
  68. package/dist/assets/{earn-credits-modal-5kY_ZmHS.js → earn-credits-modal-CCscmJRu.js} +1 -1
  69. package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +1 -0
  70. package/dist/assets/effective-timezone-Kj8F3iMS.js +1 -0
  71. package/dist/assets/{emails-page-BSlc4IyH.js → emails-page-BrbbtgEY.js} +1 -1
  72. package/dist/assets/{environment-store-B29S7tiK.js → environment-store-C0f32873.js} +1 -1
  73. package/dist/assets/esm-B54gzHCZ.js +1 -0
  74. package/dist/assets/esm-Bzs_witt.js +2 -0
  75. package/dist/assets/esm-C5J59K0j.js +2 -0
  76. package/dist/assets/{esm-DnCc4uNb.js → esm-CT8NUp3h.js} +2 -2
  77. package/dist/assets/esm-DEu9JbAE.js +2 -0
  78. package/dist/assets/esm-DZkj1VLJ.js +2 -0
  79. package/dist/assets/esm-DtJz1M8R.js +2 -0
  80. package/dist/assets/feature-flag-catalog-DA0vSGLe.js +1 -0
  81. package/dist/assets/file-DsyJLS2u.js +1 -0
  82. package/dist/assets/file-editor-sT7eHxsw.js +1 -0
  83. package/dist/assets/file-markdown-ZKvQUuGy.js +2 -0
  84. package/dist/assets/general-page-DpoputcO.js +1 -0
  85. package/dist/assets/haptics-Dgv6PU7K.js +2 -0
  86. package/dist/assets/hatching-screen-BEIywvij.js +1 -0
  87. package/dist/assets/home-page-route-DuTK1_El.js +1 -0
  88. package/dist/assets/{hosting-screen-BQCZiStC.js → hosting-screen-C9JhiTE2.js} +1 -1
  89. package/dist/assets/identity-page-route-zAL_IXBX.js +1 -0
  90. package/dist/assets/index-Cd6Xm6j5.js +151 -0
  91. package/dist/assets/index-DdJ6GEnl.css +2 -0
  92. package/dist/assets/{input-DR1eB4a1.js → input-CoUmPnRU.js} +1 -1
  93. package/dist/assets/{inspect-page-CKGEq0sL.js → inspect-page-BBObEk29.js} +6 -6
  94. package/dist/assets/integrations-page-BHMuUW9o.js +1 -0
  95. package/dist/assets/intelligence-layout-B89S015i.js +1 -0
  96. package/dist/assets/{log-out-CCanFuT_.js → key-round-CD3JWrs1.js} +1 -1
  97. package/dist/assets/{keyboard-shortcuts-page-CONirTbD.js → keyboard-shortcuts-page-DGwzOEcj.js} +1 -1
  98. package/dist/assets/library-detail-page-DqM_wmB4.js +1 -0
  99. package/dist/assets/library-page-CrgVsD84.js +1 -0
  100. package/dist/assets/{list-row-YOzkXNjq.js → list-row-D5MFdbkH.js} +1 -1
  101. package/dist/assets/{local-mode-YoUYEn7C.js → local-mode-Bskd5bsT.js} +2 -2
  102. package/dist/assets/{login-flow-CFhW2AHB.js → login-flow-BbLSXmEe.js} +1 -1
  103. package/dist/assets/login-page-GfRvCQ29.js +1 -0
  104. package/dist/assets/logout-page-Dg1wgnDr.js +1 -0
  105. package/dist/assets/logs-layout-CXAlJ7LX.js +1 -0
  106. package/dist/assets/{memory-router-playground-page-CP8awc0-.js → memory-router-playground-page-dtviLwvO.js} +1 -1
  107. package/dist/assets/{menu-Bjq0lFxx.js → menu-Dy5QbnTj.js} +1 -1
  108. package/dist/assets/messages-49pNL2E1.js +13 -0
  109. package/dist/assets/{metric-card-DQKsGfEB.js → metric-card-DreSiKBJ.js} +1 -1
  110. package/dist/assets/middleware-pbPQ0upo.js +1 -0
  111. package/dist/assets/{mobile-sidebar-drawer-qLk01r-p.js → mobile-sidebar-drawer-CEz_u6L2.js} +1 -1
  112. package/dist/assets/{modal-cdtdc8dA.js → modal-D5nLWNN9.js} +1 -1
  113. package/dist/assets/mutation-error-DYv0eJ_i.js +1 -0
  114. package/dist/assets/native-biometric-8C66CwyW.js +6 -0
  115. package/dist/assets/native-deep-link-CJGNy9bj.js +1 -0
  116. package/dist/assets/{native-file-B1HraJR0.js → native-file-DI99Emal.js} +2 -2
  117. package/dist/assets/{notice-Dh3mnM_U.js → notice-DkcNAP8O.js} +1 -1
  118. package/dist/assets/notifications-page-B_sN7yho.js +1 -0
  119. package/dist/assets/{oauth-complete-page-DLsLw4Ai.js → oauth-complete-page-CuybfFpw.js} +1 -1
  120. package/dist/assets/{oauth-popup-complete-page-Bzch_dtU.js → oauth-popup-complete-page-DSZxA1d6.js} +1 -1
  121. package/dist/assets/optimistic-lifecycle-BvfDBY8o.js +1 -0
  122. package/dist/assets/{page-shell-CejvYP6I.js → page-shell-DhRqqQYA.js} +1 -1
  123. package/dist/assets/{pairing-page-Chm98xKO.js → pairing-page-DzAmAv0h.js} +1 -1
  124. package/dist/assets/panel-item-CouW2A55.js +1 -0
  125. package/dist/assets/{password-reset-page-BJtjGZ_1.js → password-reset-page-BCk9Si73.js} +1 -1
  126. package/dist/assets/platform-detection-BrzZ9nIv.js +1 -0
  127. package/dist/assets/platform-loopback-page-Dka8sBVb.js +1 -0
  128. package/dist/assets/plugin-detail-page-Byuqbr1N.js +1 -0
  129. package/dist/assets/plugins-page-DIye0I83.js +1 -0
  130. package/dist/assets/plugins-surface-z3RTZS4H.js +1 -0
  131. package/dist/assets/plus-DItfr5ux.js +1 -0
  132. package/dist/assets/pointer-Cdz7NGHe.js +1 -0
  133. package/dist/assets/{popover-DKvyZMoc.js → popover-CFL4WZTr.js} +1 -1
  134. package/dist/assets/prechat-route-DOXwrVAo.js +1 -0
  135. package/dist/assets/prefs-Cv7dVfD-.js +1 -0
  136. package/dist/assets/privacy-page-u6xy7Q8z.js +1 -0
  137. package/dist/assets/privacy-screen-CjN05DC6.js +1 -0
  138. package/dist/assets/provider-callback-page-CL5ZVZ_W.js +1 -0
  139. package/dist/assets/provider-key-3AHnKoz9.js +1 -0
  140. package/dist/assets/provider-signup-page-Eizzv0xD.js +1 -0
  141. package/dist/assets/quick-input-page-J80B2lqk.js +1 -0
  142. package/dist/assets/react-query.gen-C6wVk6Rw.js +1 -0
  143. package/dist/assets/{react-query.gen-DVZyPw6H.js → react-query.gen-DPzPS206.js} +1 -1
  144. package/dist/assets/remote-gateway-session-CKCwbah-.js +1 -0
  145. package/dist/assets/research-mock-page-CoybPf50.js +1 -0
  146. package/dist/assets/{research-onboarding-persistence-DBhBmIGA.js → research-onboarding-persistence-DnuHyFyB.js} +1 -1
  147. package/dist/assets/research-onboarding-route-B5_eJwJw.js +63 -0
  148. package/dist/assets/{resize-errors-DQaZhn9s.js → resize-errors-DqIkO0UI.js} +1 -1
  149. package/dist/assets/{resolved-assistants-store-DccydJ5N.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
  150. package/dist/assets/return-to-BwxkOGDI.js +1 -0
  151. package/dist/assets/review-terms-screen-BWVXGdnG.js +1 -0
  152. package/dist/assets/risk-t10VBZTf.js +3 -0
  153. package/dist/assets/routes-BbeIx_F9.js +1 -0
  154. package/dist/assets/{schedules-D7EefqdS.js → schedules-BfKi12EZ.js} +1 -1
  155. package/dist/assets/{sdk.gen-YX4BQpM7.js → sdk.gen-BhtkuoSl.js} +1 -1
  156. package/dist/assets/sdk.gen-BwnFjFcp.js +6 -0
  157. package/dist/assets/{sdk.gen-B3bmXhSv.js → sdk.gen-CmKfVpgB.js} +1 -1
  158. package/dist/assets/{security-page-Cp2s0T8l.js → security-page-Bqpm9CRl.js} +1 -1
  159. package/dist/assets/select-assistant-screen-DuY4fs2R.js +1 -0
  160. package/dist/assets/{setting-row-D9Jbc5pM.js → setting-row-CUka7_L9.js} +1 -1
  161. package/dist/assets/settings-layout-BjCfuXEr.js +1 -0
  162. package/dist/assets/share-feedback-modal-E8Fvm4e9.js +1 -0
  163. package/dist/assets/sidebar-tree-Bf3uooyL.js +1 -0
  164. package/dist/assets/signup-page-ChGv8LrT.js +1 -0
  165. package/dist/assets/{signup-shell-C9HJHs_-.js → signup-shell-DufHA5do.js} +1 -1
  166. package/dist/assets/site-favicon-OrfXRQVO.js +1 -0
  167. package/dist/assets/skill-detail-page-BVbMXZJX.js +1 -0
  168. package/dist/assets/skill-detail-panel-D7rCFgn6.js +1 -0
  169. package/dist/assets/skill-icon-cNkD2w1X.js +1 -0
  170. package/dist/assets/skills-BNOqjTQz.js +1 -0
  171. package/dist/assets/skills-page-D6eXxIrR.js +1 -0
  172. package/dist/assets/{sound-manager-CX_nIxe3.js → sound-manager-6UbdgQrj.js} +1 -1
  173. package/dist/assets/{sounds-page-1emqNnJy.js → sounds-page-oCrKag0t.js} +1 -1
  174. package/dist/assets/{src-4xooMXeT.js → src-DZbMXyC2.js} +39 -39
  175. package/dist/assets/stat-square-CTHnQ1jc.js +1 -0
  176. package/dist/assets/subagent-detail-panel-D8Vym0hK.js +4 -0
  177. package/dist/assets/{subagent-store-DjUgx1D2.js → subagent-store-BHsYfTME.js} +1 -1
  178. package/dist/assets/{system-events-page-ww0hAGYR.js → system-events-page-CmP_mG_E.js} +1 -1
  179. package/dist/assets/{system-events-redirect-page-aRRRoLJI.js → system-events-redirect-page-DbaFKRXH.js} +1 -1
  180. package/dist/assets/tag-CV4v7fRF.js +1 -0
  181. package/dist/assets/three-dot-indicator-DNuHHwtA.js +1 -0
  182. package/dist/assets/{tiptap-document-editor-EQIK5AAg.js → tiptap-document-editor-aLok6H82.js} +2 -2
  183. package/dist/assets/toast-xTp-xwYL.js +1 -0
  184. package/dist/assets/tool-detail-panel-BxZmdI-Q.js +2 -0
  185. package/dist/assets/{upgrade-cancel-page-BJH7716k.js → upgrade-cancel-page-DQ2t1atD.js} +1 -1
  186. package/dist/assets/{upgrade-success-page-1PlVik4u.js → upgrade-success-page-qHyDiSFk.js} +1 -1
  187. package/dist/assets/{usage-page-jkBMfAr8.js → usage-page-Cvi3-b-0.js} +1 -1
  188. package/dist/assets/{use-active-assistant-id-BBHOMQFe.js → use-active-assistant-id-xuY3XyDA.js} +1 -1
  189. package/dist/assets/{use-bus-subscription-YZjoe_RT.js → use-bus-subscription-C3H3CmM_.js} +1 -1
  190. package/dist/assets/use-copy-to-clipboard-BCTXSMa-.js +1 -0
  191. package/dist/assets/use-edge-swipe-back-gBVYQBH0.js +1 -0
  192. package/dist/assets/use-invite-link-dialog-sBfH06UB.js +1 -0
  193. package/dist/assets/use-is-org-ready-CjILVAUZ.js +1 -0
  194. package/dist/assets/use-onboarding-login-Chcj53mF.js +1 -0
  195. package/dist/assets/{use-reduced-motion-DUPDDLHh.js → use-reduced-motion-Cj0Z8KSf.js} +1 -1
  196. package/dist/assets/use-skill-actions-DZARQDwC.js +1 -0
  197. package/dist/assets/{use-skill-categories-q-Ih2uSR.js → use-skill-categories-Dg0zxtfv.js} +1 -1
  198. package/dist/assets/use-skill-detail-files-BneiGfwy.js +1 -0
  199. package/dist/assets/{utils-Cv6Fontd.js → utils-xg2dl_KJ.js} +1 -1
  200. package/dist/assets/viewer-store-B8-Qnbx9.js +1 -0
  201. package/dist/assets/voice-page-Dzku566m.js +1 -0
  202. package/dist/assets/{weather-forecast-display-CJ_ZT_-B.js → weather-forecast-display-33DfC7gA.js} +1 -1
  203. package/dist/assets/{web-CCRYoYsf.js → web-BD2N6zhd.js} +1 -1
  204. package/dist/assets/{web-CAGeGBel.js → web-BaubW4Pp.js} +1 -1
  205. package/dist/assets/{web-C_gIgYOE.js → web-C1L-cpPj.js} +1 -1
  206. package/dist/assets/{web-Bifc0CyQ.js → web-CJiP8Lg6.js} +1 -1
  207. package/dist/assets/{web-D-9O_l_z.js → web-D8PpvYf_.js} +1 -1
  208. package/dist/assets/{web-DKKX1zUX.js → web-Duw5A2aP.js} +1 -1
  209. package/dist/assets/{web-C6JBS2jv.js → web-O1LOb-o9.js} +1 -1
  210. package/dist/assets/web-RhBklijR.js +1 -0
  211. package/dist/assets/{welcome-screen-C_JlT5id.js → welcome-screen-_mzcPEui.js} +1 -1
  212. package/dist/assets/workflow-detail-panel-DqBjO6c3.js +1 -0
  213. package/dist/assets/workflow-store-DACyavns.js +1 -0
  214. package/dist/assets/workspace-page-qq2UZFY3.js +1 -0
  215. package/dist/index.html +131 -121
  216. package/package.json +1 -1
  217. package/dist/assets/ai-page-BcgdcD4e.js +0 -1
  218. package/dist/assets/animated-avatar-KEsxQUWX.js +0 -1
  219. package/dist/assets/api-bHQ_ZhgO.js +0 -1
  220. package/dist/assets/arrow-up-BxoccrRI.js +0 -1
  221. package/dist/assets/assistant-identity-store-Cp3CD7d1.js +0 -1
  222. package/dist/assets/auth-store-CI4EhvE5.js +0 -2
  223. package/dist/assets/avatar-bundled-components-DQodAnJD.js +0 -1
  224. package/dist/assets/background-task-detail-panel-CfEFRK9m.js +0 -1
  225. package/dist/assets/billing-page-7z-qyk7R.js +0 -3
  226. package/dist/assets/bookmarks-page-BPDCi7Fj.js +0 -1
  227. package/dist/assets/browser-CP3oEvln.js +0 -2
  228. package/dist/assets/build-state-D96tiPPg.js +0 -1
  229. package/dist/assets/button-D1p5nVKJ.js +0 -1
  230. package/dist/assets/channels-page-route-CpAKC7Ny.js +0 -1
  231. package/dist/assets/client.gen-V_HNquaL.js +0 -6
  232. package/dist/assets/command-palette-DzGSKQit.js +0 -1
  233. package/dist/assets/community-page-pr5Nq-N8.js +0 -1
  234. package/dist/assets/contacts-gateway-jQhZqbXH.js +0 -1
  235. package/dist/assets/contacts-page-route-CRf2kU0k.js +0 -1
  236. package/dist/assets/debug-page-CAXWUmxw.js +0 -4
  237. package/dist/assets/detail-shell-q6GjKJ6F.js +0 -4
  238. package/dist/assets/device-settings-BBwtGKJb.js +0 -1
  239. package/dist/assets/devices-page-CsqBToSK.js +0 -1
  240. package/dist/assets/document-viewer-page-BaGYg7Jy.js +0 -1
  241. package/dist/assets/edit-chat-session-phEigSQo.js +0 -1
  242. package/dist/assets/effective-timezone-DAkNzd21.js +0 -1
  243. package/dist/assets/esm-BZAWL4X4.js +0 -2
  244. package/dist/assets/esm-CuAK_cYT.js +0 -2
  245. package/dist/assets/esm-_LZD1lMg.js +0 -2
  246. package/dist/assets/esm-fycmFY2i.js +0 -2
  247. package/dist/assets/esm-hkF3aX28.js +0 -1
  248. package/dist/assets/feature-flag-catalog-Ca2Lo1Sx.js +0 -1
  249. package/dist/assets/file-editor-CiduanJg.js +0 -1
  250. package/dist/assets/general-page-Cx_BeDy7.js +0 -1
  251. package/dist/assets/haptics-CABfN3Hg.js +0 -1
  252. package/dist/assets/hatching-screen-DGWclpGa.js +0 -1
  253. package/dist/assets/home-page-route-B6axS8Xb.js +0 -1
  254. package/dist/assets/identity-page-route-Ck6yFc4b.js +0 -1
  255. package/dist/assets/index-BkM0WTPC.css +0 -2
  256. package/dist/assets/index-CoobbyzR.js +0 -114
  257. package/dist/assets/install-BfTQMx11.js +0 -1
  258. package/dist/assets/integrations-page-vewUMHCO.js +0 -1
  259. package/dist/assets/intelligence-layout-Y0MnzPhq.js +0 -1
  260. package/dist/assets/library-detail-page-nV2EKiXc.js +0 -1
  261. package/dist/assets/library-page-B9_dVu66.js +0 -1
  262. package/dist/assets/lock-ChQK4VKH.js +0 -1
  263. package/dist/assets/login-page-DVozReou.js +0 -1
  264. package/dist/assets/logout-page-CD2DJ8cb.js +0 -1
  265. package/dist/assets/logs-layout-Cp0hu2KO.js +0 -1
  266. package/dist/assets/messages-3teOY9CI.js +0 -13
  267. package/dist/assets/mutation-error-DITUXbSQ.js +0 -1
  268. package/dist/assets/native-biometric-uwPAd9lh.js +0 -6
  269. package/dist/assets/native-deep-link-C13QIbW2.js +0 -1
  270. package/dist/assets/notifications-page-C32A7t8f.js +0 -1
  271. package/dist/assets/panel-item-vXPWJAXs.js +0 -1
  272. package/dist/assets/platform-detection-CY-O-Rjc.js +0 -1
  273. package/dist/assets/platform-loopback-page-BwMcw0M2.js +0 -1
  274. package/dist/assets/plugin-detail-page-BCbgwXnr.js +0 -1
  275. package/dist/assets/plugins-page-_hVmUOdU.js +0 -1
  276. package/dist/assets/plugins-surface-DYk9FmM2.js +0 -1
  277. package/dist/assets/prechat-route-FwhIKBwh.js +0 -1
  278. package/dist/assets/prefs-Bo9fZ56w.js +0 -1
  279. package/dist/assets/privacy-page-Dgk9eUIc.js +0 -1
  280. package/dist/assets/privacy-screen-BWMJTqw0.js +0 -1
  281. package/dist/assets/provider-callback-page-DrIkf6Qx.js +0 -1
  282. package/dist/assets/provider-key-CVj0dGLW.js +0 -1
  283. package/dist/assets/provider-signup-page-CLgombsV.js +0 -1
  284. package/dist/assets/quick-input-page-DAoWLetZ.js +0 -1
  285. package/dist/assets/react-query.gen-D8YgmevH.js +0 -1
  286. package/dist/assets/remote-gateway-session-uLbl0yn7.js +0 -1
  287. package/dist/assets/research-mock-page-pa9X5DVr.js +0 -1
  288. package/dist/assets/research-onboarding-route-DMNYFP95.js +0 -61
  289. package/dist/assets/return-to-BbdJZupb.js +0 -1
  290. package/dist/assets/review-terms-screen-Dhzjmovc.js +0 -1
  291. package/dist/assets/routes-iUGoIqW2.js +0 -1
  292. package/dist/assets/sdk.gen-Bz2u5Wv3.js +0 -1
  293. package/dist/assets/select-assistant-screen-BznHV3KW.js +0 -1
  294. package/dist/assets/settings-layout-u1k_Rsdf.js +0 -1
  295. package/dist/assets/share-feedback-modal-D1-RcW6F.js +0 -1
  296. package/dist/assets/shield-check-DFzO4cEd.js +0 -1
  297. package/dist/assets/sidebar-tree-CMREzbfC.js +0 -1
  298. package/dist/assets/signup-page-DdEr8yFN.js +0 -1
  299. package/dist/assets/skills-page-DEyycwld.js +0 -1
  300. package/dist/assets/stat-square-CDBisfqE.js +0 -1
  301. package/dist/assets/subagent-detail-panel-Akqnt7ec.js +0 -4
  302. package/dist/assets/tag-BizaosUX.js +0 -1
  303. package/dist/assets/toast-DowcpN7g.js +0 -1
  304. package/dist/assets/tool-detail-panel-C_g0wGNh.js +0 -2
  305. package/dist/assets/use-is-mobile-DJUk0lC8.js +0 -1
  306. package/dist/assets/use-is-org-ready-Dtge_dC5.js +0 -1
  307. package/dist/assets/use-onboarding-login-9378MpEq.js +0 -1
  308. package/dist/assets/use-setup-channel-param-CRMdNnM_.js +0 -9
  309. package/dist/assets/viewer-store-C8L5A-BB.js +0 -1
  310. package/dist/assets/voice-page-DIpdPRDT.js +0 -1
  311. package/dist/assets/workflow-detail-panel-BIZ8culE.js +0 -1
  312. package/dist/assets/workspace-page-8DC4PiAA.js +0 -1
  313. /package/dist/assets/{api-errors-DZ6ckXtC.js → api-errors-CrWDzVca.js} +0 -0
  314. /package/dist/assets/{avatar-svg-compositor-BnVOXsYU.js → avatar-svg-compositor-CnDf9Ibf.js} +0 -0
  315. /package/dist/assets/{build.umd-C5MOmzrf.js → build.umd-CxdKgGWo.js} +0 -0
  316. /package/dist/assets/{by-tool-use-id-index-h0TggD-a.js → by-tool-use-id-index-BokzI3ZP.js} +0 -0
  317. /package/dist/assets/{chat-Bn41Y5yM.js → chat-B8mgARYR.js} +0 -0
  318. /package/dist/assets/{client.gen-AQhSugfA.js → client.gen-DVfIRXUZ.js} +0 -0
  319. /package/dist/assets/{cloud-off-CysJvmWr.js → cloud-off-Db1nySkc.js} +0 -0
  320. /package/dist/assets/{code-DsR1Npcp.js → code-Czx7d7SK.js} +0 -0
  321. /package/dist/assets/{composer-focus-BBTBdAab.js → composer-focus-BZr63Cvs.js} +0 -0
  322. /package/dist/assets/{conversation-selection-oLES1vkM.js → conversation-selection-BBHkzcfy.js} +0 -0
  323. /package/dist/assets/{copy-CytZjq76.js → copy-Cn1FKrEp.js} +0 -0
  324. /package/dist/assets/{cpu-C6_Tjhkh.js → cpu-BJuB2Khn.js} +0 -0
  325. /package/dist/assets/{create-selectors-DxrPZQND.js → create-selectors-8NePGNlX.js} +0 -0
  326. /package/dist/assets/{credit-card-s3I7DYkY.js → credit-card-BuyWdO9t.js} +0 -0
  327. /package/dist/assets/{definitions-CJ7YHLIq.js → definitions-CaYcW4Yq.js} +0 -0
  328. /package/dist/assets/{dist-C3LFhPgk2.js → dist-DS5iJwBJ2.js} +0 -0
  329. /package/dist/assets/{domain-field-6GHeeXa3.js → domain-field-C5a2iMot.js} +0 -0
  330. /package/dist/assets/{emoji-catalog-data-hHp74TCA.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
  331. /package/dist/assets/{event-bus-BXKLAX-e.js → event-bus-BNx4a0Ds.js} +0 -0
  332. /package/dist/assets/{external-link-DJ0A4ezO.js → external-link-Dqpx9nRm.js} +0 -0
  333. /package/dist/assets/{file-text-Cw--uc4C.js → file-text-CYJz-GvF.js} +0 -0
  334. /package/dist/assets/{format-date-CLlHK5gl.js → format-date-CghpPTDc.js} +0 -0
  335. /package/dist/assets/{format-file-size-BfZOpPdu.js → format-file-size-DzVEncaw.js} +0 -0
  336. /package/dist/assets/{globe-DgulNfxa.js → globe-4qSOWE2N.js} +0 -0
  337. /package/dist/assets/{hard-drive-CUjwJ5MQ.js → hard-drive-rDxhoRUm.js} +0 -0
  338. /package/dist/assets/{impersonate-version-flag-DudbyPBi.js → impersonate-version-flag-BhxfH6iZ.js} +0 -0
  339. /package/dist/assets/{info-BaizXivv.js → info-DsOyuMO9.js} +0 -0
  340. /package/dist/assets/{is-electron-LEymSS4C.js → is-electron-y5bNUVyG.js} +0 -0
  341. /package/dist/assets/{link-2-C4ZDIIu1.js → link-2-4bMylQ5v.js} +0 -0
  342. /package/dist/assets/{llm-dimension-CgXjHNj6.js → llm-dimension-DyYwG3mU.js} +0 -0
  343. /package/dist/assets/{loader-circle-D1pLQlMh.js → loader-circle-Cz7opInR.js} +0 -0
  344. /package/dist/assets/{log-in-BQonRVoo.js → log-in--aqELu3z.js} +0 -0
  345. /package/dist/assets/{minimize-2-BusmaFRB.js → minimize-2-Clnet2W7.js} +0 -0
  346. /package/dist/assets/{misc-CfQwP_zq.js → misc-BYQPh7vS.js} +0 -0
  347. /package/dist/assets/{monitor-CWNmhnli.js → monitor-DfbL8_59.js} +0 -0
  348. /package/dist/assets/{moon-Br0t6dvo.js → moon-B8qiwjrW.js} +0 -0
  349. /package/dist/assets/{onboarding-step-layout-QhoZ4RKu.js → onboarding-step-layout-2XcmxqFN.js} +0 -0
  350. /package/dist/assets/{pdf-DGDlrU1i.js → pdf-C3Qukw-J.js} +0 -0
  351. /package/dist/assets/{pencil-rKUVpppO.js → pencil-CUIr0IFo.js} +0 -0
  352. /package/dist/assets/{prechat-UQXfXf5i.js → prechat-P1y7ZM6C.js} +0 -0
  353. /package/dist/assets/{prechat-names-BX9ToPj8.js → prechat-names-clVy5Mee.js} +0 -0
  354. /package/dist/assets/{progress-bar-q6qGo2Sp.js → progress-bar-Ca8gmE3B.js} +0 -0
  355. /package/dist/assets/{proxy-CheNMUr6.js → proxy-o6cPThl2.js} +0 -0
  356. /package/dist/assets/{public-asset-BpAVsx77.js → public-asset-GKv5zCfZ.js} +0 -0
  357. /package/dist/assets/{refresh-cw-BmNgSiel.js → refresh-cw-DevIHL7J.js} +0 -0
  358. /package/dist/assets/{repeat-Bms5wrYv.js → repeat-C8Im6j--.js} +0 -0
  359. /package/dist/assets/{save-BZ19CVY3.js → save-aD5JFIZf.js} +0 -0
  360. /package/dist/assets/{semver-DLY9hF7h.js → semver-DIkpaM51.js} +0 -0
  361. /package/dist/assets/{shortcut-keys-DKqAVRjB.js → shortcut-keys-B2EE-634.js} +0 -0
  362. /package/dist/assets/{sparkles-3RJkeWa7.js → sparkles-PGiR5v1g.js} +0 -0
  363. /package/dist/assets/{status-badge-pill-DUcVAyfr.js → status-badge-pill-0N6rTEBg.js} +0 -0
  364. /package/dist/assets/{step-indicator-dots-DzT4WVOT.js → step-indicator-dots-D03TmFKG.js} +0 -0
  365. /package/dist/assets/{toggle-D7S110RM.js → toggle-CDfguvUz.js} +0 -0
  366. /package/dist/assets/{triangle-alert-CuLBwl1x.js → triangle-alert-Z0Gq0IuB.js} +0 -0
  367. /package/dist/assets/{typed-storage-T9jtK5c0.js → typed-storage-5IU6qVWg.js} +0 -0
  368. /package/dist/assets/{usage-window-wP92lK6k.js → usage-window-C6gWu5Qu.js} +0 -0
  369. /package/dist/assets/{user-plus-CBZUdRuz.js → user-plus-DMh4_UTz.js} +0 -0
  370. /package/dist/assets/{workflow-status-CHd73wxx.js → workflow-status-ZrbiLW5D.js} +0 -0
  371. /package/dist/assets/{x-CwzRJv9J.js → x-CkSVp1Ok.js} +0 -0
  372. /package/dist/assets/{xterm-ClHs86Ut.js → xterm-CBmd_y-b.js} +0 -0
  373. /package/dist/assets/{xterm-addon-fit-B-HVOsbO.js → xterm-addon-fit-THPW0uy0.js} +0 -0
@@ -0,0 +1,13 @@
1
+ import{t as e}from"./capture-error-Dhiismgm.js";import{Ar as t,Fr as n,_n as r,gn as i,hn as a,u as o,vn as s}from"./sdk.gen-BwnFjFcp.js";import{t as c}from"./assistant-identity-store-CX03CK8q.js";import{r as l,t as u}from"./semver-DIkpaM51.js";import{n as d,r as f}from"./api-errors-CrWDzVca.js";import{n as p}from"./platform-detection-BrzZ9nIv.js";import{a as m,s as h}from"./prechat-P1y7ZM6C.js";import{t as g}from"./effective-timezone-Kj8F3iMS.js";var _=/^\[File attachment\] (.+?), type=([^,\n]+?)(?:, size=([^\n]+))?$/,v=/^([\d.]+)\s*(B|KB|MB|GB)$/;function y(e){let t=v.exec(e.trim());if(!t)return 0;let n=Number.parseFloat(t[1]);if(!Number.isFinite(n))return 0;switch(t[2]){case`B`:return Math.round(n);case`KB`:return Math.round(n*1024);case`MB`:return Math.round(n*1024*1024);case`GB`:return Math.round(n*1024*1024*1024);default:return 0}}function b(e){let t=e.indexOf(`[File attachment] `);if(t<0||!(t===0||e[t-1]===`
2
+ `))return{cleanedContent:e,attachments:void 0};let n=t>0&&e[t-1]===`
3
+ `?e.slice(0,t-1):e.slice(0,t),r=[];for(let n of e.slice(t).split(`
4
+ `)){let e=_.exec(n);if(!e)continue;let[,t,i,a]=e;r.push({id:`rehydrated:${r.length}`,filename:t,mimeType:i,sizeBytes:a?y(a):0,previewUrl:null,thumbnailUrl:null})}return{cleanedContent:n,attachments:r.length>0?r:void 0}}var x=[`users/guardian.md`,`users/default.md`],S=`## Onboarding Context`;function C(e){let t=[S,``];return e.preferredName&&t.push(`- **Preferred name:** ${e.preferredName}`),e.occupation&&t.push(`- **Role:** ${e.occupation}`),e.commonWork.length>0&&t.push(`- **Common work:** ${e.commonWork.join(`; `)}`),e.dailyTools.length>0&&t.push(`- **Daily tools:** ${e.dailyTools.join(`, `)}`),t.push(``),t.join(`
5
+ `)}function w(e,t){let n=e??`# User Profile
6
+
7
+ `,r=n.indexOf(S);if(r!==-1){let e=n.indexOf(`
8
+ `,r),i=e===-1?``:n.slice(e+1),a=i.match(/^## /m),o=n.slice(0,r),s=a?i.slice(a.index):``;return o+t+s}return n.endsWith(`
9
+ `)||(n+=`
10
+ `),n.endsWith(`
11
+
12
+ `)||(n+=`
13
+ `),n+t}async function T(e,n){let{data:r,error:i,response:a}=await t({path:{assistant_id:e},query:{path:n},throwOnError:!1});if(d(a,i,`Failed to fetch onboarding profile file`),a.status===404)return null;if(!a.ok)throw Error(`Failed to fetch onboarding profile file (${a.status})`);if(r?.isBinary)throw Error(`Onboarding profile file is binary`);return typeof r?.content==`string`?r.content:null}async function E(e,t,r){let{error:i,response:a}=await n({path:{assistant_id:e},body:{path:t,content:r},throwOnError:!1});if(d(a,i,`Failed to write onboarding profile file`),!a.ok)throw Error(`Failed to write onboarding profile file (${a.status})`)}async function D(e,t,n){await E(e,t,w(await T(e,t),n))}async function O(e,t){let n=C(h(t));await Promise.allSettled(x.map(t=>D(e,t,n)))}function k(e,t,n,r){let i=e.toLowerCase().startsWith(`video/`);return{previewUrl:t&&(!i||i&&!r)?`data:${e};base64,${t}`:null,thumbnailUrl:n?`data:image/jpeg;base64,${n}`:null}}function A(e){return e.map(e=>{let{previewUrl:t,thumbnailUrl:n}=k(e.mimeType,e.data,e.thumbnailData,!0);return{id:e.id,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:t,thumbnailUrl:n}})}function j(e){return e===`inline`||e===`panel`?e:void 0}function M(e){return{surfaceId:e.surfaceId,surfaceType:e.surfaceType,title:e.title,data:e.data,actions:e.actions,display:j(e.display),completed:e.completed,completionSummary:e.completionSummary,toolCallId:e.toolCallId}}function N(e){return e.map(M)}function P(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=new Date(e).getTime();return Number.isFinite(t)?t:void 0}}function F(e){if(!e||e.length===0)return{segments:void 0,attachments:void 0};let t=[];return{segments:e.map(e=>{let{cleanedContent:n,attachments:r}=b(e);return r&&t.push(...r),n}),attachments:t.length>0?t.map((e,t)=>({...e,id:`rehydrated:${t}`})):void 0}}function I(e){let{segments:t,attachments:n}=F(e.textSegments&&e.textSegments.length>0?e.textSegments:void 0),r=e.attachments&&e.attachments.length>0?A(e.attachments):void 0,i=G(e.contentOrder),a=K(e),o=e.toolCalls&&e.toolCalls.length>0?U(e.toolCalls,e.id):void 0,s=P(e.timestamp),c=e.thinkingSegments&&e.thinkingSegments.length>0?e.thinkingSegments:void 0,l={id:e.id,role:e.role};e.mergedMessageIds?.length&&(l.mergedMessageIds=e.mergedMessageIds),e.clientMessageId&&(l.clientMessageId=e.clientMessageId),e.surfaces&&(l.surfaces=N(e.surfaces)),a&&(l.contentBlocks=a),t&&(l.textSegments=t),i&&(l.contentOrder=i),c&&(l.thinkingSegments=c),e.subagentNotification&&(l.isSubagentNotification=!0),e.acpNotification&&(l.isAcpNotification=!0),e.backgroundEventNotification&&(l.isBackgroundEventNotification=!0),e.slackMessage&&(l.slackMessage=e.slackMessage),o&&(l.toolCalls=o),s!=null&&(l.timestamp=s);let u=r??n;return u&&(l.attachments=u),l}var L=`0.8.6`;function R(){let e=c.getState().version;if(!e)return`conversationKey`;let t=l(e),n=l(L);return!t||!n?`conversationKey`:u({...t,pre:null},n)>=0?`conversationId`:`conversationKey`}var z=1e3,B=12e4;function V(e){return{id:e.id,toolName:e.toolName,conversationId:e.conversationId,command:e.command,startedAt:e.startedAt,status:e.status,exitCode:e.exitCode,output:e.output,completedAt:e.completedAt}}async function H(e,t,n){let r=Date.now()+B;for(;Date.now()<r;){let{data:r,error:i,response:o}=await a({path:{assistant_id:e},query:{conversationId:n},throwOnError:!1});if(d(o,i,`Failed to poll for messages`),!o.ok){let e=f(i,o,`Failed to poll for messages`);throw Error(e)}let s=r?.messages??[],c=s.findIndex(e=>e.id===t);if(c>=0){let e=s.slice(c+1).find(e=>e.role===`assistant`);if(e)return e}await new Promise(e=>setTimeout(e,z))}return null}function U(e,t){return e.map((e,n)=>{let{confirmationDecision:r,...i}=e;return{...i,id:e.id??`tool-history-${t}-${n}`,...r===void 0?{}:{confirmationDecision:r}}})}function W(e){if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;if(typeof t.type==`string`&&typeof t.id==`string`)return{type:t.type,id:t.id}}if(typeof e==`string`){let t=e.indexOf(`:`);if(t>0)return{type:e.slice(0,t),id:e.slice(t+1)}}return null}function G(e){if(!e||e.length===0)return;let t=[];for(let n of e){let e=W(n);e&&t.push(e)}return t.length>0?t:void 0}function K(e){if(e.contentBlocks!==void 0)return e.contentBlocks;let t=G(e.contentOrder);if(!t)return;let n=[];for(let{type:r,id:i}of t){let t=Number.parseInt(i,10);if(!Number.isNaN(t))switch(r){case`text`:{let r=e.textSegments?.[t];if(r==null)break;let{cleanedContent:i}=b(r);i.trim().length>0&&n.push({type:`text`,text:i});break}case`thinking`:{let r=e.thinkingSegments?.[t];r!=null&&n.push({type:`thinking`,thinking:r});break}case`tool`:case`toolCall`:{let r=e.toolCalls?.[t];r&&n.push({type:`tool_use`,toolCall:{...r,id:r.id??`tool-history-${e.id}-${t}`}});break}case`surface`:{let r=e.surfaces?.[t];r&&n.push({type:`surface`,surface:r});break}case`attachment`:{let r=e.attachments[t];r&&n.push({type:`attachment`,attachment:r});break}}}return n.length>0?n:void 0}async function q(e,t,n){let r=n?.latestPageLimit==null?{conversationId:t}:{conversationId:t,page:`latest`,limit:n.latestPageLimit},{data:i,error:o,response:s}=await a({path:{assistant_id:e},query:r,throwOnError:!1});if(d(s,o,`Failed to fetch conversation messages`),!s.ok)throw Error(`Failed to fetch conversation messages (HTTP ${s.status})`);return i}async function J(e,t){let n=t.name||`attachment`,r=t.type||`application/octet-stream`,{data:i,error:a,response:s}=await o({path:{assistant_id:e},body:{file:t,filename:n,mimeType:r},throwOnError:!1});if(d(s,a,`Failed to upload attachment`),!s.ok){let e=a&&typeof a==`object`&&!Array.isArray(a)?a:{},t=(typeof e.detail==`string`?e.detail:void 0)??(typeof e.error==`string`?e.error:void 0)??`HTTP ${s.status}`;return{ok:!1,status:s.status,error:{detail:t}}}let c=i?.id;return c?{ok:!0,id:c,...typeof i.filename==`string`?{filename:i.filename}:{},...typeof i.mimeType==`string`?{mimeType:i.mimeType}:{},...typeof i.sizeBytes==`number`?{sizeBytes:i.sizeBytes}:{}}:{ok:!1,status:422,error:{detail:`Upload response did not include an attachment id.`}}}async function Y(t,n,r,a={}){let{attachmentIds:o=[],onboarding:s,clientMessageId:c,inferenceProfile:l,enabledPlugins:u,hidden:f}=a,h={content:r,sourceChannel:`vellum`,interface:`web`,clientOs:p()},_=g();_&&(h.clientTimezone=_);let v=R();(n!==null||v!==`conversationId`)&&(h[v]=n),o.length>0&&(h.attachmentIds=o),c&&(h.clientMessageId=c),l&&(h.inferenceProfile=l),u!=null&&(h.enabledPlugins=u),f&&(h.hidden=!0);let y=s?m(s):void 0;if(y){let e={tools:y.tools,tasks:y.tasks,tone:y.tone};y.userName!==void 0&&(e.userName=y.userName),y.occupation!==void 0&&(e.occupation=y.occupation),y.assistantName!==void 0&&(e.assistantName=y.assistantName),y.googleConnected!==void 0&&(e.googleConnected=y.googleConnected),y.googleScopes!==void 0&&(e.googleScopes=y.googleScopes),y.priorAssistants!==void 0&&(e.priorAssistants=y.priorAssistants),y.cohort!==void 0&&(e.cohort=y.cohort),y.bootstrapTemplate!==void 0&&(e.bootstrapTemplate=y.bootstrapTemplate),y.initialMessage!==void 0&&y.initialMessage.trim().toLowerCase().replace(/[.!?]+$/,``)!==`wake up, my friend`&&(e.initialMessage=y.initialMessage),y.skills!==void 0&&(e.skills=y.skills),y.title!==void 0&&(e.title=y.title),h.onboarding=e}y&&O(t,y).catch(t=>e(t,{context:`persistPreChatOnboardingProfile`}));let{data:b,error:x,response:S}=await i({path:{assistant_id:t},body:h,throwOnError:!1});if(d(S,x,`Failed to send chat message`),!S.ok){let e=x&&typeof x==`object`&&!Array.isArray(x)?x:{},t=e.error&&typeof e.error==`object`&&!Array.isArray(e.error)?e.error:{};return{ok:!1,status:S.status,error:{code:typeof e.code==`string`?e.code:typeof t.code==`string`?t.code:typeof e.error==`string`?e.error:void 0,detail:(typeof e.detail==`string`?e.detail:void 0)??(typeof e.message==`string`?e.message:void 0)??(typeof t.message==`string`?t.message:void 0)??`HTTP ${S.status}`}}}let C=b;if(!C?.accepted)return{ok:!1,status:422,error:{detail:`Message was not accepted by the assistant.`}};let w=typeof C.conversationId==`string`?C.conversationId:void 0;return w===void 0?{ok:!1,status:422,error:{detail:`Assistant accepted the message but did not return a conversation id.`}}:C.queued?{ok:!0,queued:!0,assistantId:t,conversationId:w,requestId:typeof C.requestId==`string`?C.requestId:void 0}:typeof C.messageId==`string`?{ok:!0,assistantId:t,conversationId:w,messageId:C.messageId}:{ok:!1,status:422,error:{detail:`Message was not accepted by the assistant.`}}}async function X(e,t,n){try{let{response:r}=await s({path:{assistant_id:e,id:n},query:{conversationId:t},throwOnError:!1});return r?.ok??!1}catch{return!1}}async function Z(e,t,n){try{let{response:i}=await r({path:{assistant_id:e,id:n},query:{conversationId:t},throwOnError:!1});return i?.ok??!1}catch{return!1}}export{Y as a,J as c,k as d,H as i,I as l,q as n,X as o,K as r,V as s,Z as t,M as u};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./typography-D5f7kt80.js";import{t as i}from"./createLucideIcon-IRfcSUxS.js";import"./src-4xooMXeT.js";import{t as a}from"./use-reduced-motion-DUPDDLHh.js";var o=i(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),s=e(t(),1),c=n();function l(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function u(e){let t=a(),[n,r]=(0,s.useState)(e),i=(0,s.useRef)(e),o=(0,s.useRef)(e),c=(0,s.useRef)(0);return(0,s.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(c.current),c.current=0,i.current=e,r(e);return}if(i.current===e||c.current)return;let n=performance.now(),a=i.current,s=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;i.current=l>=1?t:a+(t-a)*u,r(i.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,t]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),n}function d({icon:e,value:t,label:n}){return(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,c.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,c.jsxs)(`div`,{className:`min-w-0`,children:[(0,c.jsx)(r,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,c.jsx)(r,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function f({icon:e,label:t,target:n,format:r}){return(0,c.jsx)(d,{icon:e,label:t,value:r(u(n))})}export{l as n,o as r,f as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./typography-D5f7kt80.js";import{t as i}from"./createLucideIcon-IRfcSUxS.js";import"./src-DZbMXyC2.js";import{t as a}from"./use-reduced-motion-Cj0Z8KSf.js";var o=i(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),s=e(t(),1),c=n();function l(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function u(e){let t=a(),[n,r]=(0,s.useState)(e),i=(0,s.useRef)(e),o=(0,s.useRef)(e),c=(0,s.useRef)(0);return(0,s.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(c.current),c.current=0,i.current=e,r(e);return}if(i.current===e||c.current)return;let n=performance.now(),a=i.current,s=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;i.current=l>=1?t:a+(t-a)*u,r(i.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,t]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),n}function d({icon:e,value:t,label:n}){return(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,c.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,c.jsxs)(`div`,{className:`min-w-0`,children:[(0,c.jsx)(r,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,c.jsx)(r,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function f({icon:e,label:t,target:n,format:r}){return(0,c.jsx)(d,{icon:e,label:t,value:r(u(n))})}export{l as n,o as r,f as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]);function n(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var r=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return r(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return r(t)(e)}}}},i=(e,t)=>(i,a,o)=>{let s={storage:n(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},c=!1,l=0,u=new Set,d=new Set,f=s.storage;if(!f)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),i(...e)},a,o);let p=()=>{let e=s.partialize({...a()});return f.setItem(s.name,{state:e,version:s.version})},m=o.setState;o.setState=(e,t)=>(m(e,t),p());let h=e((...e)=>(i(...e),p()),a,o);o.getInitialState=()=>h;let g,_=()=>{if(!f)return;let e=++l;c=!1,u.forEach(e=>e(a()??h));let t=s.onRehydrateStorage?.call(s,a()??h)||void 0;return r(f.getItem.bind(f))(s.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==s.version){if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==l)return;let[n,r]=t;if(g=s.merge(r,a()??h),i(g,!0),n)return p()}).then(()=>{e===l&&(t?.(a(),void 0),g=a(),c=!0,d.forEach(e=>e(g)))}).catch(n=>{e===l&&t?.(void 0,n)})};return o.persist={setOptions:e=>{s={...s,...e},e.storage&&(f=e.storage)},clearStorage:()=>{f?.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>_(),hasHydrated:()=>c,onHydrate:e=>(u.add(e),()=>{u.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},s.skipHydration||_(),g||h};export{i as n,t as r,n as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D1p5nVKJ.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./x-CwzRJv9J.js";import"./src-4xooMXeT.js";import{Hi as a}from"./index-CoobbyzR.js";var o=e(t(),1),s=r(),c=`(min-width: 640px)`,l=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function u({open:e,onClose:t,children:r,title:a}){let u=(0,o.useRef)(null),d=(0,o.useRef)(null),f=(0,o.useRef)(t);return(0,o.useEffect)(()=>{f.current=t}),(0,o.useEffect)(()=>{if(!e)return;d.current?.focus();let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.matchMedia(c),r=e=>{e.matches&&f.current()};n.addEventListener(`change`,r);let i=e=>{if(e.key===`Escape`){f.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(l),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),n.removeEventListener(`change`,r),document.body.style.overflow=t}},[e]),e?(0,s.jsxs)(`div`,{ref:u,className:`fixed inset-0 sm:hidden`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`Close sidebar`,className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:t}),(0,s.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`},children:[(0,s.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,s.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,s.jsx)(n,{ref:d,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,s.jsx)(i,{"aria-hidden":!0}),onClick:t,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,s.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function d({onClick:e}){return(0,s.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:(0,s.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":`Open sidebar`,tintColor:`var(--content-secondary)`,className:`sm:hidden`})}export{d as n,u as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{Ki as a}from"./index-Cd6Xm6j5.js";var o=e(t(),1),s=r(),c=`(min-width: 640px)`,l=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function u({open:e,onClose:t,children:r,title:a}){let u=(0,o.useRef)(null),d=(0,o.useRef)(null),f=(0,o.useRef)(t);return(0,o.useEffect)(()=>{f.current=t}),(0,o.useEffect)(()=>{if(!e)return;d.current?.focus();let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.matchMedia(c),r=e=>{e.matches&&f.current()};n.addEventListener(`change`,r);let i=e=>{if(e.key===`Escape`){f.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(l),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),n.removeEventListener(`change`,r),document.body.style.overflow=t}},[e]),e?(0,s.jsxs)(`div`,{ref:u,className:`fixed inset-0 sm:hidden`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`Close sidebar`,className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:t}),(0,s.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`},children:[(0,s.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,s.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,s.jsx)(n,{ref:d,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,s.jsx)(i,{"aria-hidden":!0}),onClick:t,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,s.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function d({onClick:e}){return(0,s.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:(0,s.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":`Open sidebar`,tintColor:`var(--content-secondary)`,className:`sm:hidden`})}export{d as n,u as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{a as n}from"./button-D1p5nVKJ.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-C36Yvcac.js";import{t as a}from"./x-CwzRJv9J.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DcPLFkll.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({}),_={sm:`max-w-[400px]`,md:`max-w-[560px]`,lg:`max-w-[800px]`,xl:`max-w-[1100px]`};function v({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function y(e){return(0,h.jsx)(s,{"data-slot":`modal-trigger`,...e})}function b({size:e=`md`,hideCloseButton:t=!1,overlayClassName:r,dismissOnOverlayClick:s=!0,className:c,children:f,ref:p,...v}){let y=n(),{onOpenChange:b}=(0,m.useContext)(g);return(0,h.jsx)(u,{container:y??void 0,children:(0,h.jsx)(o,{"data-slot":`modal-overlay`,className:i(`fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4`,r),onClick:e=>{s&&e.target===e.currentTarget&&b?.(!1)},children:(0,h.jsxs)(d,{ref:p,"data-slot":`modal-content`,className:i(`relative flex max-h-[calc(100vh-2rem)] w-full flex-col rounded-xl border shadow-xl`,_[e],`bg-[var(--surface-lift)] border-[var(--border-base)]`,`focus:outline-none`,c),...v,children:[f,t?null:(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(`button`,{type:`button`,"aria-label":`Close`,className:`absolute top-3 right-3 flex h-6 w-6 cursor-pointer items-center justify-center rounded bg-transparent text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,h.jsx)(a,{className:`h-4 w-4`})})})]})})})}function x({icon:e,className:t,children:n,ref:r,...a}){return(0,h.jsxs)(f,{ref:r,"data-slot":`modal-title`,className:i(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...a,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function S({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`modal-description`,className:i(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function C(e){return(0,h.jsx)(l,{"data-slot":`modal-close`,...e})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-header`,className:i(`flex flex-col gap-1 p-4 pr-10`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-body`,className:i(`flex-1 overflow-y-auto px-4 pb-4 text-[var(--content-default)]`,e),...n,children:t})}function E({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-footer`,className:i(`flex justify-end gap-2 px-4 py-4`,e),...n,children:t})}var D={Root:v,Trigger:y,Content:b,Title:x,Description:S,Close:C,Header:w,Body:T,Footer:E};export{D as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{a as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-C36Yvcac.js";import{t as a}from"./x-CkSVp1Ok.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DqmYHxdg.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({}),_={sm:`max-w-[400px]`,md:`max-w-[560px]`,lg:`max-w-[800px]`,xl:`max-w-[1100px]`};function v({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function y(e){return(0,h.jsx)(s,{"data-slot":`modal-trigger`,...e})}function b({size:e=`md`,hideCloseButton:t=!1,overlayClassName:r,dismissOnOverlayClick:s=!0,className:c,children:f,ref:p,...v}){let y=n(),{onOpenChange:b}=(0,m.useContext)(g);return(0,h.jsx)(u,{container:y??void 0,children:(0,h.jsx)(o,{"data-slot":`modal-overlay`,className:i(`fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4`,r),onClick:e=>{s&&e.target===e.currentTarget&&b?.(!1)},children:(0,h.jsxs)(d,{ref:p,"data-slot":`modal-content`,className:i(`relative flex max-h-[calc(100vh-2rem)] w-full flex-col rounded-xl border shadow-xl`,_[e],`bg-[var(--surface-lift)] border-[var(--border-base)]`,`focus:outline-none`,c),...v,children:[f,t?null:(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(`button`,{type:`button`,"aria-label":`Close`,className:`absolute top-3 right-3 flex h-6 w-6 cursor-pointer items-center justify-center rounded bg-transparent text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,h.jsx)(a,{className:`h-4 w-4`})})})]})})})}function x({icon:e,className:t,children:n,ref:r,...a}){return(0,h.jsxs)(f,{ref:r,"data-slot":`modal-title`,className:i(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...a,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function S({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`modal-description`,className:i(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function C(e){return(0,h.jsx)(l,{"data-slot":`modal-close`,...e})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-header`,className:i(`flex flex-col gap-1 p-4 pr-10`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-body`,className:i(`flex-1 overflow-y-auto px-4 pb-4 text-[var(--content-default)]`,e),...n,children:t})}function E({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-footer`,className:i(`flex justify-end gap-2 px-4 py-4`,e),...n,children:t})}var D={Root:v,Trigger:y,Content:b,Title:x,Description:S,Close:C,Header:w,Body:T,Footer:E};export{D as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./toast-xTp-xwYL.js";function t(t){return n=>{e.error(n instanceof Error?n.message:t)}}export{t};
@@ -0,0 +1,6 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,c as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-DJZBPgpf.js";import{ct as a,p as o}from"./local-mode-Bskd5bsT.js";import{t as s}from"./is-electron-y5bNUVyG.js";import{i as c,t as l}from"./dist-DS5iJwBJ2.js";import{t as u}from"./return-to-BwxkOGDI.js";import{c as d}from"./routes-BbeIx_F9.js";var f={theme:{key:`device:theme`,legacy:`vellum_theme`},shareAnalytics:{key:`device:share_analytics`,legacy:`vellum_share_analytics`},shareDiagnostics:{key:`device:share_diagnostics`,legacy:`vellum_share_diagnostics`},diagnosticsReporting:{key:`device:diagnostics_reporting`},biometricEnabled:{key:`device:biometric_enabled`,legacy:`vellum_biometric_enabled`},llmLogRetention:{key:`device:llm_log_retention`,legacy:`vellum_llm_log_retention`},timezone:{key:`device:timezone`,legacy:`vellum_timezone`},mediaEmbedsEnabled:{key:`device:media_embeds_enabled`,legacy:`vellum_media_embeds_enabled`},mediaEmbedDomains:{key:`device:media_embed_domains`,legacy:`vellum_media_embed_domains`},dockBadgesEnabled:{key:`device:dock_badges_enabled`,legacy:`vellum_dock_badges_enabled`},lastUserId:{key:`device:last_user_id`,legacy:`onboarding.lastUserId`}};function p(e){return f[e].key}function m(e){return e.legacy==null?null:localStorage.getItem(e.legacy)}function h(e,t){if(typeof window>`u`)return t;let n=f[e];try{return localStorage.getItem(n.key)??m(n)??t}catch{return t}}function ee(e,t){r(f[e].key,t)}function g(e,t){if(typeof window>`u`)return t;let n=f[e];try{let e=localStorage.getItem(n.key)??m(n);if(e===`true`)return!0;if(e===`false`)return!1}catch{}return t}function _(e,n){t(f[e].key,n)}function te(e,t){return n(f[e].key,t)}function ne(){if(!(typeof window>`u`))try{for(let e of Object.values(f)){if(e.legacy==null)continue;let t=localStorage.getItem(e.legacy);t!==null&&(localStorage.getItem(e.key)===null&&r(e.key,t),localStorage.getItem(e.key)!==null&&localStorage.removeItem(e.legacy))}}catch{}}var re={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function ie({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 ae=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},v=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},oe=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},y=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(v(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=ae(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):b({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},b=({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)}`},x=({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=oe(r),s=Object.entries(i).map(([t,i])=>b({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},se=/\{[^{}]+\}/g,ce=({path:e,url:t})=>{let n=t,r=t.match(se);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,y({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,x({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${b({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},le=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=ce({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function S(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 ue=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},C=({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=y({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=x({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=b({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},de=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`}},fe=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,pe=async({security:e,...t})=>{for(let n of e){if(fe(t,n.name))continue;let e=await ue(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}}},w=e=>le({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:C(e.querySerializer),url:e.url}),T=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=E(e.headers,t.headers),n},me=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},E=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?me(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},D=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}},he=()=>({error:new D,request:new D,response:new D}),ge=C({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),_e={"Content-Type":`application/json`},O=(e={})=>({...re,headers:_e,parseAs:`auto`,querySerializer:ge,...e}),k=((e={})=>{let t=T(O(),e),n=()=>({...t}),r=e=>(t=T(t,e),n()),i=he(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:E(t.headers,e.headers),serializedBody:void 0};n.security&&await pe({...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:w(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:S(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`?de(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 ie({...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:S(n),url:r})};return{buildUrl:e=>w({...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`)}})(O()),ve=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/provider/signup`,...e}),ye=e=>(e.client??k).post({url:`/_allauth/{client}/v1/auth/provider/signup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),be=e=>(e.client??k).delete({url:`/_allauth/{client}/v1/auth/session`,...e}),A=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/session`,...e}),j=()=>s()?`app`:`browser`;function xe(e){return!e.ok&&e.status===409}function M(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 N(){let{data:e,error:t,response:n}=await A({path:{client:j()}});return e?{ok:!0,data:e.data}:M(t,n?.status)}async function Se(){let{data:e,error:t,response:n}=await be({path:{client:j()}});return e?{ok:!0,data:e}:n?.status===401?{ok:!0,data:{}}:M(t,n?.status)}async function Ce(){let{data:e,error:t,response:n}=await ve({path:{client:j()}});return e?{ok:!0,data:e.data}:M(t,n?.status)}async function we({email:e,username:t}){let{data:n,error:r,response:i}=await ye({path:{client:j()},body:{email:e,username:t}});return n?{ok:!0,data:n.data}:M(r,i?.status)}var P;function Te(){return s()?(P===void 0&&(P=window.vellum?.auth?.getSessionToken?.()??null),P):null}function Ee(e){P=e}var F=`__Secure-csrftoken`;function I(){return document.cookie.split(`; `).findLast(e=>e.startsWith(`${F}=`))?.split(`=`).slice(1).join(`=`)}function De(){document.cookie.split(`; `).filter(e=>e.startsWith(`${F}=`)).length>1&&(document.cookie=`${F}=; path=/; max-age=0; secure`)}var L=null;async function R(){s()||a()||(De(),!I()&&(L||=(async()=>{for(let e=0;e<2;e++)try{if(await A({path:{client:`browser`}}),I())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 Oe=`/_allauth/browser/v1/auth/provider/redirect`;function ke(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 Ae(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 je(e,t,n={}){await R();let r=I();Ae(r);let i=window.location.origin,a=document.createElement(`form`);a.method=`POST`,a.action=`${i}${Oe}`;let o=ke(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 z(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 Me=`https://www.vellum.ai`,Ne=`vellum:loopback:state`,Pe=`vellum:loopback:returnTo`;function B(){let e=window.__VELLUM_CONFIG__;return e?.webUrl?{webUrl:e.webUrl}:{webUrl:Me}}function Fe(){let e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Ie(){return B().webUrl===window.location.origin}async function Le(e,t){let{webUrl:n}=B(),r=Fe(),i=window.location.port||`3000`;sessionStorage.setItem(Ne,r),e&&sessionStorage.setItem(Pe,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 V(e){s()&&await window.vellum?.menu.setPlatformSession(e)}var Re=e(i(),1),ze=c(`NativeAuth`),H=d.assistant,U=!1;function Be(){return U}function Ve(){return`${window.location.protocol}//${window.location.host}`}function W(){return typeof window<`u`&&l.isNativePlatform()}var He=()=>()=>{};function Ue(){return(0,Re.useSyncExternalStore)(He,W,()=>!1)}async function G(e){let t=e?.baseURL??Ve(),{sessionToken:n}=await ze.startAuth({baseURL:t,...e?.loginHint?{loginHint:e.loginHint}:{},...e?.intent?{intent:e.intent}:{}});q(n),W()&&await K(),$()&&await Z(n);let r=u(e?.returnTo??null,H);window.location.href=r}async function K(){for(let e=0;e<6;e++){try{let e=await N();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 We(){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 Ge(e,t,n={}){if(W()){try{await G({returnTo:n.intent===`signup`?d.onboarding.privacy:n.returnTo??null,loginHint:n.loginHint,intent:n.intent})}catch(e){if(e?.code===`USER_CANCELLED`)return;throw e}return}if(s()&&window.vellum?.auth?.startOAuth){U=!0;try{let e=await window.vellum.auth.startOAuth({loginHint:n.loginHint,intent:n.intent});if(e?.sessionToken){Ee(e.sessionToken),await V(!0);let t=u(n.intent===`signup`?d.onboarding.privacy:n.returnTo??null,H);window.location.href=t}}finally{U=!1}return}if(o()&&!Ie()){await Le(n.returnTo??void 0,{intent:n.intent});return}await je(e,t,n)}var J=c(`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 Ke(){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 qe(){if(W())try{await J.deleteToken({server:Y})}catch{}}function $(){return g(`biometricEnabled`,!0)}function Je(e){_(`biometricEnabled`,e)}async function Ye(){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{ne as A,xe as C,p as D,k as E,ee as M,te as N,g as O,N as S,we as T,z as _,Ke as a,Te as b,We as c,Be as d,Ge as f,V as g,K as h,$ as i,_ as j,h as k,q as l,Ue as m,Ye as n,Je as o,G as p,X as r,Z as s,qe as t,W as u,R as v,Se as w,Ce as x,I as y};
@@ -0,0 +1 @@
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`},r=new Set(Object.values(n).map(e=>`${e}:`));function i(e){return n[e]??null}function a(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()}`}function o(e){let t;try{t=new URL(e)}catch{return null}if(!r.has(t.protocol)||t.host!==`oauth-complete`)return null;let n=t.searchParams.get(`requestId`);return n?{requestId:n,oauthStatus:t.searchParams.get(`oauth_status`),oauthProvider:t.searchParams.get(`oauth_provider`),oauthCode:t.searchParams.get(`oauth_code`)}:null}export{o as i,a as n,i as r,e as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-DnCc4uNb.js","assets/preload-helper-BewR0kVT.js","assets/dist-C3LFhPgk2.js","assets/definitions-CJ7YHLIq.js","assets/esm-_LZD1lMg.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-C3LFhPgk2.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-DnCc4uNb.js`);return{Filesystem:e,Directory:t}},__vite__mapDeps([0,1,2,3])),{Share:a}=await t(async()=>{let{Share:e}=await import(`./esm-_LZD1lMg.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
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CT8NUp3h.js","assets/preload-helper-BewR0kVT.js","assets/dist-DS5iJwBJ2.js","assets/definitions-CaYcW4Yq.js","assets/esm-DZkj1VLJ.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-DS5iJwBJ2.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-CT8NUp3h.js`);return{Filesystem:e,Directory:t}},__vite__mapDeps([0,1,2,3])),{Share:a}=await t(async()=>{let{Share:e}=await import(`./esm-DZkj1VLJ.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 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import{t as n}from"./typography-D5f7kt80.js";import{t as r}from"./circle-alert-zOqdmf25.js";import{t as i}from"./circle-check-VSiny8yl.js";import{t as a}from"./info-BaizXivv.js";import{t as o}from"./triangle-alert-CuLBwl1x.js";import{t as s}from"./x-CwzRJv9J.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:i},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:r},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
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import{t as n}from"./typography-D5f7kt80.js";import{t as r}from"./circle-alert-zOqdmf25.js";import{t as i}from"./circle-check-VSiny8yl.js";import{t as a}from"./info-DsOyuMO9.js";import{t as o}from"./triangle-alert-Z0Gq0IuB.js";import{t as s}from"./x-CkSVp1Ok.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:i},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:r},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};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as r}from"./QueryClientProvider-DKhXIxGb.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./useMutation-Lj4VunQV.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./createLucideIcon-IRfcSUxS.js";import{t as c}from"./bell-BQLonLMp.js";import{t as l}from"./check-DFNrQERi.js";import{t as u}from"./menu-Dy5QbnTj.js";import{t as d}from"./loader-circle-Cz7opInR.js";import{t as f}from"./moon-B8qiwjrW.js";import{t as p}from"./triangle-alert-Z0Gq0IuB.js";import{t as m}from"./notice-DkcNAP8O.js";import{t as h}from"./popover-CFL4WZTr.js";import{t as g}from"./input-CoUmPnRU.js";import{n as _,t as v}from"./panel-item-CouW2A55.js";import{n as y}from"./toast-xTp-xwYL.js";import{c as b}from"./routes-BbeIx_F9.js";import{_t as x,ft as S,gt as C,ht as w,mt as T,pt as E,vt as D}from"./react-query.gen-DPzPS206.js";import{D as O,Hr as k,Ur as A,Vr as j,_r as M}from"./index-Cd6Xm6j5.js";import{t as N}from"./mutation-error-DYv0eJ_i.js";import{r as P}from"./format-date-CghpPTDc.js";var F=s(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),I=s(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),L=e(t(),1);function R(e){e.invalidateQueries({queryKey:T()}),e.invalidateQueries({queryKey:D()})}function z(e){return e.snoozed_until?new Date(e.snoozed_until)>new Date:!1}var B=[{label:`1 hour`,hours:1},{label:`4 hours`,hours:4},{label:`24 hours`,hours:24},{label:`1 week`,hours:168}],V=o();function H({notificationId:e,currentlySnoozed:t,children:n}){let i=r(),o=a(x()),s=M(),[c,l]=(0,L.useState)(!1),d=()=>R(i),f=t=>{let n=new Date(new Date().getTime()+t*60*60*1e3).toISOString();o.mutate({path:{id:e},body:{snoozed_until:n}},{onSuccess:d,onError:N(`Failed to snooze notification`)})},p=()=>{o.mutate({path:{id:e},body:{snoozed_until:null}},{onSuccess:d,onError:N(`Failed to clear snooze`)})};return s?(0,V.jsxs)(_.Root,{open:c,onOpenChange:l,children:[(0,V.jsx)(_.Trigger,{asChild:!0,children:n}),(0,V.jsxs)(_.Content,{children:[(0,V.jsx)(_.Header,{children:(0,V.jsx)(_.Title,{children:`Snooze until…`})}),(0,V.jsxs)(_.Body,{children:[B.map(({label:e,hours:t})=>(0,V.jsx)(v,{label:e,onSelect:()=>{o.isPending||(l(!1),f(t))}},e)),t&&(0,V.jsx)(v,{label:`Clear snooze`,onSelect:()=>{o.isPending||(l(!1),p())}})]})]})]}):(0,V.jsxs)(u.Root,{open:c,onOpenChange:l,children:[(0,V.jsx)(u.Trigger,{children:n}),(0,V.jsxs)(u.Content,{align:`start`,className:`min-w-[12rem]`,children:[(0,V.jsx)(u.Label,{children:`Snooze until…`}),B.map(({label:e,hours:t})=>(0,V.jsx)(u.Item,{disabled:o.isPending,onSelect:()=>f(t),children:e},e)),t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(u.Separator,{}),(0,V.jsx)(u.Item,{disabled:o.isPending,onSelect:()=>p(),children:`Clear snooze`})]})]})]})}function U({existingRules:e,onClose:t,onPauseCreated:n,onPauseDeleted:i,hideTitle:o=!1}){let s=r(),c=a(w()),l=a(C()),[u,f]=(0,L.useState)(``),p=()=>R(s),m=()=>{let e=new Date(new Date().getTime()+365*24*60*60*1e3).toISOString();c.mutate({body:{notification_type:`alert`,dedupe_key_prefix:``,reason:u.trim()||`User requested pause`,expires_at:e}},{onSuccess:e=>{n(e),p(),t()},onError:N(`Failed to pause alerts`)})},h=e=>{l.mutate({path:{rule_id:e}},{onSuccess:()=>{i(e),p(),t()},onError:N(`Failed to resume alerts`)})},_=c.isPending||l.isPending;return(0,V.jsxs)(`div`,{children:[!o&&(0,V.jsx)(`p`,{className:`mb-2 text-body-medium-default text-[var(--content-default)]`,children:`Pause alerts`}),e.length>0?(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Active pause rules:`}),e.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-2 py-2`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-body-small-default text-[var(--content-default)]`,children:e.reason||`All alerts paused`}),e.expires_at&&(0,V.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Expires `,P(e.expires_at)]})]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>h(e.id),disabled:_,className:`ml-2 shrink-0 cursor-pointer rounded px-2 py-1 text-body-small-default text-[var(--system-negative-strong)] transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,children:`Resume`})]},e.id))]}):(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Temporarily mute all alert notifications.`}),(0,V.jsx)(g,{type:`text`,value:u,onChange:e=>f(e.target.value),placeholder:`Reason (optional)`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>m(),disabled:_,className:`w-full cursor-pointer rounded-md bg-[var(--primary-base)] px-3 py-1.5 text-body-medium-default text-[var(--content-inset)] transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50`,children:c.isPending?(0,V.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}),`Pausing…`]}):`Pause all alerts`})]})]})}function W({notification:e,onAck:t,isAcking:n}){let r=e.notification_type===`alert`,i=z(e),a=!e.is_read;return(0,V.jsxs)(`div`,{className:`relative rounded-lg border border-[var(--border-base)] p-4`,style:{background:e.is_resolved?`var(--surface-base)`:`var(--surface-lift)`,opacity:e.is_resolved?.75:1},children:[(0,V.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col items-start gap-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[a&&!e.is_resolved&&(0,V.jsx)(`span`,{"aria-hidden":!0,className:`h-2 w-2 shrink-0 rounded-full bg-[var(--primary-base)]`}),r&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[color-mix(in_oklab,var(--system-negative-strong)_14%,transparent)] px-2 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,V.jsx)(p,{className:`h-3 w-3`}),`Alert`]}),i&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--surface-base)] px-2 py-0.5 text-body-small-default text-[var(--content-secondary)]`,children:[(0,V.jsx)(f,{className:`h-3 w-3`}),`Snoozed`]}),e.is_resolved&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[color-mix(in_oklab,var(--system-positive-strong)_14%,transparent)] px-2 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,children:[(0,V.jsx)(l,{className:`h-3 w-3`}),`Resolved`]})]}),(0,V.jsx)(`h3`,{className:`text-body-medium-default leading-tight`,style:{color:e.is_resolved?`var(--content-secondary)`:`var(--content-default)`},children:e.title}),e.body&&(0,V.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-secondary)]`,children:e.body})]})}),(0,V.jsxs)(`div`,{className:`mt-3 flex items-center gap-3 text-body-small-default text-[var(--content-secondary)]`,children:[(0,V.jsxs)(`span`,{children:[`Last seen `,P(e.last_seen_at)]}),e.occurrence_count>1&&(0,V.jsxs)(`span`,{children:[`· `,e.occurrence_count,`× occurrences`]})]}),!e.is_resolved&&(0,V.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-[var(--border-base)] pt-3`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>t(e.id,a),disabled:n,className:`flex cursor-pointer items-center gap-1.5 rounded-md px-3 py-1.5 text-body-small-default transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{background:a?`var(--primary-base)`:`var(--surface-base)`,color:a?`var(--content-inset)`:`var(--content-secondary)`},children:[n?(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}):(0,V.jsx)(l,{className:`h-3 w-3`}),a?`Mark as read`:`Mark as unread`]}),(0,V.jsx)(H,{notificationId:e.id,currentlySnoozed:i,children:(0,V.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80`,children:[(0,V.jsx)(f,{className:`h-3 w-3`}),i?`Change snooze`:`Snooze`]})})]})]})}function G(){let e=A({platformHostedOnly:!0}),t=j(),o=k(),s=r(),l=M(),[u,f]=(0,L.useState)(`open`),[p,g]=(0,L.useState)(!1),[v,x]=(0,L.useState)([]),{data:C,isLoading:w,isError:T,refetch:D}=i({...E({query:{status:u}}),enabled:e===`full`&&t}),N=e===`full`&&o||(t?w:!1);(0,L.useEffect)(()=>{!t&&p&&g(!1)},[t,p]);let P=t?T:!1,z=t?C?.results??[]:[],B=z.filter(e=>!e.is_read&&!e.is_resolved),H=a(S()),[G,K]=(0,L.useState)(new Set),[q,J]=(0,L.useState)(!1),Y=(0,L.useCallback)(()=>R(s),[s]),X=async(e,t)=>{K(t=>new Set(t).add(e));try{await H.mutateAsync({path:{id:e},body:{acknowledged:t}}),Y()}catch(e){y.error(e instanceof Error?e.message:`Failed to update notification`)}finally{K(t=>{let n=new Set(t);return n.delete(e),n})}},Z=async()=>{if(!(B.length===0||q)){J(!0);try{await Promise.allSettled(B.map(e=>H.mutateAsync({path:{id:e.id},body:{acknowledged:!0}})))}finally{Y(),J(!1)}}},Q=(0,V.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80`,title:`Pause alerts`,children:[(0,V.jsx)(F,{className:`h-3.5 w-3.5`}),`Pause alerts`]}),$=(0,V.jsx)(U,{existingRules:v,onClose:()=>g(!1),onPauseCreated:e=>x(t=>[...t,e]),onPauseDeleted:e=>x(t=>t.filter(t=>t.id!==e))});return e===`gated`?(0,V.jsx)(n,{replace:!0,to:b.settings.general}):e===`disabled`?(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]})]}),(0,V.jsx)(O,{children:`Log in to the Vellum platform to view notifications.`})]}):(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]}),t&&(l?(0,V.jsxs)(_.Root,{open:p,onOpenChange:g,children:[(0,V.jsx)(_.Trigger,{asChild:!0,children:Q}),(0,V.jsxs)(_.Content,{children:[(0,V.jsx)(_.Header,{children:(0,V.jsx)(_.Title,{children:`Pause alerts`})}),(0,V.jsx)(_.Body,{children:(0,V.jsx)(U,{existingRules:v,onClose:()=>g(!1),onPauseCreated:e=>x(t=>[...t,e]),onPauseDeleted:e=>x(t=>t.filter(t=>t.id!==e)),hideTitle:!0})})]})]}):(0,V.jsxs)(h.Root,{open:p,onOpenChange:g,children:[(0,V.jsx)(h.Trigger,{asChild:!0,children:Q}),(0,V.jsx)(h.Content,{align:`end`,className:`w-72`,children:$})]}))]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`div`,{className:`flex gap-1 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] p-1`,children:[`open`,`resolved`].map(e=>{let t=u===e;return(0,V.jsx)(`button`,{type:`button`,onClick:()=>f(e),className:`cursor-pointer rounded px-3 py-1 text-body-small-default capitalize transition-colors`,style:{background:t?`var(--surface-lift)`:`transparent`,color:t?`var(--content-default)`:`var(--content-secondary)`,boxShadow:t?`0 1px 2px rgba(0,0,0,0.08)`:void 0},children:e},e)})}),u===`open`&&B.length>1&&(0,V.jsxs)(`button`,{type:`button`,onClick:()=>void Z(),disabled:q,className:`ml-auto flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-transparent px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,children:[q?(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}):(0,V.jsx)(I,{className:`h-3 w-3`}),`Mark all as read (`,B.length,`)`]})]}),N?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,V.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Loading notifications…`]}):P?(0,V.jsxs)(m,{tone:`error`,children:[`Failed to load notifications.`,` `,(0,V.jsx)(`button`,{type:`button`,onClick:()=>void D(),className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):z.length===0?(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,children:[(0,V.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,V.jsxs)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`No `,u,` notifications`]}),(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:u===`open`?`You're all caught up!`:`Nothing to show here.`})]}):(0,V.jsx)(`div`,{className:`space-y-3`,children:z.map(e=>(0,V.jsx)(W,{notification:e,onAck:(e,t)=>void X(e,t),isAcking:G.has(e.id)},e.id))})]})}export{G as NotificationsPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{tn as i}from"./index-CoobbyzR.js";var a=e(t(),1),o=r();function s(){return(0,o.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,o.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,o.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function c(){return(0,o.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,o.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,o.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,o.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var l=`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{en as i}from"./index-Cd6Xm6j5.js";var a=e(t(),1),o=r();function s(){return(0,o.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,o.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,o.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function c(){return(0,o.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,o.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,o.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,o.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var l=`
2
2
  :root {
3
3
  --oauth-surface: #F5F3EB;
4
4
  --oauth-surface-card: #FFFFFF;
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i,r as a}from"./native-deep-link-C13QIbW2.js";import{tn as o}from"./index-CoobbyzR.js";var s=e(t(),1),c=r();function l(){return(0,c.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,c.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,c.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function u(){return(0,c.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,c.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,c.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,c.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var d=`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i,r as a}from"./native-deep-link-CJGNy9bj.js";import{en as o}from"./index-Cd6Xm6j5.js";var s=e(t(),1),c=r();function l(){return(0,c.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,c.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,c.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function u(){return(0,c.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,c.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,c.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,c.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var d=`
2
2
  :root {
3
3
  --oauth-surface: #F5F3EB;
4
4
  --oauth-surface-card: #FFFFFF;
@@ -0,0 +1 @@
1
+ function e(e,t,n){return n(e)||!n(t)?t:e}function t(e){let{entries:t,idOf:n,merge:r}=e,i={...e.byId},a=[...e.orderedIds];for(let e of t){let t=n(e),o=i[t];i[t]=o?r(o,e):e,a.includes(t)||a.push(t)}return{byId:i,orderedIds:a}}function n(e,t){return!e||!t.isActive(t.getStatus(e))?null:t.applyCancel(e)}function r(e,t,n){return!e||n.getStatus(e)!==n.cancelledStatus||n.isSettled?.(e)?null:n.applyRestore(e,t)}function i(e,t){return!e||!t.isActive(t.getStatus(e))?null:t.applyRetire(e)}export{t as a,e as i,r as n,i as r,n as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import"./src-4xooMXeT.js";var n=e();function r({children:e,className:r}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 flex-1 flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-6 py-5`,r),children:e})}export{r as t};
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import"./src-DZbMXyC2.js";var n=e();function r({children:e,className:r}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 flex-1 flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-6 py-5`,r),children:e})}export{r as t};
@@ -1 +1 @@
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{t as a}from"./circle-alert-zOqdmf25.js";import{t as o}from"./circle-check-VSiny8yl.js";import{t as s}from"./loader-circle-D1pLQlMh.js";import{g as c}from"./local-mode-YoUYEn7C.js";import{a as l,i as u,n as d,r as f,t as p}from"./remote-gateway-session-uLbl0yn7.js";import{t as m}from"./return-to-BbdJZupb.js";import{o as h}from"./routes-iUGoIqW2.js";import{t as g}from"./index-CoobbyzR.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)(o,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`polling`?(0,v.jsx)(s,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}):(0,v.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0})}function x(){let e=r(),t=n(),i=c(),a=(0,_.useMemo)(()=>m(new URLSearchParams(e.search).get(`returnTo`),h.assistant),[e.search]),o=(0,_.useMemo)(()=>l(`${e.pathname}${e.search}${e.hash}`),[e.pathname,e.search,e.hash]),[s,x]=(0,_.useState)(()=>o.deviceCode?{deviceCode:o.deviceCode,userCode:o.userCode}:null),[S,C]=(0,_.useState)(s?{kind:`polling`,expiresAt:null}:{kind:`starting`});if((0,_.useEffect)(()=>{if(!i||s)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,s]),(0,_.useEffect)(()=>{if(!i||!s?.deviceCode)return;let e=new AbortController,n=null,r=async()=>{try{let i=await u(s.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(a,{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,s?.deviceCode,t,a]),!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})]}),s?.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:s.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
+ 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{t as a}from"./circle-alert-zOqdmf25.js";import{t as o}from"./circle-check-VSiny8yl.js";import{t as s}from"./loader-circle-Cz7opInR.js";import{g as c}from"./local-mode-Bskd5bsT.js";import{a as l,i as u,n as d,r as f,t as p}from"./remote-gateway-session-CKCwbah-.js";import{t as m}from"./return-to-BwxkOGDI.js";import{c as h}from"./routes-BbeIx_F9.js";import{t as g}from"./index-Cd6Xm6j5.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)(o,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`polling`?(0,v.jsx)(s,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}):(0,v.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0})}function x(){let e=r(),t=n(),i=c(),a=(0,_.useMemo)(()=>m(new URLSearchParams(e.search).get(`returnTo`),h.assistant),[e.search]),o=(0,_.useMemo)(()=>l(`${e.pathname}${e.search}${e.hash}`),[e.pathname,e.search,e.hash]),[s,x]=(0,_.useState)(()=>o.deviceCode?{deviceCode:o.deviceCode,userCode:o.userCode}:null),[S,C]=(0,_.useState)(s?{kind:`polling`,expiresAt:null}:{kind:`starting`});if((0,_.useEffect)(()=>{if(!i||s)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,s]),(0,_.useEffect)(()=>{if(!i||!s?.deviceCode)return;let e=new AbortController,n=null,r=async()=>{try{let i=await u(s.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(a,{replace:!0}),250)}catch(t){if(e.signal.aborted)return;if(t instanceof p&&t.status===401){C({kind:`expired`});return}if(t instanceof p&&t.code===`GUARDIAN_REPAIR_REQUIRED`){C({kind:`error`,message:`The assistant's trust database needs repair. Run guardian repair on the machine hosting the assistant, then retry this same pairing link — the code stays valid.`});return}C({kind:`error`,message:`The assistant could not complete pairing. Try starting a new pairing.`})}};return r(),()=>{e.abort(),n&&clearTimeout(n)}},[i,s?.deviceCode,t,a]),!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})]}),s?.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:s.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};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{a as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i,t as a}from"./cn-C36Yvcac.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DqmYHxdg.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({});function _({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function v(e){return(0,h.jsx)(s,{"data-slot":`bottom-sheet-trigger`,...e})}function y({overlayClassName:e,className:t,children:r,ref:i,...s}){let c=n(),{onOpenChange:l}=(0,m.useContext)(g);return(0,h.jsxs)(u,{container:c??void 0,children:[(0,h.jsx)(o,{"data-slot":`bottom-sheet-overlay`,className:a(`fixed inset-0 z-50 bg-black/50`,e),onClick:()=>l?.(!1)}),(0,h.jsx)(d,{ref:i,"data-slot":`bottom-sheet-content`,className:a(`fixed inset-x-0 bottom-0 z-50 flex w-full flex-col rounded-t-[24px] border-t bg-[var(--surface-lift)] border-[var(--border-base)] shadow-xl focus:outline-none`,`min-h-[min(280px,45dvh)] max-h-[50dvh]`,`data-[state=open]:animate-[bottomSheetIn_180ms_ease-out]`,t),...s,children:(0,h.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:r})})]})}function b({icon:e,className:t,children:n,ref:r,...i}){return(0,h.jsxs)(f,{ref:r,"data-slot":`bottom-sheet-title`,className:a(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...i,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function x({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`bottom-sheet-description`,className:a(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function S(e){return(0,h.jsx)(l,{"data-slot":`bottom-sheet-close`,...e})}function C({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-header`,className:a(`flex flex-col gap-1`,e),...n,children:t})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-body`,className:a(`flex-1 overflow-y-auto pt-4 text-[var(--content-default)]`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-footer`,className:a(`flex justify-end gap-2 pt-4`,e),...n,children:t})}var E={Root:_,Trigger:v,Content:y,Title:b,Description:x,Close:S,Header:C,Body:w,Footer:T},D=50,O=2e3,k=.8;function A({children:e,className:t}){let n=(0,m.useRef)(null),r=(0,m.useRef)(null),[i,o]=(0,m.useState)(0);(0,m.useEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;let i=()=>{let n=t.scrollWidth-e.clientWidth;o(n>0?n:0)};i();let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>a.disconnect()},[e]);let s=i>0,c=Math.max(O,Math.round(i*2/D*1e3)),l=Math.round(c/k);return(0,h.jsxs)(`span`,{"data-slot":`marquee-text`,ref:n,className:a(`relative min-w-0 flex-1 overflow-hidden`,t),children:[(0,h.jsx)(`span`,{className:`block truncate motion-safe:group-hover:invisible`,children:e}),(0,h.jsx)(`span`,{ref:r,"aria-hidden":!0,className:a(`absolute top-0 left-0 invisible block whitespace-nowrap`,`motion-safe:group-hover:visible`,s&&`motion-safe:group-hover:animate-panelitem-marquee`),style:s?{"--panelitem-marquee-distance":`${i}px`,"--panelitem-marquee-duration":`${l}ms`}:void 0,children:e})]})}var j=[`group relative`,`flex h-8 max-md:h-auto w-full items-center justify-between`,`rounded-[6px] p-[8px] max-md:py-3 gap-[4px]`,`text-left text-body-medium-lighter max-md:text-body-large-default`,`transition-colors`,`bg-transparent`,`text-[var(--content-secondary)]`,`outline-none`].join(` `),M=[`hover:bg-[var(--surface-hover)]`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,`cursor-pointer select-none`].join(` `),N=[`aria-[current=page]:bg-[var(--surface-active)]`,`aria-[current=page]:text-[var(--content-emphasised)]`].join(` `),P=[`aria-[current=page]:bg-[color-mix(in_oklab,var(--primary-base)_10%,transparent)]`,`aria-[current=page]:text-[var(--primary-base)]`,`aria-[current=page]:font-medium`].join(` `),F=`flex min-w-0 flex-1 items-center gap-[8px]`,I=[`shrink-0`,`text-[var(--content-tertiary)]`,`group-hover:text-[var(--content-secondary)]`].join(` `),L=`group-aria-[current=page]:text-[var(--content-default)]`,R=`group-aria-[current=page]:text-[var(--primary-base)]`,z=`min-w-0 flex-1 truncate`,B=`shrink-0 text-[var(--content-tertiary)]`,V=`flex items-center gap-2 shrink-0`,H=[`inline-flex items-center justify-center shrink-0`,`text-label-small-default leading-none`,`text-[var(--content-tertiary)]`,`rounded-[4px] bg-[var(--surface-base)] px-[4px] py-[2px]`,`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(` `),U=[`flex items-center shrink-0`,`opacity-0 transition-opacity`,`group-hover:opacity-100`,`group-focus-within:opacity-100`,`has-[[aria-expanded=true]]:opacity-100`,`group-aria-[current=page]:opacity-100`,`pointer-coarse:opacity-100`].join(` `);function W({icon:e,leadingSlot:t,label:n,expandChevron:r,badge:o,trailingAction:s,active:c=!1,activeVariant:l=`default`,disabled:u=!1,onSelect:d,href:f,marqueeOnHover:p=!1,className:m,"aria-label":g,asChild:_=!1,children:v,ref:y,...b}){let x=c?`page`:void 0,S=g??(typeof n==`string`?n:void 0),C=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`span`,{className:F,children:[t===void 0?e?(0,h.jsx)(e,{size:14,"aria-hidden":!0,className:a(`max-md:size-4`,I,l===`branded`?R:L)}):null:t,p?(0,h.jsx)(A,{children:n}):(0,h.jsx)(`span`,{className:z,children:n}),r?(0,h.jsx)(r,{size:12,"aria-hidden":!0,className:B}):null]}),(0,h.jsxs)(`span`,{className:V,children:[o==null?null:(0,h.jsx)(`span`,{className:H,children:o}),s?(0,h.jsx)(`span`,{className:U,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:s}):null]})]}),w=a(j,(_||!!f||!!d)&&M,l===`branded`?P:N,m);if(_)return(0,h.jsx)(i,{"data-slot":`panel-item`,ref:y,className:w,"aria-current":x,"aria-label":S,...b,children:v});if(f){let{onClick:e,...t}=b;return(0,h.jsx)(`a`,{...t,"data-slot":`panel-item`,ref:y,href:f,className:w,"aria-current":x,"aria-label":S,onClick:t=>{e?.(t),t.defaultPrevented||d?.()},children:C})}if(d){let{onClick:e,onKeyDown:t,...n}=b,r=t=>{if(u){t.preventDefault();return}e?.(t),t.defaultPrevented||d()},i=e=>{u||(t?.(e),!e.defaultPrevented&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d()))};return(0,h.jsx)(`div`,{...n,"data-slot":`panel-item`,ref:y,role:`button`,tabIndex:u?-1:0,"aria-disabled":u||void 0,className:w,"aria-current":x,"aria-label":S,onClick:r,onKeyDown:i,children:C})}return(0,h.jsx)(`div`,{"data-slot":`panel-item`,ref:y,className:w,"aria-current":x,"aria-label":S,...b,children:C})}export{E as n,W as t};
@@ -1 +1 @@
1
- import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{o as n}from"./routes-iUGoIqW2.js";var r=t();function i(){return(0,r.jsx)(e,{to:n.account.login,replace:!0})}export{i as PasswordResetPage};
1
+ import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{c as n}from"./routes-BbeIx_F9.js";var r=t();function i(){return(0,r.jsx)(e,{to:n.account.login,replace:!0})}export{i as PasswordResetPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{u as t}from"./native-biometric-8C66CwyW.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./is-electron-y5bNUVyG.js";import{t as i}from"./dist-DS5iJwBJ2.js";var a=e(n(),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 r()?`macos`:t()?i.getPlatform()===`android`?`android`:`ios`:o()?`ios`:l()?`android`:`web`}function d(){return t()&&i.getPlatform()===`ios`}function f(e){if(!e||e.length===0)return null;for(let{family:t,pattern:n}of[{family:`edge`,pattern:/microsoft edge/i},{family:`chrome`,pattern:/google chrome|chromium/i}]){let r=e.find(e=>n.test(e.brand));if(r){let e=r.version.match(/^\d+/)?.[0];return{family:t,...e?{version:e}:{}}}}return null}function p(e){for(let{family:t,pattern:n}of[{family:`edge`,pattern:/(?:Edg|EdgiOS|EdgA)\/(\d+)/},{family:`chrome`,pattern:/(?:Chrome|CriOS|Chromium)\/(\d+)/},{family:`firefox`,pattern:/(?:Firefox|FxiOS)\/(\d+)/},{family:`safari`,pattern:/Version\/(\d+).*Safari\//}]){let r=e.match(n);if(r)return{family:t,version:r[1]}}return null}function m(){if(typeof navigator>`u`)return{};let e=navigator.userAgentData;return f(e?.brands)??p(navigator.userAgent)??{}}var h=()=>()=>{};function g(){return(0,a.useSyncExternalStore)(h,()=>o()&&!t()&&!s(),()=>!1)}function _(){return(0,a.useSyncExternalStore)(h,()=>c()&&!t()&&!r(),()=>!1)}export{g as a,d as i,u as n,_ as o,c as r,m as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{g as t}from"./native-biometric-8C66CwyW.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{j as o,w as s}from"./local-mode-Bskd5bsT.js";import{D as c,n as l}from"./auth-store-CRgW9dVz.js";import{c as u}from"./api-Y8JHO-Hz.js";import{c as d}from"./routes-BbeIx_F9.js";var f=e(n(),1),p=a(),m=`vellum:loopback:state`,h=`vellum:loopback:returnTo`;function g(){let[e]=i(),n=r(),[a,g]=(0,f.useState)(null);return(0,f.useEffect)(()=>{let r=e.get(`state`),i=e.get(`session_token`),a=sessionStorage.getItem(m),f=sessionStorage.getItem(h)||d.assistant;if(sessionStorage.removeItem(m),sessionStorage.removeItem(h),!r||r!==a){g(`Login failed: state mismatch. Please try again.`);return}if(!i){g(`Login failed: no session token received. Please try again.`);return}if(!/^[a-zA-Z0-9]+$/.test(i)){g(`Login failed: invalid session token.`);return}(async()=>{if(!await o(i)){g(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await l.getState().initSession(),await t(!0);try{let e=await u();if(e.ok&&e.data.length>0){await s(e.data,c.getState().currentOrganizationId??void 0),n(d.assistant,{replace:!0});return}}catch{}n(f,{replace:!0})})()},[e,n]),a?(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:a}),(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 n(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};
@@ -0,0 +1 @@
1
+ import{p as e,r as t}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./assistant-identity-store-CX03CK8q.js";import{c as i}from"./routes-BbeIx_F9.js";import{t as a}from"./plugins-surface-z3RTZS4H.js";var o=n();function s(){let n=r.use.version(),s=a(),{name:c}=e();return n===null?null:s?c?(0,o.jsx)(t,{to:`${i.plugins}?plugin=${encodeURIComponent(c)}`,replace:!0}):(0,o.jsx)(t,{to:i.plugins,replace:!0}):(0,o.jsx)(t,{to:i.identity,replace:!0})}export{s as PluginDetailPage};
@@ -0,0 +1 @@
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{F as i,t as a}from"./button-amTXFI-2.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-Bv5O5juh.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{t as h}from"./check-DFNrQERi.js";import{t as g}from"./cloud-off-Db1nySkc.js";import{t as _}from"./download-CAuK-nZ6.js";import{t as v}from"./external-link-Dqpx9nRm.js";import{i as y,n as b,r as x,t as S}from"./use-skill-categories-Dg0zxtfv.js";import{t as C}from"./globe-4qSOWE2N.js";import{t as w}from"./hard-drive-rDxhoRUm.js";import{t as T}from"./loader-circle-Cz7opInR.js";import{t as E}from"./sparkles-PGiR5v1g.js";import{t as D}from"./triangle-alert-Z0Gq0IuB.js";import{t as ee}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{t as O}from"./tag-CV4v7fRF.js";import{t as k}from"./popover-CFL4WZTr.js";import{t as A}from"./input-CoUmPnRU.js";import{t as j}from"./toggle-CDfguvUz.js";import{n as M,t as N}from"./panel-item-CouW2A55.js";import{n as P}from"./toast-xTp-xwYL.js";import{t as F}from"./confirm-dialog-CSkhRFRk.js";import{t as I}from"./file-markdown-ZKvQUuGy.js";import{Fn as te,Mn as L,Nn as ne,Rn as re}from"./sdk.gen-BwnFjFcp.js";import{at as ie,ct as ae,in as oe,nn as se,rn as ce,rt as le,st as R}from"./react-query.gen-C6wVk6Rw.js";import{t as ue}from"./assistant-identity-store-CX03CK8q.js";import{n as de}from"./utils-xg2dl_KJ.js";import{c as fe}from"./routes-BbeIx_F9.js";import{t as z}from"./misc-BYQPh7vS.js";import{Ai as pe,Ea as B,Fi as me,Ma as V,Pi as H,Ta as U,_r as he,ea as W,pr as ge,vi as G,xt as _e}from"./index-Cd6Xm6j5.js";import{t as ve}from"./use-active-assistant-id-xuY3XyDA.js";import{t as ye}from"./plugins-surface-z3RTZS4H.js";var K=p(`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`}]]),q=e(r(),1),J=d(),be={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function Y({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,q.useState)(!1);(0,q.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,J.jsx)(`span`,{className:z(`flex shrink-0 items-center justify-center`,be[r],i),children:c?(0,J.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var xe=e=>`Remove "${e}" from this assistant?`,Se=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,Ce=`Upgrade anyway`,we=`Failed to install plugin. Please try again.`,Te=`Failed to remove plugin. Please try again.`,Ee=`Failed to upgrade plugin. Please try again.`,De=`Failed to update plugin. Please try again.`;function Oe(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,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),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 ke(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function Ae(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 je(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 X(e){return e?e.slice(0,7):`unknown`}function Z({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,J.jsx)(`dl`,{className:z(`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,J.jsxs)(`div`,{className:`contents`,children:[(0,J.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,J.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,J.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,J.jsx)(v,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function Q({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,q.useState)(!1),[h,g]=(0,q.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${X(t?.local?.commit??null)} → ${X(t?.remote?.commit??null)}`:void 0;return(0,J.jsxs)(J.Fragment,{children:[v?(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,J.jsx)(j,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,J.jsx)(a,{asChild:!0,leftIcon:(0,J.jsx)(_,{"aria-hidden":!0}),children:(0,J.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,J.jsx)(a,{type:`button`,onClick:()=>{if(l){g(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(B,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,J.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(G,{"aria-hidden":!0}),children:`Remove`})]}):(0,J.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(V,{"aria-hidden":!0}),children:`Install`}),(0,J.jsx)(F,{open:p,title:`Remove plugin`,message:xe(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,J.jsx)(F,{open:h,title:`Upgrade plugin`,message:Se(e.name),confirmLabel:Ce,destructive:!0,onConfirm:()=>{g(!1),i()},onCancel:()=>g(!1)})]})}function Me(){return(0,J.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,J.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Ne(){return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,J.jsx)(D,{className:`h-6 w-6`,"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,J.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function Pe({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?we:t?Te:n?Ee:null;return r?(0,J.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,J.jsx)(D,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function Fe({external:e,className:t}){let n=e?{label:`External`,icon:C}:{label:`Local`,icon:w};return(0,J.jsx)(O,{tone:`neutral`,leftIcon:(0,q.createElement)(n.icon),className:t,children:n.label})}function Ie({onClick:e,isUpgrading:t=!1}={}){let n=(0,J.jsx)(O,{tone:`warning`,leftIcon:(0,q.createElement)(t?T:B,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,J.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 Le=300*1e3;function Re({assistantId:e,name:t,enabled:n=!0}){return l({...ie({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:Le,retry:!1})}function ze(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function Be(e,t,n){let r=c(),i=n?.onRemoved,a=l({...le({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=Re({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,q.useCallback)(()=>ge(r,e,t),[e,t,r]),u=oe({onSuccess:()=>{s(),P.success(`Installed ${t||`plugin`}`)}}),d=se({onSuccess:()=>{s(),i?.()}}),f=ce({onSuccess:e=>{s(),P.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${X(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:ze(o)}}var Ve=`0.10.5`;function He(){return de(Ve)}function Ue(e,t,n,r){let i=He(),{data:a}=l({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await te({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,q.useState)(void 0);return(0,q.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function We(e){let t=c(),n={queryKey:R({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?ne({path:{assistant_id:e,name:t},throwOnError:!1}):L({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),P.error(De)},onSettled:(n,r,i)=>{ge(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function Ge({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:h,isRemoving:g,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=Be(e,t,{onRemoved:n}),{toggle:S,togglingName:C}=We(e),w=Ue(e,t,o?.hasIcon,o?.iconVersion);return(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,J.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,J.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,J.jsx)(m,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,J.jsx)(Ke,{name:t,plugin:o,externalHint:r,iconSrc:w,drift:s,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:C===t})]}),(v||y||b)&&(0,J.jsx)(Pe,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,J.jsx)(f.Root,{asChild:!0,children:(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,J.jsx)(Me,{}):l||!o?(0,J.jsx)(Ne,{}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Z,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,J.jsx)(I,{content:o.readme}):(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Ke({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,J.jsx)(Y,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,J.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,J.jsx)(Fe,{external:h}):null,_?(0,J.jsx)(Ie,{}):null]}),t?.description?(0,J.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,J.jsx)(Q,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var qe=e(i(),1);function Je({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:h,isRemoving:g,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=Be(e,t,{onRemoved:n}),{toggle:S,togglingName:C}=We(e),[w,T]=(0,q.useState)(null);(0,q.useEffect)(()=>{T(document.getElementById(`viewport-overlays`))},[]);let E=o?.source?.kind===`github`,D=o?E:r,ee=s?.status===`update-available`,O=o?.name??t,k=Ue(e,t,o?.hasIcon,o?.iconVersion),A=(0,J.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,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,J.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[D===void 0?(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,J.jsx)(Y,{external:D,icon:o?.icon??void 0,iconSrc:k,size:`md`}),(0,J.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[ee?(0,J.jsx)(Ie,{}):null,o?(0,J.jsx)(Fe,{external:E}):null]})]}),o?.description?(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,J.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,J.jsx)(Q,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:C===t,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,J.jsx)(`div`,{className:`mt-3`,children:(0,J.jsx)(Pe,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,J.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,J.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,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,J.jsx)(Me,{}):l||!o?(0,J.jsx)(Ne,{}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Z,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,J.jsx)(I,{content:o.readme}):(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return w?(0,qe.createPortal)(A,w):A}var Ye={value:`all`,label:`All`,icon:W},Xe={value:`available`,label:`Available`,icon:V};function Ze(e){return e?[Ye,{value:`active`,label:`Active`,icon:me},{value:`off`,label:`Off`,icon:K},Xe]:[Ye,{value:`installed`,label:`Installed`,icon:U},Xe]}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,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(A,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search plugins`,"aria-label":`Search plugins`,leftIcon:(0,J.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,J.jsx)(T,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,J.jsx)($e,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginToggleSupported:d})]})}function $e(e){let t=he(),[n,r]=(0,q.useState)(!1),i=(0,J.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,J.jsx)(y,{"aria-hidden":!0}),"aria-label":`Filter plugins`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,J.jsx)(et,{...e,open:n,onOpenChange:r,trigger:i}):(0,J.jsxs)(k.Root,{open:n,onOpenChange:r,children:[(0,J.jsx)(k.Trigger,{asChild:!0,children:i}),(0,J.jsx)(k.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,J.jsx)(`ul`,{role:`listbox`,children:(0,J.jsx)(rt,{label:`Status`,options:Ze(e.pluginToggleSupported),selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})})})]})}function et({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 p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,J.jsxs)(M.Root,{open:u,onOpenChange:d,children:[(0,J.jsx)(M.Trigger,{asChild:!0,children:f}),(0,J.jsxs)(M.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,J.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,J.jsx)(M.Header,{children:(0,J.jsx)(M.Title,{children:`Filters`})}),(0,J.jsxs)(M.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,J.jsx)(tt,{label:`Status`,children:Ze(l).map(n=>(0,J.jsx)(nt,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),n.length>0&&(0,J.jsxs)(tt,{label:`Categories`,children:[(0,J.jsx)(nt,{icon:W,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,J.jsx)(nt,{icon:x(e.icon)??W,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,J.jsx)(M.Footer,{children:(0,J.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function tt({label:e,children:t}){return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function nt({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,J.jsx)(N,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,J.jsx)(h,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function rt({label:e,options:t,selected:n,onSelect:r}){return(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,J.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,J.jsx)(`li`,{children:(0,J.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,J.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,J.jsx)(U,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function it({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,p=n?.status===`update-available`,m=t.enabled!==void 0,h=t.enabled===!1,g=Ue(e,t.name,t.hasIcon,t.iconVersion);return(0,J.jsx)(f.Root,{asChild:!0,children:(0,J.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},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,J.jsx)(Y,{size:`sm`,external:t.external,icon:t.icon,iconSrc:g,className:h?`opacity-50`:void 0}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:h?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,J.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,p?(0,J.jsx)(Ie,{onClick:s,isUpgrading:u}):null]}),(0,J.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,J.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,J.jsx)(a,{type:`button`,iconOnly:(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,J.jsx)(a,{type:`button`,iconOnly:(0,J.jsx)(V,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,J.jsx)(O,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,J.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(G,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var at=300*1e3,$=[],ot=[];async function st(e,t,n){let r=await re({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 ct(e,t){let[n,r]=(0,q.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,q.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function lt(e,t=null){let n=t??void 0,r=l({queryKey:R({path:{assistant_id:e},query:{q:void 0,category:n}}),queryFn:({signal:t})=>st(e,n,t),enabled:!!e,staleTime:at}),i=l({..._e(e),enabled:!!e&&t!==null}),a=l({...ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e,staleTime:at}),o=(0,q.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,q.useMemo)(()=>{let e=r.data?.plugins??$,n=a.data?.matches??ot;return Ae(Oe(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=ct(e,u?.categoryCounts!==void 0),f=ct(e,(u?.plugins??$).some(e=>e.enabled!==void 0)),p=c(),m=(0,q.useRef)(null);return(0,q.useEffect)(()=>{if(m.current===e||!a.isSuccess)return;let t=u?.plugins;if(!t?.length)return;let n=new Map((a.data?.matches??ot).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:R({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??ot,unfilteredInstalledNames:o}}var ut=`vellum:plugins:tipDismissed`;function dt({assistantId:e}){let r=c(),i=he(),[a,s]=o(),l=a.get(`plugin`),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(`all`),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(null),[x,C]=(0,q.useState)(null),[w,T]=(0,q.useState)(null),[E,D]=(0,q.useState)(null),[ee,O]=(0,q.useState)(()=>n(ut,!1)),[k,A]=(0,q.useState)(e);e!==k&&(A(e),h(null));let j=e===k?m:null,{data:M=[]}=S(e),{items:N,isLoading:I,catalogLoading:te,isError:L,isFetching:ne,catalogError:re,categorySupported:ie,pluginToggleSupported:ae,installedCategoryCounts:le,installedPlugins:R,installedTotal:ue,catalogMatches:de,unfilteredInstalledNames:fe}=lt(e,j),z=(ae?[`all`,`active`,`off`,`available`]:[`all`,`installed`,`available`]).includes(f)?f:`all`,{counts:pe,totalCount:B}=ft(le,R,ue,de,fe,z),me=ie&&M.length>0,V=(0,q.useCallback)(t=>ge(r,e,t),[e,r]),H=oe({onMutate:e=>_(e.body.name),onSuccess:(e,t)=>P.success(`Installed ${t.body.name}`),onError:()=>P.error(we),onSettled:(e,t,n)=>{_(null),V(n.body.name)}}),U=se({onMutate:e=>y(e.path.name),onSuccess:(e,t)=>P.success(`Removed ${t.path.name}`),onError:()=>P.error(Te),onSettled:(e,t,n)=>{y(null),V(n.path.name)}}),W=ce({onMutate:e=>C(e.path.name),onSuccess:(e,t)=>P.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${X(e.toCommit)}`),onError:()=>P.error(Ee),onSettled:(e,t,n)=>{C(null),V(n.path.name)}}),G=(0,q.useCallback)(e=>s(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[s]),_e=(0,q.useCallback)(()=>s(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[s]),ve=(0,q.useCallback)(t=>{H.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,H]),ye=(0,q.useCallback)(()=>{w&&(U.mutate({path:{assistant_id:e,name:w.name}}),T(null))},[e,w,U]),K=(0,q.useCallback)(t=>{W.mutate({path:{assistant_id:e,name:t},body:{}})},[e,W]),be=(0,q.useCallback)(()=>{E&&(K(E.name),D(null))},[E,K]),Y=(0,q.useCallback)((e,t)=>{if(ze(t)){D(e);return}K(e.name)},[K]),De=(0,q.useCallback)(()=>{O(!0),t(ut,!0)},[]),Oe=(0,q.useMemo)(()=>je(N,z).filter(e=>ke(e,u)),[N,z,u]),Ae=ne&&!I,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,J.jsx)(Je,{...n}):(0,J.jsx)(Ge,{...n})}let Q=(0,J.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:I?(0,J.jsx)(gt,{}):L?(0,J.jsx)(_t,{}):Oe.length===0?te&&(z===`all`||z===`available`)?(0,J.jsx)(gt,{}):(0,J.jsx)(vt,{filter:z,category:j}):(0,J.jsx)(`ul`,{className:`flex flex-col gap-2`,children:Oe.map(t=>(0,J.jsx)(`li`,{children:t.status===`installed`?(0,J.jsx)(pt,{assistantId:e,item:t,onSelect:()=>G(t),onRemove:()=>T(t),onUpgrade:e=>Y(t,e),isRemoving:v===t.name,isUpgrading:x===t.name}):(0,J.jsx)(it,{assistantId:e,item:t,onSelect:()=>G(t),onInstall:()=>ve(t),isInstalling:g===t.name})},t.name))})});return(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ee&&(0,J.jsx)(mt,{onDismiss:De}),(0,J.jsx)(Qe,{search:u,onSearchChange:d,filter:z,onFilterChange:p,isSearching:Ae,categories:me?M:[],category:j,onCategoryChange:h,counts:pe,totalCount:B,showCounts:!Z,pluginToggleSupported:ae}),re&&!I&&!L?(0,J.jsx)(ht,{}):null,me?(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,J.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto md:block`,children:(0,J.jsx)(b,{ariaLabel:`Plugin categories`,selected:j,onSelect:h,counts:pe,totalCount:B,showCounts:!Z,categories:M})}),Q]}):Q,(0,J.jsx)(F,{open:w!==null,title:`Remove plugin`,message:w?xe(w.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:ye,onCancel:()=>T(null)}),(0,J.jsx)(F,{open:E!==null,title:`Upgrade plugin`,message:E?Se(E.name):``,confirmLabel:Ce,destructive:!0,onConfirm:be,onCancel:()=>D(null)})]})}function ft(e,t,n,r,i,a){return(0,q.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 pt({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=Re({assistantId:e,name:t.name}).data;return(0,J.jsx)(it,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function mt({onDismiss:e}){return(0,J.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,J.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,J.jsx)(`p`,{className:`flex-1`,children:`Browse the catalog below to install plugins that extend your assistant.`}),(0,J.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,J.jsx)(ee,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function ht(){return(0,J.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,J.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`flex-1`,children:`Catalog browsing is temporarily unavailable. Installed plugins are still listed below.`})]})}function gt(){return(0,J.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,J.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function _t(){return(0,J.jsx)(f.Root,{children:(0,J.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,J.jsx)(D,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,J.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load plugins`}),(0,J.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 vt({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=yt(e,t);return(0,J.jsx)(f.Root,{children:(0,J.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,J.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,J.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,J.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function yt(e,t){if(t)return{title:`No plugins in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:W};switch(e){case`installed`:return{title:`No Plugins Installed`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:H};case`active`:return{title:`No Active Plugins`,subtitle:`Install a plugin from the catalog, or turn on an installed one.`,Icon:H};case`off`:return{title:`No Plugins Turned Off`,subtitle:`Installed plugins you turn off will appear here.`,Icon:H};case`available`:return{title:`No Plugins Available`,subtitle:`Every catalog plugin is already installed.`,Icon:U};default:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:H}}}function bt(){let e=ue.use.version(),t=ye(),n=ve();return e===null?null:t?(0,J.jsx)(dt,{assistantId:n}):(0,J.jsx)(s,{to:fe.identity,replace:!0})}export{bt as PluginsPage};
@@ -0,0 +1 @@
1
+ import{n as e}from"./utils-xg2dl_KJ.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
@@ -0,0 +1 @@
1
+ function e(){return typeof window<`u`&&window.matchMedia(`(pointer: coarse)`).matches}export{e as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,M as r,N as i,O as a,T as o,a as s,c,d as l,f as u,j as d,l as f,o as p,p as m,s as h,u as g,w as _}from"./button-D1p5nVKJ.js";import{t as v}from"./jsx-runtime-CVSDxk6A.js";import{t as y}from"./cn-C36Yvcac.js";import{i as b,n as x,r as S,t as C}from"./Combination-BG46kjfK.js";var w=e(t(),1),T=v(),E=`Popover`,[D,ee]=d(E,[m]),O=m(),[k,A]=D(E),j=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=O(t),c=w.useRef(null),[l,d]=w.useState(!1),[f,m]=p({prop:r,defaultProp:i??!1,onChange:a,caller:E});return(0,T.jsx)(u,{...s,children:(0,T.jsx)(k,{scope:t,contentId:_(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:w.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:l,onCustomAnchorAdd:w.useCallback(()=>d(!0),[]),onCustomAnchorRemove:w.useCallback(()=>d(!1),[]),modal:o,children:n})})};j.displayName=E;var M=`PopoverAnchor`,N=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(M,n),a=O(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return w.useEffect(()=>(o(),()=>s()),[o,s]),(0,T.jsx)(f,{...a,...r,ref:t})});N.displayName=M;var P=`PopoverTrigger`,F=w.forwardRef((e,t)=>{let{__scopePopover:n,...o}=e,s=A(P,n),c=O(n),l=r(t,s.triggerRef),u=(0,T.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":X(s.open),...o,ref:l,onClick:i(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,T.jsx)(f,{asChild:!0,...c,children:u})});F.displayName=P;var I=`PopoverPortal`,[L,R]=D(I,{forceMount:void 0}),z=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=A(I,t);return(0,T.jsx)(L,{scope:t,forceMount:n,children:(0,T.jsx)(h,{present:n||a.open,children:(0,T.jsx)(c,{asChild:!0,container:i,children:r})})})};z.displayName=I;var B=`PopoverContent`,V=w.forwardRef((e,t)=>{let n=R(B,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=A(B,e.__scopePopover);return(0,T.jsx)(h,{present:r||a.open,children:a.modal?(0,T.jsx)(U,{...i,ref:t}):(0,T.jsx)(W,{...i,ref:t})})});V.displayName=B;var H=n(`PopoverContent.RemoveScroll`),U=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),a=w.useRef(null),o=r(t,a),s=w.useRef(!1);return w.useEffect(()=>{let e=a.current;if(e)return x(e)},[]),(0,T.jsx)(C,{as:H,allowPinchZoom:!0,children:(0,T.jsx)(G,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:i(e.onCloseAutoFocus,e=>{e.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:i(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;s.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:i(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),W=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),r=w.useRef(!1),i=w.useRef(!1);return(0,T.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),G=w.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...p}=e,m=A(B,n),h=O(n);return b(),(0,T.jsx)(S,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,T.jsx)(o,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,T.jsx)(l,{"data-state":X(m.open),role:`dialog`,id:m.contentId,...h,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),K=`PopoverClose`,q=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,o=A(K,n);return(0,T.jsx)(a.button,{type:`button`,...r,ref:t,onClick:i(e.onClick,()=>o.onOpenChange(!1))})});q.displayName=K;var J=`PopoverArrow`,Y=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=O(n);return(0,T.jsx)(g,{...i,...r,ref:t})});Y.displayName=J;function X(e){return e?`open`:`closed`}var Z=j,Q=N,$=F,te=z,ne=V,re=q,ie=Z;function ae(e){return(0,T.jsx)($,{"data-slot":`popover-trigger`,...e})}function oe(e){return(0,T.jsx)(re,{"data-slot":`popover-close`,...e})}function se(e){return(0,T.jsx)(Q,{"data-slot":`popover-anchor`,...e})}function ce({className:e,children:t,sideOffset:n=6,align:r=`center`,ref:i,...a}){let o=s();return(0,T.jsx)(te,{container:o??void 0,children:(0,T.jsx)(ne,{ref:i,"data-slot":`popover-content`,align:r,sideOffset:n,className:y(`z-50 rounded-lg bg-[var(--surface-lift)] p-2 shadow-[var(--shadow-popover)] outline-none`,`text-[color:var(--content-default)]`,`data-[state=open]:animate-[popoverIn_120ms_ease-out]`,e),...a,children:t})})}var le={Root:ie,Trigger:ae,Content:ce,Close:oe,Anchor:se};export{le as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,M as r,N as i,O as a,T as o,a as s,c,d as l,f as u,j as d,l as f,o as p,p as m,s as h,u as g,w as _}from"./button-amTXFI-2.js";import{t as v}from"./jsx-runtime-CVSDxk6A.js";import{t as y}from"./cn-C36Yvcac.js";import{i as b,n as x,r as S,t as C}from"./Combination-Cd_aWAsj.js";var w=e(t(),1),T=v(),E=`Popover`,[D,ee]=d(E,[m]),O=m(),[k,A]=D(E),j=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=O(t),c=w.useRef(null),[l,d]=w.useState(!1),[f,m]=p({prop:r,defaultProp:i??!1,onChange:a,caller:E});return(0,T.jsx)(u,{...s,children:(0,T.jsx)(k,{scope:t,contentId:_(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:w.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:l,onCustomAnchorAdd:w.useCallback(()=>d(!0),[]),onCustomAnchorRemove:w.useCallback(()=>d(!1),[]),modal:o,children:n})})};j.displayName=E;var M=`PopoverAnchor`,N=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(M,n),a=O(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return w.useEffect(()=>(o(),()=>s()),[o,s]),(0,T.jsx)(f,{...a,...r,ref:t})});N.displayName=M;var P=`PopoverTrigger`,F=w.forwardRef((e,t)=>{let{__scopePopover:n,...o}=e,s=A(P,n),c=O(n),l=r(t,s.triggerRef),u=(0,T.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":X(s.open),...o,ref:l,onClick:i(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,T.jsx)(f,{asChild:!0,...c,children:u})});F.displayName=P;var I=`PopoverPortal`,[L,R]=D(I,{forceMount:void 0}),z=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=A(I,t);return(0,T.jsx)(L,{scope:t,forceMount:n,children:(0,T.jsx)(h,{present:n||a.open,children:(0,T.jsx)(c,{asChild:!0,container:i,children:r})})})};z.displayName=I;var B=`PopoverContent`,V=w.forwardRef((e,t)=>{let n=R(B,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=A(B,e.__scopePopover);return(0,T.jsx)(h,{present:r||a.open,children:a.modal?(0,T.jsx)(U,{...i,ref:t}):(0,T.jsx)(W,{...i,ref:t})})});V.displayName=B;var H=n(`PopoverContent.RemoveScroll`),U=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),a=w.useRef(null),o=r(t,a),s=w.useRef(!1);return w.useEffect(()=>{let e=a.current;if(e)return x(e)},[]),(0,T.jsx)(C,{as:H,allowPinchZoom:!0,children:(0,T.jsx)(G,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:i(e.onCloseAutoFocus,e=>{e.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:i(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;s.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:i(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),W=w.forwardRef((e,t)=>{let n=A(B,e.__scopePopover),r=w.useRef(!1),i=w.useRef(!1);return(0,T.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),G=w.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...p}=e,m=A(B,n),h=O(n);return b(),(0,T.jsx)(S,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,T.jsx)(o,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,T.jsx)(l,{"data-state":X(m.open),role:`dialog`,id:m.contentId,...h,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),K=`PopoverClose`,q=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,o=A(K,n);return(0,T.jsx)(a.button,{type:`button`,...r,ref:t,onClick:i(e.onClick,()=>o.onOpenChange(!1))})});q.displayName=K;var J=`PopoverArrow`,Y=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=O(n);return(0,T.jsx)(g,{...i,...r,ref:t})});Y.displayName=J;function X(e){return e?`open`:`closed`}var Z=j,Q=N,$=F,te=z,ne=V,re=q,ie=Z;function ae(e){return(0,T.jsx)($,{"data-slot":`popover-trigger`,...e})}function oe(e){return(0,T.jsx)(re,{"data-slot":`popover-close`,...e})}function se(e){return(0,T.jsx)(Q,{"data-slot":`popover-anchor`,...e})}function ce({className:e,children:t,sideOffset:n=6,align:r=`center`,ref:i,...a}){let o=s();return(0,T.jsx)(te,{container:o??void 0,children:(0,T.jsx)(ne,{ref:i,"data-slot":`popover-content`,align:r,sideOffset:n,className:y(`z-50 rounded-lg bg-[var(--surface-lift)] p-2 shadow-[var(--shadow-popover)] outline-none`,`text-[color:var(--content-default)]`,`data-[state=open]:animate-[popoverIn_120ms_ease-out]`,e),...a,children:t})})}var le={Root:ie,Trigger:ae,Content:ce,Close:oe,Anchor:se};export{le as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{m as t}from"./native-biometric-8C66CwyW.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-amTXFI-2.js";import{d as i,h as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{t as l}from"./card-Bv5O5juh.js";import{t as u}from"./check-DFNrQERi.js";import{t as d}from"./chevron-left-BMF1xNfR.js";import{t as f}from"./loader-circle-Cz7opInR.js";import{t as p}from"./pencil-CUIr0IFo.js";import{t as m}from"./x-CkSVp1Ok.js";import{t as h}from"./input-CoUmPnRU.js";import{l as g,p as _,s as v}from"./local-mode-Bskd5bsT.js";import{t as y}from"./is-electron-y5bNUVyG.js";import{n as b}from"./resolved-assistants-store-DAzPZ1eV.js";import{A as x,C as ee,a as S,j as C,n as w,o as T}from"./auth-store-CRgW9dVz.js";import{t as E}from"./client.gen-DVfIRXUZ.js";import{c as D}from"./routes-BbeIx_F9.js";import{a as O}from"./platform-detection-BrzZ9nIv.js";import{i as k,s as A}from"./prefs-Cv7dVfD-.js";import{t as j}from"./client-feature-flag-store-Dwtv7Vxd.js";import{n as te,t as ne}from"./browser-BcxhPHJY.js";import{c as M,l as re,n as ie,t as N}from"./prechat-P1y7ZM6C.js";import{Ct as ae,b as P,r as oe}from"./react-query.gen-DPzPS206.js";import{t as F}from"./public-asset-GKv5zCfZ.js";import{$t as I,Qt as se,U as ce,W as le,Zt as ue,_ as de,bt as fe,en as L,fa as R,ft as z,g as pe,h as me,ht as he,nn as B,pt as ge,rn as V,vt as _e,yt as ve}from"./index-Cd6Xm6j5.js";import{t as H}from"./onboarding-step-layout-2XcmxqFN.js";import{n as U,r as ye}from"./prechat-names-clVy5Mee.js";import{t as be}from"./step-indicator-dots-D03TmFKG.js";var W=e(n(),1);async function xe(){try{let{data:e,response:t}=await E.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 G=c(),Se=[{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 Ce({onComplete:e}){function t(){de(),me(),e()}return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.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,G.jsx)(`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`3`}),(0,G.jsx)(`line`,{x1:`12`,y1:`18`,x2:`12`,y2:`18.01`})]})}),(0,G.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,G.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,G.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,G.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,G.jsx)(`ul`,{className:`space-y-4`,children:Se.map((e,t)=>(0,G.jsxs)(`li`,{className:`flex items-start gap-3`,style:{animation:`fadeInUp 0.3s ease-out ${.25+t*.05}s both`},children:[(0,G.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,G.jsx)(u,{size:12,style:{color:`var(--system-positive-strong)`}})}),(0,G.jsxs)(`span`,{className:`text-left`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),(0,G.jsxs)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[` — `,e.detail]})]})]},e.label))})}),(0,G.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.45s both`},children:[(0,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:t,className:`h-11 text-base`,children:`Download on the App Store`}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:e,className:`h-11 text-base`,children:`Continue in browser`})]})]})})}var K=`google`,we=[{id:`gmail`,label:`Gmail`,logoSrc:F(`/images/integrations/gmail.svg`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:F(`/images/integrations/google-calendar.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:F(`/images/integrations/google-drive.svg`)}];function Te({assistantId:e,assistantName:n,onConnect:i,onSkip:a,onBack:s}){let c=y(),l=o(),u=t(),p=(0,W.useRef)(null),m=(0,W.useRef)(null),h=(0,W.useRef)(null),g=(0,W.useRef)(null),_=(0,W.useRef)(null),v=(0,W.useRef)(null),b=(0,W.useRef)(null),[x,S]=(0,W.useState)(!1),C=(0,W.useCallback)(()=>{m.current=null,S(!1)},[]),w=(0,W.useCallback)(()=>{_.current&&=(window.removeEventListener(`message`,_.current),null),v.current&&=(window.removeEventListener(`storage`,v.current),null)},[]),T=(0,W.useCallback)(()=>{p.current&&!p.current.closed&&p.current.close(),p.current=null,h.current&&=(clearInterval(h.current),null),g.current&&=(clearTimeout(g.current),null)},[]),E=ae();(0,W.useEffect)(()=>()=>{h.current&&clearInterval(h.current),g.current&&clearTimeout(g.current),p.current&&!p.current.closed&&p.current.close(),_.current&&window.removeEventListener(`message`,_.current),v.current&&window.removeEventListener(`storage`,v.current),b.current&&=(b.current(),null)},[]);let O=(0,W.useCallback)(async e=>{try{return(await l.fetchQuery({...P({path:{assistant_id:e}}),staleTime:0})).find(e=>e.provider===K&&e.connected)??null}catch{return null}},[l]),k=(0,W.useCallback)(async()=>{let e=m.current?.platformAssistantId;T(),C(),i((e?await O(e):null)?.scopes_granted??[])},[C,T,O,i]),A=(0,W.useCallback)(e=>{e.type===`vellum:oauth-complete`&&(!m.current||e.requestId!==m.current.requestId||(e.oauthStatus===`connected`?k():(T(),C())))},[C,T,k]),j=(0,W.useCallback)(e=>{let t=m.current;if(!t)return;let n=ue(e,window.location.origin,t.requestId);n&&A(n)},[A]),M=(0,W.useCallback)(e=>{let t=m.current;if(!t)return;let n=se(e,t.requestId);n&&(A(n),window.localStorage.removeItem(L(t.requestId)))},[A]);B((0,W.useCallback)(e=>{let t=m.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 re=(0,W.useCallback)(()=>{let t=crypto.randomUUID();if(w(),_.current=j,v.current=M,u){S(!0),(async()=>{let n;try{n=await ee(e)}catch{C();return}m.current={requestId:t,platformAssistantId:n},E.mutate({path:{assistant_id:n,provider:K},body:{requested_scopes:[],redirect_after_connect:`${D.account.oauth.popupComplete}?requestId=${t}&native=1`}},{onSuccess(e){ne(e.connect_url)},onError(){C()}})})(),window.addEventListener(`message`,j),window.addEventListener(`storage`,M),b.current&&b.current();let n=te(()=>{let e=m.current;if(!e){n(),b.current=null;return}(async()=>{let t=await O(e.platformAssistantId);m.current&&(t?await k():C(),w(),n(),b.current=null)})()});b.current=n;return}let n=window.open(``,`_blank`,`width=500,height=600`);if(n===null){w();return}p.current=n,S(!0),window.addEventListener(`message`,j),window.addEventListener(`storage`,M),h.current=setInterval(()=>{p.current&&p.current.closed&&m.current&&!g.current&&(g.current=setTimeout(async()=>{g.current=null;let e=m.current;if(!e)return;let t=window.localStorage.getItem(L(e.requestId));if(t)try{let n=JSON.parse(t);if(I(n,e.requestId)){A(n),window.localStorage.removeItem(L(e.requestId)),w();return}}catch{}let n=await O(e.platformAssistantId);m.current&&(n?await k():(T(),C()),w())},1e3))},100),(async()=>{let n;try{n=await ee(e)}catch{T(),C(),w();return}m.current={requestId:t,platformAssistantId:n},E.mutate({path:{assistant_id:n,provider:K},body:{requested_scopes:[],redirect_after_connect:`${D.account.oauth.popupComplete}?requestId=${t}`}},{onSuccess(e){p.current&&!p.current.closed?p.current.location.href=e.connect_url:m.current&&(T(),C(),w())},onError(){T(),C(),w()}})})()},[e,C,T,O,A,j,M,k,u,w,E]),ie=n||`your assistant`,N=n||`Your assistant`;return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center ${c?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,G.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,G.jsx)(`button`,{type:`button`,onClick:s,"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,G.jsx)(d,{className:`h-4 w-4`})}),(0,G.jsx)(`h1`,{className:`text-center ${c?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Connect Google`}),(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,G.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, ${ie} can use Gmail, Calendar, and Drive with your permission.`}),(0,G.jsx)(`div`,{className:`mt-6 flex items-stretch justify-center gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:we.map(e=>(0,G.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,G.jsx)(`img`,{src:e.logoSrc,alt:``,width:28,height:28,className:`h-7 w-7 object-contain`,loading:`eager`}),(0,G.jsx)(`span`,{className:`text-center text-xs leading-tight text-[var(--content-tertiary)]`,children:e.label})]},e.id))}),(0,G.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:`${N} will never send email, change calendar events, or edit files without your permission. You can disconnect at any time.`}),(0,G.jsxs)(`div`,{className:`${c?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.35s both`},children:[(0,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:re,disabled:x||E.isPending,className:`${c?`h-9`:`h-11 text-base`}`,children:x||E.isPending?(0,G.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,G.jsx)(f,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}),`Waiting for authorization...`]}):`Connect Google`}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,disabled:x||E.isPending,className:`${c?`h-9`:`h-11 text-base`}`,children:`Skip for now`})]})]})})}function Ee({userName:e,assistantName:t,selectedGroupId:n,displayedAssistantNames:i,onUserNameChange:a,onAssistantNameChange:o,onGroupChange:s,onBack:c,onComplete:l,onSkip:u}){let f=y();return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.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,G.jsx)(d,{className:`h-4 w-4`})}):null,(0,G.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,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,G.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,G.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,G.jsx)(h,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>a(e.target.value),className:H,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(h,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>o(e.target.value),className:H,fullWidth:!0}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let n=e===t;return(0,G.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,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Pick a vibe`}),(0,G.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:U.map(e=>(0,G.jsx)(De,{group:e,isActive:n===e.id,onToggle:()=>s(n===e.id?null:e.id)},e.id))})]})]}),(0,G.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,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:l,className:`${f?`h-9`:`h-11 text-base`}`,children:`Let's go`}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:u,className:`${f?`h-9`:`h-11 text-base`}`,children:`Skip`})]})]})})}function De({group:e,isActive:t,onToggle:n}){return(0,G.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,G.jsx)(`span`,{className:`text-body-medium-default ${t?`text-[var(--content-inset)]`:`text-[var(--content-default)]`}`,children:e.descriptor}),(0,G.jsx)(`span`,{className:`text-body-small-default ${t?`text-[var(--content-inset)] opacity-60`:`text-[var(--content-tertiary)]`}`,children:e.tagline})]})}function Oe({userName:e,assistantName:t,displayedAssistantNames:n,onUserNameChange:i,onAssistantNameChange:a,onBack:o,onContinue:s,onSkip:c,currentStep:l,totalSteps:u}){return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(d,{}),onClick:o,"aria-label":`Back`}):(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}),(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(be,{current:l,total:u})}),(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,G.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,G.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,G.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-6`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,G.jsx)(h,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>i(e.target.value),className:H,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(h,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>a(e.target.value),className:H,fullWidth:!0}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(e=>{let n=e===t;return(0,G.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,G.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:s,className:`h-11 text-base`,children:`Continue`}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:c,className:`h-11 text-base`,children:`Skip`})]})]})})}var ke=[{id:`chatgpt`,label:`ChatGPT`,logoSrc:F(`/images/prior-assistants/chatgpt.svg`)},{id:`claude`,label:`Claude`,logoSrc:F(`/images/prior-assistants/claude.svg`)},{id:`openclaw`,label:`OpenClaw`,logoSrc:F(`/images/prior-assistants/openclaw.png`)},{id:`hermes`,label:`Hermes`,logoSrc:F(`/images/prior-assistants/hermes.png`)},{id:`manus`,label:`Manus`,logoSrc:F(`/images/prior-assistants/manus.svg`)},{id:`gemini`,label:`Gemini`,logoSrc:F(`/images/prior-assistants/gemini.svg`)},{id:`copilot`,label:`Copilot`,logoSrc:F(`/images/prior-assistants/copilot.svg`)}];function Ae({selectedAssistants:e,onChange:t,onBack:n,onContinue:i,onSkip:a}){let o=y(),[s,c]=(0,W.useState)(()=>J(e)),[u,f]=(0,W.useState)(()=>s.length>0),g=(0,W.useRef)(Y(e));(0,W.useEffect)(()=>{let t=Y(e);if(t===g.current)return;let n=J(e);c(n),f(e=>e||n.length>0),g.current=t},[e]),(0,W.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}`)))}q(n,e)||(g.current=Y(n),t(n))},[s]);let _=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},v=(0,W.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,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.jsx)(`button`,{type:`button`,onClick:n,"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,G.jsx)(d,{className:`h-4 w-4`})}),(0,G.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Have you used any of these?`}),(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,G.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,G.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:[ke.map(t=>(0,G.jsx)(je,{assistant:t,selected:e.has(t.id),onToggle:()=>_(t.id)},t.id)),u?null:(0,G.jsx)(Me,{onClick:()=>f(!0)})]}),u?(0,G.jsx)(l,{padding:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(p,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),c(``)},"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,G.jsx)(m,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,G.jsx)(h,{"aria-label":`Other assistants`,placeholder:`e.g. Perplexity, Poe, Character.AI...`,value:s,onChange:e=>c(e.target.value),helperText:`Separate multiple assistants with commas`,className:H,fullWidth:!0}),v.length>0?(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:v.map(e=>(0,G.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,G.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,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I haven't used any`})]})]})})}function q(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,G.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,G.jsx)(Ne,{assistant:e,size:32}),(0,G.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,G.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,G.jsx)(u,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function Me({onClick:e}){return(0,G.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,G.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,G.jsx)(R,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,G.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,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,G.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,G.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,G.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,G.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,G.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,G.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:n,onContinue:i,onSkip:a}){let o=y(),s=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)};return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.jsx)(`button`,{type:`button`,onClick:n,"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,G.jsx)(d,{className:`h-4 w-4`})}),(0,G.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What are you working on?`}),(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,G.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,G.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:ce.map(t=>{let n=le[t.iconKey],r=e.has(t.id);return(0,G.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,G.jsx)(`div`,{className:`flex w-6 shrink-0 items-center justify-center text-[var(--content-secondary)]`,children:n?(0,G.jsx)(n,{className:`h-4 w-4`}):null}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:t.label}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t.sublabel})]}),(0,G.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,G.jsx)(u,{className:`h-3 w-3 text-[var(--content-inset)]`}):null})]},t.id)})}),(0,G.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,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:`Continue`}),(0,G.jsx)(r,{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:F(`/images/integrations/gmail.svg`)},{id:`outlook`,label:`Outlook`,logoSrc:F(`/images/integrations/outlook.png`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:F(`/images/integrations/google-calendar.svg`)},{id:`slack`,label:`Slack`,logoSrc:F(`/images/integrations/slack.svg`)},{id:`notion`,label:`Notion`,logoSrc:F(`/images/integrations/notion.svg`)},{id:`linear`,label:`Linear`,logoSrc:F(`/images/integrations/linear-light-logo.svg`)},{id:`jira`,label:`Jira`,logoSrc:F(`/images/integrations/jira.svg`)},{id:`github`,label:`GitHub`,logoSrc:F(`/images/integrations/github.svg`),logoSrcDark:F(`/images/integrations/github-dark.svg`)},{id:`figma`,label:`Figma`,logoSrc:F(`/images/integrations/figma.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:F(`/images/integrations/google-drive.svg`)},{id:`excel`,label:`Excel`,logoSrc:F(`/images/integrations/excel.svg`)},{id:`apple-notes`,label:`Apple Notes`,logoSrc:F(`/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:n,onContinue:i,onSkip:a}){let o=y(),[s,c]=(0,W.useState)(()=>ze(e)),[u,f]=(0,W.useState)(()=>s.length>0),g=(0,W.useRef)(Z(e));(0,W.useEffect)(()=>{let t=Z(e);if(t===g.current)return;let n=ze(e);c(n),f(e=>e||n.length>0),g.current=t},[e]),(0,W.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)||(g.current=Z(n),t(n))},[s]);let _=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},v=(0,W.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,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.jsxs)(`div`,{className:`grid w-full items-center ${n?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[n?(0,G.jsx)(`button`,{type:`button`,onClick:n,"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,G.jsx)(d,{className:`h-4 w-4`})}):null,(0,G.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What do you use?`}),n?(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,G.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,G.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,G.jsx)(Q,{tool:t,selected:e.has(t.id),onToggle:()=>_(t.id),electron:o},t.id)),u?null:(0,G.jsx)($,{onClick:()=>f(!0),electron:o})]}),u?(0,G.jsx)(l,{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,G.jsxs)(`div`,{className:`flex flex-col ${o?`gap-2`:`gap-3`}`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(p,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),c(``)},"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,G.jsx)(m,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,G.jsx)(h,{"aria-label":`Other tools`,placeholder:`e.g. Trello, Basecamp, Asana...`,value:s,onChange:e=>c(e.target.value),helperText:`Separate multiple tools with commas`,className:H,fullWidth:!0}),v.length>0?(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:v.map(e=>(0,G.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,G.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,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,G.jsx)(r,{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,G.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,G.jsx)(Be,{tool:e,size:32}),(0,G.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,G.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,G.jsx)(u,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function $({onClick:e,electron:t}){return(0,G.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,G.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,G.jsx)(R,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,G.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,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,G.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,G.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,G.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,G.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,G.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,G.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:n,onContinue:i,onSkip:a,currentStep:o,totalSteps:s}){return(0,G.jsx)(V,{showCreatureFooter:!1,children:(0,G.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,G.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,G.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(d,{}),onClick:n,"aria-label":`Back`}),(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(be,{current:o,total:s})}),(0,G.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,G.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,G.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,G.jsx)(`div`,{className:`mt-8 flex w-full flex-col gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:U.map(n=>{let r=e===n.id;return(0,G.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,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.descriptor}),(0,G.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,G.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-[var(--content-default)]`})})]},n.id)})})]}),(0,G.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,G.jsx)(r,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`Continue`}),(0,G.jsx)(r,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`h-11 text-base`,children:`Skip`})]})]})})}function He(e){let[t,n]=(0,W.useState)(()=>(e??``).trim()),r=(0,W.useRef)(!1);return(0,W.useEffect)(()=>{if(r.current)return;let t=(e??``).trim();t&&n(e=>e||t)},[e]),{value:t,onChange:(0,W.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?ie(e):N}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:z.nameVibe,enabled:!0},{id:`taskTone`,funnelStep:z.controlWorkType,enabled:!t},{id:`tools`,funnelStep:z.controlTools,enabled:!t},{id:`priorAssistants`,funnelStep:z.controlPriorAssistants,enabled:!t&&e.canOfferPriorAssistants},{id:`google`,funnelStep:t?z.gmailConnect:z.controlGmailConnect,enabled:e.canOfferGoogleStep&&(t||e.hasGoogleTool)},{id:`iosApp`,funnelStep:z.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=i(),n=t(),r=A()&&k();return(0,W.useEffect)(()=>{!r&&!n&&e(D.onboarding.privacy,{replace:!0})},[r,n,e]),n||r}function nt(e,t){let n=e?`prechat_native_screen:${e}`:null,[r,i]=(0,W.useState)(()=>t?`nativeName`:`name`),a=(0,W.useCallback)(e=>{if(n)try{e===null?sessionStorage.removeItem(n):sessionStorage.setItem(n,e)}catch{}},[n]);return(0,W.useLayoutEffect)(()=>{if(n)try{let e=Qe(sessionStorage.getItem(n));e&&i(e)}catch{}},[n]),(0,W.useEffect)(()=>{t&&a(r===`nativeVibe`?`nativeVibe`:null)},[t,r,a]),{currentStep:r,setCurrentStep:i,clearPersistedStep:(0,W.useCallback)(()=>{a(null)},[a])}}var rt=3;function it(){let e=g();return e?.cloud===`vellum`?e.assistantId:v()[0]?.assistantId??null}function at(){let e=i(),[n]=a(),r=n.get(`preview`)===`true`,o=w.use.user(),c=S(),l=T(),u=o?.id??null,d=o?.firstName??``,f=o?.lastName??``,p=t(),m=b.use.activeAssistantId(),h=_(),g=O()&&!pe(),v=j.use.stringFlags().preChatOnboardingExperiment20260606??`control`,y=(j.use.stringFlags().experimentActivationFlow20260603??`control`)===`variant-a`,ee=j.use.selfIntroGreeting(),E=_e(v),k=ve()??E,A=k===ge.paredDown,te=h?it():null,ne=tt(),{currentStep:ie,setCurrentStep:N,clearPersistedStep:ae}=nt(u,p),P=w.use.platformSession(),F=C(P),[I,se]=(0,W.useState)(()=>new Set),[ce,le]=(0,W.useState)(()=>new Set),[ue,de]=(0,W.useState)(()=>new Set),{value:L,onChange:R}=He(h&&!F?``:d||f),[z,me]=(0,W.useState)(null),[B]=(0,W.useState)(()=>ye()),[V,H]=(0,W.useState)(``),[U,be]=(0,W.useState)(!1),[Se,K]=(0,W.useState)([]),{data:we}=s({...oe(),enabled:!l&&c&&(!h||F)}),{data:De,isLoading:ke}=s({queryKey:[`onboarding-recipe`,u],queryFn:xe,enabled:!l&&c&&!p&&!h,staleTime:1/0}),q=De??null,J=we?.id??m??te,Y=Je({localMode:h,platformSession:P,hasCachedPlatformAssistant:te!==null}),je=Y,Me=Y,Ne=async()=>{await x.checkAssistant(),e(`${D.assistant}?onboarding=1`,{replace:!0})};function Ie(e,t=k){r||he(e,{userId:u,variant:fe(t)})}let Le=[...I].some(e=>Fe.has(e)),X=p?Xe():Ye({paredDown:A,canOfferPriorAssistants:Me,canOfferGoogleStep:r?!1:je,hasGoogleTool:Le,showIOSAppStep:g});function ze(t){if(r){e(-1);return}re(qe({mode:p?`native`:A?`paredDown`:`control`,recipe:p?null:q,selectedTools:I,selectedTasks:ce,selectedPriorAssistants:t?.selectedPriorAssistants??ue,tone:z??q?.tone??`grounded`,userName:L,assistantName:V,selfIntroGreetingEnabled:ee,activationFlowEnabled:p?void 0:y,googleConnected:U,googleScopes:Se,connectedScopes:t?.connectedScopes}));let n=V.trim();n&&M(n),p?(ae(),e(D.onboarding.privacy)):(x.markExpectingFirstMessage(),Ne())}let Z=(e,t)=>{e.funnelStep&&Ie(e.funnelStep);let n=$e(X,e.id);n?N(n):ze(t)},Q=e=>{let t=et(X,e.id);t&&N(t)};if(!ne||ke)return null;let $=X.find(e=>e.id===ie)??X[0];return $?$.id===`nativeName`?(0,G.jsx)(Oe,{userName:L,assistantName:V,displayedAssistantNames:B,onUserNameChange:R,onAssistantNameChange:H,onContinue:()=>Z($),onSkip:()=>Z($),currentStep:0,totalSteps:rt}):$.id===`nativeVibe`?(0,G.jsx)(Ve,{selectedGroupId:z,onGroupChange:me,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($),currentStep:1,totalSteps:rt}):$.id===`name`?(0,G.jsx)(Ee,{userName:L,assistantName:V,selectedGroupId:z,displayedAssistantNames:B,onUserNameChange:R,onAssistantNameChange:H,onGroupChange:me,onComplete:()=>Z($),onSkip:()=>Z($)}):$.id===`taskTone`?(0,G.jsx)(Pe,{selectedTasks:ce,onChange:le,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`tools`?(0,G.jsx)(Re,{selectedTools:I,onChange:se,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`priorAssistants`?(0,G.jsx)(Ae,{selectedAssistants:ue,onChange:de,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>{let e=new Set;de(e),Z($,{selectedPriorAssistants:e})}}):$.id===`google`?J?(0,G.jsx)(Te,{assistantId:J,assistantName:V,onConnect:e=>{be(!0),K(e),Z($,{connectedScopes:e})},onSkip:()=>Z($),onBack:()=>Q($)}):null:$.id===`iosApp`?(0,G.jsx)(Ce,{onComplete:()=>Z($)}):null:null}function ot(){return(0,G.jsx)(at,{})}export{ot as PreChatRoute};
@@ -0,0 +1 @@
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{O as i}from"./native-biometric-8C66CwyW.js";import{t as a}from"./react-DJZBPgpf.js";import{p as o}from"./auth-store-CRgW9dVz.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().consentHydrated}function b(){return o.getState().shareAnalytics&&i(`shareAnalytics`,!1)}function x(){if(typeof window>`u`)return``;try{return n(c,``)}catch{return``}}function S(e){if(!(typeof window>`u`))try{e===``?t(c):r(c,e)}catch{}}export{x as a,p as c,l as d,u as f,g as i,m as l,S as m,y as n,b as o,d as p,v as r,h as s,_ as t,f as u};