@vellumai/web 0.10.6-staging.1 → 0.10.6

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 (252) hide show
  1. package/dist/assets/{AnimatePresence-uY0BR2n2.js → AnimatePresence-VF_hIZFD.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-BehDAEHu.js → BundleConfirmPage-DOUpVq0Q.js} +1 -1
  3. package/dist/assets/a2a-invite-Bv0xGbPM.js +1 -0
  4. package/dist/assets/{about-page-Ck4iLq7E.js → about-page-ci8HgT8u.js} +1 -1
  5. package/dist/assets/{account-page-TeIlHDQk.js → account-page-BiUlH7g9.js} +1 -1
  6. package/dist/assets/acp-run-detail-panel-B2ycT_78.js +5 -0
  7. package/dist/assets/{add-credits-modal-FyFjNQKM.js → add-credits-modal-BpZFOp84.js} +1 -1
  8. package/dist/assets/advanced-page-BClLCzBA.js +1 -0
  9. package/dist/assets/{ai-page-DpaOJJxh.js → ai-page-DnocNQmY.js} +1 -1
  10. package/dist/assets/{animated-avatar-CEC1DGcI.js → animated-avatar-FIuLddxJ.js} +1 -1
  11. package/dist/assets/{api-5fuWyrd5.js → api-DvthVfI2.js} +1 -1
  12. package/dist/assets/{api-key-screen-DP7UJY7P.js → api-key-screen-BMj30LHe.js} +1 -1
  13. package/dist/assets/{archive-page-nIOXwfyT.js → archive-page-aRD_FLfQ.js} +1 -1
  14. package/dist/assets/{assistant-feature-flag-store-D80P_lXI.js → assistant-feature-flag-store-B440uAh9.js} +1 -1
  15. package/dist/assets/{assistant-identity-store-cODRsfVo.js → assistant-identity-store-DP4B8mmA.js} +1 -1
  16. package/dist/assets/{assistant-status-panel-qHMHJPNI.js → assistant-status-panel-8WiPtFrO.js} +1 -1
  17. package/dist/assets/{auth-store-DGyzz5Ha.js → auth-store-B8KDWYi4.js} +2 -2
  18. package/dist/assets/{background-task-detail-panel-BBC1IgTy.js → background-task-detail-panel-IILCVufr.js} +1 -1
  19. package/dist/assets/{billing-page-f9MFi6zD.js → billing-page-q1D1xspC.js} +3 -3
  20. package/dist/assets/{bookmarks-page-C-gfC6Gu.js → bookmarks-page-D5XLE9A7.js} +1 -1
  21. package/dist/assets/{browser-DM38C5zq.js → browser-DdI2GrPw.js} +2 -2
  22. package/dist/assets/{build-state-CMTAZxqg.js → build-state-DAcnY2g_.js} +1 -1
  23. package/dist/assets/{capture-error-BG-GkiMq.js → capture-error-8raDoxFL.js} +1 -1
  24. package/dist/assets/channels-page-route-m_HALkI5.js +1 -0
  25. package/dist/assets/{client-feature-flag-store-CWOJ-CVU.js → client-feature-flag-store-D3f7L4rr.js} +1 -1
  26. package/dist/assets/clipboard-copy-cZENPJ25.js +1 -0
  27. package/dist/assets/{command-palette-BAhczobN.js → command-palette-BHVjkDPP.js} +1 -1
  28. package/dist/assets/{command-palette-window-page-BjRshjsQ.js → command-palette-window-page-C8htNOF6.js} +1 -1
  29. package/dist/assets/{community-page-BrzFK4eo.js → community-page-BvBiiBNT.js} +1 -1
  30. package/dist/assets/connect-page-65umesqK.js +1 -0
  31. package/dist/assets/consent-controls-CoeCtvwh.js +1 -0
  32. package/dist/assets/contacts-gateway-_mvlDweU.js +1 -0
  33. package/dist/assets/contacts-page-route-CQXKgYfo.js +1 -0
  34. package/dist/assets/{conversation-list-fetchers-COStMaVO.js → conversation-list-fetchers-D5PpdmFr.js} +1 -1
  35. package/dist/assets/{danger-zone-redirect-page-DFSAHVUO.js → danger-zone-redirect-page-BLyU56iI.js} +1 -1
  36. package/dist/assets/debug-page-BfYzZTih.js +4 -0
  37. package/dist/assets/{deploy-dialogs-BGPr7tRt.js → deploy-dialogs-DyZ__q_z.js} +1 -1
  38. package/dist/assets/{detail-panel-stop-button-CcFyjiHA.js → detail-panel-stop-button-DXQQXCtp.js} +1 -1
  39. package/dist/assets/{detail-shell-DAQXFf5u.js → detail-shell-C--69S4R.js} +2 -2
  40. package/dist/assets/{developer-page-DKbPtnYa.js → developer-page-LlFmliRP.js} +1 -1
  41. package/dist/assets/devices-page-C65LYzPc.js +1 -0
  42. package/dist/assets/{diagnostics-BAjanSbk.js → diagnostics-BQUtALh-.js} +1 -1
  43. package/dist/assets/{dictation-overlay-page-Ma56ZEas.js → dictation-overlay-page-D5pUTXA9.js} +1 -1
  44. package/dist/assets/{document-viewer-page-CDdKsz0G.js → document-viewer-page-mRBDn4Gc.js} +1 -1
  45. package/dist/assets/{earn-credits-modal-DrXTt13d.js → earn-credits-modal-DVUdlw2V.js} +1 -1
  46. package/dist/assets/{emails-page-JJZnddma.js → emails-page--1HEyMqD.js} +1 -1
  47. package/dist/assets/esm-BKCTntwk.js +2 -0
  48. package/dist/assets/esm-CNMouzMT.js +2 -0
  49. package/dist/assets/{esm-O9mDOR47.js → esm-CSgBiYzF.js} +2 -2
  50. package/dist/assets/esm-CccIkVyz.js +2 -0
  51. package/dist/assets/esm-CpbLh3YJ.js +2 -0
  52. package/dist/assets/esm-DlsDcixX.js +1 -0
  53. package/dist/assets/{feature-flag-catalog-C8w5_UfU.js → feature-flag-catalog-CRFA909Q.js} +1 -1
  54. package/dist/assets/{file-editor-BCSV9IJF.js → file-editor-PNZ9cTI-.js} +1 -1
  55. package/dist/assets/{general-page-BQw5GWs9.js → general-page-DL3fu61f.js} +1 -1
  56. package/dist/assets/{hatching-screen-Bn68JemT.js → hatching-screen-Bc0QiEVj.js} +1 -1
  57. package/dist/assets/{home-page-route-DMa33Zrx.js → home-page-route-CR3ajpvl.js} +1 -1
  58. package/dist/assets/{hosting-screen-DQ2oChnD.js → hosting-screen--GdpAsIo.js} +1 -1
  59. package/dist/assets/identity-page-route-z0mc5jGO.js +1 -0
  60. package/dist/assets/{index-CQhaX_6y.js → index-CWzNQ8A_.js} +31 -31
  61. package/dist/assets/{inspect-page-DY4rwOh6.js → inspect-page-C-fq5PsM.js} +4 -4
  62. package/dist/assets/{install-BrkjCsCo.js → install-DKnSvyt9.js} +1 -1
  63. package/dist/assets/integrations-page-BeTfBE7R.js +1 -0
  64. package/dist/assets/intelligence-layout-ShKSJFRX.js +1 -0
  65. package/dist/assets/{keyboard-shortcuts-page-D0RdK4J1.js → keyboard-shortcuts-page-DiFBwxwl.js} +1 -1
  66. package/dist/assets/{library-detail-page-aRT1yf6F.js → library-detail-page-BE-B5vd3.js} +1 -1
  67. package/dist/assets/{library-page-B7t6lth_.js → library-page-COsPjT0P.js} +1 -1
  68. package/dist/assets/{login-flow-l71HNHLV.js → login-flow-COr5zRoB.js} +1 -1
  69. package/dist/assets/{login-page-Bp6w7NSU.js → login-page-B_AWg_-m.js} +1 -1
  70. package/dist/assets/logout-page-B-vCELzg.js +1 -0
  71. package/dist/assets/logs-layout-Bb2Ki85T.js +1 -0
  72. package/dist/assets/{memory-router-playground-page-D_meczLa.js → memory-router-playground-page-rPz9hfL9.js} +1 -1
  73. package/dist/assets/{messages-ChEiS3wF.js → messages-Doco46Z6.js} +1 -1
  74. package/dist/assets/{metric-card-FIohvQ13.js → metric-card-DejhOUyM.js} +1 -1
  75. package/dist/assets/{mobile-sidebar-drawer-DzYe9XUj.js → mobile-sidebar-drawer-DwE65WjT.js} +1 -1
  76. package/dist/assets/{native-biometric-BK6_QtW5.js → native-biometric-C5AdTx4r.js} +1 -1
  77. package/dist/assets/{native-file-DIJL6af-.js → native-file-swemzdL9.js} +2 -2
  78. package/dist/assets/{notifications-page-C2lwkT1N.js → notifications-page-D3Gip5vS.js} +1 -1
  79. package/dist/assets/{oauth-complete-page-CHOh6OEp.js → oauth-complete-page-DAuZqgBq.js} +1 -1
  80. package/dist/assets/{oauth-popup-complete-page-BE3T_diS.js → oauth-popup-complete-page-CvOB8DyR.js} +1 -1
  81. package/dist/assets/{pairing-page-CxHUjMx8.js → pairing-page-CSXR4O5_.js} +1 -1
  82. package/dist/assets/{password-reset-page-T_0pamrF.js → password-reset-page-BCyMJkWQ.js} +1 -1
  83. package/dist/assets/{platform-detection-Ceodt3Hu.js → platform-detection-B1WOWEur.js} +1 -1
  84. package/dist/assets/{platform-loopback-page-D9aM6fRr.js → platform-loopback-page-DViSSCNq.js} +1 -1
  85. package/dist/assets/{plugin-detail-page-3mf9oR80.js → plugin-detail-page-D_0rFOJ7.js} +1 -1
  86. package/dist/assets/plugins-page-DnsCa0ka.js +1 -0
  87. package/dist/assets/plugins-surface-CAUFbZFj.js +1 -0
  88. package/dist/assets/plus-CzwTg9D8.js +1 -0
  89. package/dist/assets/prechat-route-BRLg12I0.js +1 -0
  90. package/dist/assets/{prefs-vU63K0uX.js → prefs-BK4ReLBx.js} +1 -1
  91. package/dist/assets/{privacy-page-B70Xm8aR.js → privacy-page-DK_E5UDG.js} +1 -1
  92. package/dist/assets/{privacy-screen-ByIZxuz7.js → privacy-screen-VCEt0iH8.js} +1 -1
  93. package/dist/assets/{provider-callback-page-BWlbojMH.js → provider-callback-page-DSqK6K5B.js} +1 -1
  94. package/dist/assets/{provider-key-Bf5qJwbE.js → provider-key-DSBs9REL.js} +1 -1
  95. package/dist/assets/{provider-signup-page-DKWEdYx6.js → provider-signup-page-CuLVID0r.js} +1 -1
  96. package/dist/assets/{quick-input-page-CyO-UVOQ.js → quick-input-page-DITr3SKX.js} +1 -1
  97. package/dist/assets/{react-query.gen-BwkZCSTW.js → react-query.gen-Bxy9zjSn.js} +1 -1
  98. package/dist/assets/{react-query.gen-BpYo64Cd.js → react-query.gen-DQUX56Gs.js} +1 -1
  99. package/dist/assets/research-mock-page-D0KTjYOI.js +1 -0
  100. package/dist/assets/research-onboarding-route-CoGKBjAq.js +61 -0
  101. package/dist/assets/{resize-errors-D1myE8D_.js → resize-errors-CN02qg8O.js} +1 -1
  102. package/dist/assets/{review-terms-screen-1hI3KOuo.js → review-terms-screen-C2mUaOA6.js} +1 -1
  103. package/dist/assets/{routes-C6gxiCrz.js → routes-CCywyokq.js} +1 -1
  104. package/dist/assets/{schedules-D_sclJNA.js → schedules-CQOSfZg8.js} +1 -1
  105. package/dist/assets/{sdk.gen-zA5ns5LT.js → sdk.gen-B3Z8klU-.js} +1 -1
  106. package/dist/assets/{sdk.gen-pUYA4291.js → sdk.gen-Ec1nF7iZ.js} +1 -1
  107. package/dist/assets/select-assistant-screen-DkgCyv2V.js +1 -0
  108. package/dist/assets/{settings-layout-B257Z9LB.js → settings-layout-BLjA2_fl.js} +1 -1
  109. package/dist/assets/{share-feedback-modal-BfJQ9SbJ.js → share-feedback-modal-34O8UomD.js} +1 -1
  110. package/dist/assets/{sidebar-tree-BrIPzTJO.js → sidebar-tree-DJnIQnXc.js} +1 -1
  111. package/dist/assets/{signup-page-DfU1fVg6.js → signup-page-CJeIDhFC.js} +1 -1
  112. package/dist/assets/{signup-shell-DMX1tgqB.js → signup-shell-Bw9OFI-z.js} +1 -1
  113. package/dist/assets/skills-page-CcrxOAfG.js +1 -0
  114. package/dist/assets/{sound-manager-45n1b-Bl.js → sound-manager-DtzFjWmP.js} +1 -1
  115. package/dist/assets/{sounds-page-7_3U-dlg.js → sounds-page-BHhIVuV0.js} +1 -1
  116. package/dist/assets/subagent-detail-panel-Cj7wlfR3.js +4 -0
  117. package/dist/assets/{subagent-store-CN-NNj3H.js → subagent-store-BmGtlv6O.js} +1 -1
  118. package/dist/assets/{system-events-page-CPI3qkPm.js → system-events-page-B9LdpkBg.js} +1 -1
  119. package/dist/assets/{system-events-redirect-page-BuXE12UE.js → system-events-redirect-page-Dnoz3v9J.js} +1 -1
  120. package/dist/assets/{tiptap-document-editor-OSLOFGRH.js → tiptap-document-editor-jcHGSIJg.js} +1 -1
  121. package/dist/assets/{tool-detail-panel-CS3NNWPR.js → tool-detail-panel-B3u6-K3R.js} +1 -1
  122. package/dist/assets/{trace-page-BGoPPByx.js → trace-page-D-2QJklH.js} +1 -1
  123. package/dist/assets/{upgrade-cancel-page-eP-xr_rP.js → upgrade-cancel-page-CgX8IYAL.js} +1 -1
  124. package/dist/assets/{upgrade-success-page-BQuUJsbC.js → upgrade-success-page-DKKw3H1x.js} +1 -1
  125. package/dist/assets/{usage-page-9F1P16Dv.js → usage-page-obI_HCGk.js} +1 -1
  126. package/dist/assets/{use-bus-subscription-BNaztnO7.js → use-bus-subscription-Cv9Js5_J.js} +1 -1
  127. package/dist/assets/use-is-org-ready-CXt7jaER.js +1 -0
  128. package/dist/assets/use-onboarding-login-DgxS4dsO.js +1 -0
  129. package/dist/assets/{use-reduced-motion-BG6r0Z46.js → use-reduced-motion-BlCAREB8.js} +1 -1
  130. package/dist/assets/use-setup-channel-param-CNNd-gJV.js +9 -0
  131. package/dist/assets/{use-skill-categories-D2tZfqBc.js → use-skill-categories-CRMzRD6m.js} +1 -1
  132. package/dist/assets/{utils-P-AuKiE9.js → utils-ChLzMd8R.js} +1 -1
  133. package/dist/assets/{viewer-store-BR99G-Ii.js → viewer-store-D7cH9LQF.js} +1 -1
  134. package/dist/assets/{voice-page-LgaYUztu.js → voice-page-BT_3N22n.js} +1 -1
  135. package/dist/assets/{weather-forecast-display-CfCoDHyw.js → weather-forecast-display-C0Zvm9vl.js} +1 -1
  136. package/dist/assets/{web-DGDlV45i.js → web-60vPNzAv.js} +1 -1
  137. package/dist/assets/{web-DFw1Yfb1.js → web-BZF5Krzc.js} +1 -1
  138. package/dist/assets/{web-CxyEb7Lp.js → web-BfGgEMt3.js} +1 -1
  139. package/dist/assets/{web-GWxiW7or.js → web-Bqls6sCO.js} +1 -1
  140. package/dist/assets/{web-YggPvEM4.js → web-DF-93Ff2.js} +1 -1
  141. package/dist/assets/{web-b9SjJqdc.js → web-Dw05M3EW.js} +1 -1
  142. package/dist/assets/{web-lNls6p99.js → web-IVArvzQ-.js} +1 -1
  143. package/dist/assets/{welcome-screen-BNZvYh2g.js → welcome-screen-Dx4jNLFF.js} +1 -1
  144. package/dist/assets/{workflow-detail-panel-CP2JbBXr.js → workflow-detail-panel-CvbzHGzG.js} +1 -1
  145. package/dist/assets/workspace-page-DDNf-ykG.js +1 -0
  146. package/dist/index.html +84 -82
  147. package/package.json +1 -1
  148. package/dist/assets/acp-run-detail-panel-zJfy8qiw.js +0 -5
  149. package/dist/assets/advanced-page-Cpo1TLOb.js +0 -1
  150. package/dist/assets/connect-page-NvjuA4Dj.js +0 -1
  151. package/dist/assets/consent-controls-DRPdeZXw.js +0 -1
  152. package/dist/assets/contacts-gateway-BDJYh797.js +0 -1
  153. package/dist/assets/contacts-page-route-DpCrCofB.js +0 -9
  154. package/dist/assets/debug-page-lUWhh0uD.js +0 -4
  155. package/dist/assets/devices-page-ClysCgSb.js +0 -1
  156. package/dist/assets/esm--RA963YO.js +0 -2
  157. package/dist/assets/esm-BSRBg0oR.js +0 -2
  158. package/dist/assets/esm-CJ8uY1wn.js +0 -2
  159. package/dist/assets/esm-DTj81fJQ.js +0 -1
  160. package/dist/assets/esm-cB02a8J9.js +0 -2
  161. package/dist/assets/identity-page-route-DBYOwn0S.js +0 -1
  162. package/dist/assets/integrations-page-CcdA6N2s.js +0 -1
  163. package/dist/assets/intelligence-layout-VkKSilP1.js +0 -1
  164. package/dist/assets/logout-page-CaaPZSIH.js +0 -1
  165. package/dist/assets/logs-layout-CaUiCN-a.js +0 -1
  166. package/dist/assets/plugins-page-CeBV1IVq.js +0 -1
  167. package/dist/assets/plugins-surface-gCrqfOas.js +0 -1
  168. package/dist/assets/prechat-route-C8zgjI3Q.js +0 -1
  169. package/dist/assets/research-mock-page-DaY250XG.js +0 -1
  170. package/dist/assets/research-onboarding-route-BX-HEXnC.js +0 -61
  171. package/dist/assets/select-assistant-screen-nRxexeHI.js +0 -1
  172. package/dist/assets/skills-page-Bx5LerU3.js +0 -1
  173. package/dist/assets/subagent-detail-panel-Pn3ub3nM.js +0 -4
  174. package/dist/assets/use-is-org-ready-f4GMUYIe.js +0 -1
  175. package/dist/assets/use-onboarding-login-NYeSGUNo.js +0 -1
  176. package/dist/assets/workspace-page-u1KJogzb.js +0 -1
  177. /package/dist/assets/{account-shell-CyP9etTv.js → account-shell-D0ubbqxG.js} +0 -0
  178. /package/dist/assets/{api-errors-DPruG7q9.js → api-errors-CPc5p2r9.js} +0 -0
  179. /package/dist/assets/{app-info-DJQFoVxX.js → app-info-Dtc98M-e.js} +0 -0
  180. /package/dist/assets/{avatar-bundled-components-DVlFbr6O.js → avatar-bundled-components-DMC1S-8P.js} +0 -0
  181. /package/dist/assets/{avatar-svg-compositor-CNy1XmWD.js → avatar-svg-compositor-D6G3Y6hA.js} +0 -0
  182. /package/dist/assets/{build.umd-4R02MPXx.js → build.umd-gY3Uzz96.js} +0 -0
  183. /package/dist/assets/{by-tool-use-id-index-Dbdu-8Kf.js → by-tool-use-id-index-KHuXlFNc.js} +0 -0
  184. /package/dist/assets/{chat-rA5AbKPD.js → chat-C19ZjAL3.js} +0 -0
  185. /package/dist/assets/{client-identity-KGlckm6M.js → client-identity-DiDHLoNp.js} +0 -0
  186. /package/dist/assets/{client.gen-DU1JkKSB.js → client.gen-CbVuiseX.js} +0 -0
  187. /package/dist/assets/{client.gen-BHupOCJH.js → client.gen-nWvCdeJb.js} +0 -0
  188. /package/dist/assets/{cloud-off-rAv4OHmv.js → cloud-off-fMC5iwVY.js} +0 -0
  189. /package/dist/assets/{code-aMX9iMYa.js → code-BhoMjTYO.js} +0 -0
  190. /package/dist/assets/{composer-focus-n921WsjZ.js → composer-focus-Clt7vN-2.js} +0 -0
  191. /package/dist/assets/{conversation-selection-CNssqGbG.js → conversation-selection-jLLIV1vI.js} +0 -0
  192. /package/dist/assets/{conversation-store-B8D6wE18.js → conversation-store-BheNrWpL.js} +0 -0
  193. /package/dist/assets/{cpu-CiHv3fhs.js → cpu-D1r7PLan.js} +0 -0
  194. /package/dist/assets/{credit-card-BKRB1ZIi.js → credit-card-BwN95biV.js} +0 -0
  195. /package/dist/assets/{definitions-BughTGuV.js → definitions-DeG2sRFv.js} +0 -0
  196. /package/dist/assets/{detail-card-DRXR3fb7.js → detail-card-DXLMG-Zw.js} +0 -0
  197. /package/dist/assets/{dist-Ztj3rqLK.js → dist-CNEsSZUe.js} +0 -0
  198. /package/dist/assets/{domain-field-DYwuCpup.js → domain-field-CNW1t3OC.js} +0 -0
  199. /package/dist/assets/{edit-chat-session-DcCgw5Qy.js → edit-chat-session-RMvGKcHJ.js} +0 -0
  200. /package/dist/assets/{effective-timezone-B99h9zr7.js → effective-timezone-DrYGH2Lb.js} +0 -0
  201. /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-ClLxfwNZ.js} +0 -0
  202. /package/dist/assets/{environment-store-B83Xai7l.js → environment-store-CN3UaYQg.js} +0 -0
  203. /package/dist/assets/{event-bus-B3E3w-q2.js → event-bus-ULoEgfFr.js} +0 -0
  204. /package/dist/assets/{external-link-RJkZLlff.js → external-link-BgOnp59e.js} +0 -0
  205. /package/dist/assets/{file-text-ClqzuFsu.js → file-text-D4wmdFsJ.js} +0 -0
  206. /package/dist/assets/{format-BDkwdD2m.js → format-DuvgAcxs.js} +0 -0
  207. /package/dist/assets/{format-date-D4tzd1DT.js → format-date-CmX7EYBN.js} +0 -0
  208. /package/dist/assets/{format-file-size-CBQjPwkk.js → format-file-size-D7iZejgy.js} +0 -0
  209. /package/dist/assets/{globe-D3P5sSKJ.js → globe-CRuerXYx.js} +0 -0
  210. /package/dist/assets/{haptics-BE_0g4mc.js → haptics-DUNUKgg4.js} +0 -0
  211. /package/dist/assets/{hard-drive-CZEg1Cqc.js → hard-drive-DsJ64Fuu.js} +0 -0
  212. /package/dist/assets/{impersonate-version-flag-DyVWQf97.js → impersonate-version-flag-BpzPjXeb.js} +0 -0
  213. /package/dist/assets/{info-ciQS_i3y.js → info-C9uyv2bI.js} +0 -0
  214. /package/dist/assets/{lib-BNGjysgr.js → lib-DWRDi23Z.js} +0 -0
  215. /package/dist/assets/{link-2-r_QPxX18.js → link-2-BIp7l4R9.js} +0 -0
  216. /package/dist/assets/{llm-dimension-8g-Go8uq.js → llm-dimension-DyYwG3mU.js} +0 -0
  217. /package/dist/assets/{loader-circle-BFRVtR3K.js → loader-circle-BITX1qOw.js} +0 -0
  218. /package/dist/assets/{log-in-CEw63CGU.js → log-in-BCOweEUO.js} +0 -0
  219. /package/dist/assets/{minimize-2-dKm10qRD.js → minimize-2-BQKYHW0m.js} +0 -0
  220. /package/dist/assets/{misc-CFzLzLPH.js → misc-GIyc06fS.js} +0 -0
  221. /package/dist/assets/{monitor-CXU19mVX.js → monitor-xGqXetuk.js} +0 -0
  222. /package/dist/assets/{moon-CKINz50a.js → moon-rIyEhhAK.js} +0 -0
  223. /package/dist/assets/{mutation-error-CAO3gDr-.js → mutation-error-BN5zz5X4.js} +0 -0
  224. /package/dist/assets/{native-deep-link-C2-dXaz_.js → native-deep-link-CkFNpKqQ.js} +0 -0
  225. /package/dist/assets/{onboarding-step-layout-B65Rny5V.js → onboarding-step-layout-2XcmxqFN.js} +0 -0
  226. /package/dist/assets/{page-shell-sPPJY6qa.js → page-shell-C3-rU99a.js} +0 -0
  227. /package/dist/assets/{pdf-B-YWzK66.js → pdf-Cuv7mg8b.js} +0 -0
  228. /package/dist/assets/{pencil-B90pDI55.js → pencil-CtYlsDsm.js} +0 -0
  229. /package/dist/assets/{prechat-RG0Q0UrS.js → prechat-BzdosDIx.js} +0 -0
  230. /package/dist/assets/{prechat-names-Bmsq0aXB.js → prechat-names-DPum8sFP.js} +0 -0
  231. /package/dist/assets/{proxy-BgtfAoJj.js → proxy-BzcB2wP4.js} +0 -0
  232. /package/dist/assets/{public-asset-C2P77n3W.js → public-asset-DYtCQInw.js} +0 -0
  233. /package/dist/assets/{refresh-cw-Dui3Ymsb.js → refresh-cw-Dlu2vgR6.js} +0 -0
  234. /package/dist/assets/{remote-gateway-session-BigLiDPm.js → remote-gateway-session-C2xcV9Z_.js} +0 -0
  235. /package/dist/assets/{repeat-nCGBxntG.js → repeat-MDHTMmlC.js} +0 -0
  236. /package/dist/assets/{return-to-yMLvlnXN.js → return-to-DnS1UWHr.js} +0 -0
  237. /package/dist/assets/{save-BpAesNEP.js → save-C03NWAqR.js} +0 -0
  238. /package/dist/assets/{semver-0cyB3qXO.js → semver-DMpUdXpu.js} +0 -0
  239. /package/dist/assets/{setting-row-7y2HT-DP.js → setting-row-Ci9YIJwu.js} +0 -0
  240. /package/dist/assets/{sparkles-Bla177ar.js → sparkles-Bkcjn8HQ.js} +0 -0
  241. /package/dist/assets/{status-badge-pill-j3ke1d9o.js → status-badge-pill-CXey_r2B.js} +0 -0
  242. /package/dist/assets/{step-indicator-dots-WlYRNQOd.js → step-indicator-dots-CvPP_zNN.js} +0 -0
  243. /package/dist/assets/{triangle-alert-C3aHZq1F.js → triangle-alert-BcZY_IvR.js} +0 -0
  244. /package/dist/assets/{typed-storage-DjORmu8t.js → typed-storage-BGMPjrzL.js} +0 -0
  245. /package/dist/assets/{usage-window-B-YOzKJi.js → usage-window-C6gWu5Qu.js} +0 -0
  246. /package/dist/assets/{use-active-assistant-id-BVzVN4_g.js → use-active-assistant-id-iCLBbJXU.js} +0 -0
  247. /package/dist/assets/{use-is-mobile-jACt_z2d.js → use-is-mobile-Cqknxs2C.js} +0 -0
  248. /package/dist/assets/{user-plus-COoYKnWs.js → user-plus-D30zPuGV.js} +0 -0
  249. /package/dist/assets/{workflow-status-ByHycBJ_.js → workflow-status-BF9EOzZI.js} +0 -0
  250. /package/dist/assets/{x-DxL-bCuT.js → x-B0gfyRAR.js} +0 -0
  251. /package/dist/assets/{xterm-B8LaLTHh.js → xterm-BPl0dA68.js} +0 -0
  252. /package/dist/assets/{xterm-addon-fit--RE59D-m.js → xterm-addon-fit-BCzoNVYn.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-ChWAdhLG.js";import{t as s}from"./input-D4W4p0pZ.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{a as l}from"./routes-C6gxiCrz.js";import{rn as u}from"./index-CQhaX_6y.js";import{a as d,i as f,n as p,o as m,r as h,s as g}from"./provider-key-Bf5qJwbE.js";import"./onboarding-step-layout-B65Rny5V.js";var _=e(t(),1),v=a();function y(){let e=r(),[t]=i(),a=t.get(`hosting`),y=c(),b=p(),[x,S]=(0,_.useState)(()=>b?.provider??f.id),[C,w]=(0,_.useState)(()=>b?.key??``),[T,E]=(0,_.useState)(()=>b?.model??m(b?.provider??f.id)??``),[D,O]=(0,_.useState)(()=>b?.baseUrl??``),[k,A]=(0,_.useState)(()=>b?.customModels??``),j=g(x)??f,M=j.models??[],N=j.requiresKey,P=M.length>0,F=x===`openai-compatible`,I=(!(N&&!F)||C.trim().length>0)&&(!P||T.trim().length>0)&&(!F||D.trim().length>0&&k.trim().length>0);return(0,v.jsx)(u,{children:(0,v.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${y?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,v.jsx)(`h1`,{className:y?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Connect a Model Provider`}),(0,v.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${y?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose the model provider your assistant should use.`}),(0,v.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${y?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,v.jsx)(o,{"aria-label":`Provider`,value:x,onChange:e=>{let t=g(e);t&&(S(t.id),w(``),E(m(t.id)??``))},options:d.map(e=>({value:e.id,label:e.displayName}))})]}),M.length>0&&(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,v.jsx)(o,{"aria-label":`Model`,value:T,onChange:E,options:M.map(e=>({value:e.id,label:e.displayName}))})]}),F&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,v.jsx)(s,{type:`text`,placeholder:`http://localhost:1234/v1`,value:D,onChange:e=>O(e.target.value),fullWidth:!0})]}),(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,v.jsx)(s,{type:`text`,placeholder:`model-1, model-2`,value:k,onChange:e=>A(e.target.value),fullWidth:!0}),(0,v.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),N&&(0,v.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,v.jsx)(s,{type:`password`,label:`${j.displayName} API Key`,placeholder:j.apiKeyPlaceholder??`Enter your API key`,value:C,onChange:e=>w(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),j.docsUrl&&(0,v.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`Don't have it?`,` `,(0,v.jsx)(`a`,{href:j.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:`Get an API key here`})]})]})]}),(0,v.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${y?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,v.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!I,onClick:()=>{if(!I)return;let t=T.trim()||m(x);h({provider:x,key:C.trim(),...t?{model:t}:{},...F?{baseUrl:D.trim(),customModels:k.trim()}:{}}),e(a?`${l.onboarding.privacy}?hosting=${a}`:l.onboarding.privacy)},className:y?void 0:`h-11 text-base`,children:`Continue`}),(0,v.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{e(l.onboarding.hosting)},className:y?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{y as ApiKeyScreen};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-ChWAdhLG.js";import{t as s}from"./input-D4W4p0pZ.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{o as l}from"./routes-CCywyokq.js";import{an as u}from"./index-CWzNQ8A_.js";import{a as d,i as f,n as p,o as m,r as h,s as g}from"./provider-key-DSBs9REL.js";import"./onboarding-step-layout-2XcmxqFN.js";var _=e(t(),1),v=a();function y(){let e=r(),[t]=i(),a=t.get(`hosting`),y=c(),b=p(),[x,S]=(0,_.useState)(()=>b?.provider??f.id),[C,w]=(0,_.useState)(()=>b?.key??``),[T,E]=(0,_.useState)(()=>b?.model??m(b?.provider??f.id)??``),[D,O]=(0,_.useState)(()=>b?.baseUrl??``),[k,A]=(0,_.useState)(()=>b?.customModels??``),j=g(x)??f,M=j.models??[],N=j.requiresKey,P=M.length>0,F=x===`openai-compatible`,I=(!(N&&!F)||C.trim().length>0)&&(!P||T.trim().length>0)&&(!F||D.trim().length>0&&k.trim().length>0);return(0,v.jsx)(u,{children:(0,v.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${y?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,v.jsx)(`h1`,{className:y?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Connect a Model Provider`}),(0,v.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${y?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose the model provider your assistant should use.`}),(0,v.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${y?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,v.jsx)(o,{"aria-label":`Provider`,value:x,onChange:e=>{let t=g(e);t&&(S(t.id),w(``),E(m(t.id)??``))},options:d.map(e=>({value:e.id,label:e.displayName}))})]}),M.length>0&&(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,v.jsx)(o,{"aria-label":`Model`,value:T,onChange:E,options:M.map(e=>({value:e.id,label:e.displayName}))})]}),F&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,v.jsx)(s,{type:`text`,placeholder:`http://localhost:1234/v1`,value:D,onChange:e=>O(e.target.value),fullWidth:!0})]}),(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,v.jsx)(s,{type:`text`,placeholder:`model-1, model-2`,value:k,onChange:e=>A(e.target.value),fullWidth:!0}),(0,v.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),N&&(0,v.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,v.jsx)(s,{type:`password`,label:`${j.displayName} API Key`,placeholder:j.apiKeyPlaceholder??`Enter your API key`,value:C,onChange:e=>w(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),j.docsUrl&&(0,v.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`Don't have it?`,` `,(0,v.jsx)(`a`,{href:j.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:`Get an API key here`})]})]})]}),(0,v.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${y?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,v.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!I,onClick:()=>{if(!I)return;let t=T.trim()||m(x);h({provider:x,key:C.trim(),...t?{model:t}:{},...F?{baseUrl:D.trim(),customModels:k.trim()}:{}}),e(a?`${l.onboarding.privacy}?hosting=${a}`:l.onboarding.privacy)},className:y?void 0:`h-11 text-base`,children:`Continue`}),(0,v.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{e(l.onboarding.hosting)},className:y?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{y as ApiKeyScreen};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D-AX8Voo.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import"./src-CUycEQpW.js";import{n as s}from"./toast-B0OiPFFj.js";import{t as c}from"./archive-BFILUl9x.js";import{t as l}from"./loader-circle-BFRVtR3K.js";import{t as u}from"./triangle-alert-C3aHZq1F.js";import{J as d}from"./sdk.gen-zA5ns5LT.js";import{$n as f,Ti as p,bn as m}from"./index-CQhaX_6y.js";import{t as h}from"./use-active-assistant-id-BVzVN4_g.js";var g=e(n(),1),_=a();function v(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function y(){return(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,_.jsx)(c,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Conversations you archive will appear here.`})]})})}function b({conversation:e,isFirst:t,onUnarchive:n,isPending:i}){let a=[v(e.createdAt),e.source??`vellum-assistant`].filter(Boolean).join(` · `),o=e.title&&e.title.trim().length>0?e.title:`Untitled conversation`;return(0,_.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,_.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:a})]}),(0,_.jsx)(r,{variant:`outlined`,onClick:n,disabled:i,className:`shrink-0`,children:i?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Unarchiving`]}):`Unarchive`})]})}function x(){let e=i(),n=h(),{conversations:a,isLoading:c,isError:v,refetch:x}=m(n),[S,C]=(0,g.useState)(null),w=(0,g.useCallback)(async r=>{if(n){C(r);try{await d({path:{assistant_id:n,id:r},throwOnError:!0}),f(e,n)}catch(e){t(e,{context:`archive_settings_unarchive_conversation`}),s.error(`Failed to unarchive conversation.`)}finally{C(null)}}},[n,e]);return c?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,_.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):v?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,_.jsx)(u,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`Failed to load archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Something went wrong. Please try again.`}),(0,_.jsxs)(r,{variant:`outlined`,onClick:x,className:`mt-4`,children:[(0,_.jsx)(p,{className:`h-4 w-4`}),`Retry`]})]})})}):a.length===0?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(y,{})}):(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{noPadding:!0,className:`px-4`,children:a.map((e,t)=>(0,_.jsx)(b,{conversation:e,isFirst:t===0,onUnarchive:()=>{w(e.conversationId)},isPending:S===e.conversationId},e.conversationId))})})}export{x as ArchivePage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-8raDoxFL.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D-AX8Voo.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import"./src-CUycEQpW.js";import{n as s}from"./toast-B0OiPFFj.js";import{t as c}from"./archive-BFILUl9x.js";import{t as l}from"./loader-circle-BITX1qOw.js";import{t as u}from"./triangle-alert-BcZY_IvR.js";import{J as d}from"./sdk.gen-B3Z8klU-.js";import{Di as f,Sn as p,tr as m}from"./index-CWzNQ8A_.js";import{t as h}from"./use-active-assistant-id-iCLBbJXU.js";var g=e(n(),1),_=a();function v(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function y(){return(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,_.jsx)(c,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Conversations you archive will appear here.`})]})})}function b({conversation:e,isFirst:t,onUnarchive:n,isPending:i}){let a=[v(e.createdAt),e.source??`vellum-assistant`].filter(Boolean).join(` · `),o=e.title&&e.title.trim().length>0?e.title:`Untitled conversation`;return(0,_.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,_.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:a})]}),(0,_.jsx)(r,{variant:`outlined`,onClick:n,disabled:i,className:`shrink-0`,children:i?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Unarchiving`]}):`Unarchive`})]})}function x(){let e=i(),n=h(),{conversations:a,isLoading:c,isError:v,refetch:x}=p(n),[S,C]=(0,g.useState)(null),w=(0,g.useCallback)(async r=>{if(n){C(r);try{await d({path:{assistant_id:n,id:r},throwOnError:!0}),m(e,n)}catch(e){t(e,{context:`archive_settings_unarchive_conversation`}),s.error(`Failed to unarchive conversation.`)}finally{C(null)}}},[n,e]);return c?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,_.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):v?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,_.jsx)(u,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`Failed to load archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Something went wrong. Please try again.`}),(0,_.jsxs)(r,{variant:`outlined`,onClick:x,className:`mt-4`,children:[(0,_.jsx)(f,{className:`h-4 w-4`}),`Retry`]})]})})}):a.length===0?(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(y,{})}):(0,_.jsx)(`div`,{className:`w-full`,children:(0,_.jsx)(o,{noPadding:!0,className:`px-4`,children:a.map((e,t)=>(0,_.jsx)(b,{conversation:e,isFirst:t===0,onUnarchive:()=>{w(e.conversationId)},isPending:S===e.conversationId},e.conversationId))})})}export{x as ArchivePage};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./toast-B0OiPFFj.js";import{n as t,t as n}from"./create-selectors-BE0_e_Ed.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-C8w5_UfU.js";var c={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function l({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
