@vellumai/web 0.8.7 → 0.8.8

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 (648) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/{QueryClientProvider-DP1e6db6.js → QueryClientProvider-DBAeGN3q.js} +1 -1
  3. package/dist/assets/about-page-C4tN0hSY.js +1 -0
  4. package/dist/assets/account-page-e-4zB_8t.js +1 -0
  5. package/dist/assets/{account-shell-D89t6_Jb.js → account-shell-BZu7oVl3.js} +1 -1
  6. package/dist/assets/add-credits-modal-p0gkX1yC.js +1 -0
  7. package/dist/assets/advanced-page-Du0vGXNL.js +1 -0
  8. package/dist/assets/ai-page-BQOcmKeW.js +1 -0
  9. package/dist/assets/{angular-html-e7Q9Y5Gf.js → angular-html-CDXMmzLv.js} +1 -1
  10. package/dist/assets/{angular-ts-BP7VFCBR.js → angular-ts-CaUHVMjx.js} +1 -1
  11. package/dist/assets/api-8hqpGaif.js +39 -0
  12. package/dist/assets/api-errors-DhNZwQy5.js +1 -0
  13. package/dist/assets/api-key-screen-Bgk6XGC1.js +1 -0
  14. package/dist/assets/{apl-DwI9Wj1u.js → apl-BTRFCz7X.js} +1 -1
  15. package/dist/assets/{app-html-cache-B6cw162I.js → app-html-cache-BsFOfI0R.js} +1 -1
  16. package/dist/assets/archive-page-DhDeJH4l.js +1 -0
  17. package/dist/assets/archive-yWA8_b2E.js +1 -0
  18. package/dist/assets/arrow-up-Cev-d0qQ.js +1 -0
  19. package/dist/assets/assistant-feature-flag-store-CNdFPRBD.js +1 -0
  20. package/dist/assets/assistant-identity-store-Y4grVs1H.js +1 -0
  21. package/dist/assets/assistant-status-panel-C3CvCBVl.js +1 -0
  22. package/dist/assets/{astro-BCmlqefZ.js → astro-CKyX7s7R.js} +1 -1
  23. package/dist/assets/auth-store-CYbo7naZ.js +1 -0
  24. package/dist/assets/avatar-api-BfDoaCjw.js +1 -0
  25. package/dist/assets/bell-BFRXSoMR.js +1 -0
  26. package/dist/assets/billing-page-CyTcQ9ki.js +34 -0
  27. package/dist/assets/{blade-C_oa1rmO.js → blade-Rzz0TE8c.js} +1 -1
  28. package/dist/assets/{bsl-MxsMKDUZ.js → bsl-DpFuAvE8.js} +1 -1
  29. package/dist/assets/bug-wSdnBKWO.js +1 -0
  30. package/dist/assets/{button-ClCfFgUi.js → button-Cs9tc8OR.js} +1 -1
  31. package/dist/assets/{cairo-4CIrzX_p.js → cairo-Bobk4atY.js} +1 -1
  32. package/dist/assets/{calendar-ClcXPhg5.js → calendar-xwiYi6y2.js} +1 -1
  33. package/dist/assets/capture-error-1Tr5aMfq.js +1 -0
  34. package/dist/assets/{card-BPyEFYCf.js → card-BcKGvsaa.js} +1 -1
  35. package/dist/assets/check-DqeyrftF.js +1 -0
  36. package/dist/assets/{checkbox-8ce6mjOk.js → checkbox-hJlRqWtn.js} +1 -1
  37. package/dist/assets/chevron-right-CJ0Oykrn.js +1 -0
  38. package/dist/assets/{chevron-up-DQhwayvc.js → chevron-up-C-4xJEr7.js} +1 -1
  39. package/dist/assets/chunk-5KNZJZUH-BpLAEZ0-.js +4 -0
  40. package/dist/assets/{cobol-ClCfxb2U.js → cobol-1CNEp2gA.js} +1 -1
  41. package/dist/assets/{coffee-waI6gGUD.js → coffee-CCurbO7Q.js} +1 -1
  42. package/dist/assets/command-palette-CTF-tqv7.js +1 -0
  43. package/dist/assets/community-page-BWc9-V5m.js +1 -0
  44. package/dist/assets/{confirm-dialog-BGK9Zfu-.js → confirm-dialog-DavdF-L4.js} +1 -1
  45. package/dist/assets/connect-page-DLP-KRIF.js +1 -0
  46. package/dist/assets/contacts-gateway-BF6L_WJp.js +1 -0
  47. package/dist/assets/contacts-page-route-ziTjDj3t.js +1 -0
  48. package/dist/assets/conversation-store-D8-qWog8.js +1 -0
  49. package/dist/assets/{cpp-CCQmmJ0h.js → cpp-D8F2mhyx.js} +1 -1
  50. package/dist/assets/{create-selectors-CNBhdpCN.js → create-selectors-LbkU9b0a.js} +1 -1
  51. package/dist/assets/{createLucideIcon-BAqBudC8.js → createLucideIcon-CSvzx8tc.js} +1 -1
  52. package/dist/assets/{createLucideIcon-B1Lebfcn.js → createLucideIcon-D8wUFCt3.js} +1 -1
  53. package/dist/assets/{crystal-DB9hO8um.js → crystal-BV5GbE2n.js} +1 -1
  54. package/dist/assets/danger-zone-redirect-page-BlS6Bao4.js +1 -0
  55. package/dist/assets/debug-page-B38HF3wu.js +3 -0
  56. package/dist/assets/deploy-dialogs-Ddx6WsXp.js +1 -0
  57. package/dist/assets/{detail-card-akwfTEr9.js → detail-card-Y8InXOgy.js} +1 -1
  58. package/dist/assets/developer-page-CVcwOCG9.js +1 -0
  59. package/dist/assets/device-settings-C07QvMzm.js +1 -0
  60. package/dist/assets/devices-page-4yNwXw0J.js +1 -0
  61. package/dist/assets/{dist-CMQ63vRL.js → dist-3bWmqQYy.js} +1 -1
  62. package/dist/assets/{dist-DrxUCrOq.js → dist-Cb2Epurm.js} +1 -1
  63. package/dist/assets/{dist-DBf_097z.js → dist-Ck9KSeuV.js} +3 -3
  64. package/dist/assets/document-viewer-page-BZqF90o0.js +1 -0
  65. package/dist/assets/{dollar-sign-C0LV31Sq.js → dollar-sign-D_9hooHL.js} +1 -1
  66. package/dist/assets/{domain-field-4zEEJoAw.js → domain-field-CyNgwvDW.js} +1 -1
  67. package/dist/assets/{dropdown-B1HIMQEV.js → dropdown-PPtOL9bp.js} +1 -1
  68. package/dist/assets/earn-credits-modal-BfVEDIqn.js +1 -0
  69. package/dist/assets/{edge-CETRZUcp.js → edge-wZlHrIuI.js} +1 -1
  70. package/dist/assets/edit-chat-session-Bn0bAlP1.js +1 -0
  71. package/dist/assets/effective-timezone-CJWCpcyG.js +1 -0
  72. package/dist/assets/{elixir-CN6m0Ao0.js → elixir-CxYq-rkj.js} +1 -1
  73. package/dist/assets/{ellipsis-vertical-m9z0V1U7.js → ellipsis-vertical-f27t2xXb.js} +1 -1
  74. package/dist/assets/{elm-BDWy6048.js → elm-BgDZWS-i.js} +1 -1
  75. package/dist/assets/emails-page-VM8fJ5kb.js +1 -0
  76. package/dist/assets/{erb-BUWfCQdK.js → erb-DBocu5OY.js} +1 -1
  77. package/dist/assets/{erlang-DeG0-QwJ.js → erlang-Dd9A6Ts8.js} +1 -1
  78. package/dist/assets/esm-B9MFZJ_e.js +2 -0
  79. package/dist/assets/esm-BAXpcEfg.js +2 -0
  80. package/dist/assets/{esm-BXX1q_EH.js → esm-BBKnACgF.js} +2 -2
  81. package/dist/assets/esm-BesMJi2r.js +2 -0
  82. package/dist/assets/esm-Dlx5ghIf.js +2 -0
  83. package/dist/assets/{external-link-dAVFCT-x.js → external-link-CcV79Arv.js} +1 -1
  84. package/dist/assets/feature-flag-catalog-CRgdQmMF.js +1 -0
  85. package/dist/assets/{file-markdown-C_CDJ8On.js → file-markdown-DjJ2NSmS.js} +1 -1
  86. package/dist/assets/{fortran-fixed-form-CK5VRJNd.js → fortran-fixed-form-DMrzopcc.js} +1 -1
  87. package/dist/assets/{fsharp-TVVgzHWp.js → fsharp-C6m4Hy9y.js} +1 -1
  88. package/dist/assets/gateway-session-CaFk8wfN.js +1 -0
  89. package/dist/assets/{gdresource-DiUcyewI.js → gdresource-YKD2wsBt.js} +1 -1
  90. package/dist/assets/general-page-m_m-DrX4.js +1 -0
  91. package/dist/assets/{git-commit-CfOruFrg.js → git-commit-D3W81laO.js} +1 -1
  92. package/dist/assets/{git-rebase-DVfXzZgT.js → git-rebase-D7A-ZIs_.js} +1 -1
  93. package/dist/assets/{glimmer-js-D_KYXH1l.js → glimmer-js-Kj1yb8GI.js} +1 -1
  94. package/dist/assets/{glimmer-ts-rX-yI_50.js → glimmer-ts-CMle0DS9.js} +1 -1
  95. package/dist/assets/{globe-BylK8Ede.js → globe-B6unPYdp.js} +1 -1
  96. package/dist/assets/{glsl-Bk5GBs9i.js → glsl-CGs04uf3.js} +1 -1
  97. package/dist/assets/google-logo-NlVU0R23.js +1 -0
  98. package/dist/assets/{graphql-CYihpPzI.js → graphql-DTpeHwUI.js} +1 -1
  99. package/dist/assets/{hack-D7vPOOKP.js → hack-DCR-U-qQ.js} +1 -1
  100. package/dist/assets/{haml-Cq6p2VV6.js → haml-Cp_ZrdH-.js} +1 -1
  101. package/dist/assets/{handlebars-BMWyPVCo.js → handlebars-DTIya8Eo.js} +1 -1
  102. package/dist/assets/hard-drive-C5ssi802.js +1 -0
  103. package/dist/assets/hatching-screen-CI8iOd8-.js +1 -0
  104. package/dist/assets/home-page-route-ePg1Cu2z.js +1 -0
  105. package/dist/assets/{hosting-screen-B7vnlrdx.js → hosting-screen-CA6XnVWn.js} +1 -1
  106. package/dist/assets/{html-0Gesqw-D.js → html-CCPUpDrQ.js} +1 -1
  107. package/dist/assets/{html-derivative-SbSqYEHY.js → html-derivative-CoL1ACif.js} +1 -1
  108. package/dist/assets/{http-C0YA5Ah8.js → http-BjpN3wdH.js} +1 -1
  109. package/dist/assets/{hurl-DUL8X9Rx.js → hurl-BHqN3hsl.js} +1 -1
  110. package/dist/assets/{hxml-40zZ1t4x.js → hxml-CthMTwgY.js} +1 -1
  111. package/dist/assets/identity-page-route-BcE8OAJ6.js +1 -0
  112. package/dist/assets/impersonate-version-flag-D_S9-Z77.js +1 -0
  113. package/dist/assets/index-Cb930VA2.css +2 -0
  114. package/dist/assets/index-DUwiZuxe.js +124 -0
  115. package/dist/assets/{input-D3ItuUML.js → input-DwAJUlac.js} +1 -1
  116. package/dist/assets/inspect-page-CsvH5Rih.js +2 -0
  117. package/dist/assets/install-OHIUtZSu.js +1 -0
  118. package/dist/assets/integrations-page-B54hIoCi.js +1 -0
  119. package/dist/assets/intelligence-layout-Onjx6_Xb.js +1 -0
  120. package/dist/assets/is-electron-1CyUiqR4.js +1 -0
  121. package/dist/assets/{jinja-BVqbVU68.js → jinja-Bn3xB2ml.js} +1 -1
  122. package/dist/assets/{jison-xwFSCLKt.js → jison-BX4oePNj.js} +1 -1
  123. package/dist/assets/{julia-DdLFwKHG.js → julia-DU_-trts.js} +1 -1
  124. package/dist/assets/{just-C2nSWwTJ.js → just-CyokZPsE.js} +1 -1
  125. package/dist/assets/{latex-DQ-PIViI.js → latex-CHvXrGPz.js} +1 -1
  126. package/dist/assets/{lib-DHNpmqO3.js → lib-h5KT63h9.js} +1 -1
  127. package/dist/assets/library-detail-page-PP_bf3mt.js +1 -0
  128. package/dist/assets/library-page-Cg1IA3a6.js +1 -0
  129. package/dist/assets/{link-2-Diy8IM6e.js → link-2-B0QONFsy.js} +1 -1
  130. package/dist/assets/{liquid-DMN0MxFW.js → liquid-Bs4Sb-po.js} +1 -1
  131. package/dist/assets/llm-dimension-DPVignMk.js +1 -0
  132. package/dist/assets/loader-circle-FEkI0Am4.js +1 -0
  133. package/dist/assets/login-flow-BbsypWKa.js +1 -0
  134. package/dist/assets/login-page-BVX4fr6R.js +1 -0
  135. package/dist/assets/logout-page-BkzePxva.js +1 -0
  136. package/dist/assets/logs-layout-Cs8hHTTu.js +1 -0
  137. package/dist/assets/{lua-OvVIPbKk.js → lua-Dlulix5z.js} +1 -1
  138. package/dist/assets/{marko-tY59QFbN.js → marko-BKY8xXbp.js} +1 -1
  139. package/dist/assets/{mdc-BDW020Pz.js → mdc-DUJqLRSQ.js} +1 -1
  140. package/dist/assets/memory-router-playground-page-4uw1uIhg.js +3 -0
  141. package/dist/assets/{menu-CSSUEe4d.js → menu-0h93UDZw.js} +1 -1
  142. package/dist/assets/minimize-2-H-zinYcX.js +1 -0
  143. package/dist/assets/{misc-C66f1jHd.js → misc-BllImtEn.js} +1 -1
  144. package/dist/assets/{mobile-sidebar-drawer-DDDsJtIP.js → mobile-sidebar-drawer-CSQF2rSV.js} +1 -1
  145. package/dist/assets/{modal-DnazB3IX.js → modal-C7CS3Y_X.js} +1 -1
  146. package/dist/assets/native-biometric-B4t4zElu.js +6 -0
  147. package/dist/assets/{native-file-CiPiCLx5.js → native-file-C2WSS7-h.js} +2 -2
  148. package/dist/assets/{nextflow-B1xq2O8L.js → nextflow-7_68OVU_.js} +1 -1
  149. package/dist/assets/{nginx-DtkpnFEQ.js → nginx-eipJu1bl.js} +1 -1
  150. package/dist/assets/{nim-CzTHLol-.js → nim-CYnL-Wir.js} +1 -1
  151. package/dist/assets/{notice-BD9CxrUF.js → notice-BWm2kHlI.js} +1 -1
  152. package/dist/assets/notifications-page-DRppz7Ms.js +1 -0
  153. package/dist/assets/{oauth-complete-page-DMXoApPv.js → oauth-complete-page-aT6QAfCd.js} +2 -2
  154. package/dist/assets/{oauth-popup-complete-page-BQ1l7eNw.js → oauth-popup-complete-page-ClfKIV61.js} +2 -2
  155. package/dist/assets/{octagon-x-BDjrCKCI.js → octagon-x-Bze4QGjG.js} +1 -1
  156. package/dist/assets/onboarding-layout-DMOume9Z.js +1 -0
  157. package/dist/assets/{page-shell-h1ccSMCk.js → page-shell-C4yGVVNa.js} +1 -1
  158. package/dist/assets/{panel-item-D-eNLUtf.js → panel-item-BPosLg5Y.js} +1 -1
  159. package/dist/assets/password-reset-page-CugjFViT.js +1 -0
  160. package/dist/assets/pcm-downsample-worklet-CwNZrVLe.js +1 -0
  161. package/dist/assets/{pdf-CVDqR2tF.js → pdf-BbxrOchE.js} +1 -1
  162. package/dist/assets/{pencil-CwqXcyAU.js → pencil-CESg1M7c.js} +1 -1
  163. package/dist/assets/{perl-B4xHwQjG.js → perl-D0xJm_ah.js} +1 -1
  164. package/dist/assets/{php-DT-qH75v.js → php-DNtH2WpS.js} +1 -1
  165. package/dist/assets/platform-loopback-page-DSAaBS5p.js +1 -0
  166. package/dist/assets/plugins-page-CYcKA2Ai.js +1 -0
  167. package/dist/assets/{portal-container-BfngoKcF.js → portal-container-CKtYcZfP.js} +1 -1
  168. package/dist/assets/pre-chat-flow-BLHHoHka.js +1 -0
  169. package/dist/assets/privacy-page-HiOgrDR9.js +1 -0
  170. package/dist/assets/privacy-screen-Ca0oGFo0.js +1 -0
  171. package/dist/assets/{progress-bar-DAf2e6k7.js → progress-bar-CgQMQ_UR.js} +1 -1
  172. package/dist/assets/provider-callback-page-DpGReURP.js +1 -0
  173. package/dist/assets/provider-key-DiyETKhK.js +1 -0
  174. package/dist/assets/provider-signup-page-BpqjcKpY.js +1 -0
  175. package/dist/assets/{pug-9GW60ez3.js → pug-DEPEeomQ.js} +1 -1
  176. package/dist/assets/{qml-bVARLFyV.js → qml-C9mVjGBN.js} +1 -1
  177. package/dist/assets/query-tags-yOSQTht4.js +1 -0
  178. package/dist/assets/{razor-X0suMNF3.js → razor-Cyg4V1EK.js} +1 -1
  179. package/dist/assets/react-query.gen-CfXF72qo.js +1 -0
  180. package/dist/assets/resize-errors-C_vO4oid.js +1 -0
  181. package/dist/assets/routes-C-DwSCj0.js +1 -0
  182. package/dist/assets/{rst-D-lNIQCa.js → rst-BiUNp2Fv.js} +1 -1
  183. package/dist/assets/{ruby-26UZxWDm.js → ruby-Bddxezn1.js} +1 -1
  184. package/dist/assets/{sas-CBE_UuH6.js → sas-DAUEkM7Z.js} +1 -1
  185. package/dist/assets/{save-D3FGsinv.js → save-CBzZvuPl.js} +1 -1
  186. package/dist/assets/schedules-mjx6ouZ2.js +1 -0
  187. package/dist/assets/schedules-page-zyXnmD3U.js +1 -0
  188. package/dist/assets/{scss-ClgdEoXG.js → scss-BlEtTolU.js} +1 -1
  189. package/dist/assets/{sdk.gen-1S-e52M3.js → sdk.gen-BO4vbMAj.js} +1 -1
  190. package/dist/assets/sdk.gen-up8j0_uF.js +6 -0
  191. package/dist/assets/selection-store-BCKoLRDh.js +1 -0
  192. package/dist/assets/settings-layout-Bsi8NeES.js +1 -0
  193. package/dist/assets/{shaderlab-mLnpMpN3.js → shaderlab-BH1Q2CVQ.js} +1 -1
  194. package/dist/assets/share-feedback-modal-BgfMO7ED.js +1 -0
  195. package/dist/assets/{shellsession-BKKk1SwW.js → shellsession-BdTXj0Sh.js} +1 -1
  196. package/dist/assets/sidebar-tree-D9JFk5pQ.js +1 -0
  197. package/dist/assets/signup-page-CI7xziFt.js +1 -0
  198. package/dist/assets/skills-page-DrpHzObX.js +1 -0
  199. package/dist/assets/sounds-page-Dw_ASs77.js +1 -0
  200. package/dist/assets/{soy-CXP3FecH.js → soy-B-FcVSYk.js} +1 -1
  201. package/dist/assets/{sparql-tQHB50VD.js → sparql-BjDARHNL.js} +1 -1
  202. package/dist/assets/{src-DDKMtkUH.js → src-Bah0_lDG.js} +2 -2
  203. package/dist/assets/stat-square-CMFH3mHq.js +1 -0
  204. package/dist/assets/{stata-gI3uZdJO.js → stata-Y4GvktLE.js} +1 -1
  205. package/dist/assets/step-indicator-dots-ClKaa4nc.js +1 -0
  206. package/dist/assets/{subagent-detail-panel-Dn212XIu.js → subagent-detail-panel-BcUQAemM.js} +2 -2
  207. package/dist/assets/{surrealql-BAt-qB2q.js → surrealql-BDSKZaSH.js} +1 -1
  208. package/dist/assets/{svelte-_sN3XHz9.js → svelte-CtuvIFmj.js} +1 -1
  209. package/dist/assets/system-events-page-BC0hWcTo.js +1 -0
  210. package/dist/assets/system-events-redirect-page-BrzAhJZT.js +1 -0
  211. package/dist/assets/{tag-DI4G1_a6.js → tag-BkZB4euH.js} +1 -1
  212. package/dist/assets/{target-Bu6hUmcU.js → target-B8JHLfTN.js} +1 -1
  213. package/dist/assets/{templ-DarSKCU_.js → templ-eJUdwoXg.js} +1 -1
  214. package/dist/assets/{tex-C_1xF61R.js → tex-CIRkYPu6.js} +1 -1
  215. package/dist/assets/{tiptap-document-editor-8uu7m7VU.js → tiptap-document-editor-CIVPtfOQ.js} +34 -34
  216. package/dist/assets/{toast-VQEhJ0eG.js → toast-Cii5pffK.js} +1 -1
  217. package/dist/assets/toggle-DGzEs0L1.js +1 -0
  218. package/dist/assets/tool-detail-panel-y2CN1PtJ.js +1 -0
  219. package/dist/assets/trace-page-BX5w9eln.js +1 -0
  220. package/dist/assets/{ts-tags-BW1K_uvA.js → ts-tags-Cza2ueQC.js} +1 -1
  221. package/dist/assets/{twig-D6-NX1lk.js → twig-CXZQ9Ol2.js} +1 -1
  222. package/dist/assets/{typography-C2ZUvvBk.js → typography-PN7B1rrW.js} +1 -1
  223. package/dist/assets/upgrade-cancel-page-KQ4EN_I1.js +1 -0
  224. package/dist/assets/upgrade-success-page-Bmv-ncJ6.js +1 -0
  225. package/dist/assets/usage-page-CXNTUrjR.js +1 -0
  226. package/dist/assets/usage-window-CsjC43Gn.js +1 -0
  227. package/dist/assets/{use-active-assistant-id-CAZ9yruQ.js → use-active-assistant-id-kjFL4dWB.js} +1 -1
  228. package/dist/assets/use-bus-subscription-r105Upoa.js +1 -0
  229. package/dist/assets/use-current-platform-assistant-BXRU4B3R.js +1 -0
  230. package/dist/assets/use-debounced-value-DK0n_BKN.js +1 -0
  231. package/dist/assets/{use-is-mobile-BJcMpFY1.js → use-is-mobile-B9vjoiOp.js} +1 -1
  232. package/dist/assets/use-is-org-ready-Dtde_1TT.js +1 -0
  233. package/dist/assets/use-oauth-complete-deep-link-listener-BkbO4kZ1.js +1 -0
  234. package/dist/assets/{use-reduced-motion-BgUzX4N9.js → use-reduced-motion-GQ_HVFpK.js} +1 -1
  235. package/dist/assets/{useMutation-DiUMH3gL.js → useMutation-DTb3lMvF.js} +1 -1
  236. package/dist/assets/{useQuery-CrONYg8_.js → useQuery-DAtrV0RI.js} +1 -1
  237. package/dist/assets/utils-DfoBtDfL.js +1 -0
  238. package/dist/assets/viewer-store-BIIKltsh.js +1 -0
  239. package/dist/assets/voice-page-D3jl6Uq8.js +1 -0
  240. package/dist/assets/{vue-CH8917up.js → vue-BHoLyUei.js} +1 -1
  241. package/dist/assets/{vue-html-DAE_vUrO.js → vue-html-DkcwChpt.js} +1 -1
  242. package/dist/assets/{vue-vine-CwkqX4-H.js → vue-vine-CWaGKpZ6.js} +1 -1
  243. package/dist/assets/{wand-sparkles-Bm4VWjaY.js → wand-sparkles-CIV_5Oi6.js} +1 -1
  244. package/dist/assets/{weather-forecast-display-DxJH81B2.js → weather-forecast-display-BA-3Q5jY.js} +1 -1
  245. package/dist/assets/{web-BlDUhn8s.js → web-BURo-fbJ.js} +1 -1
  246. package/dist/assets/{web-BmuiGnlM.js → web-Bladjo1x.js} +1 -1
  247. package/dist/assets/{web-CNnkyiJU.js → web-BoYC6fGC.js} +1 -1
  248. package/dist/assets/{web-DYZNxiAf.js → web-ByC97zP5.js} +1 -1
  249. package/dist/assets/{web-DvrlWSfM.js → web-D4HuJomW.js} +1 -1
  250. package/dist/assets/{web-D3bAy1EX.js → web-DhGMOrai.js} +1 -1
  251. package/dist/assets/{web-BJvfEnmz.js → web-St4pj-6p.js} +1 -1
  252. package/dist/assets/welcome-screen-B3oZjIVb.js +1 -0
  253. package/dist/assets/{with-selector-D3piXwNZ.js → with-selector-CZyYmUFz.js} +1 -1
  254. package/dist/assets/workspace-page-CUxLMyKc.js +1 -0
  255. package/dist/assets/x-2OoTSOWJ.js +1 -0
  256. package/dist/assets/x-CwP6G6OK.js +1 -0
  257. package/dist/assets/{xml-ClVI3Y-V.js → xml-CUVPRfsD.js} +1 -1
  258. package/dist/assets/{xsl-fuT90Jp2.js → xsl-imDMVavE.js} +1 -1
  259. package/dist/index.html +93 -97
  260. package/dist/skills/amazon/assets/icon.svg +38 -0
  261. package/dist/skills/api-mapping/assets/icon.svg +18 -0
  262. package/dist/skills/discord-app-setup/assets/icon.svg +1 -0
  263. package/dist/skills/doordash/assets/icon.svg +1 -0
  264. package/dist/skills/elevenlabs-voice/assets/icon.svg +1 -0
  265. package/dist/skills/frontend-design/assets/icon.svg +16 -0
  266. package/dist/skills/gmail/assets/icon.svg +1 -0
  267. package/dist/skills/google-calendar/assets/icon.svg +1 -0
  268. package/dist/skills/inbox-cleanup/assets/icon.svg +1 -0
  269. package/dist/skills/inbox-management/assets/icon.svg +1 -0
  270. package/dist/skills/linear-app-setup/assets/icon.svg +1 -0
  271. package/dist/skills/macos-automation/assets/icon.svg +12 -0
  272. package/dist/skills/mailgun-setup/assets/icon.svg +1 -0
  273. package/dist/skills/meet-join/assets/icon.svg +1 -0
  274. package/dist/skills/notion/assets/icon.svg +1 -0
  275. package/dist/skills/outlook/assets/icon.svg +2 -0
  276. package/dist/skills/outlook-calendar/assets/icon.svg +2 -0
  277. package/dist/skills/sentry-app-setup/assets/icon.svg +1 -0
  278. package/dist/skills/slack/assets/icon.svg +6 -0
  279. package/dist/skills/start-the-day/assets/icon.svg +13 -0
  280. package/dist/skills/stripe-app-setup/assets/icon.svg +1 -0
  281. package/dist/skills/stripe-link-wallet/assets/icon.svg +1 -0
  282. package/dist/skills/tasks/assets/icon.svg +34 -0
  283. package/dist/skills/telegram-setup/assets/icon.svg +1 -0
  284. package/dist/skills/twilio-setup/assets/icon.svg +1 -0
  285. package/dist/skills/vellum-github-app-setup/assets/icon.svg +1 -0
  286. package/dist/skills/vercel-token-setup/assets/icon.svg +1 -0
  287. package/dist/skills/voice-setup/assets/icon.svg +20 -0
  288. package/dist/skills/weather/assets/icon.svg +24 -0
  289. package/dist/theme-init.js +23 -0
  290. package/package.json +1 -1
  291. package/dist/assets/about-page-ChuG04vE.js +0 -1
  292. package/dist/assets/account-page-CrDIY8Z8.js +0 -1
  293. package/dist/assets/add-credits-modal-B6Gzv2vl.js +0 -1
  294. package/dist/assets/advanced-page-DA4ak2EO.js +0 -1
  295. package/dist/assets/ai-page-Ct5PY8Hr.js +0 -1
  296. package/dist/assets/api-B_OFJX14.js +0 -39
  297. package/dist/assets/api-errors-BjIRwVX0.js +0 -1
  298. package/dist/assets/api-key-screen-BOpLfokX.js +0 -1
  299. package/dist/assets/archive-page-rrkQVTUx.js +0 -1
  300. package/dist/assets/arrow-up-C7lv4fdd.js +0 -1
  301. package/dist/assets/assistant-feature-flag-store-eFzXnt31.js +0 -1
  302. package/dist/assets/assistant-identity-store-BKqRKOLL.js +0 -1
  303. package/dist/assets/assistant-status-panel-BhVNBjrt.js +0 -1
  304. package/dist/assets/auth-store-Cr7BV6KS.js +0 -1
  305. package/dist/assets/avatar-api-DUkiMcWB.js +0 -1
  306. package/dist/assets/billing-page-DlfvE46V.js +0 -34
  307. package/dist/assets/book-open-Yb24-Bn6.js +0 -1
  308. package/dist/assets/capture-error-DJfWcKOd.js +0 -1
  309. package/dist/assets/check-eRDPqo7D.js +0 -1
  310. package/dist/assets/command-palette-DFEQaGPU.js +0 -1
  311. package/dist/assets/community-page-bfjkRAbY.js +0 -1
  312. package/dist/assets/connect-page-BxfTgDKB.js +0 -1
  313. package/dist/assets/contacts-gateway-BT27BDPK.js +0 -1
  314. package/dist/assets/contacts-page-route-BM53qHul.js +0 -1
  315. package/dist/assets/danger-zone-redirect-page-QYFHTivZ.js +0 -1
  316. package/dist/assets/debug-page-C21JjoV7.js +0 -3
  317. package/dist/assets/deploy-dialogs-DL4SFMh3.js +0 -1
  318. package/dist/assets/developer-page-C7FApaMa.js +0 -1
  319. package/dist/assets/devices-page-C_sa7TuZ.js +0 -1
  320. package/dist/assets/document-viewer-page-B8z3ETHr.js +0 -1
  321. package/dist/assets/emails-page-CVjBHCVU.js +0 -1
  322. package/dist/assets/esm-BxOT_Vkd.js +0 -2
  323. package/dist/assets/esm-CUmIxxMD.js +0 -2
  324. package/dist/assets/esm-CkwULMW-.js +0 -2
  325. package/dist/assets/esm-Dn1onJZ6.js +0 -2
  326. package/dist/assets/feature-flag-catalog-CQJyyF9F.js +0 -1
  327. package/dist/assets/general-page-C-XDI8b1.js +0 -1
  328. package/dist/assets/hatching-screen-CQMiP_YZ.js +0 -1
  329. package/dist/assets/home-page-route-BV48SfuZ.js +0 -1
  330. package/dist/assets/identity-page-route-DaFpXmRM.js +0 -1
  331. package/dist/assets/index-2iJiOJAP.css +0 -2
  332. package/dist/assets/index-DfyO29JM.js +0 -124
  333. package/dist/assets/inspect-page-BRHBywRp.js +0 -2
  334. package/dist/assets/install-Boxb6bXU.js +0 -1
  335. package/dist/assets/integrations-page-DKaUYB6U.js +0 -1
  336. package/dist/assets/intelligence-layout-Yx83VhoZ.js +0 -1
  337. package/dist/assets/library-detail-page-DUU9C5Qc.js +0 -1
  338. package/dist/assets/library-page-BUn0-GJS.js +0 -1
  339. package/dist/assets/llm-dimension-DCCiYYGK.js +0 -1
  340. package/dist/assets/loader-circle-DnYn_L1c.js +0 -1
  341. package/dist/assets/local-mode-BF1E-bwb.js +0 -1
  342. package/dist/assets/login-flow-Dc8bcgq7.js +0 -1
  343. package/dist/assets/login-page-9B3yYAYY.js +0 -1
  344. package/dist/assets/logout-page-BenaprLt.js +0 -1
  345. package/dist/assets/logs-layout-CtOMkt-f.js +0 -1
  346. package/dist/assets/memory-router-playground-page-B7rYBJ8e.js +0 -3
  347. package/dist/assets/native-biometric-COiHDjMB.js +0 -6
  348. package/dist/assets/native-deep-link-L1RSUDsr.js +0 -1
  349. package/dist/assets/notifications-page-DYD5Qw5v.js +0 -1
  350. package/dist/assets/oauth-popup-CotK0_Xq.js +0 -1
  351. package/dist/assets/onboarding-layout-I064mpdZ.js +0 -1
  352. package/dist/assets/password-reset-page-D4OsnJgN.js +0 -1
  353. package/dist/assets/platform-loopback-page-Bcw-uCmy.js +0 -1
  354. package/dist/assets/plugins-page-CVwuk_Fh.js +0 -1
  355. package/dist/assets/pre-chat-flow-DYzXzK6N.js +0 -1
  356. package/dist/assets/prefs-DV0vPCU6.js +0 -1
  357. package/dist/assets/privacy-page-DgEucH63.js +0 -1
  358. package/dist/assets/privacy-screen-fvwKbeYH.js +0 -1
  359. package/dist/assets/provider-callback-page-CmOAHlCe.js +0 -1
  360. package/dist/assets/provider-key-D3C96Ui0.js +0 -1
  361. package/dist/assets/provider-signup-page-Dc2rsF00.js +0 -1
  362. package/dist/assets/query-tags-Dvidg_LC.js +0 -1
  363. package/dist/assets/react-query.gen-C_ukJxaR.js +0 -1
  364. package/dist/assets/react-query.gen-DHIrHqEw.js +0 -1
  365. package/dist/assets/resize-errors-C3PO9ann.js +0 -1
  366. package/dist/assets/routes-CkBoiJow.js +0 -1
  367. package/dist/assets/schedules-page-Dt3CLJAa.js +0 -1
  368. package/dist/assets/sdk.gen-COjGLNMd.js +0 -6
  369. package/dist/assets/selection-store-DOnhFieO.js +0 -1
  370. package/dist/assets/settings-layout-C3paQQd5.js +0 -1
  371. package/dist/assets/share-feedback-modal-BWQiSujT.js +0 -1
  372. package/dist/assets/sidebar-tree-DfHTF15s.js +0 -1
  373. package/dist/assets/signals-Bbq4C5b5.js +0 -1
  374. package/dist/assets/signup-page-B2t4c1d5.js +0 -1
  375. package/dist/assets/skills-page-ttnkr0rG.js +0 -1
  376. package/dist/assets/sounds-page-CHFdpMOV.js +0 -1
  377. package/dist/assets/stat-square-2U4ZsWYG.js +0 -1
  378. package/dist/assets/step-indicator-dots-D3uPz_Wt.js +0 -1
  379. package/dist/assets/system-events-page-BzrGm2BJ.js +0 -1
  380. package/dist/assets/system-events-redirect-page-CSzUi8Rq.js +0 -1
  381. package/dist/assets/toggle-DnsgdQ9b.js +0 -1
  382. package/dist/assets/tool-detail-panel-Bm-I_Sg7.js +0 -1
  383. package/dist/assets/trace-page-Dy7jGi6u.js +0 -1
  384. package/dist/assets/upgrade-cancel-page-DzKb2rHo.js +0 -1
  385. package/dist/assets/upgrade-success-page-BWo7L3dH.js +0 -1
  386. package/dist/assets/usage-page-CoskbMKy.js +0 -1
  387. package/dist/assets/use-current-platform-assistant-IoT7tVk6.js +0 -1
  388. package/dist/assets/use-debounced-value-6KVCjO4p.js +0 -1
  389. package/dist/assets/use-oauth-complete-deep-link-listener-BdgRkEuE.js +0 -1
  390. package/dist/assets/utils-SlAPWJfm.js +0 -1
  391. package/dist/assets/voice-page-lILDcrkB.js +0 -1
  392. package/dist/assets/welcome-screen-fMQ3U9V8.js +0 -1
  393. package/dist/assets/workspace-page-C0PJjA84.js +0 -1
  394. package/dist/assets/x-BgvySeHo.js +0 -1
  395. package/dist/assets/x-JZSbA73X.js +0 -1
  396. /package/dist/assets/{abap-Cjj2olMr.js → abap-C4iPiDIu.js} +0 -0
  397. /package/dist/assets/{actionscript-3-DCkW7kWC.js → actionscript-3-gKpUxVX1.js} +0 -0
  398. /package/dist/assets/{ada-AEWvZXuX.js → ada-BNfMfhXG.js} +0 -0
  399. /package/dist/assets/{andromeeda-D7cSpME6.js → andromeeda-DLZ1RhgM.js} +0 -0
  400. /package/dist/assets/{apache-DjvX0RSe.js → apache-CmXtX8w8.js} +0 -0
  401. /package/dist/assets/{apex-70xIZ0pH.js → apex-DQ3YjsTJ.js} +0 -0
  402. /package/dist/assets/{applescript-C3qKqxmA.js → applescript-CoELsxRV.js} +0 -0
  403. /package/dist/assets/{ara-iGt2zixk.js → ara-BLqTzepa.js} +0 -0
  404. /package/dist/assets/{asciidoc-Bs2t-06W.js → asciidoc-Bu3NXNp3.js} +0 -0
  405. /package/dist/assets/{asm-B-T0eqhE.js → asm-hlDTKcRV.js} +0 -0
  406. /package/dist/assets/{aurora-x-D3h_9M3E.js → aurora-x-Y3rL1Mno.js} +0 -0
  407. /package/dist/assets/{avatar-bundled-components-CGiGgg87.js → avatar-bundled-components-BKb8hhzM.js} +0 -0
  408. /package/dist/assets/{avatar-svg-compositor-DTokNF3h.js → avatar-svg-compositor-CE52Zi2F.js} +0 -0
  409. /package/dist/assets/{awk-CZwfwpPi.js → awk-fqp6puV8.js} +0 -0
  410. /package/dist/assets/{ayu-dark-DulkglEA.js → ayu-dark-8m2thfgS.js} +0 -0
  411. /package/dist/assets/{ayu-light-DyNQiRpn.js → ayu-light-B_LzrLW4.js} +0 -0
  412. /package/dist/assets/{ayu-mirage-CcEt4xkI.js → ayu-mirage-C408gKdx.js} +0 -0
  413. /package/dist/assets/{ballerina-OhQPjyHS.js → ballerina-Dzhgw61p.js} +0 -0
  414. /package/dist/assets/{bat-DqKcJTUn.js → bat-CM0nyl3e.js} +0 -0
  415. /package/dist/assets/{beancount-BdXlMi8T.js → beancount-DS2zW2gu.js} +0 -0
  416. /package/dist/assets/{berry-DvgY6BkY.js → berry-CFa7Vgeg.js} +0 -0
  417. /package/dist/assets/{bibtex-BSRJq0yM.js → bibtex-BgrhWGNJ.js} +0 -0
  418. /package/dist/assets/{bicep-DpAdumKt.js → bicep-DtHaVZsZ.js} +0 -0
  419. /package/dist/assets/{bird2-rlbtp8di.js → bird2-CwlVhixU.js} +0 -0
  420. /package/dist/assets/{c-BbxWH2Eo.js → c-DHEwyzyt.js} +0 -0
  421. /package/dist/assets/{c3-DqIXz4Ia.js → c3-BjbJ1SWk.js} +0 -0
  422. /package/dist/assets/{cadence-DAJtUpOE.js → cadence-D5TkDw9F.js} +0 -0
  423. /package/dist/assets/{catppuccin-frappe-DUPoeZfb.js → catppuccin-frappe-AYmKAKbn.js} +0 -0
  424. /package/dist/assets/{catppuccin-latte-CK3U68Ql.js → catppuccin-latte-rgEci-mq.js} +0 -0
  425. /package/dist/assets/{catppuccin-macchiato-BzteLnIX.js → catppuccin-macchiato-DK631o7w.js} +0 -0
  426. /package/dist/assets/{catppuccin-mocha-ozLd0aBR.js → catppuccin-mocha-Dxwp0FIj.js} +0 -0
  427. /package/dist/assets/{clarity-6KqEoBfz.js → clarity-RpeFvelS.js} +0 -0
  428. /package/dist/assets/{client.gen-D2FNzKQM.js → client.gen-BKAMS0D0.js} +0 -0
  429. /package/dist/assets/{clojure-B_uBL5C7.js → clojure-CRAC2t-A.js} +0 -0
  430. /package/dist/assets/{clsx-grcm2PBd.js → clsx-BcPLHiun.js} +0 -0
  431. /package/dist/assets/{cmake-B3nxBNmj.js → cmake-CR_x8y9A.js} +0 -0
  432. /package/dist/assets/{cn-T5lqoG0E.js → cn-DIX4PZch.js} +0 -0
  433. /package/dist/assets/{codeowners-DkS-51at.js → codeowners-DCE2DWuf.js} +0 -0
  434. /package/dist/assets/{codeql-rpr1z_mR.js → codeql-DsaJqgmb.js} +0 -0
  435. /package/dist/assets/{common-lisp-BfNbv_W6.js → common-lisp-ssblfVQ2.js} +0 -0
  436. /package/dist/assets/{coq-EAW-1nw0.js → coq-CHVp-7H5.js} +0 -0
  437. /package/dist/assets/{csharp-BE3Gn5bq.js → csharp-DI5xNuVa.js} +0 -0
  438. /package/dist/assets/{css-BdYQVA4T.js → css-cWOM3a0B.js} +0 -0
  439. /package/dist/assets/{csv-B5VtaPtH.js → csv-Bpv-AoF-.js} +0 -0
  440. /package/dist/assets/{cue-jm6lYNrx.js → cue-DDYtbxe3.js} +0 -0
  441. /package/dist/assets/{cypher-DXkvK-pn.js → cypher-llXjaNz7.js} +0 -0
  442. /package/dist/assets/{d-CgG1_yzd.js → d-CKAGFvTZ.js} +0 -0
  443. /package/dist/assets/{dark-plus-CALzcIVB.js → dark-plus-rkBkJwdk.js} +0 -0
  444. /package/dist/assets/{dart-BEVoLlWg.js → dart-DMYKlTVD.js} +0 -0
  445. /package/dist/assets/{dax-H0BW3Q_P.js → dax-DdvjFH0V.js} +0 -0
  446. /package/dist/assets/{definitions-BW9hy2QG.js → definitions-BNrrmgWe.js} +0 -0
  447. /package/dist/assets/{desktop-BtYq1l_0.js → desktop-w1vLnVHT.js} +0 -0
  448. /package/dist/assets/{diff-CnBYdfTg.js → diff-OeXZvF1L.js} +0 -0
  449. /package/dist/assets/{dist-KWOsn0v8.js → dist-C49TvNNR.js} +0 -0
  450. /package/dist/assets/{docker-COBitpld.js → docker-C3A0dfO2.js} +0 -0
  451. /package/dist/assets/{dotenv-CG0x1m7c.js → dotenv-DW1eN_9r.js} +0 -0
  452. /package/dist/assets/{dracula-CLCi47X-.js → dracula-DTBIfZ52.js} +0 -0
  453. /package/dist/assets/{dracula-soft-BMv5cCAV.js → dracula-soft-CrJWuJGa.js} +0 -0
  454. /package/dist/assets/{dream-maker-1Bd4OSww.js → dream-maker-BbcHsNud.js} +0 -0
  455. /package/dist/assets/{emacs-lisp-B-2zKLn-.js → emacs-lisp-CXlankGO.js} +0 -0
  456. /package/dist/assets/{emoji-catalog-data-CmIAmDSt.js → emoji-catalog-data-B2dzgy2b.js} +0 -0
  457. /package/dist/assets/{event-bus-B7MjXE2j.js → event-bus-WRYwtHDl.js} +0 -0
  458. /package/dist/assets/{everforest-dark-BGVynCbV.js → everforest-dark-B2pu_HKn.js} +0 -0
  459. /package/dist/assets/{everforest-light--rn3R7Cm.js → everforest-light-DN0BkMBf.js} +0 -0
  460. /package/dist/assets/{exports-CJ0Uoq7P.js → exports-B_RC9sMS.js} +0 -0
  461. /package/dist/assets/{fennel-SWg9Us_u.js → fennel-Cr6woGT-.js} +0 -0
  462. /package/dist/assets/{fish-B04oqgKk.js → fish-BJg8G7KS.js} +0 -0
  463. /package/dist/assets/{fluent-BefzAGMN.js → fluent-DwMQdbwA.js} +0 -0
  464. /package/dist/assets/{format-DQmCypqv.js → format-B2Cl9naL.js} +0 -0
  465. /package/dist/assets/{format-date-DVD0o0QA.js → format-date-C_j5UjES.js} +0 -0
  466. /package/dist/assets/{fortran-free-form-alw7jMxb.js → fortran-free-form-CzTB9Sqt.js} +0 -0
  467. /package/dist/assets/{gdscript-BAyhvjCx.js → gdscript-weUeMolr.js} +0 -0
  468. /package/dist/assets/{gdshader-Crl09X-B.js → gdshader-iWAUzgYh.js} +0 -0
  469. /package/dist/assets/{genie-BSIGRHu7.js → genie-CV-0RB6d.js} +0 -0
  470. /package/dist/assets/{gherkin-DJhSnSWH.js → gherkin-Bi25xuBx.js} +0 -0
  471. /package/dist/assets/{github-dark-r8C6qwug.js → github-dark-UUFXF3bS.js} +0 -0
  472. /package/dist/assets/{github-dark-default-FVtXjcm8.js → github-dark-default-C5WdYtsR.js} +0 -0
  473. /package/dist/assets/{github-dark-dimmed-CzrUPgSb.js → github-dark-dimmed-CJFXRI6Q.js} +0 -0
  474. /package/dist/assets/{github-dark-high-contrast-1s9rF5EB.js → github-dark-high-contrast-JloQ0SAJ.js} +0 -0
  475. /package/dist/assets/{github-light-BvIWCkl7.js → github-light-4CveJiiC.js} +0 -0
  476. /package/dist/assets/{github-light-default-CVdhzrxV.js → github-light-default-DGIOayrf.js} +0 -0
  477. /package/dist/assets/{github-light-high-contrast-CBAf6hjF.js → github-light-high-contrast-DOA9HriW.js} +0 -0
  478. /package/dist/assets/{gleam-DvL1q7aa.js → gleam-CKtDvnYK.js} +0 -0
  479. /package/dist/assets/{gn-BG5NvwAf.js → gn-lpxxrUCu.js} +0 -0
  480. /package/dist/assets/{gnuplot-BARnM-zG.js → gnuplot-BhYvNHXT.js} +0 -0
  481. /package/dist/assets/{go-DXvjjq4q.js → go-CGiDqZ23.js} +0 -0
  482. /package/dist/assets/{groovy-CRylSKhr.js → groovy-CGHX_PQL.js} +0 -0
  483. /package/dist/assets/{gruvbox-dark-hard-BVPjnqm7.js → gruvbox-dark-hard-WxeIxO0x.js} +0 -0
  484. /package/dist/assets/{gruvbox-dark-medium-U_PDgq0a.js → gruvbox-dark-medium-BrLRvqzP.js} +0 -0
  485. /package/dist/assets/{gruvbox-dark-soft-CkzNtpbr.js → gruvbox-dark-soft-Yzi926sT.js} +0 -0
  486. /package/dist/assets/{gruvbox-light-hard-DfMmR2G8.js → gruvbox-light-hard-Cw9Re-rI.js} +0 -0
  487. /package/dist/assets/{gruvbox-light-medium-BGCak-dd.js → gruvbox-light-medium-4lcJ4wOe.js} +0 -0
  488. /package/dist/assets/{gruvbox-light-soft-DnpM3fkN.js → gruvbox-light-soft-CXfwWDtY.js} +0 -0
  489. /package/dist/assets/{haskell-DXgGIDD_.js → haskell-DBidNlOX.js} +0 -0
  490. /package/dist/assets/{haxe-B7qlTpRz.js → haxe-B6ZewxKA.js} +0 -0
  491. /package/dist/assets/{hcl-ADWfVe_Q.js → hcl-BKeuz7gp.js} +0 -0
  492. /package/dist/assets/{hjson-BaM9gLbq.js → hjson-rgQbq9_i.js} +0 -0
  493. /package/dist/assets/{hlsl-iqaRA4MG.js → hlsl-D7KFXCoM.js} +0 -0
  494. /package/dist/assets/{horizon-BPpTnhB9.js → horizon-DAiINwqJ.js} +0 -0
  495. /package/dist/assets/{horizon-bright-yBLg3QbE.js → horizon-bright-CFeHelVZ.js} +0 -0
  496. /package/dist/assets/{houston-eFOp0ySL.js → houston-BdHxI9BK.js} +0 -0
  497. /package/dist/assets/{hy-BALeMn3i.js → hy-CDDbmdhC.js} +0 -0
  498. /package/dist/assets/{imba-CdGUm_GD.js → imba-CwLWOt59.js} +0 -0
  499. /package/dist/assets/{ini-DG7imsqe.js → ini-Bwb6xY8F.js} +0 -0
  500. /package/dist/assets/{java-j5sjtKwV.js → java-CDWeyxES.js} +0 -0
  501. /package/dist/assets/{javascript-CDM3Byzy.js → javascript-BN3vpbN8.js} +0 -0
  502. /package/dist/assets/{json-BM6IlJL7.js → json-CycFWZcg.js} +0 -0
  503. /package/dist/assets/{json5--Abk7MUy.js → json5-BM_H1TCH.js} +0 -0
  504. /package/dist/assets/{jsonc-C8jb-Z6x.js → jsonc-EUMfb5CQ.js} +0 -0
  505. /package/dist/assets/{jsonl-CaJNxfkm.js → jsonl-DvZe68u2.js} +0 -0
  506. /package/dist/assets/{jsonnet-CPrKMSCU.js → jsonnet-BG4vdzZ4.js} +0 -0
  507. /package/dist/assets/{jssm-DEu-9_uo.js → jssm-DNeKUJR3.js} +0 -0
  508. /package/dist/assets/{jsx-CU_TrSpk.js → jsx-jfTE_lQA.js} +0 -0
  509. /package/dist/assets/{jsx-runtime-D1qe-iBh.js → jsx-runtime-XSukodg_.js} +0 -0
  510. /package/dist/assets/{kanagawa-dragon-DnbcAduF.js → kanagawa-dragon-D9OVubsz.js} +0 -0
  511. /package/dist/assets/{kanagawa-lotus-yxsY3ew8.js → kanagawa-lotus-CSRx4SDl.js} +0 -0
  512. /package/dist/assets/{kanagawa-wave-C2RyvZaM.js → kanagawa-wave-UOuPU6gH.js} +0 -0
  513. /package/dist/assets/{kdl-CvssmvcU.js → kdl-DaJuRpNV.js} +0 -0
  514. /package/dist/assets/{kotlin-jufO49mU.js → kotlin-BNEzAgnJ.js} +0 -0
  515. /package/dist/assets/{kusto-BAFnylR7.js → kusto-BnUa5uHr.js} +0 -0
  516. /package/dist/assets/{laserwave-BgxFC4Ge.js → laserwave-BPO5VXXS.js} +0 -0
  517. /package/dist/assets/{lean-Bgt24V1D.js → lean-Z7O9sZeQ.js} +0 -0
  518. /package/dist/assets/{less-Bk_UaqsM.js → less-9u8t21jj.js} +0 -0
  519. /package/dist/assets/{lib-Bqwb-EmC.js → lib-B020BIem.js} +0 -0
  520. /package/dist/assets/{light-plus-nMxFfInN.js → light-plus-Wc5scgJh.js} +0 -0
  521. /package/dist/assets/{llvm-3_PASDOO.js → llvm-DUPAzzzh.js} +0 -0
  522. /package/dist/assets/{log-CKm0CxB1.js → log-yVIkEnLV.js} +0 -0
  523. /package/dist/assets/{logo-DFP1_5U6.js → logo-BMjRBAP1.js} +0 -0
  524. /package/dist/assets/{loopback-auth-jEbLJO6M.js → loopback-auth-Dclf8zKT.js} +0 -0
  525. /package/dist/assets/{luau-BcZnoyh3.js → luau-CRLNKfW2.js} +0 -0
  526. /package/dist/assets/{make-CpNSwgwT.js → make-ABiaNV_U.js} +0 -0
  527. /package/dist/assets/{markdown-DhU3Djpv.js → markdown-Dn1PAeWy.js} +0 -0
  528. /package/dist/assets/{material-theme-DD5L3OqF.js → material-theme-DKIEc_9D.js} +0 -0
  529. /package/dist/assets/{material-theme-darker-CG2_tD3R.js → material-theme-darker-CKATunxP.js} +0 -0
  530. /package/dist/assets/{material-theme-lighter-CzNkUc9Y.js → material-theme-lighter-Ch4hbIqq.js} +0 -0
  531. /package/dist/assets/{material-theme-ocean-BtLiAaF_.js → material-theme-ocean-DMLBHhVS.js} +0 -0
  532. /package/dist/assets/{material-theme-palenight-Brvjz035.js → material-theme-palenight-rAwveJbA.js} +0 -0
  533. /package/dist/assets/{matlab-CCY0KtMD.js → matlab-nAylgdir.js} +0 -0
  534. /package/dist/assets/{mdx-CH6YY0aS.js → mdx-D21b3pUC.js} +0 -0
  535. /package/dist/assets/{mermaid-Bqh3gFI0.js → mermaid-BpHmCKn1.js} +0 -0
  536. /package/dist/assets/{min-dark-BUwfTzI6.js → min-dark-B0702Ln3.js} +0 -0
  537. /package/dist/assets/{min-light-oLanXCOk.js → min-light-9h8I8ujc.js} +0 -0
  538. /package/dist/assets/{mipsasm-CTh3hPWK.js → mipsasm-CtcdPU2Y.js} +0 -0
  539. /package/dist/assets/{mojo-DXdszZKa.js → mojo-Bv8xbxSD.js} +0 -0
  540. /package/dist/assets/{monokai-TNE_tRxc.js → monokai-R3M-Pkjy.js} +0 -0
  541. /package/dist/assets/{moonbit-jrk-Gx1X.js → moonbit-MUcZ6VT6.js} +0 -0
  542. /package/dist/assets/{move-DItn61bH.js → move-B0DlmhPE.js} +0 -0
  543. /package/dist/assets/{narrat-3kB4dkh0.js → narrat-C1e9cFYb.js} +0 -0
  544. /package/dist/assets/{nextflow-groovy-CSKtwETr.js → nextflow-groovy-WB_Hv0pj.js} +0 -0
  545. /package/dist/assets/{night-owl-Dm91nSIq.js → night-owl-BpHVNbG5.js} +0 -0
  546. /package/dist/assets/{night-owl-light-riwrcPRg.js → night-owl-light-B7XHq6BU.js} +0 -0
  547. /package/dist/assets/{nix-sLgl9zGF.js → nix-Bz43yTHV.js} +0 -0
  548. /package/dist/assets/{nord-TWkJPI6M.js → nord-C3Ef8EYs.js} +0 -0
  549. /package/dist/assets/{nushell-CDZi4-Gf.js → nushell-BDgFfjsp.js} +0 -0
  550. /package/dist/assets/{objective-c-DW9PboNp.js → objective-c-CrKuI4kq.js} +0 -0
  551. /package/dist/assets/{objective-cpp-2XCCX6q1.js → objective-cpp-Cq2sz32p.js} +0 -0
  552. /package/dist/assets/{ocaml-CxPdnjrh.js → ocaml-CaddozqL.js} +0 -0
  553. /package/dist/assets/{odin-BJjlKpkM.js → odin-3oMQ00A0.js} +0 -0
  554. /package/dist/assets/{one-dark-pro-K1KOmBZ7.js → one-dark-pro-Dtx2KhVV.js} +0 -0
  555. /package/dist/assets/{one-light-DQB-vUyZ.js → one-light-BNUXpRjj.js} +0 -0
  556. /package/dist/assets/{openscad-DCoLwn4j.js → openscad-Bl9bEK7K.js} +0 -0
  557. /package/dist/assets/{pascal-z2ktbbWp.js → pascal-DAlnwvFf.js} +0 -0
  558. /package/dist/assets/{pkl-Dyq4-v6z.js → pkl-CUN5bqal.js} +0 -0
  559. /package/dist/assets/{plastic-C4Rq5PnD.js → plastic-BTnTnib5.js} +0 -0
  560. /package/dist/assets/{plsql-BCIjO63y.js → plsql-CSbyze_M.js} +0 -0
  561. /package/dist/assets/{po-_kXpd_0n.js → po-DNd8SYOs.js} +0 -0
  562. /package/dist/assets/{poimandres-C9XggjB3.js → poimandres-Du8CR7IV.js} +0 -0
  563. /package/dist/assets/{polar-DV_1L04z.js → polar-BP89cGjR.js} +0 -0
  564. /package/dist/assets/{postcss-BuqS91mQ.js → postcss-DP5swxmN.js} +0 -0
  565. /package/dist/assets/{powerquery-DK13B2Dc.js → powerquery-8FFmlmIB.js} +0 -0
  566. /package/dist/assets/{powershell-tkuhhtuP.js → powershell-Df4bjjrh.js} +0 -0
  567. /package/dist/assets/{preload-helper-CC9DnTon.js → preload-helper-CS_K7l1U.js} +0 -0
  568. /package/dist/assets/{prisma-WNXfBtpr.js → prisma-GVbmmvVi.js} +0 -0
  569. /package/dist/assets/{prolog-BzEdNKfO.js → prolog-CgVNaQE6.js} +0 -0
  570. /package/dist/assets/{proto-B5meVsrA.js → proto-DQgw5Bn7.js} +0 -0
  571. /package/dist/assets/{public-asset-wtS9_-QU.js → public-asset-CdVbP-K-.js} +0 -0
  572. /package/dist/assets/{puppet-C7h_p4r2.js → puppet-B6qkR0ho.js} +0 -0
  573. /package/dist/assets/{purescript-qH1KxAs6.js → purescript-D6HPYETy.js} +0 -0
  574. /package/dist/assets/{python-DeTIYd5V.js → python-BQxVVqSC.js} +0 -0
  575. /package/dist/assets/{qmldir-4Rm5AvD3.js → qmldir-C4uLs1pY.js} +0 -0
  576. /package/dist/assets/{qss-YRbeNtr0.js → qss-CrbqJ-bS.js} +0 -0
  577. /package/dist/assets/{queryOptions-BlcwdoQQ.js → queryOptions-C_ypb2wA.js} +0 -0
  578. /package/dist/assets/{r-CMso0frX.js → r-BYcMR2CA.js} +0 -0
  579. /package/dist/assets/{racket-gKn4SFLQ.js → racket-CYlA9b-a.js} +0 -0
  580. /package/dist/assets/{raku-DWTmAj3A.js → raku-DskHTPaV.js} +0 -0
  581. /package/dist/assets/{react-BlnqVGWw.js → react-DJZBPgpf.js} +0 -0
  582. /package/dist/assets/{red-BFuHRZFS.js → red-C6BsNewa.js} +0 -0
  583. /package/dist/assets/{reg-DYoOF5tH.js → reg-CVAsZyTh.js} +0 -0
  584. /package/dist/assets/{regexp-B6wC3Alg.js → regexp-CE46xxOu.js} +0 -0
  585. /package/dist/assets/{rel-Z_tTruCU.js → rel-C3ws-d8w.js} +0 -0
  586. /package/dist/assets/{riscv-DfTfKuvU.js → riscv-zwK-GGe7.js} +0 -0
  587. /package/dist/assets/{ron-CsUtW8gQ.js → ron-DKXxeRcR.js} +0 -0
  588. /package/dist/assets/{rose-pine-Dng_vCo6.js → rose-pine-D16YZ514.js} +0 -0
  589. /package/dist/assets/{rose-pine-dawn-Ds88Nezf.js → rose-pine-dawn-C6PC9FaW.js} +0 -0
  590. /package/dist/assets/{rose-pine-moon-DWpzrqNz.js → rose-pine-moon-B-ONpfIN.js} +0 -0
  591. /package/dist/assets/{rosmsg-h2sO84oD.js → rosmsg-Cly8Evf4.js} +0 -0
  592. /package/dist/assets/{rust-Dx86yfCi.js → rust-COkR_9xi.js} +0 -0
  593. /package/dist/assets/{sass-BwwVhdT9.js → sass-DDyX_867.js} +0 -0
  594. /package/dist/assets/{scala-WJqNEN-w.js → scala-BseDqmtP.js} +0 -0
  595. /package/dist/assets/{scheme-uwj-t1Rp.js → scheme-0Ar7fzWG.js} +0 -0
  596. /package/dist/assets/{sdbl-BYy5hgEz.js → sdbl-BjheWPT8.js} +0 -0
  597. /package/dist/assets/{semver-BMhLFfhj.js → semver-DI5hyC-t.js} +0 -0
  598. /package/dist/assets/{shellscript-B9T4z4ZS.js → shellscript-DbCYZXfD.js} +0 -0
  599. /package/dist/assets/{slack-dark-BvhGq5vQ.js → slack-dark-B8yuPDrG.js} +0 -0
  600. /package/dist/assets/{slack-ochin-C9g0ZRFr.js → slack-ochin-DLZ-yxLq.js} +0 -0
  601. /package/dist/assets/{smalltalk-ZEiZ6i7U.js → smalltalk-DhsjsTfs.js} +0 -0
  602. /package/dist/assets/{snazzy-light-29OA24q5.js → snazzy-light-BdZObzxx.js} +0 -0
  603. /package/dist/assets/{solarized-dark-Bnq9IOn_.js → solarized-dark-DnY9BvAi.js} +0 -0
  604. /package/dist/assets/{solarized-light-CYdI7T5g.js → solarized-light-BfrwmYru.js} +0 -0
  605. /package/dist/assets/{solidity-DcuIDB-_.js → solidity-DPjYkHh9.js} +0 -0
  606. /package/dist/assets/{splunk-D5ONE91g.js → splunk-aauv22i7.js} +0 -0
  607. /package/dist/assets/{sql-CFgcYxpU.js → sql-ChQ8ry3n.js} +0 -0
  608. /package/dist/assets/{ssh-config-D8717tLI.js → ssh-config-Dz6ViL0P.js} +0 -0
  609. /package/dist/assets/{stylus-Cm1lO4Y6.js → stylus-BOOipACK.js} +0 -0
  610. /package/dist/assets/{swift-X8oWpSeU.js → swift-m0EGSEdy.js} +0 -0
  611. /package/dist/assets/{synthwave-84-DF-t1UKY.js → synthwave-84-BgN63B7_.js} +0 -0
  612. /package/dist/assets/{system-verilog-JYyHFpPf.js → system-verilog-DA9NXNZH.js} +0 -0
  613. /package/dist/assets/{systemd-Da-5Ma_c.js → systemd-6ndOYGhY.js} +0 -0
  614. /package/dist/assets/{talonscript-CXraVPho.js → talonscript-B8LuZYir.js} +0 -0
  615. /package/dist/assets/{tasl-BCmWezH9.js → tasl-xnHVT9C9.js} +0 -0
  616. /package/dist/assets/{tcl-BTufzfbf.js → tcl-BODTsuI7.js} +0 -0
  617. /package/dist/assets/{terraform-CtUA9c8W.js → terraform-BKPIDy8E.js} +0 -0
  618. /package/dist/assets/{tokyo-night-BCThYXmz.js → tokyo-night-DL0vCNuB.js} +0 -0
  619. /package/dist/assets/{toml-D5YlDr6Y.js → toml-DFQNE4Bb.js} +0 -0
  620. /package/dist/assets/{tsv-CBB-P_Sl.js → tsv-CiCFnPYM.js} +0 -0
  621. /package/dist/assets/{tsx-BEBsk4Yi.js → tsx-r66DnitA.js} +0 -0
  622. /package/dist/assets/{turtle-D8PCeJ-v.js → turtle-D6TqBP-R.js} +0 -0
  623. /package/dist/assets/{typescript-lcLHehw2.js → typescript-DywEkG3h.js} +0 -0
  624. /package/dist/assets/{typespec-CHxldxIW.js → typespec-CGjgqr9W.js} +0 -0
  625. /package/dist/assets/{typst-Q8CqX5OR.js → typst-Bx-thO8d.js} +0 -0
  626. /package/dist/assets/{v-Bf2hKAMu.js → v-4VB7M7V1.js} +0 -0
  627. /package/dist/assets/{vala-Cbete-UE.js → vala-DyD7epks.js} +0 -0
  628. /package/dist/assets/{vb-CA-xWAcX.js → vb-MkcXsT7p.js} +0 -0
  629. /package/dist/assets/{verilog-B3wb8CfT.js → verilog-CxKKBB7K.js} +0 -0
  630. /package/dist/assets/{vesper-D6r3VJq_.js → vesper-BWWaFc_5.js} +0 -0
  631. /package/dist/assets/{vhdl-C42S_797.js → vhdl-FnKcRQFJ.js} +0 -0
  632. /package/dist/assets/{viml-BePrIAs8.js → viml-CLoIdFzC.js} +0 -0
  633. /package/dist/assets/{vitesse-black-DRqn61Ck.js → vitesse-black-LsvPTIiF.js} +0 -0
  634. /package/dist/assets/{vitesse-dark-39_8UE-w.js → vitesse-dark-xzpAWWRe.js} +0 -0
  635. /package/dist/assets/{vitesse-light-B1jwrxDm.js → vitesse-light-Dw68nIQJ.js} +0 -0
  636. /package/dist/assets/{vyper-tDJv3imF.js → vyper-DMsUwnVX.js} +0 -0
  637. /package/dist/assets/{wasm-BYoJCXXt.js → wasm-CGZ0ykRa.js} +0 -0
  638. /package/dist/assets/{wasm-DR7eskZH.js → wasm-ic38CN6z.js} +0 -0
  639. /package/dist/assets/{wenyan-CezVfqN3.js → wenyan-COLZAIZW.js} +0 -0
  640. /package/dist/assets/{wgsl-CwOcIiIG.js → wgsl-D-u1_3zX.js} +0 -0
  641. /package/dist/assets/{wikitext-C5coomYc.js → wikitext-l1E17Wn7.js} +0 -0
  642. /package/dist/assets/{wit-C9yyX6-U.js → wit-BW55uw8a.js} +0 -0
  643. /package/dist/assets/{wolfram-BWi0rMAa.js → wolfram-C0owoV7l.js} +0 -0
  644. /package/dist/assets/{xterm-Dsv8Be_e.js → xterm-AXHTOo82.js} +0 -0
  645. /package/dist/assets/{xterm-addon-fit-C__pvf5w.js → xterm-addon-fit-CfpfPbfB.js} +0 -0
  646. /package/dist/assets/{yaml-FxJ2oirE.js → yaml-DP2H7z8n.js} +0 -0
  647. /package/dist/assets/{zenscript-Do7WLoJh.js → zenscript-ChRsLAgZ.js} +0 -0
  648. /package/dist/assets/{zig-Cr80Qrru.js → zig-s66PLVk_.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{h as t}from"./native-biometric-COiHDjMB.js";import{t as n}from"./react-BlnqVGWw.js";import{n as r}from"./auth-store-Cr7BV6KS.js";import{t as i}from"./jsx-runtime-D1qe-iBh.js";import{i as a}from"./routes-CkBoiJow.js";import{at as o,ni as s}from"./index-DfyO29JM.js";import{r as c,t as l}from"./account-shell-D89t6_Jb.js";var u=e(n(),1),d=i();function f(){let[e]=s(),n=r.use.logout(),i=(0,u.useRef)(!1);return(0,u.useEffect)(()=>{if(i.current)return;i.current=!0;let r=t(e.get(`returnTo`),a.account.login),s=r.startsWith(`http`)||r===a.account.login?r:`${a.account.login}?returnTo=${encodeURIComponent(r)}`,c=!1;return n().then(()=>{c||o(s)},()=>{c||o(s)}),()=>{c=!0}},[n,e]),(0,d.jsx)(l,{children:(0,d.jsx)(c,{title:`Signing out...`})})}export{f as LogoutPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./jsx-runtime-D1qe-iBh.js";import{i as r}from"./routes-CkBoiJow.js";import{t as i}from"./createLucideIcon-B1Lebfcn.js";import{$r as a,Qr as o,Yt as s,_r as c,yn as l}from"./index-DfyO29JM.js";import{n as u,t as d}from"./sidebar-tree-DfHTF15s.js";var f=i(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),p=e(t(),1),m=[{id:`usage`,label:`Usage`,href:r.logs.usage,icon:c},{id:`logs`,label:`Logs`,href:r.logs.trace,icon:s},{id:`emails`,label:`Emails`,href:r.logs.emails,icon:l},{id:`system-events`,label:`System Events`,href:r.logs.systemEvents,icon:f}],h=n();function g(){let{pathname:e}=a(),t=(0,p.useMemo)(()=>{let t=m.find(t=>e===t.href||e.startsWith(t.href+`/`));return t?t.label:e===r.logs.root?m[0]?.label??`Logs & Usage`:`Logs & Usage`},[e]);return(0,h.jsx)(u,{backHref:r.assistant,sidebar:(0,h.jsx)(d,{items:m}),title:t,menuRoute:r.logs.root,children:(0,h.jsx)(o,{})})}export{g as LogsLayout};
@@ -1,3 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./auth-store-Cr7BV6KS.js";import{t as r}from"./useQuery-CrONYg8_.js";import{t as i}from"./useMutation-DiUMH3gL.js";import{t as a}from"./jsx-runtime-D1qe-iBh.js";import{t as o}from"./card-BPyEFYCf.js";import"./src-DDKMtkUH.js";import{ct as s,d as c,ot as l,st as u}from"./sdk.gen-COjGLNMd.js";import{qr as d,st as f}from"./index-DfyO29JM.js";import{t as p}from"./use-active-assistant-id-CAZ9yruQ.js";var m=e(t(),1),h=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function g(e,t,n){let{data:r,response:i}=await s({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new h(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new h(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:_(a)}}function _(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function v(e){return i({mutationFn:async t=>{if(!e)throw new h(0,`Missing assistantId`);return g(e,t)}})}async function y(e,t){let{data:n,response:r}=await c({path:{assistant_id:e},signal:t,throwOnError:!1});if(!r||!r.ok)throw new h(r?.status??0,r?.statusText??`Failed to load LLM profiles`);if(!n)throw new h(r.status,`Empty response from profile list endpoint`);return n}function b(e){return r({queryKey:[`llm-profiles`,e],queryFn:async({signal:t})=>{if(!e)throw new h(0,`Missing assistantId`);return y(e,t)},enabled:!!e,staleTime:6e4})}async function x(e,t){let{data:n,response:r}=await u({path:{assistant_id:e},signal:t,throwOnError:!1});if(!r||!r.ok)throw new h(r?.status??0,r?.statusText??`Failed to load router prompt template`);if(!n)throw new h(r.status,`Empty response from router prompt template endpoint`);return n}function S(e){return r({queryKey:[`router-prompt-template`,e],queryFn:async({signal:t})=>{if(!e)throw new h(0,`Missing assistantId`);return x(e,t)},enabled:!!e,staleTime:1440*60*1e3})}async function C(e,t){let{data:n,response:r}=await l({path:{assistant_id:e},signal:t,throwOnError:!1});if(!r||!r.ok)throw new h(r?.status??0,r?.statusText??`Failed to load NOW.md`);if(!n)throw new h(r.status,`Empty response from now-text endpoint`);return n}function w(e){return r({queryKey:[`memory-router-now-text`,e],queryFn:async({signal:t})=>{if(!e)throw new h(0,`Missing assistantId`);return C(e,t)},enabled:!!e,staleTime:1/0})}var T=a();function E(){let e=n.use.user(),t=n.use.isLoading(),r=d.use.memoryRouterPlayground();return t?(0,T.jsx)($,{children:`Loading…`}):!f(e)||!r?(0,T.jsx)($,{children:`Memory router playground is not available.`}):(0,T.jsx)(O,{})}var D={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function O(){let e=p(),t=v(e),n=v(e),r=b(e),i=S(e),a=w(e),[o,s]=(0,m.useState)(``),[c,l]=(0,m.useState)([{assistantMessage:``,userMessage:``}]),[u,d]=(0,m.useState)(!1);(0,m.useEffect)(()=>{if(u)return;let e=a.data?.nowText;typeof e==`string`&&o===``&&s(e)},[a.data?.nowText,o,u]);let[f,h]=(0,m.useState)(D),[g,_]=(0,m.useState)(D),[y,x]=(0,m.useState)(null),[C,E]=(0,m.useState)(null),O=c[c.length-1].userMessage,A=e=>{let r=e===`A`?f:g,i=e===`A`?x:E,a=e===`A`?t:n;i(null);let s;try{s=k(r)}catch(e){i(e instanceof Error?e.message:`Invalid override input`);return}let l=r.profile.trim().length>0?r.profile:void 0,u=r.customPrompt.trim().length>0?r.customPrompt:void 0,d=c.map((e,t)=>t===c.length-1?{...e,userMessage:e.userMessage.trim()}:e);a.mutate({recentTurnPairs:d,nowText:o,...s?{configOverrides:s}:{},...l===void 0?{}:{profileOverride:l},...u===void 0?{}:{routerPromptOverride:u}})},j=()=>{A(`A`),A(`B`)},N=O.trim().length>0,P=N&&!t.isPending,F=N&&!n.isPending;return(0,T.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,T.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,T.jsx)(ee,{}),(0,T.jsx)(te,{nowText:o,onNowTextChange:e=>{d(!0),s(e)},onReloadNowText:()=>{let e=a.data?.nowText;typeof e==`string`&&(s(e),d(!1))},nowTextLoading:a.isLoading,pairs:c,onPairsChange:l}),(0,T.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,T.jsx)(M,{paneId:`A`,overrides:f,onChange:h,onRun:()=>A(`A`),canRun:P,isRunning:t.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``}),(0,T.jsx)(M,{paneId:`B`,overrides:g,onChange:_,onRun:()=>A(`B`),canRun:F,isRunning:n.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``})]}),(0,T.jsx)(`div`,{className:`flex justify-end`,children:(0,T.jsx)(ne,{onClick:j,disabled:!N||t.isPending||n.isPending,isRunning:t.isPending||n.isPending})}),(0,T.jsx)(re,{visible:t.data!==void 0&&n.data!==void 0}),(0,T.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,T.jsx)(L,{paneId:`A`,userMessage:O,mutation:t,otherResult:n.data?.response,validation:y}),(0,T.jsx)(L,{paneId:`B`,userMessage:O,mutation:n,otherResult:t.data?.response,validation:C})]})]})})}function k(e){let t={...A(`tier1_size`,e.tier1),...A(`tier2_size`,e.tier2),...A(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function A(e,t){let n=t.trim();if(n===``)return{};if(n===`null`)return{[e]:null};let r=Number(n);if(!Number.isInteger(r)||r<1)throw Error(`${e} must be a positive integer or 'null' (got "${n}")`);return{[e]:r}}function ee(){return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:`Memory Router Playground`}),(0,T.jsxs)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[`Dry-run the v4 router with custom tier/batch overrides. Read-only — no rows are written to `,(0,T.jsx)(`code`,{children:`memory_v2_injection_events`}),` or`,` `,(0,T.jsx)(`code`,{children:`memory_v2_activation_logs`}),`, and no activation state is mutated. Leave an override blank to inherit the live config value; enter`,` `,(0,T.jsx)(`code`,{children:`null`}),` to explicitly disable a tier.`]})]})}function te({nowText:e,onNowTextChange:t,onReloadNowText:n,nowTextLoading:r,pairs:i,onPairsChange:a}){let s=(e,t)=>{a(i.map((n,r)=>r===e?{...n,...t}:n))},c=()=>{a([{assistantMessage:``,userMessage:``},...i])},l=e=>{e!==i.length-1&&a(i.filter((t,n)=>n!==e))};return(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,T.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Conversational context (shared by both panes)`}),(0,T.jsx)(j,{id:`memory-router-playground-now`,label:`<now> block`,value:e,onChange:t,rows:6,monospace:!0,placeholder:r?`Loading current NOW.md…`:`Pre-filled with the live NOW.md. Edit to test alternate states.`,trailing:(0,T.jsx)(`button`,{type:`button`,onClick:n,disabled:r,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r?`not-allowed`:`pointer`},children:`Reload live NOW.md`})}),(0,T.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,T.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`Recent (assistant, user) pairs · oldest first`}),(0,T.jsx)(`button`,{type:`button`,onClick:c,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:`+ Add older pair`})]}),i.map((e,t)=>{let n=t===i.length-1;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,T.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,T.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[`Pair `,t+1,` of `,i.length,n?` · most recent`:``]}),!n&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>l(t),className:`rounded px-2 py-1 text-label-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:`Remove`})]}),(0,T.jsx)(j,{id:`memory-router-playground-pair-${t}-assistant`,label:`[assistant]: reply`,value:e.assistantMessage,onChange:e=>s(t,{assistantMessage:e}),rows:3,placeholder:t===0&&i.length===1?`Leave blank for a first-turn scenario.`:`Assistant's reply that came before the user message below.`}),(0,T.jsx)(j,{id:`memory-router-playground-pair-${t}-user`,label:n?`Just-arrived [user]: message`:`[user]: message`,value:e.userMessage,onChange:e=>s(t,{userMessage:e}),rows:3,placeholder:n?`e.g. what should we ship next`:`User's message.`,required:n})]},t)})]})})}function j({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,T.jsxs)(`label`,{htmlFor:e,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,T.jsx)(`textarea`,{id:e,value:n,onChange:e=>r(e.target.value),rows:i,placeholder:a,className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,resize:`vertical`,...o?{fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`}:{}}})]})}function M({paneId:e,overrides:t,onChange:n,onRun:r,canRun:i,isRunning:a,profiles:s,activeProfile:c,defaultPromptTemplate:l}){return(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,T.jsxs)(`div`,{className:`text-body-medium-default`,style:{color:Y(e)},children:[`Config `,e]}),(0,T.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,T.jsx)(F,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>n({...t,tier1:e})}),(0,T.jsx)(F,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>n({...t,tier2:e})}),(0,T.jsx)(F,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>n({...t,batch:e})})]}),(0,T.jsx)(P,{paneId:e,value:t.profile,onChange:e=>n({...t,profile:e}),profiles:s,activeProfile:c}),(0,T.jsx)(N,{paneId:e,value:t.customPrompt,onChange:e=>n({...t,customPrompt:e}),defaultTemplate:l}),(0,T.jsx)(`div`,{className:`flex justify-end`,children:(0,T.jsx)(`button`,{type:`button`,onClick:r,disabled:!i,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:i?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:i?`var(--content-on-positive)`:`var(--content-disabled)`,border:`none`,cursor:i?`pointer`:`not-allowed`},children:a?`Running…`:`Run ${e}`})})]})})}function N({paneId:e,value:t,onChange:n,defaultTemplate:r}){let[i,a]=(0,m.useState)(!1),o=`memory-router-playground-${e}-prompt`,s=t.trim().length>0;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,T.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[i?`▾`:`▸`,` System prompt`,` `,(0,T.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,s?`custom`:`bundled`,`)`]})]}),i&&(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:`Load default`}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!s,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:s?`pointer`:`not-allowed`},children:`Reset`})]})]}),i&&(0,T.jsx)(`textarea`,{id:o,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:`Custom router system prompt. Available placeholders:
2
- {{ASSISTANT_NAME}}, {{USER_NAME}}, {{PAGE_INDEX}}
3
- Leave blank to use the bundled template. "Load default" seeds the textarea with the bundled body for editing.`,className:`rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,resize:`vertical`,minHeight:`120px`}})]})}function P({paneId:e,value:t,onChange:n,profiles:r,activeProfile:i}){let a=`memory-router-playground-${e}-profile`,o=i!==null&&i.length>0?`inherit active (${i})`:`inherit active`;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(`label`,{htmlFor:a,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`llm.profiles override`}),(0,T.jsxs)(`select`,{id:a,value:t,onChange:e=>n(e.target.value),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`},children:[(0,T.jsx)(`option`,{value:``,children:o}),r.map(e=>(0,T.jsx)(`option`,{value:e,children:e},e))]})]})}function F({paneId:e,label:t,value:n,onChange:r}){let i=`memory-router-playground-${e}-${t}`;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(`label`,{htmlFor:i,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:t}),(0,T.jsx)(`input`,{id:i,value:n,onChange:e=>r(e.target.value),placeholder:`inherit`,className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`}})]})}function ne({onClick:e,disabled:t,isRunning:n}){return(0,T.jsx)(`button`,{type:`button`,onClick:e,disabled:t,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:t?`var(--surface-overlay)`:`var(--primary-base)`,color:t?`var(--content-disabled)`:`var(--content-on-primary)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:n?`Running…`:`Run both`})}function re({visible:e}){return e?(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`},children:[(0,T.jsx)(I,{marker:`●`,markerColor:`var(--content-default)`,label:`in both`}),(0,T.jsx)(I,{marker:`◆`,markerColor:Y(`A`),label:`A only`}),(0,T.jsx)(I,{marker:`◇`,markerColor:Y(`B`),label:`B only`})]}):null}function I({marker:e,markerColor:t,label:n}){return(0,T.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,T.jsx)(`span`,{style:{color:t},children:e}),(0,T.jsx)(`span`,{children:n})]})}function L({paneId:e,userMessage:t,mutation:n,otherResult:r,validation:i}){let a=n.data;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,T.jsx)(B,{paneId:e}),i!==null&&(0,T.jsx)(Q,{message:i}),n.isError&&(0,T.jsx)(Q,{message:n.error instanceof Error?n.error.message:`Failed to run simulation`}),a!==void 0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(V,{paneId:e,userMessage:t,result:a.response,otherResult:r}),(0,T.jsx)(R,{paneId:e,rawRequest:a.rawRequest,rawResponse:a.rawResponse})]})]})}function R({paneId:e,rawRequest:t,rawResponse:n}){let[r,i]=(0,m.useState)(!1);return(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,T.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[r?`▾`:`▸`,` Raw API exchange`]}),r&&(0,T.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,T.jsx)(z,{label:`Request (Pane ${e})`,body:t}),(0,T.jsx)(z,{label:`Response (Pane ${e})`,body:n})]})]})})}function z({label:e,body:t}){return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,T.jsx)(`pre`,{className:`overflow-auto rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,maxHeight:`320px`,whiteSpace:`pre`},children:t.length===0?`(empty)`:t})]})}function B({paneId:e}){return(0,T.jsxs)(`div`,{className:`text-body-medium-default`,style:{color:Y(e)},children:[`Pane `,e]})}function V({paneId:e,userMessage:t,result:n,otherResult:r}){let i=(0,m.useMemo)(()=>H(n,r),[n,r]),a=(0,m.useMemo)(()=>K(n),[n]);return(0,T.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,T.jsx)(W,{result:n,userMessage:t,otherResult:r,counts:(0,m.useMemo)(()=>U(i),[i])}),(0,T.jsx)(G,{result:n}),n.failureReason!==null&&(0,T.jsx)(Q,{message:`Router failure: ${n.failureReason}`}),a.length===0?(0,T.jsx)(ae,{}):a.map(t=>(0,T.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:i},t.source))]})}function H(e,t){let n=new Map;if(t===void 0){for(let t of e.selectedSlugs)n.set(t,`both`);return n}let r=new Set(t.selectedSlugs);for(let t of e.selectedSlugs)n.set(t,r.has(t)?`both`:`only-here`);return n}function U(e){let t=0,n=0;for(let r of e.values())r===`both`?t++:n++;return{total:e.size,shared:t,unique:n}}function W({result:e,userMessage:t,otherResult:n,counts:r}){let i=[{label:`User message`,value:t},{label:`Total candidate pages`,value:e.totalCandidatePages.toLocaleString()},{label:`Selected`,value:`${e.selectedSlugs.length} (live max_page_ids: ${e.effectiveConfig.max_page_ids})`}];return n!==void 0&&i.push({label:`Diff`,value:`${r.shared} shared · ${r.unique} unique to this pane`}),(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,T.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Summary`}),(0,T.jsx)(Z,{rows:i})]})})}function G({result:e}){let t=[`tier1_size`,`tier2_size`,`batch_size`,`max_page_ids`].map(t=>{let n=e.effectiveConfig[t],r=e.overrides[t];return{label:t,value:`${n===null?`null`:String(n)}${r===void 0?``:` (override)`}`}});return t.push({label:`llm.profiles override`,value:e.profileOverride===null?`inherit active`:`${e.profileOverride} (override)`}),t.push({label:`system prompt`,value:e.routerPromptOverridden?`custom`:`bundled`}),(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,T.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Effective config`}),(0,T.jsx)(Z,{rows:t})]})})}function K(e){let t=new Map;for(let n of e.selectedSlugs){let r=e.sourceBySlug[n];if(r===void 0)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return[...t.keys()].sort((e,t)=>q(e)-q(t)).map(e=>({source:e,slugs:t.get(e)}))}function q(e){return e===`tier1`?0:e===`tier2`?1:e.startsWith(`tier3:`)?2+Number(e.slice(6)):2**53-1}function J(e){return e===`tier1`?`tier 1`:e===`tier2`?`tier 2`:e.startsWith(`tier3:`)?`tier 3 · b${e.slice(6)}`:e}function Y(e){return e===`A`?`var(--system-mid-strong)`:`var(--primary-base)`}function X(e,t){return t===`both`?{color:`var(--content-default)`,marker:`●`}:{color:Y(e),marker:e===`A`?`◆`:`◇`}}function ie({paneId:e,source:t,slugs:n,scores:r,diff:i}){return(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,T.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,T.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:J(t)}),(0,T.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[n.length,` `,n.length===1?`page`:`pages`]})]}),(0,T.jsx)(`ul`,{className:`flex flex-col gap-1`,children:n.map(n=>{let{color:a,marker:o}=X(e,i.get(n)??`only-here`);return(0,T.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,T.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,T.jsx)(`span`,{style:{color:a},children:o}),(0,T.jsx)(`code`,{className:`text-body-medium-default`,style:{color:a},children:n})]}),t===`tier2`&&(0,T.jsxs)(`span`,{className:`tabular-nums text-label-default`,style:{color:`var(--content-secondary)`},children:[`EMA `,(r[n]??0).toFixed(3)]})]},n)})})]})})}function ae(){return(0,T.jsx)(o,{children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,T.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`No pages selected`}),(0,T.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`The router returned an empty selection. Try a more specific query, or relax the override values.`})]})})}function Z({rows:e}){return(0,T.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(({label:e,value:t})=>(0,T.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,T.jsx)(`span`,{className:`shrink-0 text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,T.jsx)(`span`,{className:`text-right text-body-medium-lighter`,style:{color:`var(--content-default)`},children:t})]},e))})}function Q({message:e}){return(0,T.jsx)(`div`,{className:`rounded-md px-4 py-3 text-body-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--system-negative-strong)`},children:e})}function $({children:e}){return(0,T.jsx)(`div`,{className:`flex h-full w-full items-center justify-center p-8 text-label-default`,style:{color:`var(--content-tertiary)`},children:e})}export{E as MemoryRouterPlaygroundPage};
@@ -1,6 +0,0 @@
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-BlnqVGWw.js";import{T as a}from"./local-mode-BF1E-bwb.js";import{i as o,t as s}from"./dist-KWOsn0v8.js";import{i as c}from"./routes-CkBoiJow.js";var l={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`},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`},lastUserId:{key:`device:last_user_id`,legacy:`onboarding.lastUserId`}};function u(e){return l[e].key}function d(e,t){if(typeof window>`u`)return t;let n=l[e];try{return localStorage.getItem(n.key)??localStorage.getItem(n.legacy)??t}catch{return t}}function f(e,t){r(l[e].key,t)}function p(e,t){if(typeof window>`u`)return t;let n=l[e];try{let e=localStorage.getItem(n.key)??localStorage.getItem(n.legacy);if(e===`true`)return!0;if(e===`false`)return!1}catch{}return t}function m(e,n){t(l[e].key,n)}function h(e,t){return n(l[e].key,t)}function ee(){if(!(typeof window>`u`))try{for(let e of Object.values(l)){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 te={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function ne({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 g=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},_=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},re=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},v=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(_(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=g(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):y({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},y=({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)}`},b=({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=re(r),s=Object.entries(i).map(([t,i])=>y({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},ie=/\{[^{}]+\}/g,ae=({path:e,url:t})=>{let n=t,r=t.match(ie);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,v({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,b({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${y({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},x=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=ae({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 C=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},w=({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=v({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=b({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=y({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},oe=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`}},se=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,ce=async({security:e,...t})=>{for(let n of e){if(se(t,n.name))continue;let e=await C(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}}},T=e=>x({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:w(e.querySerializer),url:e.url}),E=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=D(e.headers,t.headers),n},le=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},D=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?le(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},O=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}},ue=()=>({error:new O,request:new O,response:new O}),de=w({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),fe={"Content-Type":`application/json`},k=(e={})=>({...te,headers:fe,parseAs:`auto`,querySerializer:de,...e}),A=((e={})=>{let t=E(k(),e),n=()=>({...t}),r=e=>(t=E(t,e),n()),i=ue(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:D(t.headers,e.headers),serializedBody:void 0};n.security&&await ce({...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:T(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`?oe(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 ne({...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=>T({...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`)}})(k()),pe=e=>(e.client??A).get({url:`/_allauth/{client}/v1/auth/provider/signup`,...e}),me=e=>(e.client??A).post({url:`/_allauth/{client}/v1/auth/provider/signup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),he=e=>(e.client??A).delete({url:`/_allauth/{client}/v1/auth/session`,...e}),j=e=>(e.client??A).get({url:`/_allauth/{client}/v1/auth/session`,...e});function M(e){return!e.ok&&e.status===409}function N(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 P(){let{data:e,error:t,response:n}=await j({path:{client:`browser`}});return e?{ok:!0,data:e.data}:N(t,n?.status)}async function F(){let{data:e,error:t,response:n}=await he({path:{client:`browser`}});return e?{ok:!0,data:e}:n?.status===401?{ok:!0,data:{}}:N(t,n?.status)}async function I(){let{data:e,error:t,response:n}=await pe({path:{client:`browser`}});return e?{ok:!0,data:e.data}:N(t,n?.status)}async function L({email:e,username:t}){let{data:n,error:r,response:i}=await me({path:{client:`browser`},body:{email:e,username:t}});return n?{ok:!0,data:n.data}:N(r,i?.status)}var R=`__Secure-csrftoken`;function z(){return document.cookie.split(`; `).findLast(e=>e.startsWith(`${R}=`))?.split(`=`).slice(1).join(`=`)}function ge(){document.cookie.split(`; `).filter(e=>e.startsWith(`${R}=`)).length>1&&(document.cookie=`${R}=; path=/; max-age=0; secure`)}var B=null;async function V(){a()||(ge(),!z()&&(B||=(async()=>{for(let e=0;e<2;e++)try{if(await j({path:{client:`browser`}}),z())return}catch{console.warn(`CSRF cookie bootstrap failed (attempt ${e+1}/2)`),e===0&&await new Promise(e=>setTimeout(e,500))}})().finally(()=>{B=null}),await B))}var _e=`/accounts/oidc/redirect/`;function ve(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),r.providerHint&&(i.provider_hint=r.providerHint),i}function ye(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 be(e,t,n={}){await V();let r=z();ye(r);let i=window.location.origin,a=document.createElement(`form`);a.method=`POST`,a.action=`${i}${_e}`;let o=ve(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 xe(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.`}}function Se(e){return e===`vellum.ai`||e.endsWith(`.vellum.ai`)}var Ce=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//;function H(e,t){if(!e)return t;if(Ce.test(e)){try{let t=new URL(e);if(t.protocol===`https:`&&Se(t.hostname))return e}catch{}return t}return e.startsWith(`//`)||e.includes(`\\`)||!e.startsWith(`/`)?t:e}var we=e(i(),1),Te=o(`NativeAuth`),Ee=c.assistant;function De(){return`${window.location.protocol}//${window.location.host}`}function U(){return typeof window<`u`&&s.isNativePlatform()}var Oe=()=>()=>{};function ke(){return(0,we.useSyncExternalStore)(Oe,U,()=>!1)}async function W(e){let t=e?.baseURL??De(),{sessionToken:n}=await Te.startAuth({baseURL:t,...e?.loginHint?{loginHint:e.loginHint}:{},...e?.providerHint?{providerHint:e.providerHint}:{}});K(n),U()&&await G(),$()&&await X(n);let r=H(e?.returnTo??null,Ee);window.location.href=r}async function G(){for(let e=0;e<6;e++){try{let e=await P();if(e.ok&&e.data.user)return}catch{}await new Promise(t=>setTimeout(t,50*(e+1)))}}function K(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 Ae(){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 je(e,t,n={}){if(U()){try{await W({returnTo:n.intent===`signup`?c.onboarding.privacy:n.returnTo??null,loginHint:n.loginHint,providerHint:n.providerHint})}catch(e){if(e?.code===`USER_CANCELLED`)return;throw e}return}await be(e,t,n)}var q=o(`NativeBiometric`),J=`vellum.ai`;async function Y(){if(!U())return!1;try{let{available:e}=await q.isAvailable();return e}catch{return!1}}async function X(e){if(!await Y())return!1;try{return await q.storeToken({token:e,server:J}),!0}catch(e){return console.error(`[native-biometric] failed to store token:`,e),!1}}var Z=null;async function Q(){return U()?Z||(Z=(async()=>{try{let{token:e}=await q.retrieveToken({server:J,reason:`Sign in to Vellum`});return e}catch{return null}finally{Z=null}})(),Z):null}async function Me(){if(U())try{await q.deleteToken({server:J})}catch{}}function $(){return p(`biometricEnabled`,!0)}function Ne(e){m(`biometricEnabled`,e)}async function Pe(){if(!U())return`Biometrics`;try{let{biometryType:e}=await q.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{f as A,L as C,d as D,p as E,ee as O,F as S,u as T,V as _,Q as a,P as b,Ae as c,je as d,W as f,xe as g,H as h,$ as i,h as j,m as k,K as l,G as m,Pe as n,Ne as o,ke as p,Y as r,X as s,Me as t,U as u,z as v,A as w,M as x,I as y};
@@ -1 +0,0 @@
1
- var e=`vellum:oauth-complete-deeplink`,t=`oauth-complete`,n={"www.vellum.ai":`vellum-assistant`,"vellum.ai":`vellum-assistant`,"staging-assistant.vellum.ai":`vellum-assistant-staging`,"dev-assistant.vellum.ai":`vellum-assistant-dev`};new Set(Object.values(n).map(e=>`${e}:`));function r(e){return n[e]??null}function i(e,n){let r=new URLSearchParams;return r.set(`requestId`,n.requestId),n.oauthStatus!==null&&r.set(`oauth_status`,n.oauthStatus),n.oauthProvider!==null&&r.set(`oauth_provider`,n.oauthProvider),n.oauthCode!==null&&r.set(`oauth_code`,n.oauthCode),`${e}://${t}?${r.toString()}`}export{i as n,r,e as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./QueryClientProvider-DP1e6db6.js";import{t as r}from"./useQuery-CrONYg8_.js";import{t as i}from"./useMutation-DiUMH3gL.js";import{t as a}from"./jsx-runtime-D1qe-iBh.js";import{ct as o,dt as s,ft as c,lt as l,mt as u,pt as d,ut as f}from"./react-query.gen-DHIrHqEw.js";import{i as p}from"./routes-CkBoiJow.js";import{t as m}from"./menu-CSSUEe4d.js";import{t as h}from"./notice-BD9CxrUF.js";import{n as g,r as _,t as v}from"./panel-item-D-eNLUtf.js";import{t as y}from"./input-D3ItuUML.js";import{n as b}from"./use-is-mobile-BJcMpFY1.js";import{t as x}from"./createLucideIcon-B1Lebfcn.js";import{t as S}from"./loader-circle-DnYn_L1c.js";import{At as C,Zr as w,dn as T,gr as E,it as D,nt as O,rt as k,xr as A}from"./index-DfyO29JM.js";import{r as j}from"./format-date-DVD0o0QA.js";var M=x(`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`}]]),N=x(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),P=e(t(),1);function F(e){return e.snoozed_until?new Date(e.snoozed_until)>new Date:!1}var I=[{label:`1 hour`,hours:1},{label:`4 hours`,hours:4},{label:`24 hours`,hours:24},{label:`1 week`,hours:168}],L=a();function R({notificationId:e,currentlySnoozed:t,children:r}){let a=n(),o=i(d()),s=b(),[c,l]=(0,P.useState)(!1),p=()=>{a.invalidateQueries({queryKey:f()}),a.invalidateQueries({queryKey:u()})},h=async t=>{let n=new Date(new Date().getTime()+t*60*60*1e3).toISOString();await o.mutateAsync({path:{id:e},body:{snoozed_until:n}}),p()},_=async()=>{await o.mutateAsync({path:{id:e},body:{snoozed_until:null}}),p()};return s?(0,L.jsxs)(g.Root,{open:c,onOpenChange:l,children:[(0,L.jsx)(g.Trigger,{asChild:!0,children:r}),(0,L.jsxs)(g.Content,{children:[(0,L.jsx)(g.Header,{children:(0,L.jsx)(g.Title,{children:`Snooze until…`})}),(0,L.jsxs)(g.Body,{children:[I.map(({label:e,hours:t})=>(0,L.jsx)(v,{label:e,onSelect:()=>{o.isPending||(l(!1),h(t))}},e)),t&&(0,L.jsx)(v,{label:`Clear snooze`,onSelect:()=>{o.isPending||(l(!1),_())}})]})]})]}):(0,L.jsxs)(m.Root,{open:c,onOpenChange:l,children:[(0,L.jsx)(m.Trigger,{children:r}),(0,L.jsxs)(m.Content,{align:`start`,className:`min-w-[12rem]`,children:[(0,L.jsx)(m.Label,{children:`Snooze until…`}),I.map(({label:e,hours:t})=>(0,L.jsx)(m.Item,{disabled:o.isPending,onSelect:()=>void h(t),children:e},e)),t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(m.Separator,{}),(0,L.jsx)(m.Item,{disabled:o.isPending,onSelect:()=>void _(),children:`Clear snooze`})]})]})]})}function z({existingRules:e,onClose:t,onPauseCreated:r,onPauseDeleted:a,hideTitle:o=!1}){let l=n(),d=i(s()),p=i(c()),[m,h]=(0,P.useState)(``),g=()=>{l.invalidateQueries({queryKey:f()}),l.invalidateQueries({queryKey:u()})},_=async()=>{let e=new Date(new Date().getTime()+365*24*60*60*1e3).toISOString();r(await d.mutateAsync({body:{notification_type:`alert`,dedupe_key_prefix:``,reason:m.trim()||`User requested pause`,expires_at:e}})),g(),t()},v=async e=>{await p.mutateAsync({path:{rule_id:e}}),a(e),g(),t()},b=d.isPending||p.isPending;return(0,L.jsxs)(`div`,{children:[!o&&(0,L.jsx)(`p`,{className:`mb-2 text-body-medium-default text-[var(--content-default)]`,children:`Pause alerts`}),e.length>0?(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Active pause rules:`}),e.map(e=>(0,L.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,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`p`,{className:`truncate text-body-small-default text-[var(--content-default)]`,children:e.reason||`All alerts paused`}),e.expires_at&&(0,L.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Expires `,j(e.expires_at)]})]}),(0,L.jsx)(`button`,{type:`button`,onClick:()=>void v(e.id),disabled:b,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,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Temporarily mute all alert notifications.`}),(0,L.jsx)(y,{type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:`Reason (optional)`}),(0,L.jsx)(`button`,{type:`button`,onClick:()=>void _(),disabled:b,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:d.isPending?(0,L.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,L.jsx)(S,{className:`h-3 w-3 animate-spin`}),`Pausing…`]}):`Pause all alerts`})]})]})}function B({notification:e,onAck:t,isAcking:n}){let r=e.notification_type===`alert`,i=F(e),a=!e.is_read;return(0,L.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,L.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col items-start gap-1`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[a&&!e.is_resolved&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-2 w-2 shrink-0 rounded-full bg-[var(--primary-base)]`}),r&&(0,L.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,L.jsx)(C,{className:`h-3 w-3`}),`Alert`]}),i&&(0,L.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,L.jsx)(T,{className:`h-3 w-3`}),`Snoozed`]}),e.is_resolved&&(0,L.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,L.jsx)(E,{className:`h-3 w-3`}),`Resolved`]})]}),(0,L.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,L.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-secondary)]`,children:e.body})]})}),(0,L.jsxs)(`div`,{className:`mt-3 flex items-center gap-3 text-body-small-default text-[var(--content-secondary)]`,children:[(0,L.jsxs)(`span`,{children:[`Last seen `,j(e.last_seen_at)]}),e.occurrence_count>1&&(0,L.jsxs)(`span`,{children:[`· `,e.occurrence_count,`× occurrences`]})]}),!e.is_resolved&&(0,L.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-[var(--border-base)] pt-3`,children:[(0,L.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,L.jsx)(S,{className:`h-3 w-3 animate-spin`}):(0,L.jsx)(E,{className:`h-3 w-3`}),a?`Mark as read`:`Mark as unread`]}),(0,L.jsx)(R,{notificationId:e.id,currentlySnoozed:i,children:(0,L.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,L.jsx)(T,{className:`h-3 w-3`}),i?`Change snooze`:`Snooze`]})})]})]})}function V(){let e=D({platformHostedOnly:!0}),t=O(),a=k(),s=n(),c=b(),[d,m]=(0,P.useState)(`open`),[v,y]=(0,P.useState)(!1),[x,C]=(0,P.useState)([]),{data:T,isLoading:E,isError:j,refetch:F}=r({...l({query:{status:d}}),enabled:e===`full`&&t}),I=e===`full`&&a||(t?E:!1);(0,P.useEffect)(()=>{!t&&v&&y(!1)},[t,v]);let R=t?j:!1,V=t?T?.results??[]:[],H=V.filter(e=>!e.is_read&&!e.is_resolved),U=i(o()),[W,G]=(0,P.useState)(new Set),[K,q]=(0,P.useState)(!1),J=(0,P.useCallback)(()=>{s.invalidateQueries({queryKey:f()}),s.invalidateQueries({queryKey:u()})},[s]),Y=async(e,t)=>{G(t=>new Set(t).add(e));try{await U.mutateAsync({path:{id:e},body:{acknowledged:t}}),J()}finally{G(t=>{let n=new Set(t);return n.delete(e),n})}},X=async()=>{if(!(H.length===0||K)){q(!0);try{await Promise.allSettled(H.map(e=>U.mutateAsync({path:{id:e.id},body:{acknowledged:!0}})))}finally{J(),q(!1)}}},Z=(0,L.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,L.jsx)(M,{className:`h-3.5 w-3.5`}),`Pause alerts`]}),Q=(0,L.jsx)(z,{existingRules:x,onClose:()=>y(!1),onPauseCreated:e=>C(t=>[...t,e]),onPauseDeleted:e=>C(t=>t.filter(t=>t.id!==e))});return e===`gated`?(0,L.jsx)(w,{replace:!0,to:p.settings.general}):e===`disabled`?(0,L.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(A,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,L.jsxs)(`div`,{className:`flex-1`,children:[(0,L.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,L.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]})]}),(0,L.jsx)(h,{tone:`info`,children:`Log in to the Vellum platform to view notifications.`})]}):(0,L.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(A,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,L.jsxs)(`div`,{className:`flex-1`,children:[(0,L.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,L.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]}),t&&(c?(0,L.jsxs)(g.Root,{open:v,onOpenChange:y,children:[(0,L.jsx)(g.Trigger,{asChild:!0,children:Z}),(0,L.jsxs)(g.Content,{children:[(0,L.jsx)(g.Header,{children:(0,L.jsx)(g.Title,{children:`Pause alerts`})}),(0,L.jsx)(g.Body,{children:(0,L.jsx)(z,{existingRules:x,onClose:()=>y(!1),onPauseCreated:e=>C(t=>[...t,e]),onPauseDeleted:e=>C(t=>t.filter(t=>t.id!==e)),hideTitle:!0})})]})]}):(0,L.jsxs)(_.Root,{open:v,onOpenChange:y,children:[(0,L.jsx)(_.Trigger,{asChild:!0,children:Z}),(0,L.jsx)(_.Content,{align:`end`,className:`w-72`,children:Q})]}))]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.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=d===e;return(0,L.jsx)(`button`,{type:`button`,onClick:()=>m(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)})}),d===`open`&&H.length>1&&(0,L.jsxs)(`button`,{type:`button`,onClick:()=>void X(),disabled:K,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:[K?(0,L.jsx)(S,{className:`h-3 w-3 animate-spin`}):(0,L.jsx)(N,{className:`h-3 w-3`}),`Mark all as read (`,H.length,`)`]})]}),I?(0,L.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,L.jsx)(S,{className:`h-4 w-4 animate-spin`}),`Loading notifications…`]}):R?(0,L.jsxs)(h,{tone:`error`,children:[`Failed to load notifications.`,` `,(0,L.jsx)(`button`,{type:`button`,onClick:()=>void F(),className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):V.length===0?(0,L.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,children:[(0,L.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,L.jsx)(A,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,L.jsxs)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`No `,d,` notifications`]}),(0,L.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:d===`open`?`You're all caught up!`:`Nothing to show here.`})]}):(0,L.jsx)(`div`,{className:`space-y-3`,children:V.map(e=>(0,L.jsx)(B,{notification:e,onAck:(e,t)=>void Y(e,t),isAcking:W.has(e.id)},e.id))})]})}export{V as NotificationsPage};
@@ -1 +0,0 @@
1
- function e(e){return`vellum:oauth-complete:${e}`}function t(e,t){return typeof e==`object`&&!!e&&e.type===`vellum:oauth-complete`&&e.requestId===t}function n(e,n,r){return e.origin!==n||!t(e.data,r)?null:e.data}function r(n,r){if(n.key!==e(r)||n.newValue===null)return null;try{let e=JSON.parse(n.newValue);return t(e,r)?e:null}catch{return null}}export{e as i,r as n,t as r,n as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./jsx-runtime-D1qe-iBh.js";import{t as r}from"./portal-container-BfngoKcF.js";import{t as i}from"./public-asset-wtS9_-QU.js";var a=e(t(),1),o=n();function s({className:e=``}){return(0,o.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute bottom-0 left-0 right-0 flex justify-center overflow-hidden ${e}`,children:(0,o.jsx)(`img`,{src:i(`/login-background-characters.svg`),alt:``,width:1200,height:180,className:`w-full max-w-[900px] object-cover object-bottom`})})}function c({children:e}){let[t,n]=(0,a.useState)(null);return(0,o.jsxs)(`div`,{className:`relative flex h-full flex-col bg-[var(--surface-base)]`,children:[(0,o.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,o.jsx)(r,{container:t,children:e})}),(0,o.jsx)(s,{}),(0,o.jsx)(`div`,{ref:n})]})}export{c as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./jsx-runtime-D1qe-iBh.js";import{i as t}from"./routes-CkBoiJow.js";import{Zr as n}from"./index-DfyO29JM.js";var r=e();function i(){return(0,r.jsx)(n,{to:t.account.login,replace:!0})}export{i as PasswordResetPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{g as n}from"./local-mode-BF1E-bwb.js";import{n as r}from"./auth-store-Cr7BV6KS.js";import{c as i}from"./api-B_OFJX14.js";import{t as a}from"./jsx-runtime-D1qe-iBh.js";import{i as o}from"./routes-CkBoiJow.js";import{ei as s,ni as c}from"./index-DfyO29JM.js";var l=e(t(),1),u=a(),d=`vellum:loopback:state`,f=`vellum:loopback:returnTo`;function p(){let[e]=c(),t=s(),[a,p]=(0,l.useState)(null);return(0,l.useEffect)(()=>{let a=e.get(`state`),s=e.get(`session_token`),c=sessionStorage.getItem(d),l=sessionStorage.getItem(f)||o.assistant;if(sessionStorage.removeItem(d),sessionStorage.removeItem(f),!a||a!==c){p(`Login failed: state mismatch. Please try again.`);return}if(!s){p(`Login failed: no session token received. Please try again.`);return}if(!/^[a-zA-Z0-9]+$/.test(s)){p(`Login failed: invalid session token.`);return}document.cookie=`sessionid=${s}; path=/; samesite=lax; max-age=1209600`,(async()=>{await r.getState().initSession();try{let e=await i();if(e.ok&&e.data.length>0){await n(e.data),t(o.assistant,{replace:!0});return}}catch{}t(l,{replace:!0})})()},[e,t]),a?(0,u.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,u.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,u.jsx)(`p`,{className:`text-body-medium-default`,children:a}),(0,u.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void t(o.onboarding.welcome),children:`Back to Welcome`})]})}):(0,u.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,u.jsx)(`p`,{className:`text-body-medium-default`,children:`Completing login...`})})}export{p as PlatformLoopbackPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./useQuery-CrONYg8_.js";import{t as r}from"./jsx-runtime-D1qe-iBh.js";import{i}from"./routes-CkBoiJow.js";import{t as a}from"./card-BPyEFYCf.js";import"./src-DDKMtkUH.js";import{t as o}from"./input-D3ItuUML.js";import{ut as s}from"./sdk.gen-COjGLNMd.js";import{b as c,x as l}from"./react-query.gen-C_ukJxaR.js";import{t as u}from"./assistant-feature-flag-store-eFzXnt31.js";import{t as d}from"./loader-circle-DnYn_L1c.js";import{At as f,Jt as p,Zr as m,en as h}from"./index-DfyO29JM.js";import{t as g}from"./use-active-assistant-id-CAZ9yruQ.js";import{t as _}from"./use-debounced-value-6KVCjO4p.js";var v=e(t(),1),y=r();function b({match:e}){let t=`assistant plugins install ${e.name}`;return(0,y.jsx)(a.Root,{asChild:!0,children:(0,y.jsxs)(`div`,{className:`flex items-center gap-4 px-5 py-4 text-left`,children:[(0,y.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center text-2xl`,children:`📦`}),(0,y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,y.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,y.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.name})}),(0,y.jsx)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},title:e.path,children:e.path}),(0,y.jsxs)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[`Install via CLI:`,` `,(0,y.jsx)(`code`,{className:`rounded px-1 py-0.5 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-default)`},children:t})]})]})]})})}function x({plugin:e,onSelect:t}){let n=!!t;return(0,y.jsx)(a.Root,{asChild:!0,children:(0,y.jsxs)(`div`,{role:n?`button`:void 0,tabIndex:n?0:void 0,onClick:t,onKeyDown:e=>{t&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex items-center gap-4 px-5 py-4 text-left transition-colors`+(n?` cursor-pointer hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`:``),children:[(0,y.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center text-2xl`,children:`🧩`}),(0,y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.name}),e.version?(0,y.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,e.version]}):null]}),(0,y.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:e.description??`No description provided.`}),e.issues&&e.issues.length>0?(0,y.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:e.issues.join(`; `),children:[e.issues[0],e.issues.length>1?` (+${e.issues.length-1} more)`:``]}):null]})]})})}var S=300;function C(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function w({assistantId:e}){let[t,r]=(0,v.useState)(``),i=_(t.trim(),S),a=n({queryKey:c({path:{assistant_id:e},query:{q:i||void 0}}),queryFn:async({signal:t})=>{let n=await s({path:{assistant_id:e},query:{q:i||void 0},signal:t,throwOnError:!1});if(n.response?.status===404)return{plugins:[]};if(!n.response?.ok)throw Error(`Failed to load plugins`);return n.data??{plugins:[]}},enabled:!!e}),o=n({...l({path:{assistant_id:e},query:{q:i?C(i):void 0}}),enabled:!!e}),u=(0,v.useMemo)(()=>T(a.data?.plugins??[]),[a.data?.plugins]),d=(0,v.useMemo)(()=>new Set(u.map(e=>e.name)),[u]),f=(0,v.useMemo)(()=>(o.data?.matches??[]).filter(e=>!d.has(e.name)),[o.data?.matches,d]),p=a.isFetching&&!!i,m=o.isFetching&&!!i,h=p||m,g=a.isLoading,w=o.isLoading,N=!g&&!a.isError&&u.length===0,P=!w&&f.length===0;return(0,y.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[(0,y.jsx)(E,{search:t,onSearchChange:r,isSearching:h}),(0,y.jsxs)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:[(0,y.jsx)(D,{title:`Installed`}),g?(0,y.jsx)(O,{}):a.isError?(0,y.jsx)(j,{}):N?(0,y.jsx)(k,{hasQuery:!!i}):(0,y.jsx)(`ul`,{className:`flex flex-col gap-2`,children:u.map(e=>(0,y.jsx)(`li`,{children:(0,y.jsx)(x,{plugin:e})},e.id))}),(0,y.jsx)(`div`,{className:`mt-6`}),(0,y.jsx)(D,{title:`Available to install`}),w?(0,y.jsx)(O,{}):o.isError?(0,y.jsx)(M,{}):P?(0,y.jsx)(A,{hasQuery:!!i}):(0,y.jsx)(`ul`,{className:`flex flex-col gap-2`,children:f.map(e=>(0,y.jsx)(`li`,{children:(0,y.jsx)(b,{match:e})},e.path))})]})]})}function T(e){return[...e].sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`}))}function E({search:e,onSearchChange:t,isSearching:n}){return(0,y.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,y.jsx)(o,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search Plugins`,"aria-label":`Search Plugins`,leftIcon:(0,y.jsx)(p,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:n?(0,y.jsx)(d,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`})})}function D({title:e}){return(0,y.jsx)(`h3`,{className:`mb-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e})}function O(){return(0,y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,y.jsx)(d,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function k({hasQuery:e}){let t=e?`No installed plugins match`:`No Plugins Installed`,n=e?`Try a different search term, or browse the catalog below.`:`Install a plugin with the CLI, or browse the catalog below.`,r=e?p:h;return(0,y.jsx)(a.Root,{children:(0,y.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,y.jsx)(r,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,y.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:t}),(0,y.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n})]})})}function A({hasQuery:e}){let t=e?`No catalog entries match`:`Catalog is empty`,n=e?`Try a different search term, or remove the filter to browse everything.`:`No plugins are currently published in the catalog.`;return(0,y.jsx)(a.Root,{children:(0,y.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,y.jsx)(p,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,y.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:t}),(0,y.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n})]})})}function j(){return(0,y.jsx)(a.Root,{children:(0,y.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,y.jsx)(f,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,y.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load plugins`}),(0,y.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 M(){return(0,y.jsx)(a.Root,{children:(0,y.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-10 text-center`,children:[(0,y.jsx)(h,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,y.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Couldn't load catalog`}),(0,y.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Catalog browsing is temporarily unavailable. Installed plugins are still listed above.`})]})})}function N(){let e=u.use.hasHydrated(),t=u.use.externalPlugins(),n=g();return e?t?(0,y.jsx)(w,{assistantId:n}):(0,y.jsx)(m,{to:i.identity,replace:!0}):null}export{N as PluginsPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{p as t}from"./native-biometric-COiHDjMB.js";import{t as n}from"./react-BlnqVGWw.js";import{o as r,s as i,u as a}from"./local-mode-BF1E-bwb.js";import{t as o}from"./capture-error-DJfWcKOd.js";import{n as s,u as c}from"./auth-store-Cr7BV6KS.js";import{t as l}from"./client.gen-D2FNzKQM.js";import{n as u}from"./QueryClientProvider-DP1e6db6.js";import{t as d}from"./useQuery-CrONYg8_.js";import{t as f}from"./useMutation-DiUMH3gL.js";import{t as p}from"./jsx-runtime-D1qe-iBh.js";import{C as m,b as ee,r as h}from"./react-query.gen-DHIrHqEw.js";import{t as g}from"./selection-store-DOnhFieO.js";import{i as _}from"./routes-CkBoiJow.js";import{t as v}from"./button-ClCfFgUi.js";import{t as y}from"./card-BPyEFYCf.js";import{t as b}from"./input-D3ItuUML.js";import{c as te,o as x,r as S}from"./prefs-DV0vPCU6.js";import{t as C}from"./assistant-feature-flag-store-eFzXnt31.js";import{t as ne}from"./loader-circle-DnYn_L1c.js";import{t as w}from"./pencil-CwqXcyAU.js";import{t as T}from"./x-BgvySeHo.js";import{I as E,K as D,L as O,Wn as k,_ as A,_t as re,ei as ie,g as ae,gr as j,gt as M,ht as oe,mr as N,ni as se,q as P,qr as ce,v as F,vt as le,y as ue}from"./index-DfyO29JM.js";import{t as I}from"./public-asset-wtS9_-QU.js";import{i as L,n as de,r as fe,t as pe}from"./oauth-popup-CotK0_Xq.js";import{t as R}from"./onboarding-layout-I064mpdZ.js";import{n as me,t as he}from"./signals-Bbq4C5b5.js";import{c as ge,i as _e,n as z,o as ve,r as ye,s as be,t as B}from"./step-indicator-dots-D3uPz_Wt.js";import{t as V}from"./use-oauth-complete-deep-link-listener-BdgRkEuE.js";var H=e(n(),1);async function xe(){try{let{data:e,response:t}=await l.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 U=p(),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(){F(),ae(),e()}return(0,U.jsx)(R,{children:(0,U.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,U.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,U.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,U.jsx)(`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`3`}),(0,U.jsx)(`line`,{x1:`12`,y1:`18`,x2:`12`,y2:`18.01`})]})}),(0,U.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,U.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,U.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,U.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,U.jsx)(`ul`,{className:`space-y-4`,children:Se.map((e,t)=>(0,U.jsxs)(`li`,{className:`flex items-start gap-3`,style:{animation:`fadeInUp 0.3s ease-out ${.25+t*.05}s both`},children:[(0,U.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,U.jsx)(j,{size:12,style:{color:`var(--system-positive-strong)`}})}),(0,U.jsxs)(`span`,{className:`text-left`,children:[(0,U.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),(0,U.jsxs)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[` — `,e.detail]})]})]},e.label))})}),(0,U.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.45s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:t,className:`h-11 text-base`,children:`Download on the App Store`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:e,className:`h-11 text-base`,children:`Continue in browser`})]})]})})}var W=`google`,we=[{id:`gmail`,label:`Gmail`,logoSrc:I(`/images/integrations/gmail.svg`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:I(`/images/integrations/google-calendar.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:I(`/images/integrations/google-drive.svg`)}];function Te({assistantId:e,assistantName:n,onConnect:r,onSkip:i,onBack:a}){let o=u(),s=t(),c=(0,H.useRef)(null),l=(0,H.useRef)(null),d=(0,H.useRef)(null),p=(0,H.useRef)(null),h=(0,H.useRef)(null),g=(0,H.useRef)(null),y=(0,H.useRef)(null),[b,te]=(0,H.useState)(!1),x=(0,H.useCallback)(()=>{l.current=null,te(!1)},[]),S=(0,H.useCallback)(()=>{h.current&&=(window.removeEventListener(`message`,h.current),null),g.current&&=(window.removeEventListener(`storage`,g.current),null)},[]),C=(0,H.useCallback)(()=>{c.current&&!c.current.closed&&c.current.close(),c.current=null,d.current&&=(clearInterval(d.current),null),p.current&&=(clearTimeout(p.current),null)},[]),w=f({...m()});(0,H.useEffect)(()=>()=>{d.current&&clearInterval(d.current),p.current&&clearTimeout(p.current),c.current&&!c.current.closed&&c.current.close(),h.current&&window.removeEventListener(`message`,h.current),g.current&&window.removeEventListener(`storage`,g.current),y.current&&=(y.current(),null)},[]);let T=(0,H.useCallback)(async()=>{try{return(await o.fetchQuery({...ee({path:{assistant_id:e}}),staleTime:0})).find(e=>e.provider===W&&e.connected)??null}catch{return null}},[e,o]),E=(0,H.useCallback)(async()=>{C(),x(),r((await T())?.scopes_granted??[])},[x,C,T,r]),O=(0,H.useCallback)(e=>{e.type===`vellum:oauth-complete`&&(!l.current||e.requestId!==l.current.requestId||(e.oauthStatus===`connected`?E():(C(),x())))},[x,C,E]),k=(0,H.useCallback)(e=>{let t=l.current;if(!t)return;let n=pe(e,window.location.origin,t.requestId);n&&O(n)},[O]),A=(0,H.useCallback)(e=>{let t=l.current;if(!t)return;let n=de(e,t.requestId);n&&(O(n),window.localStorage.removeItem(L(t.requestId)))},[O]);V((0,H.useCallback)(e=>{let t=l.current;t&&e.requestId===t.requestId&&O({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[O]));let re=(0,H.useCallback)(()=>{let t=crypto.randomUUID();if(S(),h.current=k,g.current=A,s){te(!0),l.current={requestId:t},w.mutate({path:{assistant_id:e,provider:W},body:{requested_scopes:[],redirect_after_connect:`${_.account.oauth.popupComplete}?requestId=${t}&native=1`}},{onSuccess(e){D(e.connect_url)},onError(){x()}}),window.addEventListener(`message`,k),window.addEventListener(`storage`,A),y.current&&y.current();let n=P(()=>{if(!l.current){n(),y.current=null;return}(async()=>{let e=await T();l.current&&(e?await E():x(),S(),n(),y.current=null)})()});y.current=n;return}let n=window.open(``,`_blank`,`width=500,height=600`);if(n===null){S();return}c.current=n,te(!0),l.current={requestId:t},window.addEventListener(`message`,k),window.addEventListener(`storage`,A),d.current=setInterval(()=>{c.current&&c.current.closed&&l.current&&!p.current&&(p.current=setTimeout(async()=>{p.current=null;let e=l.current;if(!e)return;let t=window.localStorage.getItem(L(e.requestId));if(t)try{let n=JSON.parse(t);if(fe(n,e.requestId)){O(n),window.localStorage.removeItem(L(e.requestId)),S();return}}catch{}let n=await T();l.current&&(n?await E():(C(),x()),S())},1e3))},100),w.mutate({path:{assistant_id:e,provider:W},body:{requested_scopes:[],redirect_after_connect:`${_.account.oauth.popupComplete}?requestId=${t}`}},{onSuccess(e){c.current&&!c.current.closed?c.current.location.href=e.connect_url:l.current&&(C(),x(),S())},onError(){C(),x(),S()}})},[e,x,C,T,O,k,A,E,s,S,w]),ie=n||`your assistant`,ae=n||`Your assistant`;return(0,U.jsx)(R,{children:(0,U.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center px-6 pb-40 pt-12 text-[var(--content-default)]`,children:[(0,U.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,U.jsx)(`button`,{type:`button`,onClick:a,"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,U.jsx)(N,{className:`h-4 w-4`})}),(0,U.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,children:`Connect Google`}),(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,U.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,U.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,U.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,U.jsx)(`img`,{src:e.logoSrc,alt:``,width:28,height:28,className:`h-7 w-7 object-contain`,loading:`eager`}),(0,U.jsx)(`span`,{className:`text-center text-xs leading-tight text-[var(--content-tertiary)]`,children:e.label})]},e.id))}),(0,U.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:`${ae} will never send email, change calendar events, or edit files without your permission. You can disconnect at any time.`}),(0,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.35s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:re,disabled:b||w.isPending,className:`h-11 text-base`,children:b||w.isPending?(0,U.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,U.jsx)(ne,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}),`Waiting for authorization...`]}):`Connect Google`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,disabled:b||w.isPending,className:`h-11 text-base`,children:`Skip for now`})]})]})})}var G=[{id:`grounded`,label:`Grounded`,descriptor:`Calm and precise`,tagline:`Measured. No filler.`,names:[`Penn`,`Sage`,`Atlas`,`Orion`,`Reed`,`Quill`]},{id:`warm`,label:`Warm`,descriptor:`Warm and easy`,tagline:`Friendly and casual.`,names:[`Kit`,`Remy`,`Wren`,`Milo`,`Fenn`,`Cleo`]},{id:`energetic`,label:`Energetic`,descriptor:`Fast and direct`,tagline:`Brief. To the point.`,names:[`Nova`,`Ember`,`Cade`,`Lark`,`Vela`,`Ziggy`]},{id:`poetic`,label:`Poetic`,descriptor:`Quiet and observant`,tagline:`Listens, then replies.`,names:[`Luna`,`Iris`,`Vesper`,`Lyra`,`Juno`,`Ada`]}],K=6;function Ee(){return G.flatMap(e=>e.names)}function De(){let e=Ee(),t=Math.min(K,e.length);for(let n=0;n<t;n+=1){let t=n+Math.floor(Math.random()*(e.length-n)),r=e[n];e[n]=e[t],e[t]=r}return e.slice(0,t)}function Oe({userName:e,assistantName:t,selectedGroupId:n,displayedAssistantNames:r,onUserNameChange:i,onAssistantNameChange:a,onGroupChange:o,onBack:s,onComplete:c,onSkip:l}){return(0,U.jsx)(R,{children:(0,U.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center px-6 pb-40 pt-12 text-[var(--content-default)]`,children:[(0,U.jsxs)(`div`,{className:`grid w-full items-center ${s?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[s?(0,U.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,U.jsx)(N,{className:`h-4 w-4`})}):null,(0,U.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,children:`Let's get to know each other.`}),s?(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,U.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,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-6`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(b,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>i(e.target.value),fullWidth:!0}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsx)(b,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>a(e.target.value),fullWidth:!0}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.map(e=>{let n=e===t;return(0,U.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,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Pick a vibe`}),(0,U.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:G.map(e=>(0,U.jsx)(ke,{group:e,isActive:n===e.id,onToggle:()=>o(n===e.id?null:e.id)},e.id))})]})]}),(0,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:c,className:`h-11 text-base`,children:`Let's go`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:l,className:`h-11 text-base`,children:`Skip`})]})]})})}function ke({group:e,isActive:t,onToggle:n}){return(0,U.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,U.jsx)(`span`,{className:`text-body-medium-default ${t?`text-[var(--content-inset)]`:`text-[var(--content-default)]`}`,children:e.descriptor}),(0,U.jsx)(`span`,{className:`text-body-small-default ${t?`text-[var(--content-inset)] opacity-60`:`text-[var(--content-tertiary)]`}`,children:e.tagline})]})}function Ae({userName:e,assistantName:t,displayedAssistantNames:n,onUserNameChange:r,onAssistantNameChange:i,onBack:a,onContinue:o,onSkip:s,currentStep:c,totalSteps:l}){return(0,U.jsx)(R,{children:(0,U.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,U.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:[a?(0,U.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,U.jsx)(N,{}),onClick:a,"aria-label":`Back`}):(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}),(0,U.jsx)(`div`,{className:`flex justify-center`,children:(0,U.jsx)(B,{current:c,total:l})}),(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,U.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,U.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,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-6`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(b,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>r(e.target.value),fullWidth:!0}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,U.jsx)(b,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>i(e.target.value),fullWidth:!0}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(e=>{let n=e===t;return(0,U.jsx)(`button`,{type:`button`,onClick:()=>i(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,U.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:o,className:`h-11 text-base`,children:`Continue`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:s,className:`h-11 text-base`,children:`Skip`})]})]})})}var je=[{id:`chatgpt`,label:`ChatGPT`,logoSrc:I(`/images/prior-assistants/chatgpt.svg`)},{id:`claude`,label:`Claude`,logoSrc:I(`/images/prior-assistants/claude.svg`)},{id:`openclaw`,label:`OpenClaw`,logoSrc:I(`/images/prior-assistants/openclaw.png`)},{id:`hermes`,label:`Hermes`,logoSrc:I(`/images/prior-assistants/hermes.png`)},{id:`manus`,label:`Manus`,logoSrc:I(`/images/prior-assistants/manus.svg`)},{id:`gemini`,label:`Gemini`,logoSrc:I(`/images/prior-assistants/gemini.svg`)},{id:`copilot`,label:`Copilot`,logoSrc:I(`/images/prior-assistants/copilot.svg`)}];function Me({selectedAssistants:e,onChange:t,onBack:n,onContinue:r,onSkip:i}){let[a,o]=(0,H.useState)(()=>Pe(e)),[s,c]=(0,H.useState)(()=>a.length>0),l=(0,H.useRef)(q(e));(0,H.useEffect)(()=>{let t=q(e);if(t===l.current)return;let n=Pe(e);o(n),c(e=>e||n.length>0),l.current=t},[e]),(0,H.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of a.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}Ne(n,e)||(l.current=q(n),t(n))},[a]);let u=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},d=(0,H.useMemo)(()=>{let e=new Set;return a.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[a]),f=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,U.jsx)(R,{children:(0,U.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center px-6 pb-40 pt-12 text-[var(--content-default)]`,children:[(0,U.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,U.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,U.jsx)(N,{className:`h-4 w-4`})}),(0,U.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,children:`Have you used any of these?`}),(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,U.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-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,U.jsxs)(`div`,{className:`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:[je.map(t=>(0,U.jsx)(J,{assistant:t,selected:e.has(t.id),onToggle:()=>u(t.id)},t.id)),s?null:(0,U.jsx)(Fe,{onClick:()=>c(!0)})]}),s?(0,U.jsx)(y,{padding:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(w,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Something else`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),o(``)},"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,U.jsx)(T,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,U.jsx)(b,{"aria-label":`Other assistants`,placeholder:`e.g. Perplexity, Poe, Character.AI...`,value:a,onChange:e=>o(e.target.value),helperText:`Separate multiple assistants with commas`,fullWidth:!0}),d.length>0?(0,U.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d.map(e=>(0,U.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,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:r,className:`h-11 text-base`,children:f}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`I haven't used any`})]})]})})}function Ne(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Pe(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function q(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function J({assistant:e,selected:t,onToggle:n}){return(0,U.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,U.jsx)(Y,{assistant:e,size:32}),(0,U.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,U.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,U.jsx)(j,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function Fe({onClick:e}){return(0,U.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,U.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,U.jsx)(k,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,U.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function Y({assistant:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,U.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,U.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,U.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,U.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,U.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,U.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 Ie({selectedTasks:e,onChange:t,onBack:n,onContinue:r,onSkip:i}){let a=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)};return(0,U.jsx)(R,{children:(0,U.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center px-6 pb-40 pt-12 text-[var(--content-default)]`,children:[(0,U.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,U.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,U.jsx)(N,{className:`h-4 w-4`})}),(0,U.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,children:`What are you working on?`}),(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,U.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-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,U.jsx)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:E.map(t=>{let n=O[t.iconKey],r=e.has(t.id);return(0,U.jsxs)(`button`,{type:`button`,onClick:()=>a(t.id),"aria-pressed":r,className:`group flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 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,U.jsx)(`div`,{className:`flex w-6 shrink-0 items-center justify-center text-[var(--content-secondary)]`,children:n?(0,U.jsx)(n,{className:`h-4 w-4`}):null}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t.label}),(0,U.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t.sublabel})]}),(0,U.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,U.jsx)(j,{className:`h-3 w-3 text-[var(--content-inset)]`}):null})]},t.id)})}),(0,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:r,className:`h-11 text-base`,children:`Continue`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`I'll set this up later`})]})]})})}var Le=new Set([`gmail`,`google-calendar`,`google-drive`]),X=[{id:`gmail`,label:`Gmail`,logoSrc:I(`/images/integrations/gmail.svg`)},{id:`outlook`,label:`Outlook`,logoSrc:I(`/images/integrations/outlook.png`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:I(`/images/integrations/google-calendar.svg`)},{id:`slack`,label:`Slack`,logoSrc:I(`/images/integrations/slack.svg`)},{id:`notion`,label:`Notion`,logoSrc:I(`/images/integrations/notion.svg`)},{id:`linear`,label:`Linear`,logoSrc:I(`/images/integrations/linear-light-logo.svg`)},{id:`jira`,label:`Jira`,logoSrc:I(`/images/integrations/jira.svg`)},{id:`github`,label:`GitHub`,logoSrc:I(`/images/integrations/github.svg`),logoSrcDark:I(`/images/integrations/github-dark.svg`)},{id:`figma`,label:`Figma`,logoSrc:I(`/images/integrations/figma.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:I(`/images/integrations/google-drive.svg`)},{id:`excel`,label:`Excel`,logoSrc:I(`/images/integrations/excel.svg`)},{id:`apple-notes`,label:`Apple Notes`,logoSrc:I(`/images/integrations/apple-notes.svg`)}];function Re(e){let t=e.map(e=>e.startsWith(`other:`)?e.slice(6):e);return Array.from(new Set(t)).sort()}function ze({selectedTools:e,onChange:t,onBack:n,onContinue:r,onSkip:i}){let[a,o]=(0,H.useState)(()=>Z(e)),[s,c]=(0,H.useState)(()=>a.length>0),l=(0,H.useRef)(Ve(e));(0,H.useEffect)(()=>{let t=Ve(e);if(t===l.current)return;let n=Z(e);o(n),c(e=>e||n.length>0),l.current=t},[e]),(0,H.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of a.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}Be(n,e)||(l.current=Ve(n),t(n))},[a]);let u=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},d=(0,H.useMemo)(()=>{let e=new Set;return a.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[a]),f=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,U.jsx)(R,{children:(0,U.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center px-6 pb-40 pt-12 text-[var(--content-default)]`,children:[(0,U.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,U.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,U.jsx)(N,{className:`h-4 w-4`})}):null,(0,U.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,children:`What do you use?`}),n?(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,U.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-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,U.jsxs)(`div`,{className:`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:[X.map(t=>(0,U.jsx)(Q,{tool:t,selected:e.has(t.id),onToggle:()=>u(t.id)},t.id)),s?null:(0,U.jsx)($,{onClick:()=>c(!0)})]}),s?(0,U.jsx)(y,{padding:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(w,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Something else`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),o(``)},"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,U.jsx)(T,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,U.jsx)(b,{"aria-label":`Other tools`,placeholder:`e.g. Trello, Basecamp, Asana...`,value:a,onChange:e=>o(e.target.value),helperText:`Separate multiple tools with commas`,fullWidth:!0}),d.length>0?(0,U.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:d.map(e=>(0,U.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,U.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:r,className:`h-11 text-base`,children:f}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`I'll set this up later`})]})]})})}function Be(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Z(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function Ve(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function Q({tool:e,selected:t,onToggle:n}){return(0,U.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,U.jsx)(He,{tool:e,size:32}),(0,U.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,U.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,U.jsx)(j,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function $({onClick:e}){return(0,U.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,U.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,U.jsx)(k,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,U.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function He({tool:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,U.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,U.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,U.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,U.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,U.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,U.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 Ue({selectedGroupId:e,onGroupChange:t,onBack:n,onContinue:r,onSkip:i,currentStep:a,totalSteps:o}){return(0,U.jsx)(R,{children:(0,U.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,U.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,U.jsx)(v,{variant:`ghost`,size:`compact`,iconOnly:(0,U.jsx)(N,{}),onClick:n,"aria-label":`Back`}),(0,U.jsx)(`div`,{className:`flex justify-center`,children:(0,U.jsx)(B,{current:a,total:o})}),(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,U.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,U.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,U.jsx)(`div`,{className:`mt-8 flex w-full flex-col gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:G.map(n=>{let r=e===n.id;return(0,U.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,U.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.descriptor}),(0,U.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,U.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-[var(--content-default)]`})})]},n.id)})})]}),(0,U.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,U.jsx)(v,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:r,className:`h-11 text-base`,children:`Continue`}),(0,U.jsx)(v,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`Skip`})]})]})})}function We(e){let[t,n]=(0,H.useState)(()=>(e??``).trim()),r=(0,H.useRef)(!1);return(0,H.useEffect)(()=>{if(r.current)return;let t=(e??``).trim();t&&n(e=>e||t)},[e]),{value:t,onChange:(0,H.useCallback)(e=>{r.current=!0,n(e)},[])}}var Ge=3,Ke=[`gmail`,`google-calendar`,`google-drive`];function qe(){let e=i();return e?.cloud===`vellum`?e.assistantId:r()[0]?.assistantId??null}function Je(e,t,n){return t?.initialMessage?t.initialMessage:n?M(e):oe}function Ye(){let e=ie(),[n]=se(),r=s.use.user(),i=s.use.isLoggedIn(),l=s.use.isLoading(),u=r?.id??null,f=r?.firstName??``,p=r?.lastName??``,m=t(),ee=g.use.activeAssistantId(),[,v]=te(),[y,b]=(0,H.useState)(null),[ne,w]=(0,H.useState)(`loading`),T=a(),E=n.get(`replay`)===`1`,D=ue()&&!A(),O=ce.use.prechatOnboardingCondensedFlow(),k=C.use.selfIntroGreeting(),ae=ve(O),j=be()??ae,M=j===ye.paredDown,oe=T?qe():null,N=u?`prechat_native_screen:${u}`:null,[P,F]=(0,H.useState)(0);(0,H.useLayoutEffect)(()=>{if(N)try{sessionStorage.getItem(N)===`1`&&F(1)}catch{}},[N]);let I=s.use.hasPlatformSession(),[L,de]=(0,H.useState)(()=>new Set),[fe,pe]=(0,H.useState)(()=>new Set),[R,B]=(0,H.useState)(()=>new Set),{value:V,onChange:Se}=We(T&&!I?``:f||p),[W,we]=(0,H.useState)(null),[G]=(0,H.useState)(()=>De()),[K,Ee]=(0,H.useState)(``),[ke,je]=(0,H.useState)(!1),[Ne,Pe]=(0,H.useState)([]),{data:q}=d({...h(),enabled:!l&&i&&(!T||I)}),J=q?.id??ee??oe,Fe=!T||I||oe!==null,Y=(0,H.useCallback)(async()=>{await c.checkAssistant(),e(`${_.assistant}?onboarding=1`,{replace:!0})},[e]),[X,Be]=(0,H.useState)(()=>l||!i?{userId:u,decision:`pending`}:{userId:u,decision:x()||me(u)?`ok`:`missing`}),Z=X.decision;(0,H.useEffect)(()=>{l||!i||X.userId===u&&X.decision!==`pending`||Be({userId:u,decision:x()||me(u)?`ok`:`missing`})},[X,l,i,u]),(0,H.useEffect)(()=>{if(l||!i){b(null),w(`loading`);return}if(m||T){b(null),w(`ready`);return}let e=!1;return b(null),w(`loading`),xe().then(t=>{e||b(t)}).catch(()=>{e||b(null)}).finally(()=>{e||w(`ready`)}),()=>{e=!0}},[l,i,m,T,u]),(0,H.useEffect)(()=>{if(!l){if(!i){e(_.account.login,{replace:!0});return}if(S()&&!E){Y();return}if(Z===`missing`&&!m){e(_.onboarding.privacy,{replace:!0});return}}},[Z,l,i,m,E,e,Y,v,u]);let Ve=l||!i||!(m||Z===`ok`)||!(m||ne===`ready`)||S()&&!E;function Q(e,t=j){E||_e(e,{userId:u,variant:ge(t)})}async function $(e,t={}){let n=t.selectedPriorAssistants??R,r=e!==void 0,i=W??y?.tone??`grounded`,a=M?{tools:r?[...Ke]:[],tasks:y?.tasks??[],tone:i,googleConnected:r}:{tools:Re([...L]),tasks:[...fe].sort(),tone:i};y&&(a.cohort=y.cohort,a.bootstrapTemplate=y.bootstrapTemplate,a.skills=y.skills);let s=V.trim();s&&(a.userName=s);let l=K.trim();l&&(a.assistantName=l),M?r&&(a.googleScopes=e):r?(a.googleConnected=!0,a.googleScopes=e):ke?(a.googleConnected=!0,a.googleScopes=Ne):a.googleConnected=!1,!M&&n.size>0&&(a.priorAssistants=Re([...n])),a.initialMessage=Je(a,y,k),le(a),l&&re(l);try{v(!0)}catch(e){o(e,{context:`prechat_mark_onboarding_completed`})}he(),c.markExpectingFirstMessage(),await Y()}if(Ve)return null;if(m){if(P===0){let e=()=>{if(F(1),N)try{sessionStorage.setItem(N,`1`)}catch{}};return(0,U.jsx)(Ae,{userName:V,assistantName:K,displayedAssistantNames:G,onUserNameChange:Se,onAssistantNameChange:Ee,onContinue:e,onSkip:e,currentStep:0,totalSteps:Ge})}let t=()=>{let t={tools:[],tasks:[],tone:W??`grounded`},n=V.trim();n&&(t.userName=n);let r=K.trim();if(r&&(t.assistantName=r),t.googleConnected=!1,t.initialMessage=Je(t,null,k),le(t),r&&re(r),N)try{sessionStorage.removeItem(N)}catch{}e(_.onboarding.privacy)};return(0,U.jsx)(Ue,{selectedGroupId:W,onGroupChange:we,onBack:()=>{if(F(0),N)try{sessionStorage.removeItem(N)}catch{}},onContinue:t,onSkip:t,currentStep:1,totalSteps:Ge})}if(P===0){let e=()=>{if(Q(z.nameVibe),M){if(!Fe){$();return}F(1);return}F(1)};return(0,U.jsx)(Oe,{userName:V,assistantName:K,selectedGroupId:W,displayedAssistantNames:G,onUserNameChange:Se,onAssistantNameChange:Ee,onGroupChange:we,onComplete:e,onSkip:e})}if(M&&P===1)return J?(0,U.jsx)(Te,{assistantId:J,assistantName:K,onConnect:e=>{Q(z.gmailConnect),$(e)},onSkip:()=>{Q(z.gmailConnect),$()},onBack:()=>F(0)}):null;let He=[...L].some(e=>Le.has(e)),Ye=()=>{if(Q(z.controlTools),T){$();return}F(3)},Xe=(e=R)=>{Q(z.controlPriorAssistants),He&&Fe?F(4):D?F(5):$(void 0,{selectedPriorAssistants:e})};if(P===1){let e=()=>{Q(z.controlWorkType),F(2)};return(0,U.jsx)(Ie,{selectedTasks:fe,onChange:pe,onBack:()=>F(0),onContinue:e,onSkip:e})}return P===2?(0,U.jsx)(ze,{selectedTools:L,onChange:de,onBack:()=>F(1),onContinue:Ye,onSkip:Ye}):P===3?(0,U.jsx)(Me,{selectedAssistants:R,onChange:B,onBack:()=>F(2),onContinue:()=>Xe(),onSkip:()=>{let e=new Set;B(e),Xe(e)}}):P===4?J?(0,U.jsx)(Te,{assistantId:J,assistantName:K,onConnect:e=>{Q(z.controlGmailConnect),je(!0),Pe(e),D?F(5):$(e)},onSkip:()=>{Q(z.controlGmailConnect),D?F(5):$()},onBack:()=>F(3)}):null:P===5?(0,U.jsx)(Ce,{onComplete:()=>{Q(z.controlGetApp),$()}}):null}export{Ye as PreChatFlow};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,c as n,i as r,r as i,s as a,t as o}from"./local-settings-lVNyIOJ_.js";import{E as s,T as c}from"./native-biometric-COiHDjMB.js";import{t as l}from"./react-BlnqVGWw.js";import{n as u,t as d}from"./create-selectors-CNBhdpCN.js";import{c as f,o as p,s as m}from"./auth-store-Cr7BV6KS.js";var h=e(l(),1),g=c(`shareAnalytics`),_=c(`shareDiagnostics`),v=new Map([[g,`shareAnalytics`],[_,`shareDiagnostics`],[f,`tosAccepted`],[p,`aiDataConsent`],[m,`completed`]]),y={shareAnalytics:!0,shareDiagnostics:!0,tosAccepted:!1,aiDataConsent:!1,completed:!1};function b(){return{shareAnalytics:o(g,!0),shareDiagnostics:o(_,!0),tosAccepted:o(f,!1),aiDataConsent:o(p,!1),completed:o(m,!1)}}var x=u()(e=>({...b(),setShareAnalytics:n=>{e({shareAnalytics:n}),t(g,n)},setShareDiagnostics:n=>{e({shareDiagnostics:n}),t(_,n)},setTosAccepted:n=>{e({tosAccepted:n}),t(f,n)},setAiDataConsent:n=>{e({aiDataConsent:n}),t(p,n)},setOnboardingCompleted:n=>{e({completed:n}),t(m,n)}})),S=d(x);function C(e){let t=v.get(e);if(!t)return;let n=o(e,y[t]);x.setState({[t]:n})}for(let e of v.keys())n(e,()=>C(e));var w=`vellum:onboarding:selectedVersion`;function T(){return[S.use.shareAnalytics(),(0,h.useCallback)(e=>{S.getState().setShareAnalytics(e)},[])]}function E(){return[S.use.shareDiagnostics(),(0,h.useCallback)(e=>{S.getState().setShareDiagnostics(e)},[])]}function D(){return[S.use.tosAccepted(),(0,h.useCallback)(e=>{S.getState().setTosAccepted(e)},[])]}function O(){return[S.use.aiDataConsent(),(0,h.useCallback)(e=>{S.getState().setAiDataConsent(e)},[])]}function k(){return[S.use.completed(),(0,h.useCallback)(e=>{S.getState().setOnboardingCompleted(e)},[])]}function A(){return S.getState().completed}function j(){S.getState().setOnboardingCompleted(!1)}function M(){return S.getState().tosAccepted}function N(){return S.getState().aiDataConsent}function P(){return S.getState().shareAnalytics&&s(`shareAnalytics`,!1)}function F(){if(typeof window>`u`)return``;try{return i(w,``)}catch{return``}}function I(e){if(!(typeof window>`u`))try{e===``?r(w):a(w,e)}catch{}}export{P as a,k as c,D as d,I as f,F as i,T as l,N as n,M as o,A as r,O as s,j as t,E as u};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{A as t,D as n,E as r,c as i,i as a,k as o,n as s,o as c,p as l,r as u,s as d,t as f}from"./native-biometric-COiHDjMB.js";import{t as p}from"./react-BlnqVGWw.js";import{t as m}from"./sdk.gen-1S-e52M3.js";import{n as h}from"./QueryClientProvider-DP1e6db6.js";import{t as g}from"./useQuery-CrONYg8_.js";import{t as _}from"./useMutation-DiUMH3gL.js";import{t as v}from"./jsx-runtime-D1qe-iBh.js";import{n as y,t as b,v as x}from"./react-query.gen-DHIrHqEw.js";import{t as S}from"./button-ClCfFgUi.js";import{t as C}from"./card-BPyEFYCf.js";import{t as w}from"./dropdown-B1HIMQEV.js";import{t as T}from"./confirm-dialog-BGK9Zfu-.js";import{t as E}from"./notice-BD9CxrUF.js";import{t as D}from"./tag-DI4G1_a6.js";import{t as O}from"./input-D3ItuUML.js";import{t as k}from"./toggle-DnsgdQ9b.js";import{t as A}from"./toast-VQEhJ0eG.js";import{t as j}from"./loader-circle-DnYn_L1c.js";import{t as M}from"./pencil-CwqXcyAU.js";import{t as N}from"./x-BgvySeHo.js";import{C as ee,Mt as te,S as P,Wt as F,b as I,c as L,hr as ne,it as R,l as z,nt as re,pr as ie,ri as ae,rt as oe,u as B,x as V}from"./index-DfyO29JM.js";import{t as H}from"./detail-card-akwfTEr9.js";var U=e(p(),1),W=v();function G(){let e=l(),[t,n]=(0,U.useState)(()=>a()),[r,o]=(0,U.useState)(!1),[p,m]=(0,U.useState)(`Face ID`),[h,g]=(0,U.useState)(!1);if((0,U.useEffect)(()=>{e&&(u().then(o),s().then(m))},[e]),!e||!r)return null;let _=async()=>{g(!0);try{if(t)c(!1),await f(),n(!1);else{let e=i();e&&await d(e),c(!0),n(!0)}}finally{g(!1)}};return(0,W.jsx)(H,{title:`Security`,children:(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,p,` for sign-in`]}),(0,W.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,p,` or your device passcode instead of signing in again.`]})]}),(0,W.jsx)(k,{checked:t,onChange:()=>void _(),disabled:h})]})})}function K(){let e=R({platformHostedOnly:!0}),t=re(),n=oe(),r=h(),{data:i,isLoading:a,isError:o}=g({...b(),enabled:e===`full`&&t}),s=_({mutationFn:async e=>{let{data:t}=await m({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{r.setQueryData(y(),e),A.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{A.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,l=i?.access_consented??!1,u=e!==`full`||!t||a||o||s.isPending;return(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow admin access to assistant data`}),(0,W.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`Lets Vellum administrators reach privileged data on your assistant pod for debugging — today this means tailing the daily assistant log at`,` `,(0,W.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:`/workspace/data/logs/assistant-YYYY-MM-DD.log`}),`. Off by default. Turn on temporarily when asking support to investigate an issue, then turn off when you're done.`]}),e===`full`&&o&&(0,W.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,W.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,W.jsxs)(W.Fragment,{children:[(s.isPending||c)&&(0,W.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,W.jsx)(k,{checked:l,disabled:u,onChange:()=>s.mutate(!l)})]})})]}),e===`disabled`&&(0,W.jsx)(E,{tone:`info`,className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function q(){return(0,W.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var J=I.map(e=>({value:e.id,label:e.label,icon:(0,W.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function se(){let{data:e}=g(x()),t=e?.results?.[0]?.id??null,n=h(),{data:r,isError:i}=g({queryKey:[`thresholds`,t],queryFn:()=>P(t),enabled:!!t,staleTime:3e4}),[a,o]=(0,U.useState)(`relaxed`),[s,c]=(0,U.useState)(`conservative`),[l,u]=(0,U.useState)(`strict`),[d,f]=(0,U.useState)(!1),p=(0,U.useRef)(!1),[m,_]=(0,U.useState)(!1),v=(0,U.useRef)(null),y=(0,U.useRef)(null);(0,U.useEffect)(()=>{!r||p.current||(o(V(r.interactive).id),c(V(r.autonomous).id),u(V(r.headless).id),_(!0))},[r]),(0,U.useEffect)(()=>()=>{v.current!==null&&(clearTimeout(v.current),v.current=null,y.current?.(),y.current=null)},[]);let b=(0,U.useCallback)((e,r,i)=>{if(!t||!m)return;let a=I.find(t=>t.id===e)?.riskThreshold,o=I.find(e=>e.id===r)?.riskThreshold,s=I.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||ee(t,{interactive:a,autonomous:o,headless:s}).then(()=>{n.invalidateQueries({queryKey:[`thresholds`,t]})}).catch(()=>{})},[t,m,n]),S=(0,U.useCallback)((e,t,n)=>{v.current!==null&&clearTimeout(v.current),y.current=()=>b(e,t,n),v.current=setTimeout(()=>{y.current?.(),v.current=null,y.current=null},500)},[b]),T=(0,U.useCallback)(e=>{p.current=!0,o(e),S(e,s,l)},[s,l,S]),E=(0,U.useCallback)(e=>{p.current=!0,c(e),S(a,e,l)},[a,l,S]),D=(0,U.useCallback)(e=>{p.current=!0,u(e),S(a,s,e)},[a,s,S]),O=I.find(e=>e.id===a),k=I.find(e=>e.id===s),A=I.find(e=>e.id===l),j=!t||!m;return(0,W.jsxs)(C,{children:[(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Risk Tolerance`}),(0,W.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your tolerance determines which levels auto-approve.`}),i&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,W.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(w,{value:a,onChange:T,options:J,disabled:j})}),O&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:O.description})]}),(0,W.jsx)(q,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`button`,{type:`button`,onClick:()=>f(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":d,children:[d?(0,W.jsx)(ne,{className:`h-4 w-4`}):(0,W.jsx)(ie,{className:`h-4 w-4`}),(0,W.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,W.jsxs)(`div`,{className:d?`mt-4 space-y-4`:`hidden`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(w,{value:s,onChange:E,options:J,disabled:j})}),k&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:k.description})]}),(0,W.jsx)(q,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(w,{value:l,onChange:D,options:J,disabled:j})}),A&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:A.description})]})]})]})]})]})}var Y=e(ae(),1),ce=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],le=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function ue({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,U.useRef)(null),[a,o]=(0,U.useState)(t.tool),[s,c]=(0,U.useState)(t.pattern),[l,u]=(0,U.useState)(t.risk),[d,f]=(0,U.useState)(t.description??``),[p,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(null),_=s.trim(),v=_.length>0&&!p,y=(0,U.useCallback)(async n=>{if(n.preventDefault(),!v)return;let i=d.trim()||`${a} — ${_}`;m(!0),g(null);try{await B(e,t.id,{risk:l,description:i}),r()}catch(e){g(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,v,d,t,r,l,a,_]);return(0,Y.createPortal)((0,W.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,U.useCallback)(e=>{e.key===`Escape`&&n()},[n]),onClick:(0,U.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,W.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-raised)] shadow-xl`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,W.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,W.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,W.jsx)(N,{className:`h-4 w-4`})})]}),(0,W.jsxs)(`form`,{onSubmit:e=>void y(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[h&&(0,W.jsx)(E,{tone:`error`,children:h}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,W.jsx)(`div`,{className:`mt-1`,children:(0,W.jsx)(w,{value:a,onChange:o,disabled:!0,options:ce.map(e=>({value:e,label:e}))})})]}),(0,W.jsx)(O,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,W.jsx)(`div`,{className:`mt-2 flex gap-2`,children:le.map(e=>(0,W.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(`div`,{children:e.label}),(0,W.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,W.jsx)(O,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${_||`pattern`}`}),(0,W.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,W.jsx)(`button`,{type:`submit`,disabled:!v,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function de(e){return e.origin===`default`&&!e.userModified}function fe(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function pe(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function X(e){return e.charAt(0).toUpperCase()+e.slice(1)}function me({assistantId:e,onClose:t}){let n=(0,U.useRef)(null),[r,i]=(0,U.useState)([]),[a,o]=(0,U.useState)(!0),[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(!1),h=(0,U.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([z(e),z(e,{origin:`default`})]);return fe(t,n)}return z(e)},[e]),g=(0,U.useCallback)(async()=>{o(!0);try{i(await h(p)),c(null)}catch(e){c(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[h,p]);(0,U.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await h(p);e||(i(t),c(null))}catch(t){e||c(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[h,p]);let _=(0,U.useCallback)(async()=>{if(d)try{await L(e,d.id),g()}catch(e){c(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{f(null)}},[e,d,g]);return(0,Y.createPortal)((0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-40 flex items-center justify-center bg-black/50`,onKeyDown:(0,U.useCallback)(e=>{e.key===`Escape`&&t()},[t]),onClick:(0,U.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,W.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-raised)] shadow-xl`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,W.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(k,{checked:p,onChange:m,label:`Show all defaults`}),(0,W.jsx)(S,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,W.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,W.jsx)(`div`,{className:`mb-3`,children:(0,W.jsx)(E,{tone:`error`,children:s})}),a?(0,W.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,W.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,W.jsx)(F,{className:`h-8 w-8`}),(0,W.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,W.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=de(e);return(0,W.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,W.jsx)(D,{tone:pe(e.risk),children:X(e.risk)}),e.origin===`default`&&(0,W.jsx)(D,{tone:`neutral`,children:`Default`}),e.userModified&&(0,W.jsx)(D,{tone:`warning`,children:`Modified`})]}),(0,W.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,W.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>u(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,W.jsx)(M,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,W.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>f(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,W.jsx)(te,{className:`h-4 w-4`})})]})]},e.id)})})]})]})}),l&&(0,W.jsx)(ue,{assistantId:e,existingRule:l,onClose:()=>u(null),onSaved:()=>{u(null),g()}}),(0,W.jsx)(T,{open:d!==null,title:`Delete Trust Rule?`,message:d?`Remove the ${X(d.risk).toLowerCase()}-risk rule for ${d.tool} matching "${d.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void _(),onCancel:()=>f(null)})]}),document.body)}function he(){let{data:e}=g(x()),t=e?.results?.[0]?.id??null,[n,r]=(0,U.useState)(!1);return(0,W.jsxs)(C,{children:[(0,W.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,W.jsx)(F,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,W.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,W.jsx)(S,{variant:`outlined`,onClick:()=>r(!0),disabled:!t,children:`Manage`})]}),n&&t&&(0,W.jsx)(me,{assistantId:t,onClose:()=>r(!1)})]})}var Z=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],ge=`thirtyDays`;function Q({label:e,helperText:t,checked:n,onChange:r}){return(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e}),(0,W.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,W.jsx)(k,{checked:n,onChange:r,label:e})]})}function $(){return(0,W.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function _e(){let e=R({platformHostedOnly:!0}),[i,a]=(0,U.useState)(()=>r(`shareAnalytics`,!0)),[s,c]=(0,U.useState)(()=>r(`shareDiagnostics`,!0)),[l,u]=(0,U.useState)(()=>n(`llmLogRetention`,ge));return(0,W.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,W.jsx)(G,{}),(0,W.jsx)(he,{}),(0,W.jsx)(se,{}),(0,W.jsx)(H,{title:`Privacy`,children:(0,W.jsxs)(`div`,{className:`space-y-4`,children:[(0,W.jsx)(Q,{label:`Share Analytics`,helperText:`Send anonymous product usage data. Your conversations and personal data are never included.`,checked:i,onChange:()=>{let e=!i;a(e),o(`shareAnalytics`,e)}}),(0,W.jsx)($,{}),(0,W.jsx)(Q,{label:`Share Diagnostics`,helperText:`Send crash reports and performance metrics. Your conversations and personal data are never included.`,checked:s,onChange:()=>{let e=!s;c(e),o(`shareDiagnostics`,e)}}),(0,W.jsx)($,{}),(0,W.jsx)(K,{}),e!==`gated`&&(0,W.jsx)($,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(w,{value:l,onChange:e=>{u(e),t(`llmLogRetention`,e)},options:Z})}),(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{_e as PrivacyPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{p as t}from"./native-biometric-COiHDjMB.js";import{t as n}from"./react-BlnqVGWw.js";import{t as r}from"./capture-error-DJfWcKOd.js";import{n as i}from"./auth-store-Cr7BV6KS.js";import{t as a}from"./jsx-runtime-D1qe-iBh.js";import{i as o,r as s}from"./routes-CkBoiJow.js";import{t as c}from"./button-ClCfFgUi.js";import{t as l}from"./card-BPyEFYCf.js";import{t as u}from"./checkbox-8ce6mjOk.js";import{t as d}from"./toggle-DnsgdQ9b.js";import{d as f,l as p,r as m,s as h,u as g}from"./prefs-DV0vPCU6.js";import{Un as _,ei as v,ni as y,qr as b}from"./index-DfyO29JM.js";import{t as x}from"./onboarding-layout-I064mpdZ.js";import{r as S}from"./signals-Bbq4C5b5.js";import{a as C,c as w,i as T,n as E,o as D,t as O}from"./step-indicator-dots-D3uPz_Wt.js";var k=e(n(),1),A=a();function j({label:e,helperText:t,checked:n,onChange:r}){let i=(0,k.useId)();return(0,A.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,A.jsx)(d,{checked:n,onChange:r,id:i}),(0,A.jsxs)(`label`,{htmlFor:i,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,A.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,A.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:t})]})]})}var M=`[&_button[data-state=checked]]:bg-[var(--primary-base)] [&_svg]:text-[var(--content-inset)]`;function N(){let e=v(),[n]=y(),a=n.get(`replay`)===`1`,d=i.use.user()?.id??null,N=t(),P=D(b.use.prechatOnboardingCondensedFlow()),[F,I]=p(),[L,R]=g(),[z,B]=f(),[V,H]=h();(0,k.useEffect)(()=>{!N&&!a&&C()},[N,a]),(0,k.useEffect)(()=>{m()&&!a&&e(o.assistant,{replace:!0})},[a,e]);let U=(0,k.useCallback)(()=>{try{I(F),R(L)}catch(e){r(e,{context:`onboarding_persist_share_prefs`})}if(S(d),!N&&!a){let e=w(P);T(E.privacyTos,{userId:d,variant:e})}let t=n.get(`hosting`),i=new URLSearchParams;t&&i.set(`hosting`,t),a&&i.set(`replay`,`1`);let s=i.toString();e(`${o.onboarding.hatching}${s?`?${s}`:``}`)},[N,a,e,P,n,I,R,F,L,d]),W=(0,A.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,A.jsx)(`a`,{href:s(o.docs.legal.termsOfUse),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Terms of Service`}),` `,`and`,` `,(0,A.jsx)(`a`,{href:s(o.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Privacy Policy`})]}),G=(0,A.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,A.jsx)(`a`,{href:s(o.docs.legal.dataSharing),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`AI Data Sharing Policy`})]});return(0,A.jsx)(x,{children:(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center px-6 py-16 text-[var(--content-default)]`,children:[N&&(0,A.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,A.jsx)(O,{current:2,total:3})}),(0,A.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,children:`Before You Start`}),(0,A.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Choose your privacy preferences. You can update these anytime in the Settings.`}),(0,A.jsx)(l,{padding:`md`,className:`mt-8 w-full`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsx)(j,{label:`Share Analytics`,helperText:`Send anonymous product usage data.`,checked:F,onChange:I}),(0,A.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`}),(0,A.jsx)(j,{label:`Share Diagnostics`,helperText:`Send crash reports and performance metrics.`,checked:L,onChange:R}),(0,A.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,A.jsx)(_,{className:`h-4 w-4 shrink-0`}),(0,A.jsx)(`span`,{children:`Your conversations and personal data are never included.`})]})]})}),(0,A.jsx)(`div`,{className:`mt-6 flex w-full items-start`,children:(0,A.jsx)(u,{checked:V,onCheckedChange:e=>H(e===!0),label:G,"aria-label":`I agree to the AI Data Sharing Policy`,className:M})}),(0,A.jsx)(`div`,{className:`mt-4 flex w-full items-start`,children:(0,A.jsx)(u,{checked:z,onCheckedChange:e=>B(e===!0),label:W,"aria-label":`I agree to the Terms of Service and Privacy Policy`,className:M})}),(0,A.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-2`,children:[(0,A.jsx)(c,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!z||!V,onClick:U,className:`h-11 text-base`,children:`Start`}),(0,A.jsx)(c,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(-1),className:`h-11 text-base`,children:`Back`})]})]})})}export{N as PrivacyScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{b as t,g as n}from"./native-biometric-COiHDjMB.js";import{t as r}from"./react-BlnqVGWw.js";import{g as i,u as a}from"./local-mode-BF1E-bwb.js";import{t as o}from"./capture-error-DJfWcKOd.js";import{n as s}from"./auth-store-Cr7BV6KS.js";import{c}from"./api-B_OFJX14.js";import{t as l}from"./jsx-runtime-D1qe-iBh.js";import{i as u}from"./routes-CkBoiJow.js";import{Yr as d,ei as f,et as p,ni as m}from"./index-DfyO29JM.js";import{r as h,t as g}from"./account-shell-D89t6_Jb.js";import{a as _,i as v}from"./login-flow-Dc8bcgq7.js";var y=e(r(),1),b=l();function x(){let[e]=m(),r=f(),l=s.use.refreshSession(),x=e.get(`error`),[S,C]=(0,y.useState)(null),w=(0,y.useRef)(!1),T=e.get(`returnTo`),E=v(e);return(0,y.useEffect)(()=>{w.current||x||(w.current=!0,(async()=>{try{let o=await t(),s=n(o.ok&&!!o.data.user,o.ok?[]:o.flows??[]);switch(s.kind){case`authenticated`:{if(await l(),a())try{let e=await c();if(e.ok&&e.data.length>0){await i(e.data),r(u.assistant,{replace:!0});break}}catch{}let e=u.assistant,{destination:t,requiresFullPageNavigation:n}=_({returnTo:T,fallback:e,authIntent:E});n?window.location.href=t:r(t,{replace:!0});break}case`provider_signup`:{let t=e.get(`returnTo`);r(t?`${u.account.providerSignup}?returnTo=${encodeURIComponent(t)}`:u.account.providerSignup,{replace:!0});break}case`error`:C(s.message);break}}catch(e){o(e,{context:`provider_callback`}),C(`Something went wrong. Please try signing in again.`)}})())},[E,x,l,T,r,e]),x===`signup_closed`?(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{title:`Signups are currently closed`,subtitle:`Join the community to request access or learn when signups reopen.`}),(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,b.jsx)(`a`,{href:p,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Join the community`}),(0,b.jsx)(d,{to:u.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:`Back to sign in`})]})]}):x||S?(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{title:`Authentication failed`,subtitle:S??`Something went wrong during social sign-in. Please try again or use a different method.`}),(0,b.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,b.jsx)(d,{to:u.account.login,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Back to sign in`})})]}):(0,b.jsx)(g,{children:(0,b.jsx)(h,{title:`Completing sign-in...`,subtitle:`Please wait while we finish authenticating you.`})})}export{x as ProviderCallbackPage};
@@ -1 +0,0 @@
1
- import{t as e}from"./client.gen-D2FNzKQM.js";var t=`onboarding.providerKey`;function n(e){try{if(e===null){sessionStorage.removeItem(t);return}sessionStorage.setItem(t,JSON.stringify(e))}catch{}}function r(){try{let e=sessionStorage.getItem(t);return e?JSON.parse(e):null}catch{return null}}function i(){let e=r();try{sessionStorage.removeItem(t)}catch{}return e}async function a(t,n,r){let i=await e.post({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:t},body:{type:`api_key`,name:n,value:r},headers:{"Content-Type":`application/json`}});if(!i.response?.ok)throw Object.assign(Error(`Failed to write provider secret`),{status:i.response?.status})}async function o(t,n,r){let i=r?{type:`api_key`,credential:`credential/${n}/api_key`}:{type:`none`},a=await e.post({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,path:{assistant_id:t},body:{name:n,provider:n,auth:i},headers:{"Content-Type":`application/json`}});if(!a.response?.ok)throw Object.assign(Error(`Failed to create provider connection`),{status:a.response?.status})}async function s(e){let t=i();if(!t)return;let n=t.key.trim(),r=n.length>0;r&&await a(e,t.provider,n),await o(e,t.provider,r)}export{r as n,n as r,s as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{C as t,x as n,y as r}from"./native-biometric-COiHDjMB.js";import{t as i}from"./react-BlnqVGWw.js";import{n as a}from"./auth-store-Cr7BV6KS.js";import{t as o}from"./jsx-runtime-D1qe-iBh.js";import{i as s}from"./routes-CkBoiJow.js";import{Yr as c,ei as l,ni as u}from"./index-DfyO29JM.js";import{i as d,n as f,r as p,t as m}from"./account-shell-D89t6_Jb.js";import{a as h,o as g}from"./login-flow-Dc8bcgq7.js";var _=e(i(),1),v=o();function y(){let e=l(),[i]=u(),o=a.use.refreshSession(),y=i.get(`returnTo`),[b,x]=(0,_.useState)(``),[S,C]=(0,_.useState)(``),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)(!1),[O,k]=(0,_.useState)(!0),A=(0,_.useRef)(!1);return(0,_.useEffect)(()=>{A.current||(A.current=!0,(async()=>{try{let t=await r();if(!t.ok){e(s.account.login,{replace:!0});return}x(t.data.user.email??``),C(t.data.user.username??``),k(!1)}catch{e(s.account.login,{replace:!0})}})())},[e]),O?(0,v.jsx)(m,{children:(0,v.jsx)(p,{title:`Completing signup...`,subtitle:`Please wait while we load your information.`})}):(0,v.jsxs)(m,{children:[(0,v.jsx)(p,{title:`Complete your account`,subtitle:`We need a few more details to finish setting up your account.`}),(0,v.jsxs)(f,{onSubmit:async r=>{r.preventDefault(),T(null),D(!0);try{let r=await t({email:b,username:S});if(!r.ok){if(n(r)){await o();let t=g(y,s.account.root);t.requiresFullPageNavigation?window.location.href=t.destination:e(t.destination);return}T(r.errors[0]?.message??`Failed to complete signup.`);return}await o();let i=h({returnTo:y,fallback:s.account.root,authIntent:`signup`});i.requiresFullPageNavigation?window.location.href=i.destination:e(i.destination)}catch{T(`Something went wrong. Please try again.`)}finally{D(!1)}},error:w,submitLabel:`Complete signup`,submittingLabel:`Completing...`,isSubmitting:E,footer:(0,v.jsx)(c,{to:s.account.login,className:`text-sm text-stone-400 hover:text-stone-300`,children:`← Back to sign in`}),children:[(0,v.jsx)(d,{id:`email`,type:`email`,autoComplete:`email`,placeholder:`Email`,value:b,onChange:e=>x(e.target.value),required:!0}),(0,v.jsx)(d,{id:`username`,type:`text`,autoComplete:`username`,placeholder:`Username`,value:S,onChange:e=>C(e.target.value),required:!0})]})]})}export{y as ProviderSignupPage};
@@ -1 +0,0 @@
1
- var e=`assistantAvatar`;function t(t){return[e,t]}var n=`conversations`;function r(e){return[n,e??``]}var i=`archived-conversations`;function a(e){return[i,e??``]}var o=`background-conversations`;function s(e){return[o,e??``]}var c=`scheduled-conversations`;function l(e){return[c,e??``]}function u(e){return[`daemon-config`,e]}function d(e){return[`soundsConfig`,e]}function f(e){return[`soundsAvailable`,e]}function p(e){return[`schedules`,e]}function m(e,t){return t?[`schedule-runs`,e,t]:[`schedule-runs`,e]}var h=[`client-feature-flag-values`],g=`assistant-feature-flag-values`;function _(e){return[g,e]}var v=`assistant-identity`;function y(e){return[v,e??``]}var b=`identity-intro`;function x(e){return[b,e??``]}function S(e,t){t&&e.invalidateQueries({queryKey:u(t)})}function C(e,t){t&&(e.invalidateQueries({queryKey:d(t)}),e.invalidateQueries({queryKey:f(t)}))}function w(e,t){t&&(e.invalidateQueries({queryKey:p(t)}),e.invalidateQueries({queryKey:m(t)}))}export{l as _,x as a,p as c,t as d,s as f,C as g,w as h,_ as i,f as l,S as m,a as n,y as o,r as p,u as r,m as s,h as t,d as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./queryOptions-BlcwdoQQ.js";import{Ct as t,H as n,J as r,St as i,U as a,V as o,W as s,Z as c,bt as l,c as u,dt as d,f,l as p,m,o as h,p as g,xt as _,z as v,zt as y}from"./sdk.gen-COjGLNMd.js";var b=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??y).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},x=e=>b(`appsGet`,e),S=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await h({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:x(t)}),C=e=>b(`channelsAvailableGet`,e),w=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await u({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:C(t)}),T=e=>b(`channelsReadinessGet`,e),E=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await p({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:T(t)}),D=e=>({mutationFn:async t=>{let{data:n}=await f({...e,...t,throwOnError:!0});return n}}),O=e=>b(`contactsGet`,e),k=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await g({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:O(t)}),A=e=>({mutationFn:async t=>{let{data:n}=await m({...e,...t,throwOnError:!0});return n}}),j=e=>b(`documentsGet`,e),M=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await v({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:j(t)}),N=e=>b(`groupsGet`,e),P=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await a({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:N(t)}),F=e=>({mutationFn:async t=>{let{data:n}=await s({...e,...t,throwOnError:!0});return n}}),I=e=>({mutationFn:async t=>{let{data:n}=await o({...e,...t,throwOnError:!0});return n}}),L=e=>({mutationFn:async t=>{let{data:r}=await n({...e,...t,throwOnError:!0});return r}}),R=e=>b(`homeFeedGet`,e),z=e=>b(`homeStateGet`,e),B=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:i}=await r({...t,...e[0],signal:n,throwOnError:!0});return i},queryKey:z(t)}),V=e=>({mutationFn:async t=>{let{data:n}=await c({...e,...t,throwOnError:!0});return n}}),H=e=>b(`pluginsGet`,e),U=e=>b(`pluginsSearchGet`,e),W=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await d({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:U(t)}),G=e=>b(`skillsGet`,e),K=n=>e({queryFn:async({queryKey:e,signal:r})=>{let{data:i}=await t({...n,...e[0],signal:r,throwOnError:!0});return i},queryKey:G(n)}),q=e=>({mutationFn:async t=>{let{data:n}=await l({...e,...t,throwOnError:!0});return n}}),J=e=>b(`skillsByIdFilesGet`,e),Y=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await i({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:J(t)}),X=e=>b(`skillsByIdFilesContentGet`,e),Z=t=>e({queryFn:async({queryKey:e,signal:n})=>{let{data:r}=await _({...t,...e[0],signal:n,throwOnError:!0});return r},queryKey:X(t)});export{Z as C,G as E,q as S,K as T,B as _,D as a,H as b,A as c,I as d,L as f,R as g,F as h,E as i,M as l,N as m,x as n,k as o,P as p,w as r,O as s,S as t,j as u,z as v,Y as w,W as x,V as y};
@@ -1 +0,0 @@
1
- import{t as e}from"./client.gen-D2FNzKQM.js";import{$ as t,A as n,E as r,G as i,I as a,J as o,K as ee,L as te,O as ne,P as re,R as ie,T as ae,X as oe,Y as se,Z as ce,_ as le,_t as ue,at as de,bt as fe,c as pe,ct as me,d as he,dt as ge,et as _e,f as ve,g as s,gt as c,h as l,ht as u,it as d,j as f,k as p,l as m,lt as h,m as g,mt as _,n as v,nt as y,ot as b,p as x,pt as S,q as C,r as w,rt as T,st as E,tt as D,u as O,ut as k,v as A,vt as j,w as M,x as N,yt as P}from"./sdk.gen-1S-e52M3.js";import{t as F}from"./queryOptions-BlcwdoQQ.js";function ye(e){return e}var I=(t,n,r,i)=>{let a={_id:t,baseUrl:n?.baseUrl||(n?.client??e).getConfig().baseUrl};return r&&(a._infinite=r),i&&(a.tags=i),n?.body&&(a.body=n.body),n?.headers&&(a.headers=n.headers),n?.path&&(a.path=n.path),n?.query&&(a.query=n.query),[a]},be=(e,t)=>{let n={...e[0]};return t.body&&(n.body={...e[0].body,...t.body}),t.headers&&(n.headers={...e[0].headers,...t.headers}),t.path&&(n.path={...e[0].path,...t.path}),t.query&&(n.query={...e[0].query,...t.query}),n},L=e=>I(`assistantsList`,e),xe=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await N({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:L(e)}),Se=e=>I(`assistantsDoctorHistoryList`,e),Ce=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await pe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Se(e)}),we=e=>I(`assistantsDoctorHistoryRetrieve`,e),Te=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await m({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:we(e)}),R=e=>I(`assistantsDomainsList`,e),Ee=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ve({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:R(e)}),De=e=>({mutationFn:async t=>{let{data:n}=await O({...e,...t,throwOnError:!0});return n}}),Oe=e=>({mutationFn:async t=>{let{data:n}=await he({...e,...t,throwOnError:!0});return n}}),ke=e=>I(`assistantsDomainsVerificationStatusRetrieve`,e),Ae=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await x({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:ke(e)}),z=e=>I(`assistantsEmailAddressesList`,e),je=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await s({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:z(e)}),Me=e=>({mutationFn:async t=>{let{data:n}=await g({...e,...t,throwOnError:!0});return n}}),Ne=e=>({mutationFn:async t=>{let{data:n}=await l({...e,...t,throwOnError:!0});return n}}),B=e=>I(`assistantsEmailAddressesStatusRetrieve`,e),Pe=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await le({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:B(e)}),V=e=>I(`assistantsEmailsList`,e),Fe=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await A({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:V(e)}),Ie=e=>({mutationFn:async t=>{let{data:n}=await r({...e,...t,throwOnError:!0});return n}}),H=e=>I(`assistantsOauthConnectionsList`,e),Le=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await M({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:H(e)}),Re=e=>({mutationFn:async t=>{let{data:n}=await ae({...e,...t,throwOnError:!0});return n}}),U=e=>I(`assistantsReleaseChannelRetrieve`,e),ze=e=>F({queryFn:async({queryKey:t,signal:r})=>{let{data:i}=await n({...e,...t[0],signal:r,throwOnError:!0});return i},queryKey:U(e)}),Be=e=>({mutationFn:async t=>{let{data:n}=await ne({...e,...t,throwOnError:!0});return n}}),Ve=e=>({mutationFn:async t=>{let{data:n}=await p({...e,...t,throwOnError:!0});return n}}),He=e=>I(`assistantsSystemEventsList`,e,!0),Ue=e=>ye({queryFn:async({pageParam:t,queryKey:n,signal:r})=>{let i=be(n,typeof t==`object`?t:{query:{offset:t}}),{data:a}=await ie({...e,...i,signal:r,throwOnError:!0});return a},queryKey:He(e)}),W=e=>I(`assistantsRetrieve`,e),We=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await re({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:W(e)}),Ge=e=>({mutationFn:async t=>{let{data:n}=await f({...e,...t,throwOnError:!0});return n}}),G=e=>I(`assistantsSleepPolicyDetailRead`,e),Ke=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await te({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:G(e)}),qe=e=>({mutationFn:async t=>{let{data:n}=await a({...e,...t,throwOnError:!0});return n}}),K=e=>I(`assistantsUpgradePolicyDetailRead`,e),Je=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await i({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:K(e)}),q=e=>I(`assistantsAccessConsentRetrieve`,e),Ye=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await v({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:q(e)}),Xe=e=>I(`assistantsActiveRetrieve`,e),Ze=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await w({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Xe(e)}),Qe=e=>({mutationFn:async t=>{let{data:n}=await ee({...e,...t,throwOnError:!0});return n}}),J=e=>I(`organizationsBillingAutoTopUpRetrieve`,e),$e=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await se({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:J(e)}),et=e=>({mutationFn:async t=>{let{data:n}=await ce({...e,...t,throwOnError:!0});return n}}),tt=e=>({mutationFn:async t=>{let{data:n}=await C({...e,...t,throwOnError:!0});return n}}),nt=e=>({mutationFn:async t=>{let{data:n}=await o({...e,...t,throwOnError:!0});return n}}),rt=e=>({mutationFn:async t=>{let{data:n}=await oe({...e,...t,throwOnError:!0});return n}}),it=e=>I(`organizationsBillingInvoicesRetrieve`,e),Y=e=>I(`organizationsBillingPlansRetrieve`,e),at=e=>F({queryFn:async({queryKey:n,signal:r})=>{let{data:i}=await t({...e,...n[0],signal:r,throwOnError:!0});return i},queryKey:Y(e)}),ot=e=>({mutationFn:async t=>{let{data:n}=await _e({...e,...t,throwOnError:!0});return n}}),X=e=>I(`organizationsBillingSubscriptionRetrieve`,e),st=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await de({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:X(e)}),ct=e=>({mutationFn:async t=>{let{data:n}=await D({...e,...t,throwOnError:!0});return n}}),lt=e=>({mutationFn:async t=>{let{data:n}=await y({...e,...t,throwOnError:!0});return n}}),Z=e=>I(`organizationsBillingSubscriptionOnboardingRetrieve`,e),ut=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await d({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Z(e)}),dt=e=>({mutationFn:async t=>{let{data:n}=await T({...e,...t,throwOnError:!0});return n}}),ft=e=>({mutationFn:async t=>{let{data:n}=await b({...e,...t,throwOnError:!0});return n}}),Q=e=>I(`organizationsBillingSummaryRetrieve`,e),pt=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await me({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Q(e)}),mt=e=>({mutationFn:async t=>{let{data:n}=await E({...e,...t,throwOnError:!0});return n}}),ht=e=>({mutationFn:async t=>{let{data:n}=await h({...e,...t,throwOnError:!0});return n}}),gt=e=>I(`organizationsBillingUsageSeriesRetrieve`,e),_t=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await k({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:gt(e)}),vt=e=>I(`organizationsBillingUsageTotalsRetrieve`,e),yt=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ge({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:vt(e)}),$=e=>I(`organizationsNotificationsList`,e),bt=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await _({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:$(e)}),xt=e=>({mutationFn:async t=>{let{data:n}=await S({...e,...t,throwOnError:!0});return n}}),St=e=>({mutationFn:async t=>{let{data:n}=await ue({...e,...t,throwOnError:!0});return n}}),Ct=e=>({mutationFn:async t=>{let{data:n}=await u({...e,...t,throwOnError:!0});return n}}),wt=e=>({mutationFn:async t=>{let{data:n}=await c({...e,...t,throwOnError:!0});return n}}),Tt=e=>I(`organizationsNotificationsSummaryRetrieve`,e),Et=e=>I(`referralCodesMeRetrieve`,e),Dt=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await j({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Et(e)}),Ot=e=>I(`releasesList`,e),kt=e=>F({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await P({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Ot(e)}),At=e=>({mutationFn:async t=>{let{data:n}=await fe({...e,...t,throwOnError:!0});return n}});export{st as $,W as A,$e as B,Ie as C,U as D,ze as E,Je as F,at as G,rt as H,K as I,ct as J,Y as K,Qe as L,Ke as M,G as N,Ge as O,Ue as P,Z as Q,tt as R,Re as S,Ve as T,et as U,J as V,it as W,dt as X,lt as Y,ut as Z,Fe as _,At as _t,Te as a,ht as at,Le as b,Ee as c,xt as ct,Me as d,Ct as dt,X as et,Ne as f,wt as ft,B as g,kt as gt,Pe as h,Dt as ht,Ce as i,Q as it,qe as j,We as k,R as l,bt as lt,z as m,Tt as mt,q as n,mt as nt,De as o,_t as ot,je as p,St as pt,ot as q,Ze as r,pt as rt,Oe as s,yt as st,Ye as t,ft as tt,Ae as u,$ as ut,xe as v,Be as w,H as x,L as y,nt as z};
@@ -1 +0,0 @@
1
- import{r as e}from"./api-errors-BjIRwVX0.js";import{t}from"./createLucideIcon-B1Lebfcn.js";var n=t(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),r={medium:[`small`,`medium`],large:[`small`,`medium`,`large`],xl:[`small`,`medium`,`large`,`extra_large`]};function i(e){return e?r[e]??[]:[]}var a={small:`Small`,medium:`Medium`,large:`Large`,extra_large:`Extra Large`},o={small:`2 vCPU, 3 GiB`,medium:`2.5 vCPU, 5 GiB`,large:`4 vCPU, 8 GiB`,extra_large:`4 vCPU, 16 GiB`},s=[`small`,`medium`,`large`,`extra_large`];function c(e){return s.indexOf(e)}function l(e,t,n){return e.map(e=>({value:e,label:`${a[e]} — ${o[e]}`,suffix:e===t?n:void 0}))}var u=new Set([`exceeds_machine_tier`,`exceeds_storage_tier`]);function d(t,n){if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t.error;if(typeof e==`string`&&u.has(e))return`That size isn't available on your plan.`}return e(t,void 0,n)}export{i as a,n as c,r as i,o as n,l as o,a as r,c as s,d as t};
@@ -1 +0,0 @@
1
- var e=e=>e,t=(e,t)=>`${e}/${t}`,n={assistant:e(`/assistant`),about:e(`/assistant/about`),conversation:n=>t(e(`/assistant/conversations`),n),inspect:n=>`${t(e(`/assistant/conversations`),n)}/inspect`,logs:{root:e(`/assistant/logs`),trace:e(`/assistant/logs/trace`),usage:e(`/assistant/logs/usage`),emails:e(`/assistant/logs/emails`),systemEvents:e(`/assistant/logs/system-events`)},account:{root:e(`/account`),login:e(`/account/login`),signup:e(`/account/signup`),providerSignup:e(`/account/provider/signup`),providerCallback:e(`/account/provider/callback`),oauth:{popupComplete:e(`/account/oauth/popup-complete`),complete:e(`/account/oauth/complete`),desktopComplete:e(`/account/oauth/desktop-complete`)}},onboarding:{welcome:e(`/assistant/onboarding/welcome`),hosting:e(`/assistant/onboarding/hosting`),apiKey:e(`/assistant/onboarding/api-key`),privacy:e(`/assistant/onboarding/privacy`),prechat:e(`/assistant/onboarding/prechat`),hatching:e(`/assistant/onboarding/hatching`)},home:e(`/assistant/home`),identity:e(`/assistant/identity`),plugins:e(`/assistant/plugins`),skills:e(`/assistant/skills`),workspace:e(`/assistant/workspace`),library:{root:e(`/assistant/library`),app:n=>t(e(`/assistant/library`),n)},document:n=>t(e(`/assistant/documents`),n),connect:e(`/assistant/connect`),contacts:{root:e(`/assistant/contacts`)},settings:{root:e(`/assistant/settings`),general:e(`/assistant/settings/general`),ai:e(`/assistant/settings/ai`),integrations:e(`/assistant/settings/integrations`),schedules:e(`/assistant/settings/schedules`),notifications:e(`/assistant/settings/notifications`),sounds:e(`/assistant/settings/sounds`),voice:e(`/assistant/settings/voice`),devices:e(`/assistant/settings/devices`),privacy:e(`/assistant/settings/privacy`),archive:e(`/assistant/settings/archive`),billing:e(`/assistant/settings/billing`),community:e(`/assistant/settings/community`),debug:e(`/assistant/settings/debug`),developer:e(`/assistant/settings/developer`),advanced:e(`/assistant/settings/advanced`),dangerZone:e(`/assistant/settings/danger-zone`),systemEvents:e(`/assistant/settings/system-events`),upgradeCancel:e(`/assistant/settings/billing/upgrade/cancel`),upgradeSuccess:e(`/assistant/settings/billing/upgrade/success`)},admin:{root:e(`/admin`)},docs:{hostingOptions:e(`/docs/hosting-options`),legal:{privacyPolicy:e(`/docs/privacy-policy`),termsOfUse:e(`/docs/vellum-terms-of-use`),dataSharing:e(`/docs/data-sharing`),prohibitedUse:e(`/docs/prohibited-use`),privacyAndData:e(`/docs/trust-security/privacy-and-data`)}}},r=`vellum.ai`;function i(e){return a(e)}function a(e){return`https://${r}${e}`}function o(){return n.admin.root}export{n as i,a as n,i as r,o as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{t as n}from"./capture-error-DJfWcKOd.js";import{t as r}from"./client.gen-D2FNzKQM.js";import{n as i,r as a,t as o}from"./api-errors-BjIRwVX0.js";import{t as s}from"./useQuery-CrONYg8_.js";import{t as c}from"./jsx-runtime-D1qe-iBh.js";import{v as l}from"./react-query.gen-DHIrHqEw.js";import{t as u}from"./button-ClCfFgUi.js";import{t as d}from"./notice-BD9CxrUF.js";import{t as f}from"./tag-DI4G1_a6.js";import{t as p}from"./panel-item-D-eNLUtf.js";import{n as m,t as h}from"./input-D3ItuUML.js";import{t as g}from"./toggle-DnsgdQ9b.js";import{t as _}from"./modal-DnazB3IX.js";import{t as v}from"./toast-VQEhJ0eG.js";import{c as y,s as b}from"./query-tags-Dvidg_LC.js";import{_t as x,ft as S,gt as C,ht as w,mt as T,pt as E,vt as D}from"./sdk.gen-COjGLNMd.js";import{t as O}from"./calendar-ClcXPhg5.js";import{t as k}from"./loader-circle-DnYn_L1c.js";import{Mt as A,pr as j,rn as M,tn as N,wr as P}from"./index-DfyO29JM.js";import{t as F}from"./detail-card-akwfTEr9.js";var I=e(t(),1);async function L(e,t){let{error:n,response:r}=await D({path:{assistant_id:e},body:t,throwOnError:!1});if(i(r,n,`Failed to create schedule.`),!r.ok)throw new o(r.status,a(n,r,`Failed to create schedule.`))}async function R(e,t,n){let{error:r,response:s}=await E({path:{assistant_id:e,id:t},body:n,throwOnError:!1});if(i(s,r,`Failed to update schedule.`),!s.ok)throw new o(s.status,a(r,s,`Failed to update schedule.`))}async function ee(e){let{data:t,error:n,response:r}=await x({path:{assistant_id:e},throwOnError:!1});if(i(r,n,`Failed to load schedules.`),!r.ok)throw new o(r.status,a(n,r,`Failed to load schedules.`));return t?.schedules??[]}async function z(e,t,n=10){let{data:r,error:s,response:c}=await w({path:{assistant_id:e,id:t},query:{limit:n},throwOnError:!1});if(i(c,s,`Failed to load schedule runs.`),!c.ok)throw new o(c.status,a(s,c,`Failed to load schedule runs.`));return r?.runs??[]}async function te(e,t,n){let{error:r,response:s}=await C({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(i(s,r,`Failed to toggle schedule.`),!s.ok)throw new o(s.status,a(r,s,`Failed to toggle schedule.`))}async function B(e,t){let{error:n,response:r}=await S({path:{assistant_id:e,id:t},throwOnError:!1});if(i(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new o(r.status,a(n,r,`Failed to delete schedule.`))}async function V(e,t){let{error:n,response:r}=await T({path:{assistant_id:e,id:t},throwOnError:!1});if(i(r,n,`Failed to run schedule.`),!r.ok)throw new o(r.status,a(n,r,`Failed to run schedule.`))}async function H(e,t=10){let{data:n,error:s,response:c}=await r.get({url:`/v1/assistants/{assistant_id}/heartbeat/runs/`,path:{assistant_id:e},query:{limit:t},throwOnError:!1});if(i(c,s,`Failed to load heartbeat runs.`),!c.ok)throw new o(c.status,a(s,c,`Failed to load heartbeat runs.`));return(n?.runs??[]).map(e=>({id:e.id,jobId:`heartbeat`,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:e.skipReason?`Skipped: ${e.skipReason}`:null,error:e.error,conversationId:e.conversationId,createdAt:e.createdAt}))}async function ne(e){let{data:t,error:n,response:s}=await r.get({url:`/v1/assistants/{assistant_id}/heartbeat/config/`,path:{assistant_id:e},throwOnError:!1});if(i(s,n,`Failed to load heartbeat config.`),!s.ok||!t)throw new o(s.status,a(n,s,`Failed to load heartbeat config.`));return t}async function re(e){let{data:t,error:n,response:s}=await r.post({url:`/v1/assistants/{assistant_id}/heartbeat/run-now/`,path:{assistant_id:e},throwOnError:!1});if(i(s,n,`Failed to run heartbeat.`),!s.ok||!t)throw new o(s.status,a(n,s,`Failed to run heartbeat.`));return t}async function ie(e){let{data:t,error:n,response:s}=await r.get({url:`/v1/assistants/{assistant_id}/consolidation/config/`,path:{assistant_id:e},throwOnError:!1});if(i(s,n,`Failed to load consolidation config.`),!s.ok||!t)throw new o(s.status,a(n,s,`Failed to load consolidation config.`));return t}async function ae(e){let{data:t,error:n,response:s}=await r.post({url:`/v1/assistants/{assistant_id}/consolidation/run-now/`,path:{assistant_id:e},throwOnError:!1});if(i(s,n,`Failed to run consolidation.`),!s.ok||!t)throw new o(s.status,a(n,s,`Failed to run consolidation.`));return t}var U=c(),oe=[{label:`Every hour`,expression:`0 * * * *`},{label:`Every day at 9am`,expression:`0 9 * * *`},{label:`Every weekday at 9am`,expression:`0 9 * * 1-5`},{label:`Every Monday at 9am`,expression:`0 9 * * 1`},{label:`Every 1st of month, 9am`,expression:`0 9 1 * *`}];function se({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,U.jsx)(_.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,U.jsx)(W,{assistantId:t,onClose:n,onCreated:r}):null})}function W({assistantId:e,onClose:t,onCreated:n}){let[r,i]=(0,I.useState)(``),[a,o]=(0,I.useState)(``),[s,c]=(0,I.useState)(``),[l,d]=(0,I.useState)(``),[f,p]=(0,I.useState)(!1),[g,v]=(0,I.useState)(null),y=r.trim(),b=a.trim(),x=s.trim(),S=y.length>0&&b.length>0&&x.length>0&&!f;return(0,U.jsxs)(_.Content,{size:`md`,children:[(0,U.jsxs)(_.Header,{children:[(0,U.jsx)(_.Title,{children:`Create schedule`}),(0,U.jsx)(_.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,U.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),S){p(!0),v(null);try{let t={name:y,expression:b,message:x},r=l.trim();r&&(t.timezone=r),await L(e,t),p(!1),n()}catch(e){v(e instanceof Error?e.message:`Failed to create schedule.`),p(!1)}}},children:[(0,U.jsx)(_.Body,{children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(h,{label:`Name`,placeholder:`Morning briefing`,value:r,onChange:e=>i(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(h,{label:`Cron expression`,placeholder:`0 9 * * *`,value:a,onChange:e=>o(e.target.value),required:!0,fullWidth:!0,helperText:`Standard 5-field cron (minute hour day month weekday). RRULE expressions are also accepted.`}),(0,U.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:oe.map(e=>(0,U.jsx)(u,{variant:`outlined`,size:`compact`,type:`button`,onClick:()=>o(e.expression),children:e.label},e.expression))})]}),(0,U.jsx)(h,{label:`Timezone (optional)`,placeholder:`America/New_York`,value:l,onChange:e=>d(e.target.value),fullWidth:!0,helperText:`IANA timezone name. Leave blank to use UTC.`}),(0,U.jsx)(m,{label:`Message`,placeholder:`What should the assistant do on each fire?`,value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:4}),g?(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:g}):null]})}),(0,U.jsxs)(_.Footer,{children:[(0,U.jsx)(u,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,U.jsx)(u,{variant:`primary`,type:`submit`,disabled:!S,children:f?`Creating…`:`Create schedule`})]})]})]})}function G(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function K(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function q(e){let t=Math.round(e/6e4);return t>=60&&t%60==0?`Every ${t/60} hr`:`Every ${t} min`}function J(e){if(e.cronExpression)return e.timezone?`Cron: ${e.cronExpression} (${e.timezone})`:`Cron: ${e.cronExpression}`;let t=q(e.intervalMs);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(t+=` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),t}function ce(e){return q(e.intervalMs)}var Y={execute:`positive`,notify:`warning`,script:`neutral`};function X({status:e}){return(0,U.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function le({onCreate:e}){return(0,U.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-6 py-16 text-center`,children:[(0,U.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)]`,children:(0,U.jsx)(O,{className:`h-6 w-6 text-[var(--content-faint)]`})}),(0,U.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No schedules`}),(0,U.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-quiet)]`,children:`Scheduled automations will appear here once created. You can create one yourself or ask your assistant to set it up.`}),(0,U.jsx)(`div`,{className:`mt-4`,children:(0,U.jsxs)(u,{variant:`primary`,onClick:e,children:[(0,U.jsx)(N,{className:`h-4 w-4`}),`Create schedule`]})})]})}function ue({run:e,onBack:t}){return(0,U.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,U.jsx)(P,{className:`h-4 w-4`}),`Back to runs`]}),(0,U.jsx)(F,{title:`Run details`,children:(0,U.jsxs)(`div`,{className:`space-y-3 text-body-medium-lighter`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(X,{status:e.status}),e.status]})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Started`}),(0,U.jsx)(`span`,{children:G(e.startedAt)})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Duration`}),(0,U.jsx)(`span`,{children:K(e.durationMs)})]})]})}),e.output&&(0,U.jsx)(F,{title:`Output`,children:(0,U.jsx)(`pre`,{className:`max-h-80 overflow-auto rounded-md bg-[var(--surface-sunken)] p-3 text-body-small-default font-mono text-[var(--content-default)] whitespace-pre-wrap break-all`,children:e.output})}),e.error&&(0,U.jsx)(F,{title:`Error`,children:(0,U.jsx)(`pre`,{className:`max-h-80 overflow-auto rounded-md bg-[var(--system-negative-weak)] p-3 text-body-small-default font-mono text-[var(--system-negative-strong)] whitespace-pre-wrap break-all`,children:e.error})}),!e.output&&!e.error&&(0,U.jsx)(F,{children:(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No output or errors captured for this run.`})})]})}function de({runs:e,isLoading:t,onSelectRun:n,emptyMessage:r=`No runs yet.`}){return(0,U.jsx)(F,{title:`Recent runs`,children:t?(0,U.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,U.jsx)(k,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,U.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:r}):(0,U.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map(e=>(0,U.jsx)(p,{asChild:!0,label:`Run at ${G(e.startedAt)}`,className:`h-auto py-2.5 gap-3 -mx-2 px-2`,children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>n(e),children:[(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,U.jsx)(X,{status:e.status}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:G(e.startedAt)}),(0,U.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[K(e.durationMs),e.status===`error`&&e.error&&(0,U.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]})]}),(0,U.jsx)(j,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`})]})},e.id))})})}var fe=6e4,Z=1,Q=1800;function pe({schedule:e,assistantId:t,onUpdated:r}){let i=Math.round((e.timeoutMs??fe)/1e3),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(String(i)),[l,d]=(0,I.useState)(!1),f=(0,I.useCallback)(()=>{c(String(i)),o(!0)},[i]),p=(0,I.useCallback)(async i=>{d(!0);try{await R(t,e.id,{timeoutMs:i}),o(!1),r()}catch(e){n(e,{context:`schedule_update_timeout`}),v.error(`Failed to update timeout.`)}finally{d(!1)}},[t,e.id,r]),m=(0,I.useCallback)(()=>{let e=Number(s);if(!Number.isInteger(e)||e<Z||e>Q){v.error(`Timeout must be a whole number between ${Z} and ${Q} seconds.`);return}p(e*1e3)},[s,p]);return a?(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Timeout`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(h,{type:`number`,min:Z,max:Q,value:s,onChange:e=>c(e.target.value),className:`w-24`,"aria-label":`Timeout in seconds`}),(0,U.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:`sec`}),(0,U.jsx)(u,{size:`compact`,onClick:m,disabled:l,children:l?`Saving…`:`Save`}),(0,U.jsx)(u,{variant:`outlined`,size:`compact`,onClick:()=>o(!1),disabled:l,children:`Cancel`})]})]}):(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Timeout`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(`span`,{children:[i,`s`,e.timeoutMs==null?` (default)`:``]}),(0,U.jsx)(u,{variant:`outlined`,size:`compact`,onClick:f,children:`Edit`}),e.timeoutMs!=null&&(0,U.jsx)(u,{variant:`outlined`,size:`compact`,onClick:()=>void p(null),disabled:l,children:`Reset`})]})]})}function me({schedule:e,assistantId:t,onBack:r,onDeleted:i,onUpdated:a}){let[o,c]=(0,I.useState)(null),{data:l,isLoading:d,refetch:p}=s({queryKey:b(t,e.id),queryFn:()=>z(t,e.id),staleTime:1e4}),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(!1),[y,x]=(0,I.useState)(!1),S=(0,I.useCallback)(async()=>{h(!0);try{await V(t,e.id),setTimeout(()=>void p(),1e3)}catch(e){n(e,{context:`schedule_run_now`}),v.error(`Failed to run schedule.`)}finally{h(!1)}},[t,e.id,p]),C=(0,I.useCallback)(async()=>{x(!0);try{await B(t,e.id),i()}catch(e){n(e,{context:`schedule_delete`}),v.error(`Failed to delete schedule.`),x(!1),_(!1)}},[t,e.id,i]);return o?(0,U.jsx)(ue,{run:o,onBack:()=>c(null)}):(0,U.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:r,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,U.jsx)(P,{className:`h-4 w-4`}),`Back to schedules`]}),(0,U.jsx)(F,{title:e.name,subtitle:e.description??void 0,accessory:(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(f,{tone:Y[e.mode]??`neutral`,children:e.mode}),e.mode===`script`&&(0,U.jsx)(u,{variant:`outlined`,size:`compact`,leftIcon:m?(0,U.jsx)(k,{className:`h-3.5 w-3.5 animate-spin`}):(0,U.jsx)(M,{className:`h-3.5 w-3.5`}),onClick:S,disabled:m,children:m?`Running…`:`Run now`})]}),children:(0,U.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[e.mode===`script`&&e.script&&(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)] text-body-small-default`,children:`Command`}),(0,U.jsx)(`pre`,{className:`mt-1 rounded-md bg-[var(--surface-sunken)] p-2 text-body-small-default font-mono text-[var(--content-default)] whitespace-pre-wrap break-all`,children:e.script})]}),e.mode===`script`&&(0,U.jsx)(pe,{schedule:e,assistantId:t,onUpdated:a}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,U.jsx)(`span`,{children:e.enabled?`Enabled`:`Disabled`})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,U.jsx)(`span`,{children:G(e.nextRunAt)})]}),e.lastRunAt&&(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(X,{status:e.lastStatus}),G(e.lastRunAt)]})]})]})}),(0,U.jsx)(de,{runs:l,isLoading:d,onSelectRun:c}),(0,U.jsx)(F,{title:`Danger zone`,children:(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Delete this schedule`}),(0,U.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Permanently removes the schedule and all its run history. This cannot be undone.`})]}),g?(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,U.jsx)(u,{variant:`ghost`,size:`compact`,onClick:()=>_(!1),disabled:y,children:`Cancel`}),(0,U.jsx)(u,{variant:`danger`,size:`compact`,onClick:()=>void C(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,U.jsx)(u,{variant:`dangerOutline`,size:`compact`,leftIcon:(0,U.jsx)(A,{className:`h-3.5 w-3.5`}),onClick:()=>_(!0),children:`Delete`})]})})]})}function $({schedule:e,onClick:t,onToggle:n}){return(0,U.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0 [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:t,className:`min-w-0 flex-1 text-left`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name}),(0,U.jsx)(f,{tone:Y[e.mode]??`neutral`,children:e.mode})]}),(0,U.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,U.jsx)(`span`,{className:`truncate`,children:e.description}),e.lastRunAt&&(0,U.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[(0,U.jsx)(X,{status:e.lastStatus}),G(e.lastRunAt)]})]})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,U.jsx)(g,{checked:e.enabled,onChange:n,"aria-label":`Toggle ${e.name}`}),(0,U.jsx)(j,{className:`h-4 w-4 text-[var(--content-tertiary)] cursor-pointer`,onClick:t})]})]})}function he(e){let t=[],n=[];for(let r of e)r.isOneShot?n.push(r):t.push(r);return t.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),n.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:t,oneTime:n}}function ge({kind:e,assistantId:t,name:n,subtitle:r,enabled:i,nextRunAt:a,lastRunAt:o,isRunning:c,onBack:l,onRunNow:d}){let[p,m]=(0,I.useState)(null),{data:h,isLoading:g}=s({queryKey:[`system-task-runs`,t,e],queryFn:()=>e===`heartbeat`?H(t):[],enabled:e===`heartbeat`,staleTime:1e4});return p?(0,U.jsx)(ue,{run:p,onBack:()=>m(null)}):(0,U.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:l,className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,children:[(0,U.jsx)(P,{className:`h-4 w-4`}),`Back to schedules`]}),(0,U.jsx)(F,{title:n,subtitle:r,accessory:(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(f,{tone:`neutral`,children:`system`}),(0,U.jsx)(u,{variant:`outlined`,size:`compact`,leftIcon:c?(0,U.jsx)(k,{className:`h-3.5 w-3.5 animate-spin`}):(0,U.jsx)(M,{className:`h-3.5 w-3.5`}),onClick:d,disabled:c,children:c?`Running…`:`Run now`})]}),children:(0,U.jsxs)(`div`,{className:`space-y-2 text-body-medium-lighter`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,U.jsx)(`span`,{children:i?`Enabled`:`Disabled`})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,U.jsx)(`span`,{children:G(a)})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,U.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,U.jsx)(`span`,{children:G(o)})]})]})}),(0,U.jsx)(de,{runs:e===`heartbeat`?h:[],isLoading:e===`heartbeat`?g:!1,onSelectRun:m,emptyMessage:e===`heartbeat`?`No runs yet.`:`Run history is not available for this system job yet.`})]})}function _e({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,isRunning:a,onClick:o,onRunNow:s}){return(0,U.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0 [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:o,className:`min-w-0 flex-1 text-left`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),(0,U.jsx)(f,{tone:`neutral`,children:`system`})]}),(0,U.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),(0,U.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,U.jsxs)(`span`,{children:[`Next: `,G(r)]}):null,i?(0,U.jsxs)(`span`,{children:[`Last: `,G(i)]}):null]})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,U.jsx)(u,{variant:`ghost`,size:`compact`,leftIcon:a?(0,U.jsx)(k,{className:`h-3.5 w-3.5 animate-spin`}):(0,U.jsx)(M,{className:`h-3.5 w-3.5`}),onClick:e=>{e.stopPropagation(),s()},disabled:a,children:a?`Running…`:`Run now`}),(0,U.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,U.jsx)(j,{className:`h-4 w-4 text-[var(--content-tertiary)] cursor-pointer`,onClick:o})]})]})}function ve({heartbeatConfig:e,consolidationConfig:t,isLoading:n,hasError:r,onRetry:i,onRunHeartbeatNow:a,onRunConsolidationNow:o,onSelectHeartbeat:s,onSelectConsolidation:c,isHeartbeatRunning:l,isConsolidationRunning:u}){let f=e!=null,p=t?.available===!0;return!n&&!r&&!f&&!p?null:(0,U.jsx)(F,{title:`System`,subtitle:`Built-in jobs managed by the assistant runtime.`,children:n?(0,U.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,U.jsx)(k,{className:`h-5 w-5 animate-spin text-stone-400`})}):r&&!f&&!p?(0,U.jsxs)(d,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,U.jsx)(`button`,{type:`button`,onClick:i,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,U.jsxs)(`div`,{children:[f?(0,U.jsx)(_e,{name:`Heartbeat`,subtitle:J(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,isRunning:l,onClick:s,onRunNow:a}):null,p?(0,U.jsx)(_e,{name:`Consolidation`,subtitle:ce(t),enabled:t.enabled,nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,isRunning:u,onClick:c,onRunNow:o}):null,r?(0,U.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,U.jsxs)(d,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,U.jsx)(`button`,{type:`button`,onClick:i,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]})})}function ye(){let{data:e,isLoading:t,isError:r,refetch:i}=s(l()),a=e?.results?.[0]?.id,{data:o,isLoading:c,isError:f,refetch:p}=s({queryKey:y(a),queryFn:()=>ee(a),enabled:!!a,staleTime:1e4}),{data:m,isLoading:h,isError:g,refetch:_}=s({queryKey:[`heartbeat-config`,a],queryFn:()=>ne(a),enabled:!!a,staleTime:1e4}),{data:b,isLoading:x,isError:S,refetch:C}=s({queryKey:[`consolidation-config`,a],queryFn:()=>ie(a),enabled:!!a,staleTime:1e4}),[w,T]=(0,I.useState)(null),[E,D]=(0,I.useState)(null),[O,A]=(0,I.useState)(!1),[j,M]=(0,I.useState)(!1),[P,L]=(0,I.useState)(!1),R=(0,I.useMemo)(()=>w?o?.find(e=>e.id===w)??null:null,[o,w]),z=(0,I.useCallback)(()=>{A(!1),p(),v.success(`Schedule created.`)},[p]),B=(0,I.useCallback)(async(e,t)=>{if(a)try{await te(a,e,t),p()}catch(e){n(e,{context:`schedule_toggle`}),v.error(`Failed to toggle schedule.`)}},[a,p]),V=h||x,H=g||S,oe=m!=null||b?.available===!0,W=(0,I.useCallback)(()=>{_(),C()},[_,C]),G=(0,I.useCallback)(async()=>{if(a){M(!0);try{let e=await re(a);_(),e.ran?v.success(`Heartbeat started.`):v.info(`Heartbeat skipped.`)}catch(e){n(e,{context:`heartbeat_run_now`}),v.error(`Failed to run heartbeat.`)}finally{M(!1)}}},[a,_]),K=(0,I.useCallback)(async()=>{if(a){L(!0);try{let e=await ae(a);C(),e.ran?v.success(`Consolidation queued.`):v.info(`Consolidation already queued or running.`)}catch(e){n(e,{context:`consolidation_run_now`}),v.error(`Failed to run consolidation.`)}finally{L(!1)}}},[a,C]),q=t||c;if(E===`heartbeat`&&a&&m)return(0,U.jsx)(ge,{kind:`heartbeat`,assistantId:a,name:`Heartbeat`,subtitle:J(m),enabled:m.enabled,nextRunAt:m.nextRunAt,lastRunAt:m.lastRunAt,isRunning:j,onBack:()=>D(null),onRunNow:G});if(E===`consolidation`&&a&&b?.available===!0)return(0,U.jsx)(ge,{kind:`consolidation`,assistantId:a,name:`Consolidation`,subtitle:ce(b),enabled:b.enabled,nextRunAt:b.nextRunAt,lastRunAt:b.lastRunAt,isRunning:P,onBack:()=>D(null),onRunNow:K});if(R&&a)return(0,U.jsx)(me,{schedule:R,assistantId:a,onBack:()=>T(null),onDeleted:()=>{T(null),p()},onUpdated:()=>void p()});if(q)return(0,U.jsx)(`div`,{className:`max-w-[940px]`,children:(0,U.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,U.jsx)(k,{className:`h-6 w-6 animate-spin text-stone-400`})})});if(r&&!a||f&&!o)return(0,U.jsx)(`div`,{className:`max-w-[940px]`,children:(0,U.jsxs)(d,{tone:`error`,children:[`Failed to load schedules.`,` `,(0,U.jsx)(`button`,{type:`button`,onClick:()=>{r?i():p()},className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})});if(!o||o.length===0&&!oe&&!V&&!H)return(0,U.jsxs)(`div`,{className:`max-w-[940px]`,children:[(0,U.jsx)(le,{onCreate:()=>A(!0)}),a?(0,U.jsx)(se,{isOpen:O,assistantId:a,onClose:()=>A(!1),onCreated:z}):null]});let{recurring:Y,oneTime:X}=he(o);return(0,U.jsxs)(`div`,{className:`max-w-[940px] space-y-4`,children:[(0,U.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,U.jsxs)(u,{variant:`primary`,onClick:()=>A(!0),children:[(0,U.jsx)(N,{className:`h-4 w-4`}),`New schedule`]})}),Y.length>0&&(0,U.jsx)(F,{title:`Schedules`,subtitle:`Recurring automations managed by your assistant.`,children:(0,U.jsx)(`div`,{children:Y.map(e=>(0,U.jsx)($,{schedule:e,onClick:()=>T(e.id),onToggle:t=>void B(e.id,t)},e.id))})}),(0,U.jsx)(ve,{heartbeatConfig:m,consolidationConfig:b,isLoading:V,hasError:H,onRetry:W,onRunHeartbeatNow:G,onRunConsolidationNow:K,onSelectHeartbeat:()=>D(`heartbeat`),onSelectConsolidation:()=>D(`consolidation`),isHeartbeatRunning:j,isConsolidationRunning:P}),X.length>0&&(0,U.jsx)(F,{title:`One-time`,subtitle:`One-shot automations that run once at a scheduled time.`,children:(0,U.jsx)(`div`,{children:X.map(e=>(0,U.jsx)($,{schedule:e,onClick:()=>T(e.id),onToggle:t=>void B(e.id,t)},e.id))})}),a?(0,U.jsx)(se,{isOpen:O,assistantId:a,onClose:()=>A(!1),onCreated:z}):null]})}export{ye as SchedulesPage};