1
+ import{n as e}from"./toast-B0OiPFFj.js";import{n as t,t as n}from"./create-selectors-BE0_e_Ed.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-CRFA909Q.js";var c={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function l({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
2
2
  `);let a=p.split(`
3
3
 
4
4
  `);p=a.pop()??``;for(let e of a){let t=e.split(`
@@ -1 +1 @@
1
- import{n as e,t}from"./create-selectors-BE0_e_Ed.js";import{t as n}from"./impersonate-version-flag-DyVWQf97.js";var r=t(e(e=>({name:null,version:null,setIdentity:(t,r)=>{e({name:t,version:n()??r})},clearIdentity:()=>e({name:null,version:null})})));export{r as t};
1
+ import{n as e,t}from"./create-selectors-BE0_e_Ed.js";import{t as n}from"./impersonate-version-flag-BpzPjXeb.js";var r=t(e(e=>({name:null,version:null,setIdentity:(t,r)=>{e({name:t,version:n()??r})},clearIdentity:()=>e({name:null,version:null})})));export{r as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-BG-GkiMq.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import"./src-CUycEQpW.js";import{t as o}from"./tag-CW6WC4fE.js";import{n as s}from"./toast-B0OiPFFj.js";import{t as c}from"./loader-circle-BFRVtR3K.js";import{n as l}from"./auth-store-DGyzz5Ha.js";import{a as u,r as d}from"./api-5fuWyrd5.js";import{t as f}from"./assistant-feature-flag-store-D80P_lXI.js";import{t as p}from"./use-active-assistant-id-BVzVN4_g.js";import{t as m}from"./environment-store-B83Xai7l.js";var h=e(r(),1),g=a();function _({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,g.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,g.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,g.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,g.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var v=7,y=2e3;function b({version:e,loading:t,assistantId:n}){let r=(0,h.useRef)(0),i=(0,h.useRef)(null),[a,o]=(0,h.useState)(null),s=(0,h.useCallback)(()=>{if(r.current+=1,r.current>=v){r.current=0;let e=f.getState(),t=!e.settingsDeveloperNav;e.setFlag(`settingsDeveloperNav`,t,n),o(t?`Developer mode enabled`:`Developer mode disabled`),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{o(null),i.current=null},y)}},[n]);return(0,h.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),t?(0,g.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:s,children:e}),a&&(0,g.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var x=`currentAssistant`,S=4e3,C=9e4;function w(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function T(){let e=p(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[x,e],queryFn:async()=>{let t=await d(e);return t.ok?t.data:null},retry:!1}),c=r?.id,[l,f]=(0,h.useState)(null),[m,g]=(0,h.useState)(!1),[_,v]=(0,h.useState)(!1),y=(0,h.useRef)(0),b=(0,h.useRef)(0),T=(0,h.useCallback)(async e=>{if(!c)return f(null),g(!1),null;y.current+=1;let r=y.current;g(!0);try{let t=await u(c);return r===y.current?t.ok?(f(t.data),t.data):(e?.keepStaleOnError||f(null),null):null}catch(i){return r===y.current?(e?.keepStaleOnError||f(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===y.current&&g(!1)}},[c]);return(0,h.useEffect)(()=>{T()},[T]),(0,h.useEffect)(()=>()=>{b.current+=1,v(!1),f(null)},[c]),{assistant:r,assistantLoading:a,healthz:l,healthzLoading:m,healthzPolling:_,refetch:(0,h.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,h.useCallback)(async e=>{let t=++b.current,n=Date.now()+C;v(!0);let r=e;try{for(o();Date.now()<n&&t===b.current;){if(await new Promise(e=>setTimeout(e,S)),t!==b.current)return;let e=await T({keepStaleOnError:!0});if(t!==b.current)return;if(e){if(r==null){r=e;continue}if(w(e,r))return}}}finally{t===b.current&&v(!1)}},[T,o])}}function E({assistant:e,assistantLoading:t,healthz:n,healthzLoading:r}){let i=m.use.isNonProduction(),a=l.use.user()?.email;if(t)return(0,g.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]});if(!e)return(0,g.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`});let s=n?.version??e.current_release_version;return(0,g.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[a&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Account`}),(0,g.jsx)(k,{children:a})]}),(0,g.jsx)(O,{children:`Name`}),(0,g.jsx)(k,{children:e.name}),e.description&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Description`}),(0,g.jsx)(k,{children:e.description})]}),(0,g.jsx)(O,{children:`Status`}),(0,g.jsx)(`div`,{children:(0,g.jsx)(o,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,g.jsx)(O,{children:`Assistant ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),i&&e.machine_id&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Machine ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,g.jsx)(O,{children:`Created`}),(0,g.jsx)(k,{children:e.created?new Date(e.created).toLocaleDateString():`Unknown`}),(0,g.jsx)(O,{children:`Version`}),(0,g.jsx)(b,{version:s??null,loading:r&&!e.current_release_version,assistantId:e.id??null})]})}function D(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}function O({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function k({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}export{_ as i,D as n,T as r,E as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-8raDoxFL.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import"./src-CUycEQpW.js";import{t as o}from"./tag-CW6WC4fE.js";import{n as s}from"./toast-B0OiPFFj.js";import{t as c}from"./loader-circle-BITX1qOw.js";import{n as l}from"./auth-store-B8KDWYi4.js";import{a as u,r as d}from"./api-DvthVfI2.js";import{t as f}from"./assistant-feature-flag-store-B440uAh9.js";import{t as p}from"./use-active-assistant-id-iCLBbJXU.js";import{t as m}from"./environment-store-CN3UaYQg.js";var h=e(r(),1),g=a();function _({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,g.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,g.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,g.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,g.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var v=7,y=2e3;function b({version:e,loading:t,assistantId:n}){let r=(0,h.useRef)(0),i=(0,h.useRef)(null),[a,o]=(0,h.useState)(null),s=(0,h.useCallback)(()=>{if(r.current+=1,r.current>=v){r.current=0;let e=f.getState(),t=!e.settingsDeveloperNav;e.setFlag(`settingsDeveloperNav`,t,n),o(t?`Developer mode enabled`:`Developer mode disabled`),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{o(null),i.current=null},y)}},[n]);return(0,h.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),t?(0,g.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:s,children:e}),a&&(0,g.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var x=`currentAssistant`,S=4e3,C=9e4;function w(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function T(){let e=p(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[x,e],queryFn:async()=>{let t=await d(e);return t.ok?t.data:null},retry:!1}),c=r?.id,[l,f]=(0,h.useState)(null),[m,g]=(0,h.useState)(!1),[_,v]=(0,h.useState)(!1),y=(0,h.useRef)(0),b=(0,h.useRef)(0),T=(0,h.useCallback)(async e=>{if(!c)return f(null),g(!1),null;y.current+=1;let r=y.current;g(!0);try{let t=await u(c);return r===y.current?t.ok?(f(t.data),t.data):(e?.keepStaleOnError||f(null),null):null}catch(i){return r===y.current?(e?.keepStaleOnError||f(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===y.current&&g(!1)}},[c]);return(0,h.useEffect)(()=>{T()},[T]),(0,h.useEffect)(()=>()=>{b.current+=1,v(!1),f(null)},[c]),{assistant:r,assistantLoading:a,healthz:l,healthzLoading:m,healthzPolling:_,refetch:(0,h.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,h.useCallback)(async e=>{let t=++b.current,n=Date.now()+C;v(!0);let r=e;try{for(o();Date.now()<n&&t===b.current;){if(await new Promise(e=>setTimeout(e,S)),t!==b.current)return;let e=await T({keepStaleOnError:!0});if(t!==b.current)return;if(e){if(r==null){r=e;continue}if(w(e,r))return}}}finally{t===b.current&&v(!1)}},[T,o])}}function E({assistant:e,assistantLoading:t,healthz:n,healthzLoading:r}){let i=m.use.isNonProduction(),a=l.use.user()?.email;if(t)return(0,g.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]});if(!e)return(0,g.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`});let s=n?.version??e.current_release_version;return(0,g.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[a&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Account`}),(0,g.jsx)(k,{children:a})]}),(0,g.jsx)(O,{children:`Name`}),(0,g.jsx)(k,{children:e.name}),e.description&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Description`}),(0,g.jsx)(k,{children:e.description})]}),(0,g.jsx)(O,{children:`Status`}),(0,g.jsx)(`div`,{children:(0,g.jsx)(o,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,g.jsx)(O,{children:`Assistant ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),i&&e.machine_id&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(O,{children:`Machine ID`}),(0,g.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,g.jsx)(O,{children:`Created`}),(0,g.jsx)(k,{children:e.created?new Date(e.created).toLocaleDateString():`Unknown`}),(0,g.jsx)(O,{children:`Version`}),(0,g.jsx)(b,{version:s??null,loading:r&&!e.current_release_version,assistantId:e.id??null})]})}function D(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}function O({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function k({children:e}){return(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}export{_ as i,D as n,T as r,E as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CJ8uY1wn.js","assets/preload-helper-BewR0kVT.js","assets/dist-Ztj3rqLK.js","assets/esm-DTj81fJQ.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,i as n,t as r}from"./local-settings-lVNyIOJ_.js";import{a as i,t as a}from"./device-settings-BBwtGKJb.js";import{o,t as s}from"./capture-error-BG-GkiMq.js";import{t as c}from"./preload-helper-BewR0kVT.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{n as u,t as d}from"./create-selectors-BE0_e_Ed.js";import{$ as ee,C as te,E as ne,Q as re,S as ie,_ as ae,at as f,c as p,d as oe,et as m,f as h,h as g,i as se,it as ce,m as le,n as ue,nt as de,o as fe,ot as _,r as pe,rt as me,s as he,tt as ge,v as _e,w as ve,x as ye}from"./local-mode-CgrENuVf.js";import{t as v}from"./is-electron-C_ZTVhv8.js";import{n as y,t as be}from"./resolved-assistants-store-Dqf0LJrA.js";import{n as xe,r as b,t as Se}from"./api-errors-DPruG7q9.js";import{t as x}from"./client.gen-BHupOCJH.js";import{M as Ce,N as we,St as Te}from"./sdk.gen-pUYA4291.js";import{a as Ee,c as S,r as De}from"./api-5fuWyrd5.js";import{n as Oe}from"./event-bus-B3E3w-q2.js";import{S as C,a as ke,b as Ae,d as je,h as Me,i as Ne,l as Pe,t as Fe,u as Ie,v as Le,w as Re,y as ze}from"./native-biometric-BK6_QtW5.js";import{o as Be}from"./remote-gateway-session-BigLiDPm.js";import{t as Ve}from"./dist-Ztj3rqLK.js";import{r as He}from"./typed-storage-DjORmu8t.js";var w=d(u(()=>({assistantState:{kind:`loading`},operationalStatusAssistantId:null,expectingFirstMessage:!1}))),Ue=new Set;function We(e){return Ue.add(e),()=>{Ue.delete(e)}}function Ge(){for(let e of Ue)try{e()}catch{}}var Ke=new Set([502,503,504]),qe=`Connection interrupted. Reconnecting…`;function Je(e){return e.code===`proxy_network_error`?!0:(typeof e.detail==`string`?e.detail:``).includes(`net::ERR_`)}function Ye(e){if(e.ok)switch(e.data.status){case`active`:return e.data.is_local?{kind:`self_hosted`}:{kind:`active`};case`initializing`:return{kind:`initializing`};case`to_be_deleted`:return{kind:`cleaning_up`};default:return{kind:`error`,message:`Unexpected assistant status: ${e.data.status}`}}return e.status===404?{kind:`auto_hatch`}:Je(e.error)?{kind:`error`,transient:!0,message:qe}:{kind:`error`,message:b(e.error,void 0,`Failed to check assistant status.`)}}function Xe(e){return e===void 0||e>=500}var Ze=`platform_hosted_disabled`,Qe=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function $e(e,t){return e===503?t?.code===Ze:!1}var et=2e3,tt=3e4;function nt(e){return Math.min(et*2**e,tt)}var rt=3e5;function it(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var at=[`assistant`,`current`],ot=3e3,st=new Set([`initializing`,`cleaning_up`]);function ct(e){if(!e)return!1;let t=Ye(e);return st.has(t.kind)?ot:!1}function lt(e){return e?[...at,e]:at}function ut(e){let t=e.selectedPlatformAssistantId??null;return l({queryKey:lt(t),queryFn:()=>De(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>ct(e.state.data),refetchOnWindowFocus:!1})}var dt=new Set([`healthy`,`ok`]);function ft(e){if(!e.ok)return`unreachable`;let t=e.data?.status;return t!==void 0&&!dt.has(t)?`unhealthy`:`healthy`}function pt(){let e=w.use.assistantState();return e.kind===`self_hosted`||e.kind===`active`&&e.isLocal?e.health??null:null}var T=e=>e===`authenticated`,mt=e=>e!==`initializing`,E=e=>e===`present`,ht=(e,t)=>e===`present`&&!t,gt=new Set([401,403,410]),_t=e=>!e.ok&&e.status!==void 0&&gt.has(e.status),vt=4e3,yt=6e4,bt=5e3;function xt(){let e=/\/assistant(?:\/|$)/.exec(window.location.pathname),t=e&&e.index>0?window.location.pathname.slice(0,e.index).replace(/\/+$/,``):``;return`${window.location.origin}${t}`}var D=new class{state={kind:`loading`};generation=0;initializingTimeout=null;ready=!1;inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null,selectedPlatformAssistantId:null};probeTimer=null;healthHeartbeatTimer=null;healthHeartbeatId=null;healthHeartbeatToken=0;reachabilityProbeInFlightIds=new Set;probeLoopAssistantId=null;errorRetryTimer=null;errorRetryAttempt=0;constructor(){We(()=>this.onUnreachable()),Oe(`app.online`,()=>this.onNetworkOnline()),y.subscribe((e,t)=>{e.selectedAssistantId!==t.selectedAssistantId&&(!_()||this.state.kind===`loading`||this.applyGatewayAuthShortCircuit())})}setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){y.getState().activeAssistantId!==null&&y.getState().setActiveAssistantId(null),this.setOperationalStatusAssistantId(null),this.cancelProbeTimer(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.state.kind!==`loading`&&this.transition({kind:`loading`}),this.clearExpectingFirstMessage()}async respondToInputs(){if(this.ready){if(_()){this.applyGatewayAuthShortCircuit();return}if(!T(this.inputs.sessionStatus)){this.resetForLogout();return}this.inputs.hasPlatformSession&&m(null),this.inputs.isOrgReady&&await this.checkAssistant()}}async applyServerResult(e){this.ready&&(this.state.kind!==`initializing`&&this.state.kind!==`cleaning_up`||await this.applyServerStateUpdate(e))}async checkAssistant(e){if(!this.ready)return;if(_()){this.applyGatewayAuthShortCircuit();return}let t=this.generation;try{let n=e??this.inputs.selectedPlatformAssistantId??null,r=await this.inputs.queryClient.fetchQuery({queryKey:lt(n),queryFn:()=>De(n??void 0),staleTime:0});if(t!==this.generation||n&&!r.ok&&r.status===404&&(y.getState().setSelectedAssistant(null),r=await this.inputs.queryClient.fetchQuery({queryKey:at,queryFn:()=>De(),staleTime:0}),t!==this.generation))return;await this.applyServerStateUpdate(r)}catch(e){if(console.error(`Error checking assistant status:`,e),s(e,{context:`check_assistant`}),t!==this.generation||this.degradeOnTransportFailure())return;this.transition({kind:`error`,transient:!0,message:qe})}}degradeOnTransportFailure(){return this.state.kind===`active`?(this.triggerReachabilityProbe(),!0):this.state.kind===`initializing`||this.state.kind===`cleaning_up`}retryAssistant(){this.ready&&this.checkAssistant()}markExpectingFirstMessage(){w.getState().expectingFirstMessage||w.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){w.getState().expectingFirstMessage&&w.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,w.setState({assistantState:e}),e.kind===`initializing`?t!==`initializing`&&this.armInitializingWatchdog():this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),e.kind!==`initializing`&&e.kind!==`active`&&this.clearExpectingFirstMessage(),!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)&&this.healthHeartbeatId!==null&&this.cancelHealthHeartbeat(),e.kind===`error`&&e.transient?this.armErrorRetry():this.clearErrorRetry(e.kind!==`error`)}clearErrorRetry(e){this.errorRetryTimer&&=(clearTimeout(this.errorRetryTimer),null),e&&(this.errorRetryAttempt=0)}armErrorRetry(){this.errorRetryTimer&&clearTimeout(this.errorRetryTimer);let e=nt(this.errorRetryAttempt);this.errorRetryAttempt+=1,this.errorRetryTimer=setTimeout(()=>{this.errorRetryTimer=null,this.checkAssistant()},e)}onNetworkOnline(){if(this.ready){if(this.state.kind===`error`&&this.state.transient){this.clearErrorRetry(!0),this.checkAssistant();return}this.state.kind===`active`&&this.state.reachable===!1&&this.checkAssistant()}}armInitializingWatchdog(){this.initializingTimeout&&clearTimeout(this.initializingTimeout),this.initializingTimeout=setTimeout(()=>{this.generation++,o(`Assistant stuck in initializing state`,{level:`warning`,extra:{timeoutMs:rt}}),this.transition(it())},rt)}projectActive(e){let t=e.data.maintenance_mode,n=e.data.is_local??!1;m(null),this.setOperationalStatusAssistantId(e.data.id);let r=y.getState();r.upsertFromApi(e.data),r.setActiveAssistantId(e.data.id),this.transition({kind:`active`,isLocal:n,maintenanceMode:{enabled:t?.enabled}}),n?this.startHealthHeartbeat(e.data.id):this.probeReachability(e.data.id)}projectSelfHosted(e){this.setOperationalStatusAssistantId(null),m({url:e.data.ingress_url,token:e.data.platform_actor_token});let t=y.getState();t.upsertFromApi(e.data),t.setActiveAssistantId(e.data.id),this.transition({kind:`self_hosted`}),this.startHealthHeartbeat(e.data.id)}applyGatewayAuthShortCircuit(){let e=window.location.origin,t=`self`,n=se();if(g())e=xt();else if(n){let r=p();e=`${window.location.origin}${n}`,t=r?.assistantId??t}m({url:e,token:me()}),this.setOperationalStatusAssistantId(null),y.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0}),this.startHealthHeartbeat(t)}async applyServerStateUpdate(e){let t=this.generation,n=Ye(e);if(!(n.kind===`error`&&n.transient&&this.degradeOnTransportFailure())&&(e.ok?this.setOperationalStatusAssistantId(e.data.id):this.setOperationalStatusAssistantId(null),n.kind!==`auto_hatch`)){if(n.kind===`active`&&e.ok){this.projectActive(e);return}if(n.kind===`self_hosted`&&e.ok){this.projectSelfHosted(e);return}t===this.generation&&n.kind!==`active`&&this.transition(n)}}async probeReachability(e){if(!this.reachabilityProbeInFlightIds.has(e)){this.reachabilityProbeInFlightIds.add(e);try{let t=this.generation,n=this.state.kind===`self_hosted`||this.state.kind===`active`&&this.state.isLocal,r=n?p()?.assistantId??e:e,i=!g()&&n?await ne(r).catch(()=>null):null,a=i?.ok&&i.state===`upgrading`?`upgrading`:`unreachable`;if(a!==`upgrading`)try{a=ft(await Ee(e))}catch{a=`unreachable`}if(a===`unreachable`&&!i&&!g()&&(i=await ne(r).catch(()=>null)),a===`unreachable`&&i?.ok)switch(i.state){case`healthy`:a=`healthy`;break;case`sleeping`:case`starting`:case`upgrading`:case`crashed`:a=i.state;break;case`unknown`:break}if(t!==this.generation||y.getState().activeAssistantId!==e)return;if(this.state.kind===`self_hosted`){this.state.health!==a&&this.transition({...this.state,health:a});return}if(this.state.kind!==`active`)return;let o=a===`healthy`||a===`unhealthy`;if(this.state.reachable===o&&this.state.health===a)return;this.transition({...this.state,reachable:o,health:a})}finally{this.reachabilityProbeInFlightIds.delete(e)}}}cancelProbeTimer(){this.probeTimer&&=(clearTimeout(this.probeTimer),null)}startProbeLoop(e){if(this.probeLoopAssistantId===e)return;this.cancelProbeTimer(),this.probeLoopAssistantId=e;let t=Date.now(),n=()=>{this.probeLoopAssistantId=null},r=async()=>{if(this.state.kind!==`active`||this.state.reachable===!0){n();return}if(Date.now()-t>yt){n();return}await this.probeReachability(e);let i=this.state;if(i.kind!==`active`||i.reachable===!0){n();return}if(Date.now()-t>yt){n();return}this.probeTimer=setTimeout(()=>void r(),vt)};this.probeTimer=setTimeout(()=>void r(),vt)}startHealthHeartbeat(e){if(this.healthHeartbeatId===e)return;this.cancelHealthHeartbeat(),this.healthHeartbeatId=e;let t=this.healthHeartbeatToken,n=async()=>{t===this.healthHeartbeatToken&&(await this.probeReachability(e),t===this.healthHeartbeatToken&&(this.healthHeartbeatTimer=setTimeout(()=>void n(),bt)))};n()}cancelHealthHeartbeat(){this.healthHeartbeatToken++,this.healthHeartbeatId=null,this.healthHeartbeatTimer&&=(clearTimeout(this.healthHeartbeatTimer),null)}onUnreachable(){this.triggerReachabilityProbe()}triggerReachabilityProbe(){if(this.state.kind!==`active`)return;let e=y.getState().activeAssistantId;if(e){if(this.transition({...this.state,reachable:!1}),this.healthHeartbeatId===e){this.probeReachability(e);return}this.startProbeLoop(e)}}setLocalAssistantUpgradeInProgress(e,t){if(y.getState().activeAssistantId===e){if(!t){this.probeReachability(e);return}if(this.state.kind===`self_hosted`){this.transition({...this.state,health:`upgrading`});return}this.state.kind===`active`&&this.state.isLocal&&this.transition({...this.state,reachable:!1,health:`upgrading`})}}__resetForTesting(){this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),this.cancelProbeTimer(),this.cancelHealthHeartbeat(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.clearErrorRetry(!0),this.state={kind:`loading`},this.generation=0,this.ready=!1,w.setState({expectingFirstMessage:!1,operationalStatusAssistantId:null}),this.inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null},w.setState({assistantState:this.state}),y.setState({activeAssistantId:null})}setOperationalStatusAssistantId(e){w.getState().operationalStatusAssistantId!==e&&w.setState({operationalStatusAssistantId:e})}};function St(e){let{assistants:t,selectedAssistantId:n,assistantsHydrated:r}=y.getState(),i=be(t,e),a=e=>i.some(t=>t.id===e);if(n!==null){let e=t.some(e=>e.id===n);if(a(n)||!e&&!r)return n}let o=ue()?.assistantId??null;return o!==null&&a(o)?o:i[0]?.id??null}async function O(e){y.getState().setSelectedAssistant(e),e!==null&&await ye(e)}var Ct=`vellum:auth:userSnapshot`;function wt(e){if(e)try{localStorage.setItem(Ct,JSON.stringify(e))}catch{}}function Tt(){try{let e=localStorage.getItem(Ct);if(!e)return null;let t=JSON.parse(e);return!t||typeof t!=`object`?null:{kind:`platform`,id:typeof t.id==`string`?t.id:null,username:typeof t.username==`string`?t.username:null,email:typeof t.email==`string`?t.email:null,isStaff:t.isStaff===!0,firstName:typeof t.firstName==`string`?t.firstName:``,lastName:typeof t.lastName==`string`?t.lastName:``}}catch{return null}}function k(){try{localStorage.removeItem(Ct)}catch{}}var Et=`vellum_active_organization_id`;function Dt(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function Ot(){let e=Dt();if(!e)return null;try{return e.getItem(Et)}catch{return null}}function kt(e){let t=Dt();if(t)try{t.setItem(Et,e)}catch{}}function At(){let e=Dt();if(e)try{e.removeItem(Et)}catch{}}function jt(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var A=d(u()((e,t)=>({organizations:[],currentOrganizationId:null,status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await Te()).data?.results??[],r=jt(n,t().currentOrganizationId??Ot());r&&kt(r),e({organizations:n,currentOrganizationId:r,status:r?`ready`:`error`,error:r?null:`No organization available for this user.`})}catch(t){e({status:`error`,error:t instanceof Error&&t.message?t.message:`Failed to load organizations.`})}},setCurrentOrganizationId:n=>{let{organizations:r}=t();r.some(e=>e.id===n)&&(kt(n),e({currentOrganizationId:n,status:`ready`}))},clearOrganization:()=>{At(),e({organizations:[],currentOrganizationId:null,status:`idle`,error:null})}})));function j(){return A.getState().currentOrganizationId??Ot()}function Mt(){A.getState().clearOrganization()}function Nt(){let e=0,t=A.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=E(e.platformSession),r=E(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&A.getState().fetchOrganizations()}),r=()=>{if(!E($.getState().platformSession))return;let{status:t}=A.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&A.getState().fetchOrganizations()},i=Oe(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}function Pt(e,t={}){let n={...e??{}},r=t.includeSelfHostedActorToken===!1?null:re();if(r)return n.Authorization=`Bearer ${r}`,n;let i=t.organizationId??j();i&&(n[`Vellum-Organization-Id`]=i);let a=Ae();return a&&(n[`X-Session-Token`]=a),n}async function Ft(e,t={}){let n=Pt(e,t);if(n.Authorization||v())return n;await Le();let r=ze();return r&&(n[`X-CSRFToken`]=r),n}var It;function Lt(){return v()?(It===void 0&&(It=window.__VELLUM_CONFIG__?.deviceId??null),It):null}var Rt=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,zt=`X-Vellum-Electron-Renderer-Origin`,Bt=new Map;async function Vt(e,t={}){if(!h()||g()||le()||rn(e))return e;let n=Ut(e);if(!n)return e;let r=Bt.get(n.assistantId);if(r)return r;let i=Wt(n,{allowGatewayRepair:t.allowGatewayRepair??!0});Bt.set(n.assistantId,i);try{return await i}catch(e){throw Bt.delete(n.assistantId),e}}function Ht(e,t={}){if(!h()||g()||le())return;let n=e;if(!n){let e=p();if(!e||!oe(e))return;n=e.assistantId}Vt(n,{allowGatewayRepair:t.allowGatewayRepair??!1}).catch(t.onError??(e=>{console.warn(`local assistant platform bootstrap failed`,e)}))}function Ut(e){let t=ue();if(t?.assistantId===e&&oe(t))return t;let n=p();return n?.assistantId===e&&oe(n)?n:null}async function Wt(e,t){let n=await Kt(e,t),r=await qt(n,e.assistantId),i=r?.assistantId&&rn(r.assistantId)?r.assistantId:null;if(i&&r?.hasAssistantApiKey!==!1){let t=r?.organizationId??e.platformOrganizationId??null;return t&&await Gt(e,{platformAssistantId:i,platformBaseUrl:r?.baseUrl??he(),organizationId:t}),i}let a=await Jt(r?.organizationId??null,e);if(!a)throw Error(`Sign in to Vellum and select an organization to register this local assistant.`);let o=r?.clientInstallationId??Lt()??null;if(!o)throw Error(`Unable to identify this local assistant host for platform registration.`);let s=await Yt(e,a,o),c=M(s.assistant?.id,s.assistant_id,s.id),l=i??c;if(!l||!rn(l))throw Error(`The platform registration response did not include an assistant UUID.`);let u=N(s.assistant_api_key);!u&&r?.hasAssistantApiKey!==!0&&(u=await Xt(e,a,o));let d=r?.baseUrl??he();return await Qt(n,{assistantApiKey:u,platformAssistantId:l,platformBaseUrl:d,organizationId:a,webhookSecret:N(s.webhook_secret)}),await Gt(e,{platformAssistantId:l,platformBaseUrl:d,organizationId:a}),l}async function Gt(e,t){await te({...e,platformAssistantId:t.platformAssistantId,platformBaseUrl:t.platformBaseUrl,platformOrganizationId:t.organizationId}).catch(e=>{console.warn(`local assistant platform lockfile update failed`,e)})}async function Kt(e,t){let n=ee(),r=re();if(t.allowGatewayRepair&&(!n||!r)&&(await _e(e),n=ee(),r=re()),!n||!r){let t=se(e);t&&(n=`${window.location.origin}${t}`)}if(!n||!r)throw Error(`Unable to reach the local assistant for platform identity setup.`);return{gatewayUrl:n,actorToken:r}}async function qt(e,t){let n=nn(e.gatewayUrl,`/v1/assistants/${encodeURIComponent(t)}/platform/status`),r=await fetch(n,{headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`},credentials:`omit`}).catch(()=>null);if(!r?.ok)return null;let i=await r.json().catch(()=>null);return{assistantId:M(i?.assistantId,i?.assistant_id),baseUrl:M(i?.baseUrl,i?.base_url),organizationId:M(i?.organizationId,i?.organization_id),hasAssistantApiKey:an(i?.hasAssistantApiKey,i?.has_assistant_api_key),clientInstallationId:M(i?.clientInstallationId,i?.client_installation_id)}}async function Jt(e,t){return(e??t.platformOrganizationId??j()??t.organizationId??null)||(await A.getState().fetchOrganizations().catch(()=>{}),j()??t.platformOrganizationId??t.organizationId??null)}async function Yt(e,t,n){return await Zt(`/v1/assistants/self-hosted-local/ensure-registration/`,e,t,n)}async function Xt(e,t,n){return N((await Zt(`/v1/assistants/self-hosted-local/reprovision-api-key/`,e,t,n)).provisioning?.assistant_api_key)}async function Zt(e,t,n,r){let i=new Headers({...await Ft({Accept:`application/json`,"Content-Type":`application/json`},{includeSelfHostedActorToken:!1,organizationId:n})}),a=Ae();if(v()){if(!a)throw Error(`Sign in to Vellum to register this local assistant.`);i.set(zt,`${window.location.protocol}//${window.location.host}`)}let o=await fetch(new URL(e,window.location.origin).toString(),{method:`POST`,headers:i,credentials:v()?`omit`:`same-origin`,body:JSON.stringify({client_installation_id:r,runtime_assistant_id:t.assistantId,client_platform:v()?`macos`:`web`})}).catch(e=>{throw Error(`Unable to reach the platform registration endpoint: ${tn(e)}`)});if(!o.ok){let e=await en(o);throw Error(`Unable to register the local assistant with the platform (HTTP ${o.status})${e?`: ${e}`:`.`}`)}try{return await o.json()}catch(e){throw Error(`Unable to read the platform registration response: ${tn(e)}`)}}async function Qt(e,t){let n=[[`vellum:assistant_api_key`,t.assistantApiKey],[`vellum:platform_assistant_id`,t.platformAssistantId],[`vellum:platform_base_url`,t.platformBaseUrl],[`vellum:platform_organization_id`,t.organizationId],[`vellum:webhook_secret`,t.webhookSecret]];await Promise.all(n.filter(e=>!!e[1]).map(([t,n])=>$t(e,t,n)))}async function $t(e,t,n){let r=await fetch(nn(e.gatewayUrl,`/v1/secrets`),{method:`POST`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`,"Content-Type":`application/json`},credentials:`omit`,body:JSON.stringify({type:`credential`,name:t,value:n})}).catch(e=>{throw Error(`Unable to reach the local assistant while storing ${t}: ${tn(e)}`)});if(!r.ok){let e=await en(r);throw Error(`Unable to store ${t} on the local assistant (HTTP ${r.status})${e?`: ${e}`:`.`}`)}return!0}async function en(e){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.json().catch(()=>null),n=t&&typeof t==`object`&&`detail`in t?N(t.detail):null,r=t&&typeof t==`object`&&`code`in t?N(t.code):null;return n&&r?`${n} (${r})`:n||r||JSON.stringify(t)}return(await e.text().catch(()=>``)).slice(0,300)}function tn(e){return e instanceof Error?e.message:String(e)}function nn(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/,``)}${t}`,n.toString()}function rn(e){return Rt.test(e)}function M(...e){for(let t of e){let e=N(t);if(e)return e}return null}function N(e){return typeof e==`string`&&e.trim()?e.trim():null}function an(...e){for(let t of e)if(typeof t==`boolean`)return t;return null}var on=`.dev`;function sn(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.bundleId==`string`&&typeof t.assistantId==`string`?{token:t.token,bundleId:t.bundleId,assistantId:t.assistantId}:null}var cn=He({key:`vellum:push_registration`,scope:`user`,parse:sn,serialize:JSON.stringify,fallback:null}),ln=!1,un=null,P=null,F=new Set;function dn(e){F.add(e),e.finally(()=>{F.delete(e)})}function fn(){return Ie()&&Ve.getPlatform()===`ios`}function pn(e){return e.endsWith(on)?`development`:`production`}async function mn(e,t){try{let{App:n}=await c(async()=>{let{App:e}=await import(`./esm-CJ8uY1wn.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:r}=await n.getInfo(),i=await we({path:{assistant_id:t},body:{token:e,platform:`ios`,bundle_id:r,apns_environment:pn(r)},throwOnError:!1});if(i.error){s(i.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}P={token:e,bundleId:r,assistantId:t},cn.save(P)}catch(e){s(e,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}async function hn(){if(!ln){ln=!0;try{let{PushNotifications:e}=await c(async()=>{let{PushNotifications:e}=await import(`./esm-DTj81fJQ.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));await e.addListener(`registration`,e=>{let t=un;t&&dn(mn(e.value,t))}),await e.addListener(`registrationError`,e=>{s(e,{context:`push_registration_apns`,level:`warning`})})}catch(e){ln=!1,s(e,{context:`push_registration_listeners`,level:`warning`})}}}async function gn(e){if(fn()){un=e,P&&P.assistantId!==e&&dn(mn(P.token,e));try{let{PushNotifications:e}=await c(async()=>{let{PushNotifications:e}=await import(`./esm-DTj81fJQ.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));if(await hn(),(await e.requestPermissions()).receive!==`granted`)return;await e.register()}catch(e){s(e,{context:`push_registration_register`,level:`warning`})}}}async function _n(){for(un=null;F.size>0;)await Promise.allSettled([...F]);let e=P??cn.load();if(P=null,cn.remove(),!(!e||!fn()))try{let t=await Ce({path:{assistant_id:e.assistantId,token:e.token},query:{bundle_id:e.bundleId},throwOnError:!1});t.error&&s(t.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:e.assistantId,bundleId:e.bundleId}})}catch(e){s(e,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}}function vn(e){return e}function yn(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=vn(e),i=r[t];if(Array.isArray(i)&&i.length>0){let e=i[0];if(typeof e==`string`)return{code:null,message:e};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=vn(e),r=t.code,i=t.string??t.message;return{code:typeof r==`string`?r:null,message:typeof i==`string`?i:n}}}return typeof r.detail==`string`?{code:null,message:r.detail}:{code:null,message:n}}var bn={too_short:`Must be at least 3 characters.`,too_long:`Must be at most 30 characters.`,invalid_chars:`Use only lowercase letters, digits, hyphens, and underscores.`,leading_underscore:`Cannot start with an underscore.`,trailing_underscore:`Cannot end with an underscore.`,leading_hyphen:`Cannot start with a hyphen.`,trailing_hyphen:`Cannot end with a hyphen.`,all_digits:`Cannot be all digits.`,reserved:`This handle is reserved.`,taken:`This handle is already taken.`};async function xn(){let{data:e,error:t,response:n}=await x.get({url:`/v1/user/me/`,throwOnError:!1});if(xe(n,t,`Failed to load profile.`),!n.ok||!e)throw new Se(n.status,b(t,n,`Failed to load profile.`));return e}var Sn=`Please choose a different handle.`;async function Cn(e){let{data:t,error:n,response:r}=await x.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:b(n,void 0,`Failed to save profile.`)??`Failed to save profile.`};if(r.ok&&t)return{kind:`ok`,data:t};if(r.status===409){let{message:e}=yn(n,`username`,bn.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=yn(n,`username`,Sn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:b(n,r,`Failed to save profile.`)}}async function wn(){let{data:e,error:t,response:n}=await x.get({url:`/v1/user/consent/`,throwOnError:!1});if(xe(n,t,`Failed to load consent.`),!n.ok||!e)throw new Se(n.status,b(t,n,`Failed to load consent.`));return e}async function Tn(e){await x.put({url:`/v1/user/consent/`,body:e,throwOnError:!0})}async function En(e,t){let{data:n,error:r,response:i}=await x.get({url:`/v1/user/username-available/`,query:{username:e},signal:t,throwOnError:!1});if(xe(i,r,`Failed to check handle availability.`),!i.ok||!n)throw new Se(i.status,i.status===429?`Too many checks — try again in a moment.`:b(r,i,`Failed to check handle availability.`));return n}function I(e){i(`diagnosticsReporting`,e)}function Dn(e,t){let n=On(e);n!==null&&t(n);let{shareDiagnostics:r,diagnosticsVersionCurrent:i,hasServerRecord:a}=e;return I(a&&r===!0&&i),n}function On(e){let{shareDiagnostics:t,hasServerRecord:n}=e;return t===!1?!1:n&&t===!0?!0:null}var kn=a(`shareAnalytics`),An=a(`shareDiagnostics`),jn=u()(t=>({shareAnalytics:r(kn,!0),shareDiagnostics:r(An,!0),tosAccepted:!1,privacyConsent:!1,analyticsConsentCurrent:!1,diagnosticsConsentCurrent:!1,setShareAnalytics:n=>{t({shareAnalytics:n}),e(kn,n)},setShareDiagnostics:n=>{t({shareDiagnostics:n}),e(An,n)},setTosAccepted:e=>{t({tosAccepted:e})},setPrivacyConsent:e=>{t({privacyConsent:e})},setAnalyticsConsentCurrent:e=>{t({analyticsConsentCurrent:e})},setDiagnosticsConsentCurrent:e=>{t({diagnosticsConsentCurrent:e})}})),L=d(jn),Mn=new Map([[kn,`shareAnalytics`],[An,`shareDiagnostics`]]),Nn={shareAnalytics:!0,shareDiagnostics:!0};for(let[e,n]of Mn)t(e,()=>{let t=r(e,Nn[n]??!1);jn.setState({[n]:t})});var R=`2026-06-08`,z=`2026-06-22`,B=`2026-06-18`,V=`2026-06-18`,Pn=`2026-06-08`,Fn={tos:R,privacy:z,share_analytics:B,share_diagnostics:V};function H(e,t){return`device:consent:${e}:v${Fn[e]}:${t}`}function In(e){return`device:consent:ai:v${Pn}:${e}`}function Ln(e){if(typeof window>`u`||!e)return{tos:!1,privacy:!1,analyticsCurrent:!1,diagnosticsCurrent:!1};try{let t=r(H(`share_analytics`,e),!1),i=r(H(`share_diagnostics`,e),!1),a=r(H(`tos`,e),!1),o=r(H(`privacy`,e),!1);if(r(In(e),!1)&&n(In(e)),a||o)return{tos:a,privacy:o,analyticsCurrent:t,diagnosticsCurrent:i};let s=r(`vellum:onboarding:tosAccepted`,!1),c=r(`vellum:onboarding:aiDataConsent`,!1);return s||c?(Rn(e,s,!1),{tos:s,privacy:!1,analyticsCurrent:t,diagnosticsCurrent:i}):{tos:!1,privacy:!1,analyticsCurrent:t,diagnosticsCurrent:i}}catch{return{tos:!1,privacy:!1,analyticsCurrent:!1,diagnosticsCurrent:!1}}}function Rn(t,n,r){if(!(typeof window>`u`||!t))try{e(H(`tos`,t),n),e(H(`privacy`,t),r)}catch{}}function U(t,n){if(!(typeof window>`u`||!t))try{n.analyticsCurrent!==void 0&&e(H(`share_analytics`,t),n.analyticsCurrent),n.diagnosticsCurrent!==void 0&&e(H(`share_diagnostics`,t),n.diagnosticsCurrent)}catch{}}function zn(e){if(n(`vellum:onboarding:tosAccepted`),n(`vellum:onboarding:aiDataConsent`),n(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!e))try{n(H(`tos`,e)),n(H(`privacy`,e)),n(In(e)),n(H(`share_analytics`,e)),n(H(`share_diagnostics`,e))}catch{}}function W(e,t){return e>=t}function Bn(e){if(!e)return{tos:!1,privacy:!1,shareAnalytics:null,shareDiagnostics:null,analyticsCurrent:!1,diagnosticsCurrent:!1,hasServerRecord:!1};let t=!!e.tos_accepted_version||!!e.privacy_policy_accepted_version||!!e.ai_data_sharing_accepted_version||!!e.share_analytics_accepted_version||!!e.share_diagnostics_accepted_version||e.share_analytics===!1||e.share_diagnostics===!1;return{tos:W(e.tos_accepted_version,R),privacy:W(e.privacy_policy_accepted_version,`2026-06-22`)&&W(e.ai_data_sharing_accepted_version,`2026-06-22`),shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics,analyticsCurrent:W(e.share_analytics_accepted_version,B),diagnosticsCurrent:W(e.share_diagnostics_accepted_version,V),hasServerRecord:t}}function Vn(e){let t=L.getState();t.setTosAccepted(e.tos),t.setPrivacyConsent(e.privacy),t.setShareAnalytics(e.shareAnalytics),t.setShareDiagnostics(e.shareDiagnostics),t.setAnalyticsConsentCurrent(!0),t.setDiagnosticsConsentCurrent(!0),I(e.shareDiagnostics),Rn(e.userId,e.tos,e.privacy),U(e.userId,{analyticsCurrent:!0,diagnosticsCurrent:!0}),e.hasPlatformSession&&Tn({tos_accepted_version:e.tos?R:``,privacy_policy_accepted_version:e.privacy?z:``,ai_data_sharing_accepted_version:e.privacy?z:``,share_analytics:e.shareAnalytics,share_diagnostics:e.shareDiagnostics,share_analytics_accepted_version:B,share_diagnostics_accepted_version:V}).catch(()=>{})}function Hn(e,t,n){let r=L.getState(),{userId:a,hasPlatformSession:o}=n;e===`share_analytics`?(r.setShareAnalytics(t),i(`shareAnalytics`,t),o&&(r.setAnalyticsConsentCurrent(!0),U(a,{analyticsCurrent:!0}))):(r.setShareDiagnostics(t),i(`shareDiagnostics`,t),o?(r.setDiagnosticsConsentCurrent(!0),I(t),U(a,{diagnosticsCurrent:!0})):I(!1)),o&&Tn({[e]:t,[`${e}_accepted_version`]:Fn[e]}).catch(()=>{})}var Un=`vellum:`,Wn=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],Gn=new Set([`vellum_theme`,`vellum_share_analytics`,`vellum_share_diagnostics`,`vellum_biometric_enabled`,`vellum_llm_log_retention`,`vellum_timezone`,`vellum_media_embeds_enabled`,`vellum_media_embed_domains`,`onboarding.lastUserId`]);function Kn(e){return e.startsWith(Un)?!0:Gn.has(e)?!1:Wn.some(t=>e.startsWith(t))}function G(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&Kn(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function qn(e){return e?.id??e?.email??e?.username??null}function K(e){return e?{kind:`platform`,id:qn(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var Jn=null,q=null,Yn=!1,Xn={kind:`local`,id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},J=e=>(wt(e),{sessionStatus:`authenticated`,user:e,platformSession:`present`,platformSessionRestoredOffline:!1}),Y=()=>({sessionStatus:`authenticated`,user:Xn}),X=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`}),Z=e=>e===null||!e.ok&&!_t(e);async function Zn(e){if(!Ae())return!1;let t=Tt();return t?(await Q(t.id),e({...J(t),platformSessionRestoredOffline:!0}),!0):!1}function Qn(e){(!e||Jn&&Jn!==e)&&Mt(),Jn=e}function $n(){q?.postMessage(`auth-changed`)}async function Q(e){if(e)try{let t=Bn(await wn()),n=L.getState();t.hasServerRecord&&t.shareAnalytics!==null&&n.setShareAnalytics(t.shareAnalytics),Dn({shareDiagnostics:t.shareDiagnostics,diagnosticsVersionCurrent:t.diagnosticsCurrent,hasServerRecord:t.hasServerRecord},n.setShareDiagnostics);let r=t.tos,i=t.privacy,a=t.analyticsCurrent,o=t.diagnosticsCurrent;if(!t.hasServerRecord){let t=Ln(e);a=t.analyticsCurrent,o=t.diagnosticsCurrent,I(n.shareDiagnostics&&o),t.tos&&t.privacy&&(r=!0,i=!0,Tn({tos_accepted_version:R,privacy_policy_accepted_version:z,ai_data_sharing_accepted_version:z,...a?{share_analytics_accepted_version:B,share_analytics:n.shareAnalytics}:{},...o?{share_diagnostics_accepted_version:V,share_diagnostics:n.shareDiagnostics}:{}}).catch(()=>{}))}n.setTosAccepted(r),n.setPrivacyConsent(i),n.setAnalyticsConsentCurrent(a),n.setDiagnosticsConsentCurrent(o),Rn(e,r,i),U(e,{analyticsCurrent:a,diagnosticsCurrent:o}),Qn(e);return}catch{}let t=Ln(e),n=L.getState();n.setTosAccepted(t.tos),n.setPrivacyConsent(t.privacy),n.setAnalyticsConsentCurrent(t.analyticsCurrent),n.setDiagnosticsConsentCurrent(t.diagnosticsCurrent),Qn(e)}var er=0;Promise.resolve();function tr(e,t={}){let n=++er,r=()=>n!==er;C().then(async n=>{if(!r())if(n.ok&&n.data.user){let i=K(n.data.user),a=t.setUserOnSuccess?{user:i}:{};if(t.setUserOnSuccess&&wt(i),h()){let e=!1,t=()=>!e&&!r();try{await Promise.race([(async()=>{await A.getState().fetchOrganizations();let e=await S();t()&&e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0,t)})(),new Promise((t,n)=>setTimeout(()=>{e=!0,n(Error(`sync timeout`))},3e3))])}catch{}}if(r())return;e({platformSession:`present`,platformSessionRestoredOffline:!1,...a}),Ht()}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function nr(e,t){!h()||f()||fe().length>0?tr(e,t):e({platformSession:`absent`})}async function rr(){try{if(await Be())return!0}catch{}return me()!==null}var $=d(u()((e,t)=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,platformSessionRestoredOffline:!1,initSession:async()=>{if(g()){await rr()?e({...Y(),platformSession:`absent`}):e(X());return}if(f()){try{await ae(),e(Y())}catch{e({sessionStatus:`unauthenticated`,user:null})}nr(e);return}if(h()&&!f()){if(fe().length>0){let t=null;try{if(t=await C(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0)}catch{}e(J(n));return}}catch{}if(Z(t)){if(await Zn(e))return}else k();e(X());return}e(Y()),Yn?e({platformSession:`absent`}):tr(e,{setUserOnSuccess:!0}),Yn=!1;return}let t=null;try{if(t=await C(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&y.getState().setFromApi(e.data)}catch{}e(J(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(!(Z(t)&&await Zn(e))){if(Ie()&&Ne())try{let t=await ke();if(t){Pe(t),await Me();let n=await C();if(n.ok&&n.data.user){let t=K(n.data.user);await Q(t?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&y.getState().setFromApi(e.data)}catch{}e(J(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),Z(t)||k(),e(X())}},connectLocalAssistant:async n=>{await _e(pe().find(e=>e.assistantId===n)),await O(n),e(Y()),await D.checkAssistant(),ht(t().platformSession,t().platformSessionRestoredOffline)&&Ht(n),nr(e)},connectPlatformAssistant:async t=>{await O(t);let n=await C();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=K(n.data.user);await Q(r?.id??null),await A.getState().fetchOrganizations(),e(J(r))},refreshSession:async()=>{if(g())return await rr()?(e({...Y(),platformSession:`absent`}),!0):(e(X()),!1);if(_()){try{await de(ce()),e({sessionStatus:`authenticated`})}catch{return e(X()),!1}return nr(e,{clearOnFailure:!0}),!0}let n=null;try{if(n=await C(),n.ok&&n.data.user){let t=K(n.data.user);if(await Q(t?.id??null),h())try{await A.getState().fetchOrganizations();let e=await S();e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0)}catch{}return e(J(t)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}if(Z(n))return T(t().sessionStatus);if(f()){let n=T(t().sessionStatus);return n&&(k(),e({...Y(),platformSession:`absent`})),n}return k(),await Q(null),e(X()),!1},logout:async()=>{if(_()){D.resetForLogout(),await O(null),ge(),Mt(),G(),e(X()),$n();return}Yn=!0,await _n();try{await Re()}finally{v()&&await window.vellum?.auth?.signOut?.(),h()&&!v()&&await ve(),Fe(),Mt(),G(),D.resetForLogout(),await O(null),e(X()),$n()}}}))),ir=()=>T($.use.sessionStatus()),ar=()=>!mt($.use.sessionStatus()),or=()=>E($.use.platformSession()),sr=()=>ht($.use.platformSession(),$.use.platformSessionRestoredOffline());function cr(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=Oe(`app.resume`,()=>{je()||n()});return t.push(r),typeof BroadcastChannel<`u`&&(q=new BroadcastChannel(`auth`),q.onmessage=()=>{G(),window.location.reload()},t.push(()=>{q?.close(),q=null})),()=>t.forEach(e=>e())}export{D as A,Xe as B,Vt as C,A as D,Nt as E,pt as F,Ge as H,ut as I,Qe as L,T as M,ht as N,St as O,mt as P,$e as R,Ht as S,j as T,w as U,Ke as V,wn as _,ir as a,yn as b,R as c,Vn as d,Hn as f,En as g,bn as h,or as i,E as j,O as k,zn as l,Dn as m,$ as n,ar as o,L as p,sr as r,z as s,cr as t,Bn as u,xn as v,Lt as w,gn as x,Cn as y,Ye as z};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CNMouzMT.js","assets/preload-helper-BewR0kVT.js","assets/dist-CNEsSZUe.js","assets/esm-DlsDcixX.js"])))=>i.map(i=>d[i]);
2
+ import{a as e,c as t,i as n,t as r}from"./local-settings-lVNyIOJ_.js";import{a as i,t as a}from"./device-settings-BBwtGKJb.js";import{o,t as s}from"./capture-error-8raDoxFL.js";import{t as c}from"./preload-helper-BewR0kVT.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{n as u,t as d}from"./create-selectors-BE0_e_Ed.js";import{$ as ee,C as te,E as ne,Q as re,S as ie,_ as ae,at as f,c as p,d as oe,et as m,f as h,h as g,i as se,it as ce,m as le,n as ue,nt as de,o as fe,ot as _,r as pe,rt as me,s as he,tt as ge,v as _e,w as ve,x as ye}from"./local-mode-CgrENuVf.js";import{t as v}from"./is-electron-C_ZTVhv8.js";import{n as y,t as be}from"./resolved-assistants-store-Dqf0LJrA.js";import{n as xe,r as b,t as Se}from"./api-errors-CPc5p2r9.js";import{t as x}from"./client.gen-nWvCdeJb.js";import{M as Ce,N as we,St as Te}from"./sdk.gen-Ec1nF7iZ.js";import{a as Ee,c as S,r as De}from"./api-DvthVfI2.js";import{n as Oe}from"./event-bus-ULoEgfFr.js";import{S as C,a as ke,b as Ae,d as je,h as Me,i as Ne,l as Pe,t as Fe,u as Ie,v as Le,w as Re,y as ze}from"./native-biometric-C5AdTx4r.js";import{o as Be}from"./remote-gateway-session-C2xcV9Z_.js";import{t as Ve}from"./dist-CNEsSZUe.js";import{r as He}from"./typed-storage-BGMPjrzL.js";var w=d(u(()=>({assistantState:{kind:`loading`},operationalStatusAssistantId:null,expectingFirstMessage:!1}))),Ue=new Set;function We(e){return Ue.add(e),()=>{Ue.delete(e)}}function Ge(){for(let e of Ue)try{e()}catch{}}var Ke=new Set([502,503,504]),qe=`Connection interrupted. Reconnecting…`;function Je(e){return e.code===`proxy_network_error`?!0:(typeof e.detail==`string`?e.detail:``).includes(`net::ERR_`)}function Ye(e){if(e.ok)switch(e.data.status){case`active`:return e.data.is_local?{kind:`self_hosted`}:{kind:`active`};case`initializing`:return{kind:`initializing`};case`to_be_deleted`:return{kind:`cleaning_up`};default:return{kind:`error`,message:`Unexpected assistant status: ${e.data.status}`}}return e.status===404?{kind:`auto_hatch`}:Je(e.error)?{kind:`error`,transient:!0,message:qe}:{kind:`error`,message:b(e.error,void 0,`Failed to check assistant status.`)}}function Xe(e){return e===void 0||e>=500}var Ze=`platform_hosted_disabled`,Qe=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function $e(e,t){return e===503?t?.code===Ze:!1}var et=2e3,tt=3e4;function nt(e){return Math.min(et*2**e,tt)}var rt=3e5;function it(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var at=[`assistant`,`current`],ot=3e3,st=new Set([`initializing`,`cleaning_up`]);function ct(e){if(!e)return!1;let t=Ye(e);return st.has(t.kind)?ot:!1}function lt(e){return e?[...at,e]:at}function ut(e){let t=e.selectedPlatformAssistantId??null;return l({queryKey:lt(t),queryFn:()=>De(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>ct(e.state.data),refetchOnWindowFocus:!1})}var dt=new Set([`healthy`,`ok`]);function ft(e){if(!e.ok)return`unreachable`;let t=e.data?.status;return t!==void 0&&!dt.has(t)?`unhealthy`:`healthy`}function pt(){let e=w.use.assistantState();return e.kind===`self_hosted`||e.kind===`active`&&e.isLocal?e.health??null:null}var T=e=>e===`authenticated`,mt=e=>e!==`initializing`,E=e=>e===`present`,ht=(e,t)=>e===`present`&&!t,gt=new Set([401,403,410]),_t=e=>!e.ok&&e.status!==void 0&&gt.has(e.status),vt=4e3,yt=6e4,bt=5e3;function xt(){let e=/\/assistant(?:\/|$)/.exec(window.location.pathname),t=e&&e.index>0?window.location.pathname.slice(0,e.index).replace(/\/+$/,``):``;return`${window.location.origin}${t}`}var D=new class{state={kind:`loading`};generation=0;initializingTimeout=null;ready=!1;inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null,selectedPlatformAssistantId:null};probeTimer=null;healthHeartbeatTimer=null;healthHeartbeatId=null;healthHeartbeatToken=0;reachabilityProbeInFlightIds=new Set;probeLoopAssistantId=null;errorRetryTimer=null;errorRetryAttempt=0;constructor(){We(()=>this.onUnreachable()),Oe(`app.online`,()=>this.onNetworkOnline()),y.subscribe((e,t)=>{e.selectedAssistantId!==t.selectedAssistantId&&(!_()||this.state.kind===`loading`||this.applyGatewayAuthShortCircuit())})}setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){y.getState().activeAssistantId!==null&&y.getState().setActiveAssistantId(null),this.setOperationalStatusAssistantId(null),this.cancelProbeTimer(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.state.kind!==`loading`&&this.transition({kind:`loading`}),this.clearExpectingFirstMessage()}async respondToInputs(){if(this.ready){if(_()){this.applyGatewayAuthShortCircuit();return}if(!T(this.inputs.sessionStatus)){this.resetForLogout();return}this.inputs.hasPlatformSession&&m(null),this.inputs.isOrgReady&&await this.checkAssistant()}}async applyServerResult(e){this.ready&&(this.state.kind!==`initializing`&&this.state.kind!==`cleaning_up`||await this.applyServerStateUpdate(e))}async checkAssistant(e){if(!this.ready)return;if(_()){this.applyGatewayAuthShortCircuit();return}let t=this.generation;try{let n=e??this.inputs.selectedPlatformAssistantId??null,r=await this.inputs.queryClient.fetchQuery({queryKey:lt(n),queryFn:()=>De(n??void 0),staleTime:0});if(t!==this.generation||n&&!r.ok&&r.status===404&&(y.getState().setSelectedAssistant(null),r=await this.inputs.queryClient.fetchQuery({queryKey:at,queryFn:()=>De(),staleTime:0}),t!==this.generation))return;await this.applyServerStateUpdate(r)}catch(e){if(console.error(`Error checking assistant status:`,e),s(e,{context:`check_assistant`}),t!==this.generation||this.degradeOnTransportFailure())return;this.transition({kind:`error`,transient:!0,message:qe})}}degradeOnTransportFailure(){return this.state.kind===`active`?(this.triggerReachabilityProbe(),!0):this.state.kind===`initializing`||this.state.kind===`cleaning_up`}retryAssistant(){this.ready&&this.checkAssistant()}markExpectingFirstMessage(){w.getState().expectingFirstMessage||w.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){w.getState().expectingFirstMessage&&w.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,w.setState({assistantState:e}),e.kind===`initializing`?t!==`initializing`&&this.armInitializingWatchdog():this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),e.kind!==`initializing`&&e.kind!==`active`&&this.clearExpectingFirstMessage(),!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)&&this.healthHeartbeatId!==null&&this.cancelHealthHeartbeat(),e.kind===`error`&&e.transient?this.armErrorRetry():this.clearErrorRetry(e.kind!==`error`)}clearErrorRetry(e){this.errorRetryTimer&&=(clearTimeout(this.errorRetryTimer),null),e&&(this.errorRetryAttempt=0)}armErrorRetry(){this.errorRetryTimer&&clearTimeout(this.errorRetryTimer);let e=nt(this.errorRetryAttempt);this.errorRetryAttempt+=1,this.errorRetryTimer=setTimeout(()=>{this.errorRetryTimer=null,this.checkAssistant()},e)}onNetworkOnline(){if(this.ready){if(this.state.kind===`error`&&this.state.transient){this.clearErrorRetry(!0),this.checkAssistant();return}this.state.kind===`active`&&this.state.reachable===!1&&this.checkAssistant()}}armInitializingWatchdog(){this.initializingTimeout&&clearTimeout(this.initializingTimeout),this.initializingTimeout=setTimeout(()=>{this.generation++,o(`Assistant stuck in initializing state`,{level:`warning`,extra:{timeoutMs:rt}}),this.transition(it())},rt)}projectActive(e){let t=e.data.maintenance_mode,n=e.data.is_local??!1;m(null),this.setOperationalStatusAssistantId(e.data.id);let r=y.getState();r.upsertFromApi(e.data),r.setActiveAssistantId(e.data.id),this.transition({kind:`active`,isLocal:n,maintenanceMode:{enabled:t?.enabled}}),n?this.startHealthHeartbeat(e.data.id):this.probeReachability(e.data.id)}projectSelfHosted(e){this.setOperationalStatusAssistantId(null),m({url:e.data.ingress_url,token:e.data.platform_actor_token});let t=y.getState();t.upsertFromApi(e.data),t.setActiveAssistantId(e.data.id),this.transition({kind:`self_hosted`}),this.startHealthHeartbeat(e.data.id)}applyGatewayAuthShortCircuit(){let e=window.location.origin,t=`self`,n=se();if(g())e=xt();else if(n){let r=p();e=`${window.location.origin}${n}`,t=r?.assistantId??t}m({url:e,token:me()}),this.setOperationalStatusAssistantId(null),y.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0}),this.startHealthHeartbeat(t)}async applyServerStateUpdate(e){let t=this.generation,n=Ye(e);if(!(n.kind===`error`&&n.transient&&this.degradeOnTransportFailure())&&(e.ok?this.setOperationalStatusAssistantId(e.data.id):this.setOperationalStatusAssistantId(null),n.kind!==`auto_hatch`)){if(n.kind===`active`&&e.ok){this.projectActive(e);return}if(n.kind===`self_hosted`&&e.ok){this.projectSelfHosted(e);return}t===this.generation&&n.kind!==`active`&&this.transition(n)}}async probeReachability(e){if(!this.reachabilityProbeInFlightIds.has(e)){this.reachabilityProbeInFlightIds.add(e);try{let t=this.generation,n=this.state.kind===`self_hosted`||this.state.kind===`active`&&this.state.isLocal,r=n?p()?.assistantId??e:e,i=!g()&&n?await ne(r).catch(()=>null):null,a=i?.ok&&i.state===`upgrading`?`upgrading`:`unreachable`;if(a!==`upgrading`)try{a=ft(await Ee(e))}catch{a=`unreachable`}if(a===`unreachable`&&!i&&!g()&&(i=await ne(r).catch(()=>null)),a===`unreachable`&&i?.ok)switch(i.state){case`healthy`:a=`healthy`;break;case`sleeping`:case`starting`:case`upgrading`:case`crashed`:a=i.state;break;case`unknown`:break}if(t!==this.generation||y.getState().activeAssistantId!==e)return;if(this.state.kind===`self_hosted`){this.state.health!==a&&this.transition({...this.state,health:a});return}if(this.state.kind!==`active`)return;let o=a===`healthy`||a===`unhealthy`;if(this.state.reachable===o&&this.state.health===a)return;this.transition({...this.state,reachable:o,health:a})}finally{this.reachabilityProbeInFlightIds.delete(e)}}}cancelProbeTimer(){this.probeTimer&&=(clearTimeout(this.probeTimer),null)}startProbeLoop(e){if(this.probeLoopAssistantId===e)return;this.cancelProbeTimer(),this.probeLoopAssistantId=e;let t=Date.now(),n=()=>{this.probeLoopAssistantId=null},r=async()=>{if(this.state.kind!==`active`||this.state.reachable===!0){n();return}if(Date.now()-t>yt){n();return}await this.probeReachability(e);let i=this.state;if(i.kind!==`active`||i.reachable===!0){n();return}if(Date.now()-t>yt){n();return}this.probeTimer=setTimeout(()=>void r(),vt)};this.probeTimer=setTimeout(()=>void r(),vt)}startHealthHeartbeat(e){if(this.healthHeartbeatId===e)return;this.cancelHealthHeartbeat(),this.healthHeartbeatId=e;let t=this.healthHeartbeatToken,n=async()=>{t===this.healthHeartbeatToken&&(await this.probeReachability(e),t===this.healthHeartbeatToken&&(this.healthHeartbeatTimer=setTimeout(()=>void n(),bt)))};n()}cancelHealthHeartbeat(){this.healthHeartbeatToken++,this.healthHeartbeatId=null,this.healthHeartbeatTimer&&=(clearTimeout(this.healthHeartbeatTimer),null)}onUnreachable(){this.triggerReachabilityProbe()}triggerReachabilityProbe(){if(this.state.kind!==`active`)return;let e=y.getState().activeAssistantId;if(e){if(this.transition({...this.state,reachable:!1}),this.healthHeartbeatId===e){this.probeReachability(e);return}this.startProbeLoop(e)}}setLocalAssistantUpgradeInProgress(e,t){if(y.getState().activeAssistantId===e){if(!t){this.probeReachability(e);return}if(this.state.kind===`self_hosted`){this.transition({...this.state,health:`upgrading`});return}this.state.kind===`active`&&this.state.isLocal&&this.transition({...this.state,reachable:!1,health:`upgrading`})}}__resetForTesting(){this.initializingTimeout&&=(clearTimeout(this.initializingTimeout),null),this.cancelProbeTimer(),this.cancelHealthHeartbeat(),this.probeLoopAssistantId=null,this.reachabilityProbeInFlightIds.clear(),this.clearErrorRetry(!0),this.state={kind:`loading`},this.generation=0,this.ready=!1,w.setState({expectingFirstMessage:!1,operationalStatusAssistantId:null}),this.inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null},w.setState({assistantState:this.state}),y.setState({activeAssistantId:null})}setOperationalStatusAssistantId(e){w.getState().operationalStatusAssistantId!==e&&w.setState({operationalStatusAssistantId:e})}};function St(e){let{assistants:t,selectedAssistantId:n,assistantsHydrated:r}=y.getState(),i=be(t,e),a=e=>i.some(t=>t.id===e);if(n!==null){let e=t.some(e=>e.id===n);if(a(n)||!e&&!r)return n}let o=ue()?.assistantId??null;return o!==null&&a(o)?o:i[0]?.id??null}async function O(e){y.getState().setSelectedAssistant(e),e!==null&&await ye(e)}var Ct=`vellum:auth:userSnapshot`;function wt(e){if(e)try{localStorage.setItem(Ct,JSON.stringify(e))}catch{}}function Tt(){try{let e=localStorage.getItem(Ct);if(!e)return null;let t=JSON.parse(e);return!t||typeof t!=`object`?null:{kind:`platform`,id:typeof t.id==`string`?t.id:null,username:typeof t.username==`string`?t.username:null,email:typeof t.email==`string`?t.email:null,isStaff:t.isStaff===!0,firstName:typeof t.firstName==`string`?t.firstName:``,lastName:typeof t.lastName==`string`?t.lastName:``}}catch{return null}}function k(){try{localStorage.removeItem(Ct)}catch{}}var Et=`vellum_active_organization_id`;function Dt(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function Ot(){let e=Dt();if(!e)return null;try{return e.getItem(Et)}catch{return null}}function kt(e){let t=Dt();if(t)try{t.setItem(Et,e)}catch{}}function At(){let e=Dt();if(e)try{e.removeItem(Et)}catch{}}function jt(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var A=d(u()((e,t)=>({organizations:[],currentOrganizationId:null,status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await Te()).data?.results??[],r=jt(n,t().currentOrganizationId??Ot());r&&kt(r),e({organizations:n,currentOrganizationId:r,status:r?`ready`:`error`,error:r?null:`No organization available for this user.`})}catch(t){e({status:`error`,error:t instanceof Error&&t.message?t.message:`Failed to load organizations.`})}},setCurrentOrganizationId:n=>{let{organizations:r}=t();r.some(e=>e.id===n)&&(kt(n),e({currentOrganizationId:n,status:`ready`}))},clearOrganization:()=>{At(),e({organizations:[],currentOrganizationId:null,status:`idle`,error:null})}})));function j(){return A.getState().currentOrganizationId??Ot()}function Mt(){A.getState().clearOrganization()}function Nt(){let e=0,t=A.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=E(e.platformSession),r=E(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&A.getState().fetchOrganizations()}),r=()=>{if(!E($.getState().platformSession))return;let{status:t}=A.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&A.getState().fetchOrganizations()},i=Oe(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}function Pt(e,t={}){let n={...e??{}},r=t.includeSelfHostedActorToken===!1?null:re();if(r)return n.Authorization=`Bearer ${r}`,n;let i=t.organizationId??j();i&&(n[`Vellum-Organization-Id`]=i);let a=Ae();return a&&(n[`X-Session-Token`]=a),n}async function Ft(e,t={}){let n=Pt(e,t);if(n.Authorization||v())return n;await Le();let r=ze();return r&&(n[`X-CSRFToken`]=r),n}var It;function Lt(){return v()?(It===void 0&&(It=window.__VELLUM_CONFIG__?.deviceId??null),It):null}var Rt=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,zt=`X-Vellum-Electron-Renderer-Origin`,Bt=new Map;async function Vt(e,t={}){if(!h()||g()||le()||rn(e))return e;let n=Ut(e);if(!n)return e;let r=Bt.get(n.assistantId);if(r)return r;let i=Wt(n,{allowGatewayRepair:t.allowGatewayRepair??!0});Bt.set(n.assistantId,i);try{return await i}catch(e){throw Bt.delete(n.assistantId),e}}function Ht(e,t={}){if(!h()||g()||le())return;let n=e;if(!n){let e=p();if(!e||!oe(e))return;n=e.assistantId}Vt(n,{allowGatewayRepair:t.allowGatewayRepair??!1}).catch(t.onError??(e=>{console.warn(`local assistant platform bootstrap failed`,e)}))}function Ut(e){let t=ue();if(t?.assistantId===e&&oe(t))return t;let n=p();return n?.assistantId===e&&oe(n)?n:null}async function Wt(e,t){let n=await Kt(e,t),r=await qt(n,e.assistantId),i=r?.assistantId&&rn(r.assistantId)?r.assistantId:null;if(i&&r?.hasAssistantApiKey!==!1){let t=r?.organizationId??e.platformOrganizationId??null;return t&&await Gt(e,{platformAssistantId:i,platformBaseUrl:r?.baseUrl??he(),organizationId:t}),i}let a=await Jt(r?.organizationId??null,e);if(!a)throw Error(`Sign in to Vellum and select an organization to register this local assistant.`);let o=r?.clientInstallationId??Lt()??null;if(!o)throw Error(`Unable to identify this local assistant host for platform registration.`);let s=await Yt(e,a,o),c=M(s.assistant?.id,s.assistant_id,s.id),l=i??c;if(!l||!rn(l))throw Error(`The platform registration response did not include an assistant UUID.`);let u=N(s.assistant_api_key);!u&&r?.hasAssistantApiKey!==!0&&(u=await Xt(e,a,o));let d=r?.baseUrl??he();return await Qt(n,{assistantApiKey:u,platformAssistantId:l,platformBaseUrl:d,organizationId:a,webhookSecret:N(s.webhook_secret)}),await Gt(e,{platformAssistantId:l,platformBaseUrl:d,organizationId:a}),l}async function Gt(e,t){await te({...e,platformAssistantId:t.platformAssistantId,platformBaseUrl:t.platformBaseUrl,platformOrganizationId:t.organizationId}).catch(e=>{console.warn(`local assistant platform lockfile update failed`,e)})}async function Kt(e,t){let n=ee(),r=re();if(t.allowGatewayRepair&&(!n||!r)&&(await _e(e),n=ee(),r=re()),!n||!r){let t=se(e);t&&(n=`${window.location.origin}${t}`)}if(!n||!r)throw Error(`Unable to reach the local assistant for platform identity setup.`);return{gatewayUrl:n,actorToken:r}}async function qt(e,t){let n=nn(e.gatewayUrl,`/v1/assistants/${encodeURIComponent(t)}/platform/status`),r=await fetch(n,{headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`},credentials:`omit`}).catch(()=>null);if(!r?.ok)return null;let i=await r.json().catch(()=>null);return{assistantId:M(i?.assistantId,i?.assistant_id),baseUrl:M(i?.baseUrl,i?.base_url),organizationId:M(i?.organizationId,i?.organization_id),hasAssistantApiKey:an(i?.hasAssistantApiKey,i?.has_assistant_api_key),clientInstallationId:M(i?.clientInstallationId,i?.client_installation_id)}}async function Jt(e,t){return(e??t.platformOrganizationId??j()??t.organizationId??null)||(await A.getState().fetchOrganizations().catch(()=>{}),j()??t.platformOrganizationId??t.organizationId??null)}async function Yt(e,t,n){return await Zt(`/v1/assistants/self-hosted-local/ensure-registration/`,e,t,n)}async function Xt(e,t,n){return N((await Zt(`/v1/assistants/self-hosted-local/reprovision-api-key/`,e,t,n)).provisioning?.assistant_api_key)}async function Zt(e,t,n,r){let i=new Headers({...await Ft({Accept:`application/json`,"Content-Type":`application/json`},{includeSelfHostedActorToken:!1,organizationId:n})}),a=Ae();if(v()){if(!a)throw Error(`Sign in to Vellum to register this local assistant.`);i.set(zt,`${window.location.protocol}//${window.location.host}`)}let o=await fetch(new URL(e,window.location.origin).toString(),{method:`POST`,headers:i,credentials:v()?`omit`:`same-origin`,body:JSON.stringify({client_installation_id:r,runtime_assistant_id:t.assistantId,client_platform:v()?`macos`:`web`})}).catch(e=>{throw Error(`Unable to reach the platform registration endpoint: ${tn(e)}`)});if(!o.ok){let e=await en(o);throw Error(`Unable to register the local assistant with the platform (HTTP ${o.status})${e?`: ${e}`:`.`}`)}try{return await o.json()}catch(e){throw Error(`Unable to read the platform registration response: ${tn(e)}`)}}async function Qt(e,t){let n=[[`vellum:assistant_api_key`,t.assistantApiKey],[`vellum:platform_assistant_id`,t.platformAssistantId],[`vellum:platform_base_url`,t.platformBaseUrl],[`vellum:platform_organization_id`,t.organizationId],[`vellum:webhook_secret`,t.webhookSecret]];await Promise.all(n.filter(e=>!!e[1]).map(([t,n])=>$t(e,t,n)))}async function $t(e,t,n){let r=await fetch(nn(e.gatewayUrl,`/v1/secrets`),{method:`POST`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.actorToken}`,"Content-Type":`application/json`},credentials:`omit`,body:JSON.stringify({type:`credential`,name:t,value:n})}).catch(e=>{throw Error(`Unable to reach the local assistant while storing ${t}: ${tn(e)}`)});if(!r.ok){let e=await en(r);throw Error(`Unable to store ${t} on the local assistant (HTTP ${r.status})${e?`: ${e}`:`.`}`)}return!0}async function en(e){if((e.headers.get(`content-type`)??``).includes(`application/json`)){let t=await e.json().catch(()=>null),n=t&&typeof t==`object`&&`detail`in t?N(t.detail):null,r=t&&typeof t==`object`&&`code`in t?N(t.code):null;return n&&r?`${n} (${r})`:n||r||JSON.stringify(t)}return(await e.text().catch(()=>``)).slice(0,300)}function tn(e){return e instanceof Error?e.message:String(e)}function nn(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/,``)}${t}`,n.toString()}function rn(e){return Rt.test(e)}function M(...e){for(let t of e){let e=N(t);if(e)return e}return null}function N(e){return typeof e==`string`&&e.trim()?e.trim():null}function an(...e){for(let t of e)if(typeof t==`boolean`)return t;return null}var on=`.dev`;function sn(e){let t=JSON.parse(e);return typeof t.token==`string`&&typeof t.bundleId==`string`&&typeof t.assistantId==`string`?{token:t.token,bundleId:t.bundleId,assistantId:t.assistantId}:null}var cn=He({key:`vellum:push_registration`,scope:`user`,parse:sn,serialize:JSON.stringify,fallback:null}),ln=!1,un=null,P=null,F=new Set;function dn(e){F.add(e),e.finally(()=>{F.delete(e)})}function fn(){return Ie()&&Ve.getPlatform()===`ios`}function pn(e){return e.endsWith(on)?`development`:`production`}async function mn(e,t){try{let{App:n}=await c(async()=>{let{App:e}=await import(`./esm-CNMouzMT.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:r}=await n.getInfo(),i=await we({path:{assistant_id:t},body:{token:e,platform:`ios`,bundle_id:r,apns_environment:pn(r)},throwOnError:!1});if(i.error){s(i.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}P={token:e,bundleId:r,assistantId:t},cn.save(P)}catch(e){s(e,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}async function hn(){if(!ln){ln=!0;try{let{PushNotifications:e}=await c(async()=>{let{PushNotifications:e}=await import(`./esm-DlsDcixX.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));await e.addListener(`registration`,e=>{let t=un;t&&dn(mn(e.value,t))}),await e.addListener(`registrationError`,e=>{s(e,{context:`push_registration_apns`,level:`warning`})})}catch(e){ln=!1,s(e,{context:`push_registration_listeners`,level:`warning`})}}}async function gn(e){if(fn()){un=e,P&&P.assistantId!==e&&dn(mn(P.token,e));try{let{PushNotifications:e}=await c(async()=>{let{PushNotifications:e}=await import(`./esm-DlsDcixX.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));if(await hn(),(await e.requestPermissions()).receive!==`granted`)return;await e.register()}catch(e){s(e,{context:`push_registration_register`,level:`warning`})}}}async function _n(){for(un=null;F.size>0;)await Promise.allSettled([...F]);let e=P??cn.load();if(P=null,cn.remove(),!(!e||!fn()))try{let t=await Ce({path:{assistant_id:e.assistantId,token:e.token},query:{bundle_id:e.bundleId},throwOnError:!1});t.error&&s(t.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:e.assistantId,bundleId:e.bundleId}})}catch(e){s(e,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}}function vn(e){return e}function yn(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=vn(e),i=r[t];if(Array.isArray(i)&&i.length>0){let e=i[0];if(typeof e==`string`)return{code:null,message:e};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=vn(e),r=t.code,i=t.string??t.message;return{code:typeof r==`string`?r:null,message:typeof i==`string`?i:n}}}return typeof r.detail==`string`?{code:null,message:r.detail}:{code:null,message:n}}var bn={too_short:`Must be at least 3 characters.`,too_long:`Must be at most 30 characters.`,invalid_chars:`Use only lowercase letters, digits, hyphens, and underscores.`,leading_underscore:`Cannot start with an underscore.`,trailing_underscore:`Cannot end with an underscore.`,leading_hyphen:`Cannot start with a hyphen.`,trailing_hyphen:`Cannot end with a hyphen.`,all_digits:`Cannot be all digits.`,reserved:`This handle is reserved.`,taken:`This handle is already taken.`};async function xn(){let{data:e,error:t,response:n}=await x.get({url:`/v1/user/me/`,throwOnError:!1});if(xe(n,t,`Failed to load profile.`),!n.ok||!e)throw new Se(n.status,b(t,n,`Failed to load profile.`));return e}var Sn=`Please choose a different handle.`;async function Cn(e){let{data:t,error:n,response:r}=await x.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:b(n,void 0,`Failed to save profile.`)??`Failed to save profile.`};if(r.ok&&t)return{kind:`ok`,data:t};if(r.status===409){let{message:e}=yn(n,`username`,bn.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=yn(n,`username`,Sn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:b(n,r,`Failed to save profile.`)}}async function wn(){let{data:e,error:t,response:n}=await x.get({url:`/v1/user/consent/`,throwOnError:!1});if(xe(n,t,`Failed to load consent.`),!n.ok||!e)throw new Se(n.status,b(t,n,`Failed to load consent.`));return e}async function Tn(e){await x.put({url:`/v1/user/consent/`,body:e,throwOnError:!0})}async function En(e,t){let{data:n,error:r,response:i}=await x.get({url:`/v1/user/username-available/`,query:{username:e},signal:t,throwOnError:!1});if(xe(i,r,`Failed to check handle availability.`),!i.ok||!n)throw new Se(i.status,i.status===429?`Too many checks — try again in a moment.`:b(r,i,`Failed to check handle availability.`));return n}function I(e){i(`diagnosticsReporting`,e)}function Dn(e,t){let n=On(e);n!==null&&t(n);let{shareDiagnostics:r,diagnosticsVersionCurrent:i,hasServerRecord:a}=e;return I(a&&r===!0&&i),n}function On(e){let{shareDiagnostics:t,hasServerRecord:n}=e;return t===!1?!1:n&&t===!0?!0:null}var kn=a(`shareAnalytics`),An=a(`shareDiagnostics`),jn=u()(t=>({shareAnalytics:r(kn,!0),shareDiagnostics:r(An,!0),tosAccepted:!1,privacyConsent:!1,analyticsConsentCurrent:!1,diagnosticsConsentCurrent:!1,setShareAnalytics:n=>{t({shareAnalytics:n}),e(kn,n)},setShareDiagnostics:n=>{t({shareDiagnostics:n}),e(An,n)},setTosAccepted:e=>{t({tosAccepted:e})},setPrivacyConsent:e=>{t({privacyConsent:e})},setAnalyticsConsentCurrent:e=>{t({analyticsConsentCurrent:e})},setDiagnosticsConsentCurrent:e=>{t({diagnosticsConsentCurrent:e})}})),L=d(jn),Mn=new Map([[kn,`shareAnalytics`],[An,`shareDiagnostics`]]),Nn={shareAnalytics:!0,shareDiagnostics:!0};for(let[e,n]of Mn)t(e,()=>{let t=r(e,Nn[n]??!1);jn.setState({[n]:t})});var R=`2026-06-08`,z=`2026-06-22`,B=`2026-06-18`,V=`2026-06-18`,Pn=`2026-06-08`,Fn={tos:R,privacy:z,share_analytics:B,share_diagnostics:V};function H(e,t){return`device:consent:${e}:v${Fn[e]}:${t}`}function In(e){return`device:consent:ai:v${Pn}:${e}`}function Ln(e){if(typeof window>`u`||!e)return{tos:!1,privacy:!1,analyticsCurrent:!1,diagnosticsCurrent:!1};try{let t=r(H(`share_analytics`,e),!1),i=r(H(`share_diagnostics`,e),!1),a=r(H(`tos`,e),!1),o=r(H(`privacy`,e),!1);if(r(In(e),!1)&&n(In(e)),a||o)return{tos:a,privacy:o,analyticsCurrent:t,diagnosticsCurrent:i};let s=r(`vellum:onboarding:tosAccepted`,!1),c=r(`vellum:onboarding:aiDataConsent`,!1);return s||c?(Rn(e,s,!1),{tos:s,privacy:!1,analyticsCurrent:t,diagnosticsCurrent:i}):{tos:!1,privacy:!1,analyticsCurrent:t,diagnosticsCurrent:i}}catch{return{tos:!1,privacy:!1,analyticsCurrent:!1,diagnosticsCurrent:!1}}}function Rn(t,n,r){if(!(typeof window>`u`||!t))try{e(H(`tos`,t),n),e(H(`privacy`,t),r)}catch{}}function U(t,n){if(!(typeof window>`u`||!t))try{n.analyticsCurrent!==void 0&&e(H(`share_analytics`,t),n.analyticsCurrent),n.diagnosticsCurrent!==void 0&&e(H(`share_diagnostics`,t),n.diagnosticsCurrent)}catch{}}function zn(e){if(n(`vellum:onboarding:tosAccepted`),n(`vellum:onboarding:aiDataConsent`),n(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!e))try{n(H(`tos`,e)),n(H(`privacy`,e)),n(In(e)),n(H(`share_analytics`,e)),n(H(`share_diagnostics`,e))}catch{}}function W(e,t){return e>=t}function Bn(e){if(!e)return{tos:!1,privacy:!1,shareAnalytics:null,shareDiagnostics:null,analyticsCurrent:!1,diagnosticsCurrent:!1,hasServerRecord:!1};let t=!!e.tos_accepted_version||!!e.privacy_policy_accepted_version||!!e.ai_data_sharing_accepted_version||!!e.share_analytics_accepted_version||!!e.share_diagnostics_accepted_version||e.share_analytics===!1||e.share_diagnostics===!1;return{tos:W(e.tos_accepted_version,R),privacy:W(e.privacy_policy_accepted_version,`2026-06-22`)&&W(e.ai_data_sharing_accepted_version,`2026-06-22`),shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics,analyticsCurrent:W(e.share_analytics_accepted_version,B),diagnosticsCurrent:W(e.share_diagnostics_accepted_version,V),hasServerRecord:t}}function Vn(e){let t=L.getState();t.setTosAccepted(e.tos),t.setPrivacyConsent(e.privacy),t.setShareAnalytics(e.shareAnalytics),t.setShareDiagnostics(e.shareDiagnostics),t.setAnalyticsConsentCurrent(!0),t.setDiagnosticsConsentCurrent(!0),I(e.shareDiagnostics),Rn(e.userId,e.tos,e.privacy),U(e.userId,{analyticsCurrent:!0,diagnosticsCurrent:!0}),e.hasPlatformSession&&Tn({tos_accepted_version:e.tos?R:``,privacy_policy_accepted_version:e.privacy?z:``,ai_data_sharing_accepted_version:e.privacy?z:``,share_analytics:e.shareAnalytics,share_diagnostics:e.shareDiagnostics,share_analytics_accepted_version:B,share_diagnostics_accepted_version:V}).catch(()=>{})}function Hn(e,t,n){let r=L.getState(),{userId:a,hasPlatformSession:o}=n;e===`share_analytics`?(r.setShareAnalytics(t),i(`shareAnalytics`,t),o&&(r.setAnalyticsConsentCurrent(!0),U(a,{analyticsCurrent:!0}))):(r.setShareDiagnostics(t),i(`shareDiagnostics`,t),o?(r.setDiagnosticsConsentCurrent(!0),I(t),U(a,{diagnosticsCurrent:!0})):I(!1)),o&&Tn({[e]:t,[`${e}_accepted_version`]:Fn[e]}).catch(()=>{})}var Un=`vellum:`,Wn=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],Gn=new Set([`vellum_theme`,`vellum_share_analytics`,`vellum_share_diagnostics`,`vellum_biometric_enabled`,`vellum_llm_log_retention`,`vellum_timezone`,`vellum_media_embeds_enabled`,`vellum_media_embed_domains`,`onboarding.lastUserId`]);function Kn(e){return e.startsWith(Un)?!0:Gn.has(e)?!1:Wn.some(t=>e.startsWith(t))}function G(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&Kn(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function qn(e){return e?.id??e?.email??e?.username??null}function K(e){return e?{kind:`platform`,id:qn(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var Jn=null,q=null,Yn=!1,Xn={kind:`local`,id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},J=e=>(wt(e),{sessionStatus:`authenticated`,user:e,platformSession:`present`,platformSessionRestoredOffline:!1}),Y=()=>({sessionStatus:`authenticated`,user:Xn}),X=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`}),Z=e=>e===null||!e.ok&&!_t(e);async function Zn(e){if(!Ae())return!1;let t=Tt();return t?(await Q(t.id),e({...J(t),platformSessionRestoredOffline:!0}),!0):!1}function Qn(e){(!e||Jn&&Jn!==e)&&Mt(),Jn=e}function $n(){q?.postMessage(`auth-changed`)}async function Q(e){if(e)try{let t=Bn(await wn()),n=L.getState();t.hasServerRecord&&t.shareAnalytics!==null&&n.setShareAnalytics(t.shareAnalytics),Dn({shareDiagnostics:t.shareDiagnostics,diagnosticsVersionCurrent:t.diagnosticsCurrent,hasServerRecord:t.hasServerRecord},n.setShareDiagnostics);let r=t.tos,i=t.privacy,a=t.analyticsCurrent,o=t.diagnosticsCurrent;if(!t.hasServerRecord){let t=Ln(e);a=t.analyticsCurrent,o=t.diagnosticsCurrent,I(n.shareDiagnostics&&o),t.tos&&t.privacy&&(r=!0,i=!0,Tn({tos_accepted_version:R,privacy_policy_accepted_version:z,ai_data_sharing_accepted_version:z,...a?{share_analytics_accepted_version:B,share_analytics:n.shareAnalytics}:{},...o?{share_diagnostics_accepted_version:V,share_diagnostics:n.shareDiagnostics}:{}}).catch(()=>{}))}n.setTosAccepted(r),n.setPrivacyConsent(i),n.setAnalyticsConsentCurrent(a),n.setDiagnosticsConsentCurrent(o),Rn(e,r,i),U(e,{analyticsCurrent:a,diagnosticsCurrent:o}),Qn(e);return}catch{}let t=Ln(e),n=L.getState();n.setTosAccepted(t.tos),n.setPrivacyConsent(t.privacy),n.setAnalyticsConsentCurrent(t.analyticsCurrent),n.setDiagnosticsConsentCurrent(t.diagnosticsCurrent),Qn(e)}var er=0;Promise.resolve();function tr(e,t={}){let n=++er,r=()=>n!==er;C().then(async n=>{if(!r())if(n.ok&&n.data.user){let i=K(n.data.user),a=t.setUserOnSuccess?{user:i}:{};if(t.setUserOnSuccess&&wt(i),h()){let e=!1,t=()=>!e&&!r();try{await Promise.race([(async()=>{await A.getState().fetchOrganizations();let e=await S();t()&&e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0,t)})(),new Promise((t,n)=>setTimeout(()=>{e=!0,n(Error(`sync timeout`))},3e3))])}catch{}}if(r())return;e({platformSession:`present`,platformSessionRestoredOffline:!1,...a}),Ht()}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function nr(e,t){!h()||f()||fe().length>0?tr(e,t):e({platformSession:`absent`})}async function rr(){try{if(await Be())return!0}catch{}return me()!==null}var $=d(u()((e,t)=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,platformSessionRestoredOffline:!1,initSession:async()=>{if(g()){await rr()?e({...Y(),platformSession:`absent`}):e(X());return}if(f()){try{await ae(),e(Y())}catch{e({sessionStatus:`unauthenticated`,user:null})}nr(e);return}if(h()&&!f()){if(fe().length>0){let t=null;try{if(t=await C(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0)}catch{}e(J(n));return}}catch{}if(Z(t)){if(await Zn(e))return}else k();e(X());return}e(Y()),Yn?e({platformSession:`absent`}):tr(e,{setUserOnSuccess:!0}),Yn=!1;return}let t=null;try{if(t=await C(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&y.getState().setFromApi(e.data)}catch{}e(J(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(!(Z(t)&&await Zn(e))){if(Ie()&&Ne())try{let t=await ke();if(t){Pe(t),await Me();let n=await C();if(n.ok&&n.data.user){let t=K(n.data.user);await Q(t?.id??null);try{await A.getState().fetchOrganizations();let e=await S();e.ok&&y.getState().setFromApi(e.data)}catch{}e(J(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),Z(t)||k(),e(X())}},connectLocalAssistant:async n=>{await _e(pe().find(e=>e.assistantId===n)),await O(n),e(Y()),await D.checkAssistant(),ht(t().platformSession,t().platformSessionRestoredOffline)&&Ht(n),nr(e)},connectPlatformAssistant:async t=>{await O(t);let n=await C();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=K(n.data.user);await Q(r?.id??null),await A.getState().fetchOrganizations(),e(J(r))},refreshSession:async()=>{if(g())return await rr()?(e({...Y(),platformSession:`absent`}),!0):(e(X()),!1);if(_()){try{await de(ce()),e({sessionStatus:`authenticated`})}catch{return e(X()),!1}return nr(e,{clearOnFailure:!0}),!0}let n=null;try{if(n=await C(),n.ok&&n.data.user){let t=K(n.data.user);if(await Q(t?.id??null),h())try{await A.getState().fetchOrganizations();let e=await S();e.ok&&await ie(e.data,A.getState().currentOrganizationId??void 0)}catch{}return e(J(t)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}if(Z(n))return T(t().sessionStatus);if(f()){let n=T(t().sessionStatus);return n&&(k(),e({...Y(),platformSession:`absent`})),n}return k(),await Q(null),e(X()),!1},logout:async()=>{if(_()){D.resetForLogout(),await O(null),ge(),Mt(),G(),e(X()),$n();return}Yn=!0,await _n();try{await Re()}finally{v()&&await window.vellum?.auth?.signOut?.(),h()&&!v()&&await ve(),Fe(),Mt(),G(),D.resetForLogout(),await O(null),e(X()),$n()}}}))),ir=()=>T($.use.sessionStatus()),ar=()=>!mt($.use.sessionStatus()),or=()=>E($.use.platformSession()),sr=()=>ht($.use.platformSession(),$.use.platformSessionRestoredOffline());function cr(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=Oe(`app.resume`,()=>{je()||n()});return t.push(r),typeof BroadcastChannel<`u`&&(q=new BroadcastChannel(`auth`),q.onmessage=()=>{G(),window.location.reload()},t.push(()=>{q?.close(),q=null})),()=>t.forEach(e=>e())}export{D as A,Xe as B,Vt as C,A as D,Nt as E,pt as F,Ge as H,ut as I,Qe as L,T as M,ht as N,St as O,mt as P,$e as R,Ht as S,j as T,w as U,Ke as V,wn as _,ir as a,yn as b,R as c,Vn as d,Hn as f,En as g,bn as h,or as i,E as j,O as k,zn as l,Dn as m,$ as n,ar as o,L as p,sr as r,z as s,cr as t,Bn as u,xn as v,Lt as w,gn as x,Cn as y,Ye as z};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-BscuIPxA.js";import"./src-CUycEQpW.js";import{t as a}from"./detail-shell-DAQXFf5u.js";import{Bt as o,Lt as s,Rt as c,ot as l,st as u,zt as d}from"./index-CQhaX_6y.js";import{t as f}from"./status-badge-pill-j3ke1d9o.js";import{t as p}from"./detail-panel-stop-button-CcFyjiHA.js";import{CodeBlock as m,SectionLabel as h}from"./tool-detail-panel-CS3NNWPR.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(f,{color:s(e),label:c(e)})}function y({entry:e,onClose:n}){let r=o(e.status),s=!r,c=s&&e.output!==void 0&&e.output!==``,f=s&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),l(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(a,{Glyph:u(e.toolName),title:d(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(p,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(h,{children:`Command`}),(0,_.jsx)(m,{text:e.command})]}),c&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(h,{children:`Output`}),(0,_.jsx)(m,{text:e.output})]}),f&&(0,_.jsxs)(i,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:[`Exit code: `,e.exitCode]})]})}export{y as BackgroundTaskDetailPanel};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-8raDoxFL.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-BscuIPxA.js";import"./src-CUycEQpW.js";import{t as a}from"./detail-shell-C--69S4R.js";import{Bt as o,Ht as s,Vt as c,ct as l,lt as u,zt as d}from"./index-CWzNQ8A_.js";import{t as f}from"./status-badge-pill-CXey_r2B.js";import{t as p}from"./detail-panel-stop-button-DXQQXCtp.js";import{CodeBlock as m,SectionLabel as h}from"./tool-detail-panel-B3u6-K3R.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(f,{color:d(e),label:o(e)})}function y({entry:e,onClose:n}){let r=s(e.status),o=!r,d=o&&e.output!==void 0&&e.output!==``,f=o&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),l(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(a,{Glyph:u(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(p,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(h,{children:`Command`}),(0,_.jsx)(m,{text:e.command})]}),d&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(h,{children:`Output`}),(0,_.jsx)(m,{text:e.output})]}),f&&(0,_.jsxs)(i,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:[`Exit code: `,e.exitCode]})]})}export{y as BackgroundTaskDetailPanel};