@vellumai/web 0.11.0-staging.2 → 0.11.0

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 (400) hide show
  1. package/dist/assets/{AnimatePresence-DPfyu3ET.js → AnimatePresence-xdH2KLtr.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-CChUOtcg.js → BundleConfirmPage-4StSZy-f.js} +1 -1
  3. package/dist/assets/{a2a-invite-pyBtaaeG.js → a2a-invite-C1xJNSGF.js} +1 -1
  4. package/dist/assets/{about-page-DGUK5p8j.js → about-page-C3tJLjvD.js} +1 -1
  5. package/dist/assets/access-B_b48snn.js +1 -0
  6. package/dist/assets/{account-page-D3ERiewh.js → account-page-BvXVc1IK.js} +1 -1
  7. package/dist/assets/{account-shell-Dk4aC-Ls.js → account-shell-D6aWpePp.js} +1 -1
  8. package/dist/assets/{acp-run-actions-BH8wuBAL.js → acp-run-actions-8ioRAI8C.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-dqVK6rPq.js → acp-run-detail-panel-B8ULpnis.js} +1 -1
  10. package/dist/assets/{acp-run-store-B_eDLRwl.js → acp-run-store-CpH4OeOS.js} +1 -1
  11. package/dist/assets/{activity-steps-panel-xxl2hu3E.js → activity-steps-panel-D8fAVo9_.js} +1 -1
  12. package/dist/assets/{add-credential-modal-CY_--m8L.js → add-credential-modal-Cu6aAlhm.js} +1 -1
  13. package/dist/assets/{add-credits-modal-fT_gTTP5.js → add-credits-modal-BelWmezc.js} +1 -1
  14. package/dist/assets/{ai-page-B02NwVRu.js → ai-page-Dd-qECGn.js} +1 -1
  15. package/dist/assets/{animated-avatar-BcgncPkc.js → animated-avatar-DknFwi9-.js} +1 -1
  16. package/dist/assets/{api-C3QSs67k.js → api-BpGogBsg.js} +1 -1
  17. package/dist/assets/{api-LG8zI3nK.js → api-Coj5enET.js} +1 -1
  18. package/dist/assets/{api-key-screen-CvBdN6Ae.js → api-key-screen-BhynbUuC.js} +1 -1
  19. package/dist/assets/{app-card-CAaFL1oB.js → app-card-BF2l9ot8.js} +1 -1
  20. package/dist/assets/{app-info-DefDjPEl.js → app-info-fS0zIUcN.js} +1 -1
  21. package/dist/assets/{archive-redirect-page-BH7h0Lk7.js → archive-redirect-page-DOF2veAy.js} +1 -1
  22. package/dist/assets/{assistant-feature-flag-store-CAdgpPiS.js → assistant-feature-flag-store-B00tpY5e.js} +1 -1
  23. package/dist/assets/assistant-identity-store-6On4WZ62.js +1 -0
  24. package/dist/assets/{assistant-status-panel-BTnD-jhG.js → assistant-status-panel-D2PXdHw0.js} +1 -1
  25. package/dist/assets/{auth-store-5qq59BAN.js → auth-store-EmLZOAkN.js} +2 -2
  26. package/dist/assets/{avatar-random-BMSYTcJK.js → avatar-random-DjmD5llT.js} +1 -1
  27. package/dist/assets/{avatar-renderer-ClUVcQmf.js → avatar-renderer-BrNjnimz.js} +1 -1
  28. package/dist/assets/{background-task-actions-DmP5s0oO.js → background-task-actions-B1bLmbnw.js} +1 -1
  29. package/dist/assets/{background-task-detail-panel-BCYAElGc.js → background-task-detail-panel-56ZpprL7.js} +1 -1
  30. package/dist/assets/{background-task-store-DMP8ByUq.js → background-task-store-C5J8CFan.js} +1 -1
  31. package/dist/assets/billing-page-CbelI-Ui.js +3 -0
  32. package/dist/assets/billing-redirect-page-BIfv18MY.js +1 -0
  33. package/dist/assets/{bookmarks-page-D_Jr-a4Q.js → bookmarks-page-BOhi-7gN.js} +1 -1
  34. package/dist/assets/{browser-CTZVDjOL.js → browser-DvKwnK9l.js} +2 -2
  35. package/dist/assets/{build-state-m0LQ5Iis.js → build-state-C_Hy9WqC.js} +1 -1
  36. package/dist/assets/calendar-RYdAv74D.js +1 -0
  37. package/dist/assets/{capture-error-Bj8_eutd.js → capture-error-Dj49ma74.js} +1 -1
  38. package/dist/assets/channels-page-route-CiOtL1JY.js +9 -0
  39. package/dist/assets/{chat-avatar-CvEA6z0H.js → chat-avatar-C9l3drVu.js} +1 -1
  40. package/dist/assets/{chat-layout-slots-store-BJfYGnd7.js → chat-layout-slots-store-KQz1WMKU.js} +1 -1
  41. package/dist/assets/{chat-markdown-message-rxPKNeTx.js → chat-markdown-message-9ogr9-mn.js} +2 -2
  42. package/dist/assets/{checkbox-CRmgkYah.js → checkbox-D7Eg2K35.js} +1 -1
  43. package/dist/assets/checkout-continuation-DmIXoV4L.js +1 -0
  44. package/dist/assets/checkout-page-2Xr9vx27.js +1 -0
  45. package/dist/assets/checkout-return-target-DQBOhh64.js +1 -0
  46. package/dist/assets/{client-feature-flag-store-CMncoan8.js → client-feature-flag-store-BdNCabm_.js} +1 -1
  47. package/dist/assets/{client-identity-DhkdvP5w.js → client-identity-yPmEu-I1.js} +1 -1
  48. package/dist/assets/{command-palette-BTaT__fo.js → command-palette-CzbYrcNM.js} +1 -1
  49. package/dist/assets/{command-palette-window-page-gq0zowBe.js → command-palette-window-page-CHQdRfhu.js} +1 -1
  50. package/dist/assets/{community-page-CsEKt9wX.js → community-page-_nhJqpCD.js} +1 -1
  51. package/dist/assets/{confirm-dialog-UYFm4osC.js → confirm-dialog-D-Yjf2uS.js} +1 -1
  52. package/dist/assets/{connect-page-B4aTS7Yj.js → connect-page-DS-7aFqU.js} +1 -1
  53. package/dist/assets/consent-c8EJ3D2A.js +1 -0
  54. package/dist/assets/{consent-controls-OcgxuxS0.js → consent-controls-DVeAjj2Z.js} +1 -1
  55. package/dist/assets/{contacts-gateway-B6OrAmU3.js → contacts-gateway-BlLLBft6.js} +1 -1
  56. package/dist/assets/{contacts-page-route-DNoCUXE7.js → contacts-page-route-eTUOUhJL.js} +1 -1
  57. package/dist/assets/{conversation-cache-DKvwwWNo.js → conversation-cache-CqrrtLGM.js} +1 -1
  58. package/dist/assets/{conversation-list-fetchers-DM-Y61u5.js → conversation-list-fetchers-CavIngGf.js} +1 -1
  59. package/dist/assets/{conversation-navigation-DsN0hcpL.js → conversation-navigation-D8y9l5qL.js} +1 -1
  60. package/dist/assets/{conversation-queries-CWvK6RLK.js → conversation-queries-688XB7Bh.js} +1 -1
  61. package/dist/assets/{conversation-store-C--wWMNW.js → conversation-store-D_eevw7L.js} +1 -1
  62. package/dist/assets/{credential-entry-page-CHinHO85.js → credential-entry-page-C22Mw_ea.js} +1 -1
  63. package/dist/assets/{credentials-page-BsJFuOc9.js → credentials-page-da3G5EjN.js} +1 -1
  64. package/dist/assets/{danger-zone-redirect-page-SU45WI74.js → danger-zone-redirect-page-QELjAt0B.js} +1 -1
  65. package/dist/assets/{debug-page-BziypDgA.js → debug-page-BElAND4u.js} +2 -2
  66. package/dist/assets/{deploy-dialogs-DZSd5o9b.js → deploy-dialogs-DcxJ8zmL.js} +1 -1
  67. package/dist/assets/{deploy-store-D6snB1j5.js → deploy-store-Dxp-S0Jo.js} +1 -1
  68. package/dist/assets/{detail-card-Du8OuE3q.js → detail-card-BiNdiBiS.js} +1 -1
  69. package/dist/assets/{detail-panel-stop-button-BNuh6N0s.js → detail-panel-stop-button-CZuQfGZs.js} +1 -1
  70. package/dist/assets/{detail-shell-Cyqr5FXJ.js → detail-shell-DB1cQBnE.js} +1 -1
  71. package/dist/assets/{developer-page-QMFEIyBS.js → developer-page-Ck66ks9T.js} +1 -1
  72. package/dist/assets/{devices-redirect-page-B14wK98N.js → devices-redirect-page-B3KUr7o2.js} +1 -1
  73. package/dist/assets/{diagnostics-T_96Uyh5.js → diagnostics-9AhdBjYA.js} +1 -1
  74. package/dist/assets/{dictation-overlay-pePw7mLd.js → dictation-overlay-CRLGSCST.js} +1 -1
  75. package/dist/assets/{dictation-overlay-page-DtgaXzdF.js → dictation-overlay-page-DHI92ftK.js} +1 -1
  76. package/dist/assets/{dist-oCfq2a_n.js → dist-CXcArvGs.js} +1 -1
  77. package/dist/assets/{dist-DC9QooLF.js → dist-Ckcpfjj7.js} +1 -1
  78. package/dist/assets/{doctor-handoff-store-CYjL1S0n.js → doctor-handoff-store-DPviL0wb.js} +1 -1
  79. package/dist/assets/{document-viewer-container-B7TEDeV0.js → document-viewer-container-Dxc95Z_9.js} +2 -2
  80. package/dist/assets/{document-viewer-page-3Eq8L562.js → document-viewer-page-ClsAgnVX.js} +1 -1
  81. package/dist/assets/{edge-swipe-arbiter-store-CQnDi2yf.js → edge-swipe-arbiter-store-QUBer3EI.js} +1 -1
  82. package/dist/assets/effective-timezone-CnKC3vj0.js +1 -0
  83. package/dist/assets/emails-page-D1eq8Mcq.js +1 -0
  84. package/dist/assets/{environment-store-Bft0lpgv.js → environment-store-nuDZk7wN.js} +1 -1
  85. package/dist/assets/esm-0ejhUWK7.js +2 -0
  86. package/dist/assets/esm-BPFGl7Zp.js +2 -0
  87. package/dist/assets/esm-C2uShH10.js +2 -0
  88. package/dist/assets/esm-CAByj-hK.js +2 -0
  89. package/dist/assets/esm-Cn1fOTtj.js +2 -0
  90. package/dist/assets/esm-Df-J9imF.js +1 -0
  91. package/dist/assets/{esm-Dk6A-sQ0.js → esm-t0mP3xUe.js} +2 -2
  92. package/dist/assets/{eye-bbox-C_V87iLg.js → eye-bbox-u0VzlPuw.js} +1 -1
  93. package/dist/assets/{file-editor-phorJEVv.js → file-editor-plAxQBKk.js} +1 -1
  94. package/dist/assets/{file-markdown-DaflJFk7.js → file-markdown-B0zje_y3.js} +1 -1
  95. package/dist/assets/first-run-scope-Br96Z0Ol.js +1 -0
  96. package/dist/assets/{funnel-events-n2IVlwTo.js → funnel-events-BqvFi8Sp.js} +1 -1
  97. package/dist/assets/{general-page-lbkufqHg.js → general-page-mGY10EuY.js} +1 -1
  98. package/dist/assets/get-memory-stats-CdA2IhkV.js +1 -0
  99. package/dist/assets/{haptics-DvWjk9Fg.js → haptics-BTcSZuHP.js} +2 -2
  100. package/dist/assets/{hatching-screen-D81diZoa.js → hatching-screen-DwNw31vj.js} +1 -1
  101. package/dist/assets/{home-page-route-CHe8eoLz.js → home-page-route-B2ScoHEE.js} +1 -1
  102. package/dist/assets/{hosting-screen-D9atAksQ.js → hosting-screen-DKijoYxW.js} +1 -1
  103. package/dist/assets/identity-page-route-DD_U3Te5.js +7 -0
  104. package/dist/assets/{index-0f48hi7h.js → index-BEpJ8S2b.js} +3 -3
  105. package/dist/assets/{ingest-BizI657K.js → ingest-D3dRmJA9.js} +1 -1
  106. package/dist/assets/{inspect-page-COwvbHtX.js → inspect-page-DVgajY0Q.js} +3 -3
  107. package/dist/assets/{installed-plugins-query-Cgek0q7G.js → installed-plugins-query-s6Kf3pL8.js} +1 -1
  108. package/dist/assets/{integration-icon-dv-9Zzx3.js → integration-icon-CmjrEk0J.js} +1 -1
  109. package/dist/assets/{integrations-page-CJOBwxXp.js → integrations-page-BnPiOw9v.js} +1 -1
  110. package/dist/assets/intelligence-layout-DfdvpHl4.js +1 -0
  111. package/dist/assets/invalidate-memory-queries-D8VNhm2x.js +1 -0
  112. package/dist/assets/{invalidate-plugin-queries-C3NTXkCX.js → invalidate-plugin-queries-v7687-U8.js} +1 -1
  113. package/dist/assets/{keyboard-shortcuts-redirect-page-CBI_mZIL.js → keyboard-shortcuts-redirect-page-DMytLINR.js} +1 -1
  114. package/dist/assets/{latest-assistant-text-DOepZ_Io.js → latest-assistant-text-BIlBGS_i.js} +1 -1
  115. package/dist/assets/library-detail-page-BzvbB9Ud.js +1 -0
  116. package/dist/assets/{library-page-CNA794WY.js → library-page-DK2Dx8vo.js} +1 -1
  117. package/dist/assets/{list-row-B1wPb2Au.js → list-row-BOvxGO5h.js} +1 -1
  118. package/dist/assets/{local-mode-BTovbt13.js → local-mode-BKousn41.js} +1 -1
  119. package/dist/assets/{local-runtime-upgrade-Bqn3d7Q7.js → local-runtime-upgrade-COcJaRWH.js} +1 -1
  120. package/dist/assets/login-flow-BVUkpWP_.js +1 -0
  121. package/dist/assets/login-page-BR42WUVt.js +1 -0
  122. package/dist/assets/{logout-page-CpFeuLA_.js → logout-page-B8EOSvAV.js} +1 -1
  123. package/dist/assets/{logs-layout-BUiPeZ4I.js → logs-layout-DK6gVU21.js} +1 -1
  124. package/dist/assets/memory-page-route-CW1Fgh6X.js +2 -0
  125. package/dist/assets/{memory-router-playground-page-D4UIq8mw.js → memory-router-playground-page-B-6Yt7rp.js} +1 -1
  126. package/dist/assets/{menu-BvjhxZo7.js → menu-BKrcAFYk.js} +1 -1
  127. package/dist/assets/{messages-CFcAW4iz.js → messages-BuqyOjvT.js} +1 -1
  128. package/dist/assets/{metric-card-05a5slPx.js → metric-card-j9s-2nkl.js} +1 -1
  129. package/dist/assets/{mobile-sidebar-drawer-DtKU2vlu.js → mobile-sidebar-drawer-BLGt_R0d.js} +1 -1
  130. package/dist/assets/{modal-BR4CUFBd.js → modal-CoOkN7c0.js} +1 -1
  131. package/dist/assets/mutation-error-DoEwwcm3.js +1 -0
  132. package/dist/assets/native-anchor-BeAcmUWk.js +1 -0
  133. package/dist/assets/{native-biometric-BAMIyaSS.js → native-biometric-DUHF57O_.js} +1 -1
  134. package/dist/assets/{native-file-ySSv1sQ7.js → native-file-CfGNNXKe.js} +2 -2
  135. package/dist/assets/navigation-resolver-BIPJSTY5.js +1 -0
  136. package/dist/assets/{not-found-OqaWNmdx.js → not-found-Dh7Vxgjl.js} +1 -1
  137. package/dist/assets/{notice-BMK7xqUw.js → notice-B6naz_-V.js} +1 -1
  138. package/dist/assets/{notifications-page-ClfcJeLf.js → notifications-page-BB5kRj1s.js} +1 -1
  139. package/dist/assets/{oauth-complete-page-rVmA2Cl8.js → oauth-complete-page-01jk0-Xz.js} +1 -1
  140. package/dist/assets/{oauth-connection-utils-CWPUW4MK.js → oauth-connection-utils-DhmVsbum.js} +1 -1
  141. package/dist/assets/{oauth-popup-complete-page-DBsOvLES.js → oauth-popup-complete-page-DdR3sLCH.js} +1 -1
  142. package/dist/assets/{onboarding-layout-DLs1hfp_.js → onboarding-layout-CYU5QNQ5.js} +1 -1
  143. package/dist/assets/{onboarding-store-bZ2qYISk.js → onboarding-store-CHsGFmyD.js} +1 -1
  144. package/dist/assets/open-workspace-file-AUDky4i4.js +2 -0
  145. package/dist/assets/{page-empty-state-DT-tC1u6.js → page-empty-state-DTRXFoHj.js} +1 -1
  146. package/dist/assets/{page-shell-C7SUgga9.js → page-shell-Ns8K4aqQ.js} +1 -1
  147. package/dist/assets/{pairing-page-ZkFipOSH.js → pairing-page-COqX_5vT.js} +1 -1
  148. package/dist/assets/{panel-item-CrtoJCrd.js → panel-item-CQt19wOM.js} +1 -1
  149. package/dist/assets/{password-reset-page-iASQZawH.js → password-reset-page-Ck1m9qRW.js} +1 -1
  150. package/dist/assets/{personality-page-BJpW3UXD.js → personality-page-B0GpJMv5.js} +1 -1
  151. package/dist/assets/plans-page-GiIsWq7v.js +1 -0
  152. package/dist/assets/{platform-detection-XEAAu4c-.js → platform-detection-D1fBX4KG.js} +1 -1
  153. package/dist/assets/{platform-login-notice-CdYiKsE8.js → platform-login-notice-D_-ZVyk8.js} +1 -1
  154. package/dist/assets/platform-loopback-page-B68rydoU.js +1 -0
  155. package/dist/assets/{plugin-detail-page-Bx2wzKEf.js → plugin-detail-page-DGzmeb3j.js} +1 -1
  156. package/dist/assets/plugins-page-C7Xd3LTL.js +1 -0
  157. package/dist/assets/plugins-surface-BGSKlIwH.js +1 -0
  158. package/dist/assets/{popover-BRpYVASI.js → popover-CDZiHp1D.js} +1 -1
  159. package/dist/assets/{prefs-bw85lYLp.js → prefs-BplCYXxl.js} +1 -1
  160. package/dist/assets/{privacy-page-B0QN4qZO.js → privacy-page-NhPZ8klL.js} +1 -1
  161. package/dist/assets/{privacy-screen-vp4uUpm6.js → privacy-screen-hSx7ZwqA.js} +1 -1
  162. package/dist/assets/{provider-callback-page-BH6DES7c.js → provider-callback-page-Dkxi-_kI.js} +1 -1
  163. package/dist/assets/{provider-key-D2Nsf9zh.js → provider-key-B07UMm1T.js} +1 -1
  164. package/dist/assets/provider-signup-page-BapnHqaW.js +1 -0
  165. package/dist/assets/{provisioning-targets-BTjyR9nk.js → provisioning-targets-epeYMPhZ.js} +1 -1
  166. package/dist/assets/{quick-input-page-Dq-0BGrJ.js → quick-input-page-DnjOMI1n.js} +1 -1
  167. package/dist/assets/{react-query.gen-BC3STDmV.js → react-query.gen-9VRdubOj.js} +1 -1
  168. package/dist/assets/{react-query.gen-C5c1Acuq.js → react-query.gen-BeiAUt-2.js} +1 -1
  169. package/dist/assets/{remote-gateway-session-yRYdsfDx.js → remote-gateway-session-DJ1rzXEw.js} +1 -1
  170. package/dist/assets/{research-facts-B7Ev1zv0.js → research-facts-B5ItKoAK.js} +1 -1
  171. package/dist/assets/{research-mock-page-BJEpxdMv.js → research-mock-page-gbOSvFQL.js} +1 -1
  172. package/dist/assets/{research-onboarding-persistence-51lJoYJ2.js → research-onboarding-persistence-CgJDwdl9.js} +1 -1
  173. package/dist/assets/{research-onboarding-route-CFL3q__m.js → research-onboarding-route-DpgbtSS0.js} +1 -1
  174. package/dist/assets/{research-results-view-C4sIw2gK.js → research-results-view-WQsLxBlE.js} +1 -1
  175. package/dist/assets/{resolved-assistants-store-Dw5UuGyB.js → resolved-assistants-store-FEmi1gGu.js} +1 -1
  176. package/dist/assets/{retire-confirm-dialog-CsSY2-T8.js → retire-confirm-dialog-CFJqb_EM.js} +1 -1
  177. package/dist/assets/review-terms-screen-c4Vt5WqP.js +1 -0
  178. package/dist/assets/{risk-CdT92Vqr.js → risk-RmzL2Rk_.js} +2 -2
  179. package/dist/assets/routes-CsoiCk2y.js +1 -0
  180. package/dist/assets/routes-NQmj27cY.js +23 -0
  181. package/dist/assets/{runtime-upgrade-banner-DPqzKtZU.js → runtime-upgrade-banner-BM2b81eK.js} +2 -2
  182. package/dist/assets/{schedules-6hzhR_C_.js → schedules-BMEs36wC.js} +1 -1
  183. package/dist/assets/schedules-page-BkOE2joT.js +1 -0
  184. package/dist/assets/{sdk.gen-BIu1DgTs.js → sdk.gen-DHJ7Pbqq.js} +1 -1
  185. package/dist/assets/{security-redirect-page-4DKqyPsf.js → security-redirect-page-CMMujz_x.js} +1 -1
  186. package/dist/assets/{select-assistant-screen-CVV3iqMy.js → select-assistant-screen-S526udI9.js} +1 -1
  187. package/dist/assets/{setting-row-BwXKepmJ.js → setting-row-D10FtQcP.js} +1 -1
  188. package/dist/assets/{settings-CfuLzwIw.js → settings-PGZ9c_uo.js} +1 -1
  189. package/dist/assets/{settings-divider-Ro7lPCkV.js → settings-divider-CItcvksF.js} +1 -1
  190. package/dist/assets/settings-layout-DKr7K-B6.js +1 -0
  191. package/dist/assets/{settings-navigation-CSG7jiyJ.js → settings-navigation-ji_jJYq2.js} +1 -1
  192. package/dist/assets/{share-feedback-modal-BoWCg4KH.js → share-feedback-modal-GLBRzcZa.js} +1 -1
  193. package/dist/assets/{sidebar-tree-C_PPNHe5.js → sidebar-tree-CEPitR5K.js} +1 -1
  194. package/dist/assets/signup-page-C0y2CTKm.js +1 -0
  195. package/dist/assets/{signup-shell-CMsBZ8vG.js → signup-shell-DxP2zqed.js} +1 -1
  196. package/dist/assets/{site-favicon-BB1pYWLF.js → site-favicon-Dx98M-cB.js} +1 -1
  197. package/dist/assets/{skill-detail-page-CTobyK6L.js → skill-detail-page-o3EhI_Q2.js} +1 -1
  198. package/dist/assets/{skill-detail-panel-CNzionF7.js → skill-detail-panel-DdQL6oky.js} +1 -1
  199. package/dist/assets/{skills-Cum1XWT2.js → skills-DT9YkYm6.js} +1 -1
  200. package/dist/assets/{skills-page-DZVxAbua.js → skills-page-BtFhw8jF.js} +1 -1
  201. package/dist/assets/{slack-setup-wizard-DK2F8LXc.js → slack-setup-wizard-C6ALDSEa.js} +1 -1
  202. package/dist/assets/{sound-manager-Bx-OcMAz.js → sound-manager-Dy2ohKg4.js} +1 -1
  203. package/dist/assets/{sounds-page-C45-RF4i.js → sounds-page-D4kMljoY.js} +1 -1
  204. package/dist/assets/{src-te3YTBG-.js → src-CnF7WXNj.js} +1 -1
  205. package/dist/assets/{start-screen-CkJiCl9b.js → start-screen-BiV4V5J1.js} +1 -1
  206. package/dist/assets/{subagent-detail-panel-DyyMdaNO.js → subagent-detail-panel-Cvmfu7Ym.js} +1 -1
  207. package/dist/assets/{subagent-store-MDi6lBXs.js → subagent-store-B2Uhma4F.js} +1 -1
  208. package/dist/assets/superpowers-page-CPBz-c5i.js +1 -0
  209. package/dist/assets/{system-events-page-DXAU01ZO.js → system-events-page-CpUI1rsZ.js} +1 -1
  210. package/dist/assets/{system-events-redirect-page-Bm9bipNo.js → system-events-redirect-page-BQrnMF4i.js} +1 -1
  211. package/dist/assets/{tag-NXcyiTkK.js → tag-Dn1d6hKF.js} +1 -1
  212. package/dist/assets/{theme-stage-page-BDTCmutO.js → theme-stage-page-CW3erTQ4.js} +1 -1
  213. package/dist/assets/{threshold-presets-BdTTHCnm.js → threshold-presets-ByKylDXk.js} +1 -1
  214. package/dist/assets/{tiptap-document-editor-CHn2wCDv.js → tiptap-document-editor-CbPrzkBM.js} +1 -1
  215. package/dist/assets/{toast-LgLp4obE.js → toast-BcMdOTp1.js} +1 -1
  216. package/dist/assets/{tool-detail-panel-DFrWEWKG.js → tool-detail-panel-DyfiRoE5.js} +1 -1
  217. package/dist/assets/{transcript-message-body-shared-D9_d2c2X.js → transcript-message-body-shared-Cb89j7p1.js} +1 -1
  218. package/dist/assets/{trust-rules-api-B5lfygCA.js → trust-rules-api-CVYU31TU.js} +1 -1
  219. package/dist/assets/upgrade-cancel-page-BSAoMrm5.js +1 -0
  220. package/dist/assets/{upgrade-success-page-Cb1Gl4MM.js → upgrade-success-page-CooDWnEr.js} +1 -1
  221. package/dist/assets/{usage-redirect-page-BOfJ7uot.js → usage-redirect-page-DtwSt4vM.js} +1 -1
  222. package/dist/assets/{use-active-assistant-id-CldxA_-M.js → use-active-assistant-id-CUKao_nq.js} +1 -1
  223. package/dist/assets/{use-app-theme-Dg8A6vPA.js → use-app-theme-BhnyqHgJ.js} +1 -1
  224. package/dist/assets/{use-assistant-avatar-bwLHcMz4.js → use-assistant-avatar-BcObK2L0.js} +1 -1
  225. package/dist/assets/{use-assistant-capability-CDS7GbSO.js → use-assistant-capability-BdWmg2Vg.js} +1 -1
  226. package/dist/assets/{use-assistant-identity-details-9JRWxXTQ.js → use-assistant-identity-details-BdFppz9B.js} +1 -1
  227. package/dist/assets/{use-avatar-accent-var-vpakP1ce.js → use-avatar-accent-var-rnSeYvBI.js} +1 -1
  228. package/dist/assets/{use-bookmarks-CK-nOiT-.js → use-bookmarks-DtteniG3.js} +1 -1
  229. package/dist/assets/{use-bundled-avatar-components-Bbs4vCnX.js → use-bundled-avatar-components-B1ARUeam.js} +2 -2
  230. package/dist/assets/{use-bus-subscription-nUrbz9Mu.js → use-bus-subscription-NoXmdzgx.js} +1 -1
  231. package/dist/assets/{use-checkout-dismiss-refresh-CqGR_OsB.js → use-checkout-dismiss-refresh-wRSmB_TU.js} +1 -1
  232. package/dist/assets/use-command-palette-sections-GAugkmjU.js +1 -0
  233. package/dist/assets/{use-discord-nudge-C_QdHIeX.js → use-discord-nudge-h0WPtIp6.js} +1 -1
  234. package/dist/assets/{use-edge-swipe-Wm9pU2HX.js → use-edge-swipe-DDntz5ZJ.js} +1 -1
  235. package/dist/assets/{use-edge-swipe-back-BcSHNCwS.js → use-edge-swipe-back-Rp4TEihl.js} +1 -1
  236. package/dist/assets/{use-edit-app-B_Nequzs.js → use-edit-app-BSbRuVnn.js} +1 -1
  237. package/dist/assets/{use-effective-timezone-Dqs8OaXJ.js → use-effective-timezone-Om_EkJxK.js} +1 -1
  238. package/dist/assets/{use-invite-link-dialog-CPPOduk8.js → use-invite-link-dialog-yw1dtYd_.js} +1 -1
  239. package/dist/assets/{use-ios-app-nudge-B-ojl-b1.js → use-ios-app-nudge-CeOXecJj.js} +1 -1
  240. package/dist/assets/{use-is-org-ready-C5xlYywh.js → use-is-org-ready-BrKAc9Df.js} +1 -1
  241. package/dist/assets/{use-onboarding-login-DI5gvqEG.js → use-onboarding-login-DsCjVy0U.js} +1 -1
  242. package/dist/assets/{use-platform-assistant-id-DOsSt6k1.js → use-platform-assistant-id-DSR1LFZF.js} +1 -1
  243. package/dist/assets/{use-platform-gate-C65D14xY.js → use-platform-gate-Cv2oOK8C.js} +1 -1
  244. package/dist/assets/{use-reduced-motion-W1fCe3vS.js → use-reduced-motion-D0Rb5Fd_.js} +1 -1
  245. package/dist/assets/use-return-to-short-circuit-DEKlWitV.js +1 -0
  246. package/dist/assets/{use-save-twilio-credentials-c9xG9RPK.js → use-save-twilio-credentials-CecOWIyh.js} +1 -1
  247. package/dist/assets/{use-skill-actions-BAAx1Eia.js → use-skill-actions-DTznrJR1.js} +1 -1
  248. package/dist/assets/{use-skill-detail-files-BvOKvY0-.js → use-skill-detail-files-CKgT7qkY.js} +1 -1
  249. package/dist/assets/{use-sticky-profiles-CdWX0mgI.js → use-sticky-profiles-CdiEmubF.js} +1 -1
  250. package/dist/assets/{use-subagent-card-data-DHuNtSy9.js → use-subagent-card-data-DJujXR76.js} +1 -1
  251. package/dist/assets/{use-supports-bookmarks-C3J7FtDn.js → use-supports-bookmarks-D4_-FkJA.js} +1 -1
  252. package/dist/assets/use-supports-credentials-settings-CGDLraXI.js +1 -0
  253. package/dist/assets/{use-swipe-engine-6PcZZMVD.js → use-swipe-engine-ehsGV4fb.js} +1 -1
  254. package/dist/assets/{utils-B0rBxtYP.js → utils-CP1NAeej.js} +1 -1
  255. package/dist/assets/{utils-CnB60ZJN.js → utils-D8KOSvh3.js} +1 -1
  256. package/dist/assets/{viewer-store-DLk-jp8U.js → viewer-store-BVsBGqdn.js} +1 -1
  257. package/dist/assets/{voice-list-CW8mzaHU.js → voice-list-DeqvOR_J.js} +1 -1
  258. package/dist/assets/{voice-page-0zsCIOdT.js → voice-page-Cas-WIf4.js} +1 -1
  259. package/dist/assets/voice-picker-modal-D0K6miA1.js +1 -0
  260. package/dist/assets/{weather-forecast-display-BAAnrNdd.js → weather-forecast-display-JW8ecLNy.js} +1 -1
  261. package/dist/assets/{web-9Cwi5jnT.js → web-BTtRunTK.js} +1 -1
  262. package/dist/assets/{web-Bi-BvsRt.js → web-Bd-5Eyoa.js} +1 -1
  263. package/dist/assets/{web-D486_dlv.js → web-ByAAA1Mb.js} +1 -1
  264. package/dist/assets/{web-sr1ba6fP.js → web-DFbI_g4o.js} +1 -1
  265. package/dist/assets/{web-BlvxItuO.js → web-DIn7jUpJ.js} +1 -1
  266. package/dist/assets/{web-l9DWMZeA.js → web-DYQ0KCC4.js} +1 -1
  267. package/dist/assets/{web-DUb4LJ2M.js → web-Db-2E0qX.js} +1 -1
  268. package/dist/assets/{web-B3Q8ntoM.js → web-PfT3uNnR.js} +1 -1
  269. package/dist/assets/{welcome-screen-DwOAZpZS.js → welcome-screen-D_DTupb3.js} +1 -1
  270. package/dist/assets/{workflow-detail-panel-DGL2BZSr.js → workflow-detail-panel-DAVe3vEm.js} +1 -1
  271. package/dist/assets/{workflow-store-lM7yKbUo.js → workflow-store-C3g-qg1u.js} +1 -1
  272. package/dist/assets/{workspace-page-D4NvhCv1.js → workspace-page-Dq0z3-Rs.js} +1 -1
  273. package/dist/assets/{workspace-tree-query-B1A-efgV.js → workspace-tree-query-D9VBUg-W.js} +1 -1
  274. package/dist/index.html +197 -194
  275. package/package.json +1 -1
  276. package/dist/assets/access-DS79PSR3.js +0 -1
  277. package/dist/assets/assistant-identity-store-DIyVo8LV.js +0 -1
  278. package/dist/assets/billing-page-B5j5TW_S.js +0 -3
  279. package/dist/assets/billing-redirect-page-B1o1rsQZ.js +0 -1
  280. package/dist/assets/channels-page-route-BYP9SOw5.js +0 -9
  281. package/dist/assets/checkout-continuation-U3Pd2nxi.js +0 -1
  282. package/dist/assets/checkout-page-C5_9GbP-.js +0 -1
  283. package/dist/assets/checkout-return-target-DI6Hb-9L.js +0 -1
  284. package/dist/assets/consent-hzYg-zbh.js +0 -1
  285. package/dist/assets/effective-timezone-CmcoXrio.js +0 -1
  286. package/dist/assets/emails-page-Wr4wPSYl.js +0 -1
  287. package/dist/assets/esm-BKewCp71.js +0 -2
  288. package/dist/assets/esm-DNvorKcw.js +0 -1
  289. package/dist/assets/esm-Deuay4YU.js +0 -2
  290. package/dist/assets/esm-IoT87yZe.js +0 -2
  291. package/dist/assets/esm-PYpy75OW.js +0 -2
  292. package/dist/assets/esm-xItcektK.js +0 -2
  293. package/dist/assets/first-run-scope-CL5YbC3b.js +0 -1
  294. package/dist/assets/get-memory-stats-BCYSpBF6.js +0 -1
  295. package/dist/assets/identity-page-route-CK3YsXCN.js +0 -7
  296. package/dist/assets/intelligence-layout-MNoGhi-l.js +0 -1
  297. package/dist/assets/library-detail-page-DVwI94NZ.js +0 -1
  298. package/dist/assets/login-flow-CD9tyuFG.js +0 -1
  299. package/dist/assets/login-page-BNStrcnU.js +0 -1
  300. package/dist/assets/memory-page-route-C0cBV7HD.js +0 -2
  301. package/dist/assets/mutation-error-DEknRDAQ.js +0 -1
  302. package/dist/assets/native-anchor-CeekjwVy.js +0 -1
  303. package/dist/assets/navigation-resolver-DPJxzx0h.js +0 -1
  304. package/dist/assets/open-workspace-file-DtK3a84K.js +0 -2
  305. package/dist/assets/plans-page-BDKqdYNM.js +0 -1
  306. package/dist/assets/platform-loopback-page-D0gXCm2S.js +0 -1
  307. package/dist/assets/plugins-page-B2zQ2iGh.js +0 -1
  308. package/dist/assets/plugins-surface-B43Op43l.js +0 -1
  309. package/dist/assets/provider-signup-page-BAPcG_iJ.js +0 -1
  310. package/dist/assets/review-terms-screen-BhyRQBjl.js +0 -1
  311. package/dist/assets/routes-CaP5Tqj7.js +0 -23
  312. package/dist/assets/routes-D9sNqB_o.js +0 -1
  313. package/dist/assets/schedules-page-DVnUeaoB.js +0 -1
  314. package/dist/assets/settings-layout-B_4PKJr9.js +0 -1
  315. package/dist/assets/signup-page-D0S_8XYw.js +0 -1
  316. package/dist/assets/superpowers-page-CaLzK5D-.js +0 -1
  317. package/dist/assets/upgrade-cancel-page-eiJEAvFz.js +0 -1
  318. package/dist/assets/use-command-palette-sections-CkpUaAKs.js +0 -1
  319. package/dist/assets/use-supports-credentials-settings-BbfghcWq.js +0 -1
  320. package/dist/assets/voice-picker-modal-PdsZwrsV.js +0 -1
  321. /package/dist/assets/{Combination-CkAMwkbS.js → Combination-BRDRMC4m.js} +0 -0
  322. /package/dist/assets/{api-errors-CFiCT7Ap.js → api-errors-DHvv5HEN.js} +0 -0
  323. /package/dist/assets/{app-types-DSkgEmV3.js → app-types-BnzWLsk5.js} +0 -0
  324. /package/dist/assets/{apple-logo--8ZT6Umn.js → apple-logo-C3XrRC_i.js} +0 -0
  325. /package/dist/assets/{avatar-bundled-components-DPqbVXi9.js → avatar-bundled-components-yyfTpx_l.js} +0 -0
  326. /package/dist/assets/{avatar-subagent-CRA2B82x.js → avatar-subagent-Bpy9-0YN.js} +0 -0
  327. /package/dist/assets/{avatar-svg-compositor-Dl-ckXRE.js → avatar-svg-compositor-DeuQqt-f.js} +0 -0
  328. /package/dist/assets/{avatar-tone-BKwvoDSj.js → avatar-tone-BBZKSrBa.js} +0 -0
  329. /package/dist/assets/{browser-timezone-CGwaX5Uv.js → browser-timezone-DGz-HvxU.js} +0 -0
  330. /package/dist/assets/{build.umd-Bixyt_xE.js → build.umd-CpQXlBwc.js} +0 -0
  331. /package/dist/assets/{by-tool-use-id-index-M50wYE1f.js → by-tool-use-id-index-DcsiqOhc.js} +0 -0
  332. /package/dist/assets/{chat-CDFCY8f0.js → chat-B9S7HTkM.js} +0 -0
  333. /package/dist/assets/{client.gen-CV05d-kw.js → client.gen-DPP573hb.js} +0 -0
  334. /package/dist/assets/{conversation-selection-oJy8Oht3.js → conversation-selection-Cx6Axfzb.js} +0 -0
  335. /package/dist/assets/{create-selectors-Qo7kcikX.js → create-selectors-B41BzcFF.js} +0 -0
  336. /package/dist/assets/{definitions-JF3PcEff.js → definitions-B2pe1hr8.js} +0 -0
  337. /package/dist/assets/{definitions-D_AmTPWg.js → definitions-B6TMLvuT.js} +0 -0
  338. /package/dist/assets/{dist-jXSU-ejH.js → dist-BbzsnMsY.js} +0 -0
  339. /package/dist/assets/{dist-CaYJ736y.js → dist-BxvMAFS8.js} +0 -0
  340. /package/dist/assets/{dist-BwAT3VYQ.js → dist-CCFYMOVM.js} +0 -0
  341. /package/dist/assets/{domains-DWRzNRJy.js → domains-BLQZqRIT.js} +0 -0
  342. /package/dist/assets/{dropdown-BCfnSdIZ.js → dropdown-BtWhNXSV.js} +0 -0
  343. /package/dist/assets/{edit-chat-session-D37Qx6ol.js → edit-chat-session-DDnAzqkB.js} +0 -0
  344. /package/dist/assets/{emoji-catalog-data-BCc1YNMR.js → emoji-catalog-data-DvjqmdH4.js} +0 -0
  345. /package/dist/assets/{event-bus-DSxmBYhD.js → event-bus-DYZhc6yM.js} +0 -0
  346. /package/dist/assets/{external-urls-_vjsdj2L.js → external-urls-DIbR-npW.js} +0 -0
  347. /package/dist/assets/{feature-flag-catalog-I9-eJQP_.js → feature-flag-catalog-CWB-r-Pj.js} +0 -0
  348. /package/dist/assets/{format-date-BGnM4mqL.js → format-date-BEAiOK8n.js} +0 -0
  349. /package/dist/assets/{format-file-size-BgMTiWPt.js → format-file-size-BtDHBEb-.js} +0 -0
  350. /package/dist/assets/{hard-navigate-DyUrcxe0.js → hard-navigate-V2EFapkk.js} +0 -0
  351. /package/dist/assets/{impersonate-version-flag-4Ki_3iKD.js → impersonate-version-flag-Cad5-ZZv.js} +0 -0
  352. /package/dist/assets/{input-hw3el2GJ.js → input-F_x2LXmm.js} +0 -0
  353. /package/dist/assets/{is-electron-m5eeGBnd.js → is-electron-D-TCQRcE.js} +0 -0
  354. /package/dist/assets/{link-click-DLYgWZdo.js → link-click-BIvzZsRn.js} +0 -0
  355. /package/dist/assets/{machine-sizes-DO8duvpy.js → machine-sizes-CT-fSRKD.js} +0 -0
  356. /package/dist/assets/{misc-CuYswARt.js → misc-CXDB4i-X.js} +0 -0
  357. /package/dist/assets/{native-deep-link-DCBJ-Rw0.js → native-deep-link-D4jZANvf.js} +0 -0
  358. /package/dist/assets/{oauth-popup-OhSYYlQF.js → oauth-popup-BsYPnBq7.js} +0 -0
  359. /package/dist/assets/{onboarding-step-layout-D9rghAjS.js → onboarding-step-layout-Do2o16kf.js} +0 -0
  360. /package/dist/assets/{optimistic-lifecycle-BINTsVFx.js → optimistic-lifecycle-Dxhc3mFf.js} +0 -0
  361. /package/dist/assets/{pdf-BlwLcQAc.js → pdf-CRRXY5Nb.js} +0 -0
  362. /package/dist/assets/{plugin-attribution-DrwveSW_.js → plugin-attribution-ug-jMTXi.js} +0 -0
  363. /package/dist/assets/{pointer-BbPfN86L.js → pointer-DAyn_9jY.js} +0 -0
  364. /package/dist/assets/{prechat-CeL4a_1i.js → prechat-EVefdGcO.js} +0 -0
  365. /package/dist/assets/{profile-metadata-BhqRdqUJ.js → profile-metadata-EGAGq_rk.js} +0 -0
  366. /package/dist/assets/{progress-bar-C_T5_pf2.js → progress-bar-B64ghmWk.js} +0 -0
  367. /package/dist/assets/{proxy-D7UPVac3.js → proxy-lxbolTGx.js} +0 -0
  368. /package/dist/assets/{public-asset-BBVUuTT_.js → public-asset-BoN50HP_.js} +0 -0
  369. /package/dist/assets/{sandbox-bridge-BxW8HZq_.js → sandbox-bridge-CjHMJYTZ.js} +0 -0
  370. /package/dist/assets/{sdk.gen-B5ygTzyg.js → sdk.gen-CtusrdLv.js} +0 -0
  371. /package/dist/assets/{sdk.gen-BHZ0fJla.js → sdk.gen-DeyOX3Kb.js} +0 -0
  372. /package/dist/assets/{semver-BpijV4FQ.js → semver-Ok0Hi8v9.js} +0 -0
  373. /package/dist/assets/{shield-fzs_emVe.js → shield-B69p45Kq.js} +0 -0
  374. /package/dist/assets/{shield-check-22NwY9JM.js → shield-check-C7I-REGg.js} +0 -0
  375. /package/dist/assets/{smartphone-mDNwm_ss.js → smartphone-zTfpbpuH.js} +0 -0
  376. /package/dist/assets/{sparkles-Ccrj7hxd.js → sparkles-nPSxUfsO.js} +0 -0
  377. /package/dist/assets/{square-D_e8nR-F.js → square-CRVB76KQ.js} +0 -0
  378. /package/dist/assets/{status-badge-pill-wJPMXQk1.js → status-badge-pill-CGODAHVT.js} +0 -0
  379. /package/dist/assets/{sun-Dw0t1n1O.js → sun-DXlsFvWD.js} +0 -0
  380. /package/dist/assets/{terminal-CdCI6wMV.js → terminal-BvDcWAOW.js} +0 -0
  381. /package/dist/assets/{theme-preferences-Bb2pPRXa.js → theme-preferences-LQuLaIA6.js} +0 -0
  382. /package/dist/assets/{three-dot-indicator-BMvKQ_On.js → three-dot-indicator-B_GPAioB.js} +0 -0
  383. /package/dist/assets/{toggle-lfnhEAcN.js → toggle-B4nIp0sf.js} +0 -0
  384. /package/dist/assets/{trash-2-L5LNgw9o.js → trash-2-BF5y4UkY.js} +0 -0
  385. /package/dist/assets/{triangle-alert-CQfiAg_t.js → triangle-alert-Dq3v0coH.js} +0 -0
  386. /package/dist/assets/{typed-storage-9Sn8tkE7.js → typed-storage-CcMT-hWr.js} +0 -0
  387. /package/dist/assets/{use-copy-to-clipboard-cF7ZSilD.js → use-copy-to-clipboard-VK_922zc.js} +0 -0
  388. /package/dist/assets/{use-is-mobile-BlQuzI5Z.js → use-is-mobile-Cx2xnNUx.js} +0 -0
  389. /package/dist/assets/{user-_zNqL48O.js → user-KBQkOaB5.js} +0 -0
  390. /package/dist/assets/{user-plus-oiIr9ey8.js → user-plus-CsHAo9W6.js} +0 -0
  391. /package/dist/assets/{users-iLvfYFOP.js → users-C0mu7-R4.js} +0 -0
  392. /package/dist/assets/{volume-2-CvT-JEIl.js → volume-2-DnyXryvu.js} +0 -0
  393. /package/dist/assets/{workflow-cWWiPi3K.js → workflow-CN4xwQpa.js} +0 -0
  394. /package/dist/assets/{workflow-status-HyIIhMBP.js → workflow-status-CgrMMiJT.js} +0 -0
  395. /package/dist/assets/{workspace-theme-tokens-DNNwX-XS.js → workspace-theme-tokens-D8TTf-DX.js} +0 -0
  396. /package/dist/assets/{wrench-0WW0zkkG.js → wrench-DDDwrNwL.js} +0 -0
  397. /package/dist/assets/{x-JBAsSOmg.js → x-BGag7vwj.js} +0 -0
  398. /package/dist/assets/{xterm-addon-fit-BVObYBMM.js → xterm-addon-fit-B1qPIPGd.js} +0 -0
  399. /package/dist/assets/{xterm-DgGqTfet.js → xterm-coCKWVob.js} +0 -0
  400. /package/dist/assets/{zoom-in-CaLYwni-.js → zoom-in-C96B1CNL.js} +0 -0
@@ -1 +1 @@
1
- import{c as e,lt as t,o as n,tt as r}from"./local-mode-BTovbt13.js";import{h as i}from"./api-C3QSs67k.js";import{At as a,_ as o,ht as s,mt as c,v as l,y as u}from"./sdk.gen-BHZ0fJla.js";import{a as d,n as f}from"./api-errors-CFiCT7Ap.js";import{B as p,T as m,V as h,a as g,i as _,o as v,w as y,z as b}from"./sdk.gen-BIu1DgTs.js";async function x(e,t){let{data:n,error:r,response:i}=await y({body:e??{},query:t?{mode:t}:void 0,throwOnError:!1});return f(i,r,`Failed to hatch assistant.`),i.ok?{ok:!0,status:i.status,data:n}:{ok:!1,status:i.status,error:d(r,i)}}async function S(r){if(t()){let t=r?n(r):e();if(t)return{ok:!0,status:200,data:{id:t.assistantId,name:t.name??t.assistantId,status:`active`,is_local:!0,created:t.hatchedAt??``}}}if(r){let{data:e,error:t,response:n}=await h({path:{id:r},throwOnError:!1});return f(n,t,`Failed to get assistant.`),n.ok?{ok:!0,status:n.status,data:e}:{ok:!1,status:n.status,error:d(t,n)}}let i=await m({query:{hosting:`platform`},throwOnError:!1});if(f(i.response,i.error,`Failed to get assistant.`),!i.response.ok)return{ok:!1,status:i.response.status,error:d(i.error,i.response)};let a=i.data?.results??[];if(a.length>0)return{ok:!0,status:i.response.status,data:a[0]};let o=await m({query:{hosting:`local`},throwOnError:!1});if(f(o.response,o.error,`Failed to get assistant.`),o.response.ok){let e=o.data?.results??[];if(e.length>0)return{ok:!0,status:o.response.status,data:e[0]}}return o.response.ok?{ok:!1,status:404,error:{detail:`No assistants found`}}:{ok:!1,status:o.response.status,error:d(o.error,o.response)}}async function C(e){let{data:t,error:n,response:r}=await a({path:{assistant_id:e},throwOnError:!1});return f(r,n,`Failed to get assistant healthz.`),r.ok&&t?{ok:!0,status:r.status,data:t}:{ok:!1,status:r.status,error:d(n,r)}}async function w(e){let{data:t,error:n,response:r}=await s({path:{assistant_id:e},throwOnError:!1});if(f(r,n,`Failed to get assistant disk pressure status.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:d(e.error.message,r)}}return{ok:!1,status:r.status,error:d(n,r)}}async function T(e){let{data:t,error:n,response:r}=await c({path:{assistant_id:e},throwOnError:!1});if(f(r,n,`Failed to acknowledge assistant disk pressure.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:d(e.error.message,r)}}return{ok:!1,status:r.status,error:d(n,r)}}function E(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(t.backups))return t.backups;let n=t,r=[],i=n.local?.snapshots;if(Array.isArray(i))for(let e of i)r.push({snapshot_name:e.filename,pvc:``,created_at:e.created_at,ready_to_use:!0,backup_type:`scheduled`,path:e.path});if(Array.isArray(n.offsite)){for(let e of n.offsite)if(Array.isArray(e.snapshots))for(let t of e.snapshots)r.push({snapshot_name:t.filename,pvc:``,created_at:t.created_at,ready_to_use:!t.encrypted,backup_type:`scheduled`,path:t.path})}return r}function D(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};return Array.isArray(t.backups)?t.backups:[]}async function O(e){let t=!r(),[n,i]=await Promise.all([l({path:{assistant_id:e},throwOnError:!1}),t?v({path:{assistant_id:e},throwOnError:!1}):null]);if(f(n.response,n.error,`Failed to list assistant backups.`),!n.response.ok)return{ok:!1,status:n.response.status,error:d(n.error,n.response)};let a=E(n.data);if(i){if(i.response?.ok){let e=D(i.data);return{ok:!0,status:n.response.status,data:[...e,...a]}}if(a.length===0&&i.response)return{ok:!1,status:i.response.status,error:d(i.error,i.response)}}return{ok:!0,status:n.response.status,data:a}}async function k(e){let{data:t,error:n,response:i}=r()?await o({path:{assistant_id:e},throwOnError:!1}):await _({path:{assistant_id:e},throwOnError:!1});if(f(i,n,`Failed to create assistant backup.`),i.ok){let e=t&&typeof t==`object`&&!Array.isArray(t)?t:{};return{ok:!0,status:i.status,data:e}}return{ok:!1,status:i.status,error:d(n,i)}}async function A(e,t){let{data:n,error:i,response:a}=r()?await u({path:{assistant_id:e},body:{path:t.path??t.snapshot_name},throwOnError:!1}):await g({path:{assistant_id:e,snapshot_name:t.snapshot_name},throwOnError:!1});if(f(a,i,`Failed to restore assistant backup.`),a.ok){let e=n&&typeof n==`object`&&!Array.isArray(n)?n:{};return{ok:!0,status:a.status,data:e}}return{ok:!1,status:a.status,error:d(i,a)}}async function j(e){let{data:t,error:n,response:r}=await b({path:{id:e},throwOnError:!1});return f(r,n,`Failed to restart assistant.`),r.ok?{ok:!0,data:t&&typeof t==`object`&&!Array.isArray(t)?t:{}}:{ok:!1,status:r.status,error:d(n,r)}}async function M(e){let{error:t,response:n}=await p({path:{id:e},throwOnError:!1});return f(n,t,`Failed to retire assistant.`),n.ok?{ok:!0}:{ok:!1,status:n.status,error:d(t,n)}}async function N(){let{data:e,error:t,response:n}=await m({query:{hosting:`all`},throwOnError:!1});return f(n,t,`Failed to list assistants.`),n.ok?{ok:!0,status:n.status,data:e?.results??[]}:{ok:!1,status:n.status,error:d(t,n)}}export{C as a,N as c,M as d,w as i,j as l,k as n,x as o,S as r,O as s,T as t,A as u};
1
+ import{c as e,lt as t,o as n,tt as r}from"./local-mode-BKousn41.js";import{h as i}from"./api-BpGogBsg.js";import{At as a,_ as o,ht as s,mt as c,v as l,y as u}from"./sdk.gen-DeyOX3Kb.js";import{a as d,n as f}from"./api-errors-DHvv5HEN.js";import{B as p,T as m,V as h,a as g,i as _,o as v,w as y,z as b}from"./sdk.gen-DHJ7Pbqq.js";async function x(e,t){let{data:n,error:r,response:i}=await y({body:e??{},query:t?{mode:t}:void 0,throwOnError:!1});return f(i,r,`Failed to hatch assistant.`),i.ok?{ok:!0,status:i.status,data:n}:{ok:!1,status:i.status,error:d(r,i)}}async function S(r){if(t()){let t=r?n(r):e();if(t)return{ok:!0,status:200,data:{id:t.assistantId,name:t.name??t.assistantId,status:`active`,is_local:!0,created:t.hatchedAt??``}}}if(r){let{data:e,error:t,response:n}=await h({path:{id:r},throwOnError:!1});return f(n,t,`Failed to get assistant.`),n.ok?{ok:!0,status:n.status,data:e}:{ok:!1,status:n.status,error:d(t,n)}}let i=await m({query:{hosting:`platform`},throwOnError:!1});if(f(i.response,i.error,`Failed to get assistant.`),!i.response.ok)return{ok:!1,status:i.response.status,error:d(i.error,i.response)};let a=i.data?.results??[];if(a.length>0)return{ok:!0,status:i.response.status,data:a[0]};let o=await m({query:{hosting:`local`},throwOnError:!1});if(f(o.response,o.error,`Failed to get assistant.`),o.response.ok){let e=o.data?.results??[];if(e.length>0)return{ok:!0,status:o.response.status,data:e[0]}}return o.response.ok?{ok:!1,status:404,error:{detail:`No assistants found`}}:{ok:!1,status:o.response.status,error:d(o.error,o.response)}}async function C(e){let{data:t,error:n,response:r}=await a({path:{assistant_id:e},throwOnError:!1});return f(r,n,`Failed to get assistant healthz.`),r.ok&&t?{ok:!0,status:r.status,data:t}:{ok:!1,status:r.status,error:d(n,r)}}async function w(e){let{data:t,error:n,response:r}=await s({path:{assistant_id:e},throwOnError:!1});if(f(r,n,`Failed to get assistant disk pressure status.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:d(e.error.message,r)}}return{ok:!1,status:r.status,error:d(n,r)}}async function T(e){let{data:t,error:n,response:r}=await c({path:{assistant_id:e},throwOnError:!1});if(f(r,n,`Failed to acknowledge assistant disk pressure.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:d(e.error.message,r)}}return{ok:!1,status:r.status,error:d(n,r)}}function E(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(t.backups))return t.backups;let n=t,r=[],i=n.local?.snapshots;if(Array.isArray(i))for(let e of i)r.push({snapshot_name:e.filename,pvc:``,created_at:e.created_at,ready_to_use:!0,backup_type:`scheduled`,path:e.path});if(Array.isArray(n.offsite)){for(let e of n.offsite)if(Array.isArray(e.snapshots))for(let t of e.snapshots)r.push({snapshot_name:t.filename,pvc:``,created_at:t.created_at,ready_to_use:!t.encrypted,backup_type:`scheduled`,path:t.path})}return r}function D(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};return Array.isArray(t.backups)?t.backups:[]}async function O(e){let t=!r(),[n,i]=await Promise.all([l({path:{assistant_id:e},throwOnError:!1}),t?v({path:{assistant_id:e},throwOnError:!1}):null]);if(f(n.response,n.error,`Failed to list assistant backups.`),!n.response.ok)return{ok:!1,status:n.response.status,error:d(n.error,n.response)};let a=E(n.data);if(i){if(i.response?.ok){let e=D(i.data);return{ok:!0,status:n.response.status,data:[...e,...a]}}if(a.length===0&&i.response)return{ok:!1,status:i.response.status,error:d(i.error,i.response)}}return{ok:!0,status:n.response.status,data:a}}async function k(e){let{data:t,error:n,response:i}=r()?await o({path:{assistant_id:e},throwOnError:!1}):await _({path:{assistant_id:e},throwOnError:!1});if(f(i,n,`Failed to create assistant backup.`),i.ok){let e=t&&typeof t==`object`&&!Array.isArray(t)?t:{};return{ok:!0,status:i.status,data:e}}return{ok:!1,status:i.status,error:d(n,i)}}async function A(e,t){let{data:n,error:i,response:a}=r()?await u({path:{assistant_id:e},body:{path:t.path??t.snapshot_name},throwOnError:!1}):await g({path:{assistant_id:e,snapshot_name:t.snapshot_name},throwOnError:!1});if(f(a,i,`Failed to restore assistant backup.`),a.ok){let e=n&&typeof n==`object`&&!Array.isArray(n)?n:{};return{ok:!0,status:a.status,data:e}}return{ok:!1,status:a.status,error:d(i,a)}}async function j(e){let{data:t,error:n,response:r}=await b({path:{id:e},throwOnError:!1});return f(r,n,`Failed to restart assistant.`),r.ok?{ok:!0,data:t&&typeof t==`object`&&!Array.isArray(t)?t:{}}:{ok:!1,status:r.status,error:d(n,r)}}async function M(e){let{error:t,response:n}=await p({path:{id:e},throwOnError:!1});return f(n,t,`Failed to retire assistant.`),n.ok?{ok:!0}:{ok:!1,status:n.status,error:d(t,n)}}async function N(){let{data:e,error:t,response:n}=await m({query:{hosting:`all`},throwOnError:!1});return f(n,t,`Failed to list assistants.`),n.ok?{ok:!0,status:n.status,data:e?.results??[]}:{ok:!1,status:n.status,error:d(t,n)}}export{C as a,N as c,M as d,w as i,j as l,k as n,x as o,S as r,O as s,T as t,A as u};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./input-hw3el2GJ.js";import{t as s}from"./dropdown-BCfnSdIZ.js";import{t as c}from"./is-electron-m5eeGBnd.js";import{u as l}from"./routes-D9sNqB_o.js";import{t as u}from"./onboarding-layout-DLs1hfp_.js";import{a as d,i as f,n as p,o as m,r as h,s as g}from"./provider-key-D2Nsf9zh.js";import"./onboarding-step-layout-D9rghAjS.js";var _=e(t(),1),v=a();function y(){let e=i(),[t]=r(),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)(s,{"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)(s,{"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)(o,{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)(o,{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)(o,{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-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./input-F_x2LXmm.js";import{t as s}from"./dropdown-BtWhNXSV.js";import{t as c}from"./is-electron-D-TCQRcE.js";import{d as l}from"./routes-CsoiCk2y.js";import{t as u}from"./onboarding-layout-CYU5QNQ5.js";import{a as d,i as f,n as p,o as m,r as h,s as g}from"./provider-key-B07UMm1T.js";import"./onboarding-step-layout-Do2o16kf.js";var _=e(t(),1),v=a();function y(){let e=i(),[t]=r(),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)(s,{"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)(s,{"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)(o,{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)(o,{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)(o,{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"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import{t as s}from"./external-link-CS0aVYGt.js";import{t as c}from"./puzzle-BVC3TGko.js";import"./src-te3YTBG-.js";import{n as l}from"./toast-LgLp4obE.js";import{t as u}from"./confirm-dialog-UYFm4osC.js";import{n as d,t as f}from"./create-selectors-Qo7kcikX.js";import{t as p}from"./sdk.gen-BHZ0fJla.js";import{n as m}from"./react-query.gen-C5c1Acuq.js";import{r as h}from"./typed-storage-9Sn8tkE7.js";import{i as g}from"./viewer-store-DLk-jp8U.js";import{t as _}from"./haptics-DvWjk9Fg.js";import{t as v}from"./pointer-BbPfN86L.js";import{t as y}from"./misc-CuYswARt.js";import{t as b}from"./edge-swipe-arbiter-store-CQnDi2yf.js";import{r as x}from"./sandbox-bridge-BxW8HZq_.js";var S=o(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),C=o(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),w=e(t(),1),T=36,E=.8,D=8,O=.35;function k({enabled:e,leadingActions:t,trailingActions:n}){let r=(t?.length??0)*72,i=(n?.length??0)*72,[a,o]=(0,w.useState)(0),[s,c]=(0,w.useState)(!1),[l,u]=(0,w.useState)(`none`),d=b.use.registerOpenRow(),f=b.use.unregisterOpenRow();(0,w.useEffect)(()=>{if(l!==`none`)return d(),f},[l,d,f]);let p=(0,w.useRef)(null),m=(0,w.useCallback)(()=>{p.current=null,c(!1),o(0)},[]),h=(0,w.useCallback)(()=>{o(0),u(`none`)},[]);return{offset:a,isDragging:s,revealedSide:l,leadingWidth:r,trailingWidth:i,onTouchStart:(0,w.useCallback)(r=>{if(!e||!t&&!n)return;if(r.touches.length!==1){m();return}let i=r.touches[0];p.current={touchId:i.identifier,startX:i.clientX,startY:i.clientY,axis:`undecided`,lastDx:0,startOffset:a}},[e,t,n,a,m]),onTouchMove:(0,w.useCallback)(e=>{let t=p.current;if(!t)return;if(e.touches.length!==1){m();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let a=n.clientX-t.startX,s=n.clientY-t.startY;if(t.lastDx=a,t.axis===`undecided`){if(Math.abs(a)<D&&Math.abs(s)<D)return;if(Math.abs(s)>Math.abs(a)*E){p.current=null;return}t.axis=`horizontal`,c(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(a)<T&&Math.abs(s)>Math.abs(a)*E){m(),o(t.startOffset);return}let l=t.startOffset+a,u=r,d=-i;l>u?l=u+(l-u)*O:l<d&&(l=d+(l-d)*O),(t.startOffset>0&&l<0&&i===0||t.startOffset<0&&l>0&&r===0)&&(l*=O),o(l)},[r,i,m]),onTouchEnd:(0,w.useCallback)(e=>{let t=p.current;if(!t){m();return}if(t.axis===`undecided`){p.current=null,c(!1);return}if(t.axis!==`horizontal`){m();return}if(e.touches.length>0){m();return}let n=Array.from(e.changedTouches).find(e=>e.identifier===t.touchId),a=n?n.clientX-t.startX:t.lastDx,s=t.startOffset+a;s<=-T&&i>0?(_.light(),o(-i),u(`trailing`)):s>=T&&r>0?(_.light(),o(r),u(`leading`)):(o(0),u(`none`)),p.current=null,c(!1)},[r,i,m]),onTouchCancel:(0,w.useCallback)(()=>{h(),m()},[h,m]),close:h}}var A=i();function j({action:e,onAfterSelect:t,hidden:n=!1}){let r=(0,w.useCallback)(()=>{e.onSelect(),t()},[e,t]),i=e.icon;return(0,A.jsxs)(`button`,{type:`button`,"aria-label":e.label,"aria-hidden":n,tabIndex:n?-1:0,onClick:r,className:a(`flex shrink-0 flex-col items-center justify-center gap-1`,`touch-mobile:transition-none`),style:{width:72,color:e.variant===`destructive`?`var(--aux-white)`:`var(--content-inset)`,background:e.variant===`destructive`?`var(--system-negative-strong)`:`var(--primary-base)`},children:[(0,A.jsx)(i,{size:18}),(0,A.jsx)(`span`,{className:`text-[10px] font-medium leading-none`,children:e.label})]})}var M=(0,w.forwardRef)(function({children:e,leadingActions:t,trailingActions:n,enabled:r=v(),className:i,style:o,...s},c){let l=r&&((t?.length??0)>0||(n?.length??0)>0),{offset:u,isDragging:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,close:g}=k({enabled:l,leadingActions:t,trailingActions:n});return l?(0,A.jsxs)(`div`,{ref:c,className:a(`relative overflow-hidden`,i),...s,style:{...o,touchAction:`pan-y`},onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,children:[n&&n.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 right-0 flex`,"aria-hidden":u>=0,style:u>=0?{pointerEvents:`none`}:void 0,children:n.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u>=0},e.id))}):null,t&&t.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 left-0 flex`,"aria-hidden":u<=0,style:u<=0?{pointerEvents:`none`}:void 0,children:t.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u<=0},e.id))}):null,(0,A.jsx)(`div`,{className:a(`relative bg-[var(--surface-overlay)] transition-transform`,d&&`transition-none`),style:{transform:`translateX(${u}px)`,zIndex:1},children:e})]}):(0,A.jsx)(`div`,{ref:c,className:i,style:o,...s,children:e})});function N(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.appId==`string`&&typeof t.pinnedOrder==`number`&&Number.isFinite(t.pinnedOrder)&&typeof t.name==`string`&&(t.icon===void 0||typeof t.icon==`string`)}function P(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(N):null}var F=h({key:`vellum:pinnedApps`,scope:`user`,parse:P,serialize:JSON.stringify,fallback:[]}),I=F.load;F.save;function L(e){let t=F.load();if(t.some(t=>t.appId===e.id))return;let n=t.reduce((e,t)=>Math.max(e,t.pinnedOrder),0);F.save([...t,{appId:e.id,pinnedOrder:n+1,name:e.name,icon:e.icon}])}function R(e){let t=F.load().filter(t=>t.appId!==e);t=t.sort((e,t)=>e.pinnedOrder-t.pinnedOrder).map((e,t)=>({...e,pinnedOrder:t+1})),F.save(t)}var z=new Set;function B(){let e=I();return{pinnedApps:e,pinnedAppIds:new Set(e.map(e=>e.appId))}}var V=f(d()((e,t)=>({...B(),togglePin:n=>{t().pinnedAppIds.has(n.id)?t().unpin(n.id):(L(n),e(B()))},unpin:n=>{if(t().pinnedAppIds.has(n)){R(n),e(B());for(let e of z)e(n)}},isPinned:e=>t().pinnedAppIds.has(e),onUnpin:e=>(z.add(e),()=>{z.delete(e)})})));function H({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,A.jsx)(u,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function U(e){let t=r(),n=V.use.togglePin(),i=V.use.pinnedAppIds(),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(!1);return{pendingDelete:a,isDeleting:s,requestDelete:o,confirmDelete:(0,w.useCallback)(async()=>{if(!(!a||s)){c(!0);try{await p({path:{assistant_id:e,id:a.id},throwOnError:!0}),g(e,a.id),t.invalidateQueries({queryKey:m({path:{assistant_id:e}})}),i.has(a.id)&&n(a),o(null)}catch(e){l.error(e instanceof Error?e.message:`Failed to delete app`)}finally{c(!1)}}},[a,s,e,i,n,t]),cancelDelete:(0,w.useCallback)(()=>{s||o(null)},[s])}}function W({name:e,description:t,icon:r,loadHtml:i,isPinned:a=!1,isLoading:o=!1,isOpenDisabled:c=!1,isPreviewPending:l=!1,onOpen:u,onPin:d}){return(0,A.jsxs)(`div`,{className:y(`flex flex-col gap-2 rounded-xl border border-[var(--border-base)]`,`bg-[var(--surface-lift)] p-3`),children:[(0,A.jsx)(G,{name:e,icon:r,loadHtml:l?void 0:i,isLoading:o,isPreviewPending:l}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:[r?(0,A.jsx)(`span`,{"aria-hidden":!0,className:`leading-none`,children:r}):null,(0,A.jsx)(`span`,{className:`truncate`,children:e})]}),t?(0,A.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-secondary)]`,children:t}):null]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-0.5`,children:[(0,A.jsx)(n,{variant:`primary`,leftIcon:(0,A.jsx)(s,{}),onClick:u,disabled:c||u==null,children:`Open App`}),(0,A.jsx)(n,{variant:`outlined`,leftIcon:a?(0,A.jsx)(S,{}):(0,A.jsx)(C,{}),onClick:d,disabled:d==null,children:a?`Unpin`:`Pin`})]})]})}function G({name:e,icon:t,loadHtml:n,isLoading:r=!1,isPreviewPending:i=!1,className:a}){let o=(0,w.useRef)(null),[s,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{if(n==null)return;let e=o.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&(d(!0),t.disconnect())},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[n]),(0,w.useEffect)(()=>{if(!u||n==null)return;let e=!1;return n().then(t=>{e||l(t)}).catch(()=>{}),()=>{e=!0}},[u,n]),(0,A.jsxs)(`div`,{ref:o,className:y(`relative aspect-[16/10] w-full overflow-hidden rounded-lg`,`border border-[var(--border-base)] bg-[var(--surface-base)]`,a),children:[(0,A.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:i?null:t?(0,A.jsx)(`span`,{className:`text-4xl`,children:t}):(0,A.jsx)(c,{size:32,className:`text-[var(--content-tertiary)]`})}),s!=null&&(0,A.jsx)(`iframe`,{srcDoc:x(s),sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,title:`${e} preview`,"aria-hidden":`true`,tabIndex:-1,loading:`lazy`,scrolling:`no`,className:`absolute left-0 top-0 border-none bg-[var(--surface-base)]`,style:{width:`200%`,height:`200%`,transform:`scale(0.5)`,transformOrigin:`top left`,pointerEvents:`none`}}),r&&(0,A.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-[var(--surface-base)]/60 backdrop-blur-sm`,children:(0,A.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`})})]})}export{V as a,S as c,H as i,G as n,M as o,U as r,C as s,W as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import{t as s}from"./external-link-CS0aVYGt.js";import{t as c}from"./puzzle-BVC3TGko.js";import"./src-CnF7WXNj.js";import{n as l}from"./toast-BcMdOTp1.js";import{t as u}from"./confirm-dialog-D-Yjf2uS.js";import{n as d,t as f}from"./create-selectors-B41BzcFF.js";import{t as p}from"./sdk.gen-DeyOX3Kb.js";import{n as m}from"./react-query.gen-BeiAUt-2.js";import{r as h}from"./typed-storage-CcMT-hWr.js";import{i as g}from"./viewer-store-BVsBGqdn.js";import{t as _}from"./haptics-BTcSZuHP.js";import{t as v}from"./pointer-DAyn_9jY.js";import{t as y}from"./misc-CXDB4i-X.js";import{t as b}from"./edge-swipe-arbiter-store-QUBer3EI.js";import{r as x}from"./sandbox-bridge-CjHMJYTZ.js";var S=o(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),C=o(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),w=e(t(),1),T=36,E=.8,D=8,O=.35;function k({enabled:e,leadingActions:t,trailingActions:n}){let r=(t?.length??0)*72,i=(n?.length??0)*72,[a,o]=(0,w.useState)(0),[s,c]=(0,w.useState)(!1),[l,u]=(0,w.useState)(`none`),d=b.use.registerOpenRow(),f=b.use.unregisterOpenRow();(0,w.useEffect)(()=>{if(l!==`none`)return d(),f},[l,d,f]);let p=(0,w.useRef)(null),m=(0,w.useCallback)(()=>{p.current=null,c(!1),o(0)},[]),h=(0,w.useCallback)(()=>{o(0),u(`none`)},[]);return{offset:a,isDragging:s,revealedSide:l,leadingWidth:r,trailingWidth:i,onTouchStart:(0,w.useCallback)(r=>{if(!e||!t&&!n)return;if(r.touches.length!==1){m();return}let i=r.touches[0];p.current={touchId:i.identifier,startX:i.clientX,startY:i.clientY,axis:`undecided`,lastDx:0,startOffset:a}},[e,t,n,a,m]),onTouchMove:(0,w.useCallback)(e=>{let t=p.current;if(!t)return;if(e.touches.length!==1){m();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let a=n.clientX-t.startX,s=n.clientY-t.startY;if(t.lastDx=a,t.axis===`undecided`){if(Math.abs(a)<D&&Math.abs(s)<D)return;if(Math.abs(s)>Math.abs(a)*E){p.current=null;return}t.axis=`horizontal`,c(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(a)<T&&Math.abs(s)>Math.abs(a)*E){m(),o(t.startOffset);return}let l=t.startOffset+a,u=r,d=-i;l>u?l=u+(l-u)*O:l<d&&(l=d+(l-d)*O),(t.startOffset>0&&l<0&&i===0||t.startOffset<0&&l>0&&r===0)&&(l*=O),o(l)},[r,i,m]),onTouchEnd:(0,w.useCallback)(e=>{let t=p.current;if(!t){m();return}if(t.axis===`undecided`){p.current=null,c(!1);return}if(t.axis!==`horizontal`){m();return}if(e.touches.length>0){m();return}let n=Array.from(e.changedTouches).find(e=>e.identifier===t.touchId),a=n?n.clientX-t.startX:t.lastDx,s=t.startOffset+a;s<=-T&&i>0?(_.light(),o(-i),u(`trailing`)):s>=T&&r>0?(_.light(),o(r),u(`leading`)):(o(0),u(`none`)),p.current=null,c(!1)},[r,i,m]),onTouchCancel:(0,w.useCallback)(()=>{h(),m()},[h,m]),close:h}}var A=i();function j({action:e,onAfterSelect:t,hidden:n=!1}){let r=(0,w.useCallback)(()=>{e.onSelect(),t()},[e,t]),i=e.icon;return(0,A.jsxs)(`button`,{type:`button`,"aria-label":e.label,"aria-hidden":n,tabIndex:n?-1:0,onClick:r,className:a(`flex shrink-0 flex-col items-center justify-center gap-1`,`touch-mobile:transition-none`),style:{width:72,color:e.variant===`destructive`?`var(--aux-white)`:`var(--content-inset)`,background:e.variant===`destructive`?`var(--system-negative-strong)`:`var(--primary-base)`},children:[(0,A.jsx)(i,{size:18}),(0,A.jsx)(`span`,{className:`text-[10px] font-medium leading-none`,children:e.label})]})}var M=(0,w.forwardRef)(function({children:e,leadingActions:t,trailingActions:n,enabled:r=v(),className:i,style:o,...s},c){let l=r&&((t?.length??0)>0||(n?.length??0)>0),{offset:u,isDragging:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,close:g}=k({enabled:l,leadingActions:t,trailingActions:n});return l?(0,A.jsxs)(`div`,{ref:c,className:a(`relative overflow-hidden`,i),...s,style:{...o,touchAction:`pan-y`},onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,children:[n&&n.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 right-0 flex`,"aria-hidden":u>=0,style:u>=0?{pointerEvents:`none`}:void 0,children:n.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u>=0},e.id))}):null,t&&t.length>0?(0,A.jsx)(`div`,{className:`absolute inset-y-0 left-0 flex`,"aria-hidden":u<=0,style:u<=0?{pointerEvents:`none`}:void 0,children:t.map(e=>(0,A.jsx)(j,{action:e,onAfterSelect:g,hidden:u<=0},e.id))}):null,(0,A.jsx)(`div`,{className:a(`relative bg-[var(--surface-overlay)] transition-transform`,d&&`transition-none`),style:{transform:`translateX(${u}px)`,zIndex:1},children:e})]}):(0,A.jsx)(`div`,{ref:c,className:i,style:o,...s,children:e})});function N(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.appId==`string`&&typeof t.pinnedOrder==`number`&&Number.isFinite(t.pinnedOrder)&&typeof t.name==`string`&&(t.icon===void 0||typeof t.icon==`string`)}function P(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(N):null}var F=h({key:`vellum:pinnedApps`,scope:`user`,parse:P,serialize:JSON.stringify,fallback:[]}),I=F.load;F.save;function L(e){let t=F.load();if(t.some(t=>t.appId===e.id))return;let n=t.reduce((e,t)=>Math.max(e,t.pinnedOrder),0);F.save([...t,{appId:e.id,pinnedOrder:n+1,name:e.name,icon:e.icon}])}function R(e){let t=F.load().filter(t=>t.appId!==e);t=t.sort((e,t)=>e.pinnedOrder-t.pinnedOrder).map((e,t)=>({...e,pinnedOrder:t+1})),F.save(t)}var z=new Set;function B(){let e=I();return{pinnedApps:e,pinnedAppIds:new Set(e.map(e=>e.appId))}}var V=f(d()((e,t)=>({...B(),togglePin:n=>{t().pinnedAppIds.has(n.id)?t().unpin(n.id):(L(n),e(B()))},unpin:n=>{if(t().pinnedAppIds.has(n)){R(n),e(B());for(let e of z)e(n)}},isPinned:e=>t().pinnedAppIds.has(e),onUnpin:e=>(z.add(e),()=>{z.delete(e)})})));function H({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,A.jsx)(u,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function U(e){let t=r(),n=V.use.togglePin(),i=V.use.pinnedAppIds(),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(!1);return{pendingDelete:a,isDeleting:s,requestDelete:o,confirmDelete:(0,w.useCallback)(async()=>{if(!(!a||s)){c(!0);try{await p({path:{assistant_id:e,id:a.id},throwOnError:!0}),g(e,a.id),t.invalidateQueries({queryKey:m({path:{assistant_id:e}})}),i.has(a.id)&&n(a),o(null)}catch(e){l.error(e instanceof Error?e.message:`Failed to delete app`)}finally{c(!1)}}},[a,s,e,i,n,t]),cancelDelete:(0,w.useCallback)(()=>{s||o(null)},[s])}}function W({name:e,description:t,icon:r,loadHtml:i,isPinned:a=!1,isLoading:o=!1,isOpenDisabled:c=!1,isPreviewPending:l=!1,onOpen:u,onPin:d}){return(0,A.jsxs)(`div`,{className:y(`flex flex-col gap-2 rounded-xl border border-[var(--border-base)]`,`bg-[var(--surface-lift)] p-3`),children:[(0,A.jsx)(G,{name:e,icon:r,loadHtml:l?void 0:i,isLoading:o,isPreviewPending:l}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-0.5 px-0.5`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:[r?(0,A.jsx)(`span`,{"aria-hidden":!0,className:`leading-none`,children:r}):null,(0,A.jsx)(`span`,{className:`truncate`,children:e})]}),t?(0,A.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-secondary)]`,children:t}):null]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-0.5`,children:[(0,A.jsx)(n,{variant:`primary`,leftIcon:(0,A.jsx)(s,{}),onClick:u,disabled:c||u==null,children:`Open App`}),(0,A.jsx)(n,{variant:`outlined`,leftIcon:a?(0,A.jsx)(S,{}):(0,A.jsx)(C,{}),onClick:d,disabled:d==null,children:a?`Unpin`:`Pin`})]})]})}function G({name:e,icon:t,loadHtml:n,isLoading:r=!1,isPreviewPending:i=!1,className:a}){let o=(0,w.useRef)(null),[s,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1);return(0,w.useEffect)(()=>{if(n==null)return;let e=o.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&(d(!0),t.disconnect())},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[n]),(0,w.useEffect)(()=>{if(!u||n==null)return;let e=!1;return n().then(t=>{e||l(t)}).catch(()=>{}),()=>{e=!0}},[u,n]),(0,A.jsxs)(`div`,{ref:o,className:y(`relative aspect-[16/10] w-full overflow-hidden rounded-lg`,`border border-[var(--border-base)] bg-[var(--surface-base)]`,a),children:[(0,A.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:i?null:t?(0,A.jsx)(`span`,{className:`text-4xl`,children:t}):(0,A.jsx)(c,{size:32,className:`text-[var(--content-tertiary)]`})}),s!=null&&(0,A.jsx)(`iframe`,{srcDoc:x(s),sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,title:`${e} preview`,"aria-hidden":`true`,tabIndex:-1,loading:`lazy`,scrolling:`no`,className:`absolute left-0 top-0 border-none bg-[var(--surface-base)]`,style:{width:`200%`,height:`200%`,transform:`scale(0.5)`,transformOrigin:`top left`,pointerEvents:`none`}}),r&&(0,A.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-[var(--surface-base)]/60 backdrop-blur-sm`,children:(0,A.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`})})]})}export{V as a,S as c,H as i,G as n,M as o,U as r,C as s,W as t};
@@ -1 +1 @@
1
- import{t as e}from"./is-electron-m5eeGBnd.js";async function t(){return e()?await window.vellum?.app.versionInfo()??null:null}async function n(){e()&&await window.vellum?.app.openWebsite()}export{n,t};
1
+ import{t as e}from"./is-electron-D-TCQRcE.js";async function t(){return e()?await window.vellum?.app.versionInfo()??null:null}async function n(){e()&&await window.vellum?.app.openWebsite()}export{n,t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{u as r}from"./routes-D9sNqB_o.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${r.settings.debug}?tab=archive`,{replace:!0})},[e]),null}export{a as ArchiveRedirectPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{d as r}from"./routes-CsoiCk2y.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${r.settings.debug}?tab=archive`,{replace:!0})},[e]),null}export{a as ArchiveRedirectPage};
@@ -1 +1 @@
1
- import{n as e}from"./toast-LgLp4obE.js";import{n as t,t as n}from"./create-selectors-Qo7kcikX.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-I9-eJQP_.js";import{h as c}from"./sdk.gen-B5ygTzyg.js";var l={...o},u={...i},d=0,f={};function p(e={}){l={...o,...e};for(let e of Object.keys(f))delete f[e]}function m(e={}){u={...i,...e}}function h(){p(),m()}var g=a(`assistant`);function _(e){return l[e]??o[e]??!1}function v(e){return u[e]??i[e]??``}var y=n(t()(t=>{let n=t;return{...o,...g.bool,hasHydrated:!1,stringFlags:{...i,...g.str},setFlags:e=>t(t=>{p(e);let n={...e,...g.bool};return Object.keys(n).some(e=>n[e]!==t[e])?n:t}),setFlag:(n,i,a)=>{let o=++d,u=()=>{if(f[n]!==o)return;delete f[n];let a=_(n);t(e=>e[n]===i?{[n]:a}:e),e.error(`Couldn't update "${r(n)?.label??n}" — change reverted.`)},p=s(n);!a||!p||(f[n]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(l[n]=i,f[n]===o&&delete f[n]):u()}).catch(u),t({[n]:g.bool[n]??i}))},markHydrated:()=>t({hasHydrated:!0}),resetForAssistantSwitch:()=>{h(),t({...o,...g.bool,hasHydrated:!1}),n({stringFlags:{...i,...g.str}})},setStringFlags:e=>n(t=>{m(e);let n={...e,...g.str},r=t.stringFlags;return Object.keys(n).some(e=>n[e]!==r[e])?{stringFlags:n}:t}),setStringFlag:(t,i,a)=>{let o=++d,l=()=>{if(f[t]!==o)return;delete f[t];let a=v(t);n(e=>e.stringFlags[t]===i?{stringFlags:{...e.stringFlags,[t]:a}}:e),e.error(`Couldn't update "${r(t)?.label??t}" — change reverted.`)},p=s(t);!a||!p||(f[t]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(u[t]=i,f[t]===o&&delete f[t]):l()}).catch(l),n(e=>({stringFlags:{...e.stringFlags,[t]:g.str[t]??i}})))}}}));export{y as t};
1
+ import{n as e}from"./toast-BcMdOTp1.js";import{n as t,t as n}from"./create-selectors-B41BzcFF.js";import{c as r,n as i,s as a,t as o,u as s}from"./feature-flag-catalog-CWB-r-Pj.js";import{h as c}from"./sdk.gen-CtusrdLv.js";var l={...o},u={...i},d=0,f={};function p(e={}){l={...o,...e};for(let e of Object.keys(f))delete f[e]}function m(e={}){u={...i,...e}}function h(){p(),m()}var g=a(`assistant`);function _(e){return l[e]??o[e]??!1}function v(e){return u[e]??i[e]??``}var y=n(t()(t=>{let n=t;return{...o,...g.bool,hasHydrated:!1,stringFlags:{...i,...g.str},setFlags:e=>t(t=>{p(e);let n={...e,...g.bool};return Object.keys(n).some(e=>n[e]!==t[e])?n:t}),setFlag:(n,i,a)=>{let o=++d,u=()=>{if(f[n]!==o)return;delete f[n];let a=_(n);t(e=>e[n]===i?{[n]:a}:e),e.error(`Couldn't update "${r(n)?.label??n}" — change reverted.`)},p=s(n);!a||!p||(f[n]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(l[n]=i,f[n]===o&&delete f[n]):u()}).catch(u),t({[n]:g.bool[n]??i}))},markHydrated:()=>t({hasHydrated:!0}),resetForAssistantSwitch:()=>{h(),t({...o,...g.bool,hasHydrated:!1}),n({stringFlags:{...i,...g.str}})},setStringFlags:e=>n(t=>{m(e);let n={...e,...g.str},r=t.stringFlags;return Object.keys(n).some(e=>n[e]!==r[e])?{stringFlags:n}:t}),setStringFlag:(t,i,a)=>{let o=++d,l=()=>{if(f[t]!==o)return;delete f[t];let a=v(t);n(e=>e.stringFlags[t]===i?{stringFlags:{...e.stringFlags,[t]:a}}:e),e.error(`Couldn't update "${r(t)?.label??t}" — change reverted.`)},p=s(t);!a||!p||(f[t]=o,c({path:{assistant_id:a,flag_key:p},body:{enabled:i},throwOnError:!1}).then(e=>{e.response?.ok?(u[t]=i,f[t]===o&&delete f[t]):l()}).catch(l),n(e=>({stringFlags:{...e.stringFlags,[t]:g.str[t]??i}})))}}}));export{y as t};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./create-selectors-B41BzcFF.js";import{t as n}from"./impersonate-version-flag-Cad5-ZZv.js";var r=t(e(e=>({name:null,version:null,assistantId:null,setIdentity:(t,r,i=null)=>{e({name:t,version:n()??r,assistantId:i})},clearIdentity:()=>e({name:null,version:null,assistantId: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-Bj8_eutd.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./loader-circle-XREx3i4W.js";import"./src-te3YTBG-.js";import"./tag-NXcyiTkK.js";import{n as s}from"./toast-LgLp4obE.js";import"./auth-store-5qq59BAN.js";import{a as c,r as l}from"./api-LG8zI3nK.js";import{t as u}from"./assistant-feature-flag-store-CAdgpPiS.js";import{t as d}from"./use-active-assistant-id-CldxA_-M.js";import"./environment-store-Bft0lpgv.js";var f=e(r(),1),p=a();function m({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,p.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,p.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,p.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,p.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var h=7,g=2e3;function _(e){let t=(0,f.useRef)(0),n=(0,f.useRef)(null),[r,i]=(0,f.useState)(null),a=(0,f.useCallback)(()=>{if(t.current+=1,t.current>=h){t.current=0;let r=u.getState(),a=!r.settingsDeveloperNav;r.setFlag(`settingsDeveloperNav`,a,e),i(a?`Developer mode enabled`:`Developer mode disabled`),n.current!==null&&clearTimeout(n.current),n.current=setTimeout(()=>{i(null),n.current=null},g)}},[e]);return(0,f.useEffect)(()=>()=>{n.current!==null&&clearTimeout(n.current)},[]),{onTap:a,message:r}}function v({version:e,loading:t,assistantId:n}){let{onTap:r,message:i}=_(n);return t?(0,p.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:r,children:e}),i&&(0,p.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:i})]}):(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var y=`currentAssistant`,b=4e3,x=9e4;function S(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function C(){let e=d(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[y,e],queryFn:async()=>{let t=await l(e);return t.ok?t.data:null},retry:!1}),u=r?.id,[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),C=(0,f.useRef)(0),w=(0,f.useRef)(0),T=(0,f.useCallback)(async e=>{if(!u)return m(null),g(!1),null;C.current+=1;let r=C.current;g(!0);try{let t=await c(u);return r===C.current?t.ok?(m(t.data),t.data):(e?.keepStaleOnError||m(null),null):null}catch(i){return r===C.current?(e?.keepStaleOnError||m(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===C.current&&g(!1)}},[u]);return(0,f.useEffect)(()=>{T()},[T]),(0,f.useEffect)(()=>()=>{w.current+=1,v(!1),m(null)},[u]),{assistant:r,assistantLoading:a,healthz:p,healthzLoading:h,healthzPolling:_,refetch:(0,f.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,f.useCallback)(async e=>{let t=++w.current,n=Date.now()+x;v(!0);let r=e;try{for(o();Date.now()<n&&t===w.current;){if(await new Promise(e=>setTimeout(e,b)),t!==w.current)return;let e=await T({keepStaleOnError:!0});if(t!==w.current)return;if(e){if(r==null){r=e;continue}if(S(e,r))return}}}finally{t===w.current&&v(!1)}},[T,o])}}function w(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}export{m as a,_ as i,C as n,v as r,w as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./capture-error-Dj49ma74.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./loader-circle-XREx3i4W.js";import"./src-CnF7WXNj.js";import"./tag-Dn1d6hKF.js";import{n as s}from"./toast-BcMdOTp1.js";import"./auth-store-EmLZOAkN.js";import{a as c,r as l}from"./api-Coj5enET.js";import{t as u}from"./assistant-feature-flag-store-B00tpY5e.js";import{t as d}from"./use-active-assistant-id-CUKao_nq.js";import"./environment-store-nuDZk7wN.js";var f=e(r(),1),p=a();function m({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,p.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,p.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,p.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,p.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var h=7,g=2e3;function _(e){let t=(0,f.useRef)(0),n=(0,f.useRef)(null),[r,i]=(0,f.useState)(null),a=(0,f.useCallback)(()=>{if(t.current+=1,t.current>=h){t.current=0;let r=u.getState(),a=!r.settingsDeveloperNav;r.setFlag(`settingsDeveloperNav`,a,e),i(a?`Developer mode enabled`:`Developer mode disabled`),n.current!==null&&clearTimeout(n.current),n.current=setTimeout(()=>{i(null),n.current=null},g)}},[e]);return(0,f.useEffect)(()=>()=>{n.current!==null&&clearTimeout(n.current)},[]),{onTap:a,message:r}}function v({version:e,loading:t,assistantId:n}){let{onTap:r,message:i}=_(n);return t?(0,p.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:r,children:e}),i&&(0,p.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:i})]}):(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var y=`currentAssistant`,b=4e3,x=9e4;function S(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function C(){let e=d(),{data:r=null,isLoading:a,refetch:o}=i({queryKey:[y,e],queryFn:async()=>{let t=await l(e);return t.ok?t.data:null},retry:!1}),u=r?.id,[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),C=(0,f.useRef)(0),w=(0,f.useRef)(0),T=(0,f.useCallback)(async e=>{if(!u)return m(null),g(!1),null;C.current+=1;let r=C.current;g(!0);try{let t=await c(u);return r===C.current?t.ok?(m(t.data),t.data):(e?.keepStaleOnError||m(null),null):null}catch(i){return r===C.current?(e?.keepStaleOnError||m(null),!t(i)&&!e?.keepStaleOnError&&(n(i,{context:`fetch_assistant_healthz`}),s.error(`Failed to load assistant info`)),null):null}finally{r===C.current&&g(!1)}},[u]);return(0,f.useEffect)(()=>{T()},[T]),(0,f.useEffect)(()=>()=>{w.current+=1,v(!1),m(null)},[u]),{assistant:r,assistantLoading:a,healthz:p,healthzLoading:h,healthzPolling:_,refetch:(0,f.useCallback)(async()=>{await o(),await T()},[o,T]),refetchUntilResized:(0,f.useCallback)(async e=>{let t=++w.current,n=Date.now()+x;v(!0);let r=e;try{for(o();Date.now()<n&&t===w.current;){if(await new Promise(e=>setTimeout(e,b)),t!==w.current)return;let e=await T({keepStaleOnError:!0});if(t!==w.current)return;if(e){if(r==null){r=e;continue}if(S(e,r))return}}}finally{t===w.current&&v(!1)}},[T,o])}}function w(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}export{m as a,_ as i,C as n,v as r,w as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-PYpy75OW.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-BwAT3VYQ.js","assets/esm-DNvorKcw.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,i as n,t as r}from"./local-settings-C-dW2vkq.js";import{a as i,n as a,r as o}from"./device-settings-DXp9L4iB.js";import{o as s,t as c}from"./capture-error-Bj8_eutd.js";import{t as l}from"./preload-helper-Cv2QeVDK.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{n as d,t as ee}from"./create-selectors-Qo7kcikX.js";import{C as te,E as ne,O as re,T as ie,_ as ae,at as oe,c as f,ct as p,d as m,et as se,f as h,h as g,i as ce,it as le,lt as _,m as ue,n as de,nt as v,ot as fe,r as pe,rt as me,s as he,st as ge,tt as _e,v as ve,w as ye}from"./local-mode-BTovbt13.js";import{t as y}from"./is-electron-m5eeGBnd.js";import{n as b,t as be}from"./resolved-assistants-store-Dw5UuGyB.js";import{n as xe,r as x,t as Se}from"./api-errors-CFiCT7Ap.js";import{t as Ce}from"./client.gen-CV05d-kw.js";import{N as we,P as Te,Rt as Ee,kt as De,zt as Oe}from"./sdk.gen-BIu1DgTs.js";import{a as ke,c as S,r as C}from"./api-LG8zI3nK.js";import{n as w,t as Ae}from"./event-bus-DSxmBYhD.js";import{A as je,E as T,O as E,T as Me,a as Ne,d as Pe,h as Fe,i as Ie,l as Le,t as Re,u as ze,w as Be}from"./native-biometric-BAMIyaSS.js";import{o as Ve}from"./remote-gateway-session-yRYdsfDx.js";import{t as He}from"./dist-BwAT3VYQ.js";import{r as Ue}from"./typed-storage-9Sn8tkE7.js";import{t as D}from"./onboarding-store-bZ2qYISk.js";var O=ee(d(()=>({assistantState:{kind:`loading`},operationalStatusAssistantId:null,expectingFirstMessage:!1}))),We=new Set;function Ge(e){return We.add(e),()=>{We.delete(e)}}function Ke(){for(let e of We)try{e()}catch{}}var qe=new Set([502,503,504]),Je=`Connection interrupted. Reconnecting…`;function Ye(e){return e.code===`proxy_network_error`?!0:(typeof e.detail==`string`?e.detail:``).includes(`net::ERR_`)}function Xe(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`}:Ye(e.error)?{kind:`error`,transient:!0,message:Je}:{kind:`error`,message:x(e.error,void 0,`Failed to check assistant status.`)}}function Ze(e){return e===void 0||e>=500}var Qe=`platform_hosted_disabled`,$e=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function et(e,t){return e===503?t?.code===Qe:!1}var tt=2e3,nt=3e4;function rt(e){return Math.min(tt*2**e,nt)}var it=3e5;function at(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var ot=[`assistant`,`current`],st=3e3,ct=new Set([`initializing`,`cleaning_up`]);function lt(e){if(!e)return!1;let t=Xe(e);return ct.has(t.kind)?st:!1}function ut(e){return e?[...ot,e]:ot}function dt(e){let t=e.selectedPlatformAssistantId??null;return u({queryKey:ut(t),queryFn:()=>C(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>lt(e.state.data),refetchOnWindowFocus:!1})}var ft=new Set([`healthy`,`ok`]);function pt(e){if(!e.ok)return`unreachable`;let t=e.data?.status;return t===`MIGRATING`?`migrating`:t!==void 0&&!ft.has(t)?`unhealthy`:`healthy`}function mt(){let e=O.use.assistantState();return e.kind===`self_hosted`||e.kind===`active`&&e.isLocal?e.health??null:null}var k=e=>e===`authenticated`,ht=e=>e!==`initializing`,A=e=>e===`present`,gt=e=>e!==`unknown`,_t=(e,t)=>e===`present`&&!t,vt=new Set([401,403,410]),yt=e=>!e.ok&&e.status!==void 0&&vt.has(e.status),bt=4e3,xt=6e4,St=5e3;function Ct(){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 j=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(){Ge(()=>this.onUnreachable()),w(`app.online`,()=>this.onNetworkOnline()),b.subscribe((e,t)=>{e.selectedAssistantId!==t.selectedAssistantId&&(!_()||this.state.kind===`loading`||this.applyGatewayAuthShortCircuit())})}setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){b.getState().activeAssistantId!==null&&b.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(!k(this.inputs.sessionStatus)){this.resetForLogout();return}this.inputs.hasPlatformSession&&v(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:ut(n),queryFn:()=>C(n??void 0),staleTime:0});if(t!==this.generation||n&&!r.ok&&r.status===404&&(b.getState().setSelectedAssistant(null),r=await this.inputs.queryClient.fetchQuery({queryKey:ot,queryFn:()=>C(),staleTime:0}),t!==this.generation))return;await this.applyServerStateUpdate(r)}catch(e){if(console.error(`Error checking assistant status:`,e),c(e,{context:`check_assistant`}),t!==this.generation||this.degradeOnTransportFailure())return;this.transition({kind:`error`,transient:!0,message:Je})}}degradeOnTransportFailure(){return this.state.kind===`active`?(this.triggerReachabilityProbe(),!0):this.state.kind===`initializing`||this.state.kind===`cleaning_up`}retryAssistant(){this.ready&&this.checkAssistant()}markExpectingFirstMessage(){O.getState().expectingFirstMessage||O.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){O.getState().expectingFirstMessage&&O.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,O.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=rt(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++,s(`Assistant stuck in initializing state`,{level:`warning`,extra:{timeoutMs:it}}),this.transition(at())},it)}projectActive(e){let t=e.data.maintenance_mode,n=e.data.is_local??!1;v(null),this.setOperationalStatusAssistantId(e.data.id);let r=b.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),v({url:e.data.ingress_url,token:e.data.platform_actor_token});let t=b.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=ce();if(g())e=Ct();else if(n){let r=f();e=`${window.location.origin}${n}`,t=r?.assistantId??t}v({url:e,token:fe()}),this.setOperationalStatusAssistantId(null),b.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0}),this.startHealthHeartbeat(t)}async applyServerStateUpdate(e){let t=this.generation,n=Xe(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?f()?.assistantId??e:e,i=!g()&&n?await re(r).catch(()=>null):null,a=i?.ok&&i.state===`upgrading`?`upgrading`:`unreachable`;if(a!==`upgrading`)try{a=pt(await ke(e))}catch{a=`unreachable`}if(a===`unreachable`&&!i&&!g()&&(i=await re(r).catch(()=>null)),a===`unreachable`&&i?.ok)switch(i.state){case`healthy`:a=`healthy`;break;case`sleeping`:case`starting`:case`upgrading`:case`unhealthy`:case`crashed`:a=i.state;break;case`unknown`:break}if(t!==this.generation||b.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>xt){n();return}await this.probeReachability(e);let i=this.state;if(i.kind!==`active`||i.reachable===!0){n();return}if(Date.now()-t>xt){n();return}this.probeTimer=setTimeout(()=>void r(),bt)};this.probeTimer=setTimeout(()=>void r(),bt)}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(),St)))};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=b.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(b.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,O.setState({expectingFirstMessage:!1,operationalStatusAssistantId:null}),this.inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null},O.setState({assistantState:this.state}),b.setState({activeAssistantId:null})}setOperationalStatusAssistantId(e){O.getState().operationalStatusAssistantId!==e&&O.setState({operationalStatusAssistantId:e})}};function wt(e){let{assistants:t,selectedAssistantId:n,assistantsHydrated:r}=b.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=de()?.assistantId??null;return o!==null&&a(o)?o:i[0]?.id??null}async function M(e){b.getState().setSelectedAssistant(e),e!==null&&await te(e)}var Tt=`vellum:auth:userSnapshot`;function Et(e){if(e)try{localStorage.setItem(Tt,JSON.stringify(e))}catch{}}function Dt(){try{let e=localStorage.getItem(Tt);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 N(){try{localStorage.removeItem(Tt)}catch{}}var Ot=`vellum_active_organization_id`;function kt(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function At(){let e=kt();if(!e)return null;try{return e.getItem(Ot)}catch{return null}}function jt(e){let t=kt();if(t)try{t.setItem(Ot,e)}catch{}}function Mt(){let e=kt();if(e)try{e.removeItem(Ot)}catch{}}function Nt(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var P=ee(d()((e,t)=>({organizations:[],currentOrganizationId:null,persistedOrganizationId:At(),status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await De()).data?.results??[],r=Nt(n,t().currentOrganizationId??t().persistedOrganizationId);r&&jt(r),e({organizations:n,currentOrganizationId:r,persistedOrganizationId:r??t().persistedOrganizationId,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)&&(jt(n),e({currentOrganizationId:n,persistedOrganizationId:n,status:`ready`}))},clearOrganization:()=>{Mt(),e({organizations:[],currentOrganizationId:null,persistedOrganizationId:null,status:`idle`,error:null})}})));function Pt(e){return e.currentOrganizationId??e.persistedOrganizationId}function F(){return Pt(P.getState())}function Ft(){return P(Pt)}function It(){P.getState().clearOrganization()}function Lt(){let e=0,t=P.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=A(e.platformSession),r=A(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&P.getState().fetchOrganizations()}),r=()=>{if(!A($.getState().platformSession))return;let{status:t}=P.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&P.getState().fetchOrganizations()},i=w(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}function Rt(e,t={}){let n={...e??{}},r=t.includeSelfHostedActorToken===!1?null:se();if(r)return n.Authorization=`Bearer ${r}`,n;let i=t.organizationId??F();i&&(n[`Vellum-Organization-Id`]=i);let a=T();return a&&(n[`X-Session-Token`]=a),n}async function zt(e,t={}){let n=Rt(e,t);if(n.Authorization||y())return n;await Be();let r=Me();return r&&(n[`X-CSRFToken`]=r),n}var Bt;function Vt(){return y()?(Bt===void 0&&(Bt=window.__VELLUM_CONFIG__?.deviceId??null),Bt):null}var Ht=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Ut=`X-Vellum-Electron-Renderer-Origin`,Wt=new Map,Gt=[2e3,5e3,15e3,3e4,6e4],Kt=new Set;async function qt(e,t={}){if(!h()||g()||ue()||un(e))return e;let n=Yt(e);if(!n)return e;let r=Wt.get(n.assistantId);if(r)return r;let i=Xt(n,{allowGatewayRepair:t.allowGatewayRepair??!0});Wt.set(n.assistantId,i);try{return await i}catch(e){throw Wt.delete(n.assistantId),e}}function Jt(e,t={}){if(!h()||g()||ue())return;let n=e;if(!n){let e=f();if(!e||!m(e))return;n=e.assistantId}if(Kt.has(n))return;Kt.add(n);let r=n;(async()=>{try{for(let e=0;;e++)try{await qt(r,{allowGatewayRepair:t.allowGatewayRepair??!1});return}catch(n){let r=Gt[e];if(r===void 0){(t.onError??(e=>{console.warn(`local assistant platform bootstrap failed`,e)}))(n);return}console.warn(`local assistant platform bootstrap attempt ${e+1} failed, retrying in ${r}ms`,n),await new Promise(e=>setTimeout(e,r))}}finally{Kt.delete(r)}})()}function Yt(e){let t=de();if(t?.assistantId===e&&m(t))return t;let n=f();return n?.assistantId===e&&m(n)?n:null}async function Xt(e,t){let n=await Qt(e,t),r=await $t(n,e.assistantId),i=r?.assistantId&&un(r.assistantId)?r.assistantId:null;if(i&&r?.hasAssistantApiKey!==!1){let t=r?.organizationId??e.platformOrganizationId??null;return t&&await Zt(e,{platformAssistantId:i,platformBaseUrl:r?.baseUrl??me(),organizationId:t}),i}let a=await en(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??Vt()??null;if(!o)throw Error(`Unable to identify this local assistant host for platform registration.`);let s=await tn(e,a,o),c=I(s.assistant?.id,s.assistant_id,s.id),l=i??c;if(!l||!un(l))throw Error(`The platform registration response did not include an assistant UUID.`);let u=L(s.assistant_api_key);!u&&r?.hasAssistantApiKey!==!0&&(u=await nn(e,a,o));let d=r?.baseUrl??me();return await an(n,{assistantApiKey:u,platformAssistantId:l,platformBaseUrl:d,organizationId:a,webhookSecret:L(s.webhook_secret)}),await Zt(e,{platformAssistantId:l,platformBaseUrl:d,organizationId:a}),l}async function Zt(e,t){await ie({...e,platformAssistantId:t.platformAssistantId,platformBaseUrl:t.platformBaseUrl,platformOrganizationId:t.organizationId}).catch(e=>{console.warn(`local assistant platform lockfile update failed`,e)})}async function Qt(e,t){let n=_e(),r=se();if(t.allowGatewayRepair&&(!n||!r)&&(await ve(e),n=_e(),r=se()),!n||!r){let t=ce(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 $t(e,t){let n=ln(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:I(i?.assistantId,i?.assistant_id),baseUrl:I(i?.baseUrl,i?.base_url),organizationId:I(i?.organizationId,i?.organization_id),hasAssistantApiKey:dn(i?.hasAssistantApiKey,i?.has_assistant_api_key),clientInstallationId:I(i?.clientInstallationId,i?.client_installation_id)}}async function en(e,t){return(e??t.platformOrganizationId??F()??t.organizationId??null)||(await P.getState().fetchOrganizations().catch(()=>{}),F()??t.platformOrganizationId??t.organizationId??null)}async function tn(e,t,n){return await rn(`/v1/assistants/self-hosted-local/ensure-registration/`,e,t,n)}async function nn(e,t,n){return L((await rn(`/v1/assistants/self-hosted-local/reprovision-api-key/`,e,t,n)).provisioning?.assistant_api_key)}async function rn(e,t,n,r){let i=new Headers({...await zt({Accept:`application/json`,"Content-Type":`application/json`},{includeSelfHostedActorToken:!1,organizationId:n})}),a=T();if(y()){if(!a)throw Error(`Sign in to Vellum to register this local assistant.`);i.set(Ut,`${window.location.protocol}//${window.location.host}`)}let o=await fetch(new URL(e,window.location.origin).toString(),{method:`POST`,headers:i,credentials:y()?`omit`:`same-origin`,body:JSON.stringify({client_installation_id:r,runtime_assistant_id:t.assistantId,client_platform:y()?`macos`:`web`})}).catch(e=>{throw Error(`Unable to reach the platform registration endpoint: ${cn(e)}`)});if(!o.ok){let e=await sn(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: ${cn(e)}`)}}async function an(e,t){let n=[[`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])=>on(e,t,n))),t.assistantApiKey&&await on(e,`vellum:assistant_api_key`,t.assistantApiKey)}async function on(e,t,n){let r=await fetch(ln(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}: ${cn(e)}`)});if(!r.ok){let e=await sn(r);throw Error(`Unable to store ${t} on the local assistant (HTTP ${r.status})${e?`: ${e}`:`.`}`)}return!0}async function sn(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?L(t.detail):null,r=t&&typeof t==`object`&&`code`in t?L(t.code):null;return n&&r?`${n} (${r})`:n||r||JSON.stringify(t)}return(await e.text().catch(()=>``)).slice(0,300)}function cn(e){return e instanceof Error?e.message:String(e)}function ln(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/,``)}${t}`,n.toString()}function un(e){return Ht.test(e)}function I(...e){for(let t of e){let e=L(t);if(e)return e}return null}function L(e){return typeof e==`string`&&e.trim()?e.trim():null}function dn(...e){for(let t of e)if(typeof t==`boolean`)return t;return null}var fn=`.dev`;function pn(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 mn=Ue({key:`vellum:push_registration`,scope:`user`,parse:pn,serialize:JSON.stringify,fallback:null}),hn=!1,gn=null,R=null,z=new Set;function _n(e){z.add(e),e.finally(()=>{z.delete(e)})}function vn(){return ze()&&He.getPlatform()===`ios`}function yn(e){return e.endsWith(fn)?`development`:`production`}async function bn(e,t){try{let{App:n}=await l(async()=>{let{App:e}=await import(`./esm-PYpy75OW.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:r}=await n.getInfo(),i=await Te({path:{assistant_id:t},body:{token:e,platform:`ios`,bundle_id:r,apns_environment:yn(r)},throwOnError:!1});if(i.error){c(i.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}R={token:e,bundleId:r,assistantId:t},mn.save(R)}catch(e){c(e,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}function xn(e){if(typeof e!=`object`||!e)return;let t=e,n=t.deep_link;if(typeof n==`object`&&n){let e=n.conversationId;if(typeof e==`string`)return e}return typeof t.conversationId==`string`?t.conversationId:void 0}async function Sn(){if(!hn){hn=!0;try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-DNvorKcw.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));await e.addListener(`registration`,e=>{let t=gn;t&&_n(bn(e.value,t))}),await e.addListener(`registrationError`,e=>{c(e,{context:`push_registration_apns`,level:`warning`})}),await e.addListener(`pushNotificationActionPerformed`,e=>{let t=xn(e.notification.data);t&&Ae(`deeplink.openThread`,{threadId:t})})}catch(e){hn=!1,c(e,{context:`push_registration_listeners`,level:`warning`})}}}async function Cn(e){if(vn()){gn=e,R&&R.assistantId!==e&&_n(bn(R.token,e));try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-DNvorKcw.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));if(await Sn(),(await e.requestPermissions()).receive!==`granted`)return;await e.register()}catch(e){c(e,{context:`push_registration_register`,level:`warning`})}}}async function wn(){for(gn=null;z.size>0;)await Promise.allSettled([...z]);let e=R??mn.load();if(R=null,mn.remove(),!(!e||!vn()))try{let t=await we({path:{assistant_id:e.assistantId,token:e.token},query:{bundle_id:e.bundleId},throwOnError:!1});t.error&&c(t.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:e.assistantId,bundleId:e.bundleId}})}catch(e){c(e,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}}function Tn(e){return e}function En(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=Tn(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=Tn(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 Dn={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 On(){let{data:e,error:t,response:n}=await Ce.get({url:`/v1/user/me/`,throwOnError:!1});if(xe(n,t,`Failed to load profile.`),!n.ok||!e)throw new Se(n.status,x(t,n,`Failed to load profile.`));return e}var kn=`Please choose a different handle.`;async function An(e){let{data:t,error:n,response:r}=await Ce.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:x(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}=En(n,`username`,Dn.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=En(n,`username`,kn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:x(n,r,`Failed to save profile.`)}}async function jn(){let{data:e,error:t,response:n}=await Ee({throwOnError:!1});if(xe(n,t,`Failed to load consent.`),!n.ok||!e)throw new Se(n.status,x(t,n,`Failed to load consent.`));return e}async function Mn(e){await Oe({body:e,throwOnError:!0})}async function Nn(e,t){let{data:n,error:r,response:i}=await Ce.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.`:x(r,i,`Failed to check handle availability.`));return n}function Pn(e){i(`diagnosticsReporting`,e)}function Fn(e,t){let n=zn(e);return n!==null&&t(n),Pn(In(n,e)),n}function In(e,t){return e??a(`shareDiagnostics`,!0)?t.hasServerRecord?t.diagnosticsEffective:!0:!1}function Ln(e,t){Fn({shareDiagnostics:e,diagnosticsEffective:e,hasServerRecord:!0},t)}function Rn(){o(`diagnosticsReporting`,``)===``&&Pn(!1)}function zn(e){let{shareDiagnostics:t,hasServerRecord:n}=e;return t===!1?!1:n&&t===!0?!0:null}var Bn=`2026-06-08`,Vn=`2026-06-22`,Hn=`2026-06-18`,Un=`2026-06-18`,Wn=`2026-06-08`,B={tos:Bn,privacyPolicy:Vn,aiDataSharing:Vn,shareAnalytics:Hn,shareDiagnostics:Un};function Gn(e){return{tos:e?.tos||`2026-06-08`,privacyPolicy:e?.privacy_policy||`2026-06-22`,aiDataSharing:e?.ai_data_sharing||`2026-06-22`,shareAnalytics:e?.share_analytics||`2026-06-18`,shareDiagnostics:e?.share_diagnostics||`2026-06-18`}}function Kn(){return{...B}}function V(e,t){return`device:consent:${e}:${t}`}function H(e){switch(e){case`tos`:return B.tos;case`privacy_policy`:return B.privacyPolicy;case`ai_data_sharing`:return B.aiDataSharing;case`share_diagnostics`:return B.shareDiagnostics}}var qn=/^\d{4}-\d{2}-\d{2}$/;function Jn(e,t){let r=n(V(e,t),``);return qn.test(r)?r:``}function U(e,t){return G(Jn(e,t),H(e))}function Yn(e){return`device:consent:ai:v${Wn}:${e}`}function W(n,i,a){let o=`device:consent:${n}:v`,s=`:${i}`,c=[],l=``;for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);if(!t||!t.startsWith(o)||!t.endsWith(s))continue;let n=t.slice(o.length,t.length-s.length);qn.test(n)&&(c.push(t),r(t,!1)&&n>l&&(l=n))}if(l)for(let e of a)Jn(e,i)||t(V(e,i),l);for(let t of c)e(t)}function Xn(n){if(typeof window>`u`||!n)return{tos:!1,privacy:!1,diagnosticsCurrent:!1};try{W(`tos`,n,[`tos`]),W(`privacy`,n,[`privacy_policy`,`ai_data_sharing`]),W(`share_diagnostics`,n,[`share_diagnostics`]),W(`share_analytics`,n,[]),r(Yn(n),!1)&&e(Yn(n));let i=U(`tos`,n),a=U(`privacy_policy`,n)&&U(`ai_data_sharing`,n),o=U(`share_diagnostics`,n);if(i||a)return{tos:i,privacy:a,diagnosticsCurrent:o};let s=r(`vellum:onboarding:tosAccepted`,!1),c=r(`vellum:onboarding:aiDataConsent`,!1);return s||c?(s&&t(V(`tos`,n),Bn),{tos:s&&U(`tos`,n),privacy:!1,diagnosticsCurrent:o}):{tos:!1,privacy:!1,diagnosticsCurrent:o}}catch{return{tos:!1,privacy:!1,diagnosticsCurrent:!1}}}function Zn(n,r,i){if(!(typeof window>`u`||!n))try{r?t(V(`tos`,n),H(`tos`)):e(V(`tos`,n)),i?(t(V(`privacy_policy`,n),H(`privacy_policy`)),t(V(`ai_data_sharing`,n),H(`ai_data_sharing`))):(e(V(`privacy_policy`,n)),e(V(`ai_data_sharing`,n)))}catch{}}function Qn(e){if(!(typeof window>`u`||!e))try{t(V(`share_diagnostics`,e),H(`share_diagnostics`))}catch{}}function $n(t){if(e(`vellum:onboarding:tosAccepted`),e(`vellum:onboarding:aiDataConsent`),e(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!t))try{e(V(`tos`,t)),e(V(`privacy_policy`,t)),e(V(`ai_data_sharing`,t)),e(V(`share_diagnostics`,t)),e(Yn(t)),W(`tos`,t,[]),W(`privacy`,t,[]),W(`share_diagnostics`,t,[]),W(`share_analytics`,t,[])}catch{}}function G(e,t){return e>=t}function er(e){if(!e)return{tos:!1,privacy:!1,shareAnalytics:null,shareDiagnostics:null,analyticsEffective:!0,diagnosticsEffective:!0,analyticsCurrent:!1,diagnosticsCurrent:!1,analyticsVersionCurrent:!1,diagnosticsVersionCurrent:!1,hasServerRecord:!1};let t=Gn(e.required_versions);B=t;let n=G(e.share_analytics_accepted_version,t.shareAnalytics),r=G(e.share_diagnostics_accepted_version,t.shareDiagnostics),i=!!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||e.share_analytics_effective===!1||e.share_diagnostics_effective===!1;return{tos:G(e.tos_accepted_version,t.tos),privacy:G(e.privacy_policy_accepted_version,t.privacyPolicy)&&G(e.ai_data_sharing_accepted_version,t.aiDataSharing),shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics,analyticsEffective:e.share_analytics_effective??e.share_analytics!==!1,diagnosticsEffective:e.share_diagnostics_effective??e.share_diagnostics!==!1,analyticsCurrent:e.share_analytics===null||n,diagnosticsCurrent:e.share_diagnostics===null||r,analyticsVersionCurrent:n,diagnosticsVersionCurrent:r,hasServerRecord:i}}function tr(e,t){let{legal:n,shareAnalytics:r,shareDiagnostics:i}=e,a=D.getState();n&&(a.setTosAccepted(n.tos),a.setPrivacyConsent(n.privacy),Zn(t.userId,n.tos,n.privacy)),r!==void 0&&(a.setShareAnalytics(r),a.setPendingAnalyticsOptIn(r===!0)),i!==void 0&&Ln(i,a.setShareDiagnostics),n?(a.setAnalyticsConsentCurrent(!0),a.setDiagnosticsConsentCurrent(!0),a.setHasConsentRecord(!0),a.setConsentHydrated(!0)):t.hasPlatformSession&&(r!==void 0&&a.setAnalyticsConsentCurrent(!0),i!==void 0&&a.setDiagnosticsConsentCurrent(!0)),i!==void 0&&(n||t.hasPlatformSession)&&Qn(t.userId),t.hasPlatformSession&&Mn({...n?{tos_accepted_version:n.tos?B.tos:``,privacy_policy_accepted_version:n.privacy?B.privacyPolicy:``,ai_data_sharing_accepted_version:n.privacy?B.aiDataSharing:``}:{},...r===void 0?{}:{share_analytics:r,share_analytics_accepted_version:B.shareAnalytics},...i===void 0?{}:{share_diagnostics:i,share_diagnostics_accepted_version:B.shareDiagnostics}}).catch(()=>{})}function nr(e){tr({legal:{tos:e.tos,privacy:e.privacy},...e.shareAnalytics===null?{}:{shareAnalytics:e.shareAnalytics},...e.shareDiagnostics===null?{}:{shareDiagnostics:e.shareDiagnostics}},{userId:e.userId,hasPlatformSession:e.hasPlatformSession})}function rr(e,t,n){tr(e===`share_analytics`?{shareAnalytics:t}:{shareDiagnostics:t},n)}var ir=`vellum:`,ar=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],or=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 sr(e){return e.startsWith(ir)?!0:or.has(e)?!1:ar.some(t=>e.startsWith(t))}function cr(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&sr(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function lr(e){return e?.id??e?.email??e?.username??null}function K(e){return e?{kind:`platform`,id:lr(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var ur=null,q=null,dr=!1,fr={kind:`local`,id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},J=e=>(Et(e),{sessionStatus:`authenticated`,user:e,platformSession:`present`,platformSessionRestoredOffline:!1}),Y=()=>({sessionStatus:`authenticated`,user:fr}),X=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`}),Z=e=>e===null||!e.ok&&!yt(e);async function pr(e){if(!T())return!1;let t=Dt();return t?(await Q(t.id),e({...J(t),platformSessionRestoredOffline:!0}),!0):!1}function mr(e){(!e||ur&&ur!==e)&&It(),ur=e}function hr(){q?.postMessage(`auth-changed`)}function gr(e){let t=Kn();return{...e.tos?{tos_accepted_version:t.tos}:{},...e.privacy?{privacy_policy_accepted_version:t.privacyPolicy,ai_data_sharing_accepted_version:t.aiDataSharing}:{},...e.shareValues&&e.shareValues.analytics!==null?{share_analytics:e.shareValues.analytics,share_analytics_accepted_version:Hn}:{},...e.diagnostics?{share_diagnostics_accepted_version:t.shareDiagnostics,...e.shareValues&&e.shareValues.diagnostics!==null?{share_diagnostics:e.shareValues.diagnostics}:{}}:{}}}var _r;async function Q(e){if(_r!==void 0&&_r!==e){let e=D.getState();e.setPendingAnalyticsOptIn(!1),e.setServerAnalyticsEffective(null),e.setServerDiagnosticsEffective(null)}if(_r=e,e)try{let t=er(await jn()),n=D.getState(),r=n.shareAnalytics,i=n.shareDiagnostics;t.shareAnalytics===!0&&n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(t.analyticsEffective),n.setServerDiagnosticsEffective(t.diagnosticsEffective),t.hasServerRecord&&(t.shareAnalytics!==null||r!==!1)&&!(t.shareAnalytics===!1&&D.getState().pendingAnalyticsOptIn)&&n.setShareAnalytics(t.shareAnalytics),Fn({shareDiagnostics:t.shareDiagnostics,diagnosticsEffective:t.diagnosticsEffective,hasServerRecord:t.hasServerRecord},n.setShareDiagnostics);let a=t.tos,o=t.privacy,s=t.analyticsCurrent,c=t.diagnosticsCurrent,l=t.hasServerRecord,u=t.shareDiagnostics!==null&&t.diagnosticsVersionCurrent;if(!t.hasServerRecord){let t=Xn(e);s=!0,c=!0,u=t.diagnosticsCurrent,t.tos&&t.privacy&&(a=!0,o=!0,l=!0,Mn(gr({tos:!0,privacy:!0,diagnostics:u,shareValues:{analytics:r,diagnostics:i}})).catch(()=>{}))}else if(!a||!o||!c){let t=Xn(e),n=!a&&t.tos,r=!o&&t.privacy,i=!c&&t.diagnosticsCurrent;n&&(a=!0),r&&(o=!0),i&&(c=!0,u=!0),(n||r||i)&&Mn(gr({tos:n,privacy:r,diagnostics:i})).catch(()=>{})}n.setTosAccepted(a),n.setPrivacyConsent(o),n.setAnalyticsConsentCurrent(s),n.setDiagnosticsConsentCurrent(c),n.setHasConsentRecord(l),Zn(e,a,o),u&&Qn(e),mr(e),n.setConsentHydrated(!0);return}catch{}let t=Xn(e),n=D.getState();e?Rn():(n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(null),n.setServerDiagnosticsEffective(null)),n.setTosAccepted(t.tos),n.setPrivacyConsent(t.privacy),n.setAnalyticsConsentCurrent(!0),n.setDiagnosticsConsentCurrent(!0),n.setHasConsentRecord(t.tos&&t.privacy),mr(e),n.setConsentHydrated(!0)}var vr=0;Promise.resolve();function yr(e,t={}){let n=++vr,r=()=>n!==vr;E().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&&Et(i),h()){let e=!1,t=()=>!e&&!r();try{await Promise.race([(async()=>{await P.getState().fetchOrganizations();let e=await S();t()&&e.ok&&await ye(e.data,P.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}),Jt()}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function br(e,t){!h()||p()||he().length>0?yr(e,t):e({platformSession:`absent`})}async function xr(){try{if(await Ve())return!0}catch{}return fe()!==null}var $=ee(d()((e,t)=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,platformSessionRestoredOffline:!1,initSession:async()=>{if(g()){await xr()?e({...Y(),platformSession:`absent`}):e(X());return}if(p()){try{await ae(),e(Y())}catch{e({sessionStatus:`unauthenticated`,user:null})}br(e);return}if(h()&&!p()){if(he().length>0){let t=null;try{if(t=await E(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await P.getState().fetchOrganizations();let e=await S();e.ok&&await ye(e.data,P.getState().currentOrganizationId??void 0)}catch{}e(J(n));return}}catch{}if(Z(t)){if(await pr(e))return}else N();e(X());return}e(Y()),dr?e({platformSession:`absent`}):yr(e,{setUserOnSuccess:!0}),dr=!1;return}let t=null;try{if(t=await E(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null),e(J(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(!(Z(t)&&await pr(e))){if(ze()&&Ie())try{let t=await Ne();if(t){Le(t),await Fe();let n=await E();if(n.ok&&n.data.user){let t=K(n.data.user);await Q(t?.id??null),e(J(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),Z(t)||N(),e(X())}},connectLocalAssistant:async n=>{await ve(pe().find(e=>e.assistantId===n)),await M(n),e(Y()),await j.checkAssistant(),_t(t().platformSession,t().platformSessionRestoredOffline)&&Jt(n),br(e)},connectPlatformAssistant:async t=>{await M(t);let n=await E();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=K(n.data.user);await Q(r?.id??null),await P.getState().fetchOrganizations(),e(J(r))},refreshSession:async()=>{if(g())return await xr()?(e({...Y(),platformSession:`absent`}),!0):(e(X()),!1);if(_()){try{await oe(ge()),e({sessionStatus:`authenticated`})}catch{return e(X()),!1}return br(e,{clearOnFailure:!0}),!0}let n=null;try{if(n=await E(),n.ok&&n.data.user){let t=K(n.data.user);if(await Q(t?.id??null),h())try{await P.getState().fetchOrganizations();let e=await S();e.ok&&await ye(e.data,P.getState().currentOrganizationId??void 0)}catch{}return e(J(t)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}if(Z(n))return k(t().sessionStatus);if(p()){let n=k(t().sessionStatus);return n&&(N(),e({...Y(),platformSession:`absent`})),n}return N(),await Q(null),e(X()),!1},logout:async()=>{if(_()){j.resetForLogout(),await M(null),le(),It(),cr(),e(X()),hr();return}dr=!0,await wn();try{await je()}finally{y()&&await window.vellum?.auth?.signOut?.(),h()&&!y()&&await ne(),Re(),It(),cr(),j.resetForLogout(),await M(null),e(X()),hr()}}}))),Sr=()=>k($.use.sessionStatus()),Cr=()=>!ht($.use.sessionStatus()),wr=()=>A($.use.platformSession()),Tr=()=>gt($.use.platformSession()),Er=()=>_t($.use.platformSession(),$.use.platformSessionRestoredOffline());function Dr(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=w(`app.resume`,()=>{Pe()||n()});return t.push(r),typeof BroadcastChannel<`u`&&(q=new BroadcastChannel(`auth`),q.onmessage=()=>{cr(),window.location.reload()},t.push(()=>{q?.close(),q=null})),()=>t.forEach(e=>e())}export{M as A,et as B,qt as C,P as D,Lt as E,ht as F,O as G,Ze as H,yt as I,mt as L,A as M,k as N,Ft as O,_t as P,dt as R,Jt as S,F as T,qe as U,Xe as V,Ke as W,jn as _,Sr as a,En as b,Vn as c,er as d,nr as f,Nn as g,Dn as h,wr as i,j,wt as k,Bn as l,Fn as m,$ as n,Tr as o,rr as p,Er as r,Cr as s,Dr as t,$n as u,On as v,Vt as w,Cn as x,An as y,$e as z};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-Cn1fOTtj.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-CCFYMOVM.js","assets/esm-Df-J9imF.js"])))=>i.map(i=>d[i]);
2
+ import{a as e,c as t,i as n,t as r}from"./local-settings-C-dW2vkq.js";import{a as i,n as a,r as o}from"./device-settings-DXp9L4iB.js";import{o as s,t as c}from"./capture-error-Dj49ma74.js";import{t as l}from"./preload-helper-Cv2QeVDK.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{n as d,t as ee}from"./create-selectors-B41BzcFF.js";import{C as te,E as ne,O as re,T as ie,_ as ae,at as oe,c as f,ct as p,d as m,et as se,f as h,h as g,i as ce,it as le,lt as _,m as ue,n as de,nt as v,ot as fe,r as pe,rt as me,s as he,st as ge,tt as _e,v as ve,w as ye}from"./local-mode-BKousn41.js";import{t as y}from"./is-electron-D-TCQRcE.js";import{n as b,t as be}from"./resolved-assistants-store-FEmi1gGu.js";import{n as xe,r as x,t as Se}from"./api-errors-DHvv5HEN.js";import{t as Ce}from"./client.gen-DPP573hb.js";import{N as we,P as Te,Rt as Ee,kt as De,zt as Oe}from"./sdk.gen-DHJ7Pbqq.js";import{a as ke,c as S,r as C}from"./api-Coj5enET.js";import{n as w,t as Ae}from"./event-bus-DYZhc6yM.js";import{A as je,E as T,O as E,T as Me,a as Ne,d as Pe,h as Fe,i as Ie,l as Le,t as Re,u as ze,w as Be}from"./native-biometric-DUHF57O_.js";import{o as Ve}from"./remote-gateway-session-DJ1rzXEw.js";import{t as He}from"./dist-CCFYMOVM.js";import{r as Ue}from"./typed-storage-CcMT-hWr.js";import{t as D}from"./onboarding-store-CHsGFmyD.js";var O=ee(d(()=>({assistantState:{kind:`loading`},operationalStatusAssistantId:null,expectingFirstMessage:!1}))),We=new Set;function Ge(e){return We.add(e),()=>{We.delete(e)}}function Ke(){for(let e of We)try{e()}catch{}}var qe=new Set([502,503,504]),Je=`Connection interrupted. Reconnecting…`;function Ye(e){return e.code===`proxy_network_error`?!0:(typeof e.detail==`string`?e.detail:``).includes(`net::ERR_`)}function Xe(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`}:Ye(e.error)?{kind:`error`,transient:!0,message:Je}:{kind:`error`,message:x(e.error,void 0,`Failed to check assistant status.`)}}function Ze(e){return e===void 0||e>=500}var Qe=`platform_hosted_disabled`,$e=`We are at capacity for Vellum Managed Assistants, more will be available soon!`;function et(e,t){return e===503?t?.code===Qe:!1}var tt=2e3,nt=3e4;function rt(e){return Math.min(tt*2**e,nt)}var it=3e5;function at(){return{kind:`error`,message:`Your assistant is taking longer than expected to start. Please try again, or check the community for help.`}}var ot=[`assistant`,`current`],st=3e3,ct=new Set([`initializing`,`cleaning_up`]);function lt(e){if(!e)return!1;let t=Xe(e);return ct.has(t.kind)?st:!1}function ut(e){return e?[...ot,e]:ot}function dt(e){let t=e.selectedPlatformAssistantId??null;return u({queryKey:ut(t),queryFn:()=>C(t??void 0),enabled:e.enabled,retry:!1,refetchInterval:e=>lt(e.state.data),refetchOnWindowFocus:!1})}var ft=new Set([`healthy`,`ok`]);function pt(e){if(!e.ok)return`unreachable`;let t=e.data?.status;return t===`MIGRATING`?`migrating`:t!==void 0&&!ft.has(t)?`unhealthy`:`healthy`}function mt(){let e=O.use.assistantState();return e.kind===`self_hosted`||e.kind===`active`&&e.isLocal?e.health??null:null}var k=e=>e===`authenticated`,ht=e=>e!==`initializing`,A=e=>e===`present`,gt=e=>e!==`unknown`,_t=(e,t)=>e===`present`&&!t,vt=new Set([401,403,410]),yt=e=>!e.ok&&e.status!==void 0&&vt.has(e.status),bt=4e3,xt=6e4,St=5e3;function Ct(){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 j=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(){Ge(()=>this.onUnreachable()),w(`app.online`,()=>this.onNetworkOnline()),b.subscribe((e,t)=>{e.selectedAssistantId!==t.selectedAssistantId&&(!_()||this.state.kind===`loading`||this.applyGatewayAuthShortCircuit())})}setInputs(e){this.inputs=e,this.ready=!0}resetForLogout(){b.getState().activeAssistantId!==null&&b.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(!k(this.inputs.sessionStatus)){this.resetForLogout();return}this.inputs.hasPlatformSession&&v(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:ut(n),queryFn:()=>C(n??void 0),staleTime:0});if(t!==this.generation||n&&!r.ok&&r.status===404&&(b.getState().setSelectedAssistant(null),r=await this.inputs.queryClient.fetchQuery({queryKey:ot,queryFn:()=>C(),staleTime:0}),t!==this.generation))return;await this.applyServerStateUpdate(r)}catch(e){if(console.error(`Error checking assistant status:`,e),c(e,{context:`check_assistant`}),t!==this.generation||this.degradeOnTransportFailure())return;this.transition({kind:`error`,transient:!0,message:Je})}}degradeOnTransportFailure(){return this.state.kind===`active`?(this.triggerReachabilityProbe(),!0):this.state.kind===`initializing`||this.state.kind===`cleaning_up`}retryAssistant(){this.ready&&this.checkAssistant()}markExpectingFirstMessage(){O.getState().expectingFirstMessage||O.setState({expectingFirstMessage:!0})}clearExpectingFirstMessage(){O.getState().expectingFirstMessage&&O.setState({expectingFirstMessage:!1})}transition(e){let t=this.state.kind;this.state=e,O.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=rt(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++,s(`Assistant stuck in initializing state`,{level:`warning`,extra:{timeoutMs:it}}),this.transition(at())},it)}projectActive(e){let t=e.data.maintenance_mode,n=e.data.is_local??!1;v(null),this.setOperationalStatusAssistantId(e.data.id);let r=b.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),v({url:e.data.ingress_url,token:e.data.platform_actor_token});let t=b.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=ce();if(g())e=Ct();else if(n){let r=f();e=`${window.location.origin}${n}`,t=r?.assistantId??t}v({url:e,token:fe()}),this.setOperationalStatusAssistantId(null),b.getState().setActiveAssistantId(t),this.transition({kind:`active`,isLocal:!0}),this.startHealthHeartbeat(t)}async applyServerStateUpdate(e){let t=this.generation,n=Xe(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?f()?.assistantId??e:e,i=!g()&&n?await re(r).catch(()=>null):null,a=i?.ok&&i.state===`upgrading`?`upgrading`:`unreachable`;if(a!==`upgrading`)try{a=pt(await ke(e))}catch{a=`unreachable`}if(a===`unreachable`&&!i&&!g()&&(i=await re(r).catch(()=>null)),a===`unreachable`&&i?.ok)switch(i.state){case`healthy`:a=`healthy`;break;case`sleeping`:case`starting`:case`upgrading`:case`unhealthy`:case`crashed`:a=i.state;break;case`unknown`:break}if(t!==this.generation||b.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>xt){n();return}await this.probeReachability(e);let i=this.state;if(i.kind!==`active`||i.reachable===!0){n();return}if(Date.now()-t>xt){n();return}this.probeTimer=setTimeout(()=>void r(),bt)};this.probeTimer=setTimeout(()=>void r(),bt)}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(),St)))};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=b.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(b.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,O.setState({expectingFirstMessage:!1,operationalStatusAssistantId:null}),this.inputs={sessionStatus:`initializing`,hasPlatformSession:!1,queryClient:null},O.setState({assistantState:this.state}),b.setState({activeAssistantId:null})}setOperationalStatusAssistantId(e){O.getState().operationalStatusAssistantId!==e&&O.setState({operationalStatusAssistantId:e})}};function wt(e){let{assistants:t,selectedAssistantId:n,assistantsHydrated:r}=b.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=de()?.assistantId??null;return o!==null&&a(o)?o:i[0]?.id??null}async function M(e){b.getState().setSelectedAssistant(e),e!==null&&await te(e)}var Tt=`vellum:auth:userSnapshot`;function Et(e){if(e)try{localStorage.setItem(Tt,JSON.stringify(e))}catch{}}function Dt(){try{let e=localStorage.getItem(Tt);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 N(){try{localStorage.removeItem(Tt)}catch{}}var Ot=`vellum_active_organization_id`;function kt(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function At(){let e=kt();if(!e)return null;try{return e.getItem(Ot)}catch{return null}}function jt(e){let t=kt();if(t)try{t.setItem(Ot,e)}catch{}}function Mt(){let e=kt();if(e)try{e.removeItem(Ot)}catch{}}function Nt(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var P=ee(d()((e,t)=>({organizations:[],currentOrganizationId:null,persistedOrganizationId:At(),status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await De()).data?.results??[],r=Nt(n,t().currentOrganizationId??t().persistedOrganizationId);r&&jt(r),e({organizations:n,currentOrganizationId:r,persistedOrganizationId:r??t().persistedOrganizationId,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)&&(jt(n),e({currentOrganizationId:n,persistedOrganizationId:n,status:`ready`}))},clearOrganization:()=>{Mt(),e({organizations:[],currentOrganizationId:null,persistedOrganizationId:null,status:`idle`,error:null})}})));function Pt(e){return e.currentOrganizationId??e.persistedOrganizationId}function F(){return Pt(P.getState())}function Ft(){return P(Pt)}function It(){P.getState().clearOrganization()}function Lt(){let e=0,t=P.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{let n=A(e.platformSession),r=A(t.platformSession);n&&(!r||e.user?.id!==t.user?.id)&&P.getState().fetchOrganizations()}),r=()=>{if(!A($.getState().platformSession))return;let{status:t}=P.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&P.getState().fetchOrganizations()},i=w(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}function Rt(e,t={}){let n={...e??{}},r=t.includeSelfHostedActorToken===!1?null:se();if(r)return n.Authorization=`Bearer ${r}`,n;let i=t.organizationId??F();i&&(n[`Vellum-Organization-Id`]=i);let a=T();return a&&(n[`X-Session-Token`]=a),n}async function zt(e,t={}){let n=Rt(e,t);if(n.Authorization||y())return n;await Be();let r=Me();return r&&(n[`X-CSRFToken`]=r),n}var Bt;function Vt(){return y()?(Bt===void 0&&(Bt=window.__VELLUM_CONFIG__?.deviceId??null),Bt):null}var Ht=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Ut=`X-Vellum-Electron-Renderer-Origin`,Wt=new Map,Gt=[2e3,5e3,15e3,3e4,6e4],Kt=new Set;async function qt(e,t={}){if(!h()||g()||ue()||un(e))return e;let n=Yt(e);if(!n)return e;let r=Wt.get(n.assistantId);if(r)return r;let i=Xt(n,{allowGatewayRepair:t.allowGatewayRepair??!0});Wt.set(n.assistantId,i);try{return await i}catch(e){throw Wt.delete(n.assistantId),e}}function Jt(e,t={}){if(!h()||g()||ue())return;let n=e;if(!n){let e=f();if(!e||!m(e))return;n=e.assistantId}if(Kt.has(n))return;Kt.add(n);let r=n;(async()=>{try{for(let e=0;;e++)try{await qt(r,{allowGatewayRepair:t.allowGatewayRepair??!1});return}catch(n){let r=Gt[e];if(r===void 0){(t.onError??(e=>{console.warn(`local assistant platform bootstrap failed`,e)}))(n);return}console.warn(`local assistant platform bootstrap attempt ${e+1} failed, retrying in ${r}ms`,n),await new Promise(e=>setTimeout(e,r))}}finally{Kt.delete(r)}})()}function Yt(e){let t=de();if(t?.assistantId===e&&m(t))return t;let n=f();return n?.assistantId===e&&m(n)?n:null}async function Xt(e,t){let n=await Qt(e,t),r=await $t(n,e.assistantId),i=r?.assistantId&&un(r.assistantId)?r.assistantId:null;if(i&&r?.hasAssistantApiKey!==!1){let t=r?.organizationId??e.platformOrganizationId??null;return t&&await Zt(e,{platformAssistantId:i,platformBaseUrl:r?.baseUrl??me(),organizationId:t}),i}let a=await en(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??Vt()??null;if(!o)throw Error(`Unable to identify this local assistant host for platform registration.`);let s=await tn(e,a,o),c=I(s.assistant?.id,s.assistant_id,s.id),l=i??c;if(!l||!un(l))throw Error(`The platform registration response did not include an assistant UUID.`);let u=L(s.assistant_api_key);!u&&r?.hasAssistantApiKey!==!0&&(u=await nn(e,a,o));let d=r?.baseUrl??me();return await an(n,{assistantApiKey:u,platformAssistantId:l,platformBaseUrl:d,organizationId:a,webhookSecret:L(s.webhook_secret)}),await Zt(e,{platformAssistantId:l,platformBaseUrl:d,organizationId:a}),l}async function Zt(e,t){await ie({...e,platformAssistantId:t.platformAssistantId,platformBaseUrl:t.platformBaseUrl,platformOrganizationId:t.organizationId}).catch(e=>{console.warn(`local assistant platform lockfile update failed`,e)})}async function Qt(e,t){let n=_e(),r=se();if(t.allowGatewayRepair&&(!n||!r)&&(await ve(e),n=_e(),r=se()),!n||!r){let t=ce(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 $t(e,t){let n=ln(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:I(i?.assistantId,i?.assistant_id),baseUrl:I(i?.baseUrl,i?.base_url),organizationId:I(i?.organizationId,i?.organization_id),hasAssistantApiKey:dn(i?.hasAssistantApiKey,i?.has_assistant_api_key),clientInstallationId:I(i?.clientInstallationId,i?.client_installation_id)}}async function en(e,t){return(e??t.platformOrganizationId??F()??t.organizationId??null)||(await P.getState().fetchOrganizations().catch(()=>{}),F()??t.platformOrganizationId??t.organizationId??null)}async function tn(e,t,n){return await rn(`/v1/assistants/self-hosted-local/ensure-registration/`,e,t,n)}async function nn(e,t,n){return L((await rn(`/v1/assistants/self-hosted-local/reprovision-api-key/`,e,t,n)).provisioning?.assistant_api_key)}async function rn(e,t,n,r){let i=new Headers({...await zt({Accept:`application/json`,"Content-Type":`application/json`},{includeSelfHostedActorToken:!1,organizationId:n})}),a=T();if(y()){if(!a)throw Error(`Sign in to Vellum to register this local assistant.`);i.set(Ut,`${window.location.protocol}//${window.location.host}`)}let o=await fetch(new URL(e,window.location.origin).toString(),{method:`POST`,headers:i,credentials:y()?`omit`:`same-origin`,body:JSON.stringify({client_installation_id:r,runtime_assistant_id:t.assistantId,client_platform:y()?`macos`:`web`})}).catch(e=>{throw Error(`Unable to reach the platform registration endpoint: ${cn(e)}`)});if(!o.ok){let e=await sn(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: ${cn(e)}`)}}async function an(e,t){let n=[[`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])=>on(e,t,n))),t.assistantApiKey&&await on(e,`vellum:assistant_api_key`,t.assistantApiKey)}async function on(e,t,n){let r=await fetch(ln(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}: ${cn(e)}`)});if(!r.ok){let e=await sn(r);throw Error(`Unable to store ${t} on the local assistant (HTTP ${r.status})${e?`: ${e}`:`.`}`)}return!0}async function sn(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?L(t.detail):null,r=t&&typeof t==`object`&&`code`in t?L(t.code):null;return n&&r?`${n} (${r})`:n||r||JSON.stringify(t)}return(await e.text().catch(()=>``)).slice(0,300)}function cn(e){return e instanceof Error?e.message:String(e)}function ln(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/,``)}${t}`,n.toString()}function un(e){return Ht.test(e)}function I(...e){for(let t of e){let e=L(t);if(e)return e}return null}function L(e){return typeof e==`string`&&e.trim()?e.trim():null}function dn(...e){for(let t of e)if(typeof t==`boolean`)return t;return null}var fn=`.dev`;function pn(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 mn=Ue({key:`vellum:push_registration`,scope:`user`,parse:pn,serialize:JSON.stringify,fallback:null}),hn=!1,gn=null,R=null,z=new Set;function _n(e){z.add(e),e.finally(()=>{z.delete(e)})}function vn(){return ze()&&He.getPlatform()===`ios`}function yn(e){return e.endsWith(fn)?`development`:`production`}async function bn(e,t){try{let{App:n}=await l(async()=>{let{App:e}=await import(`./esm-Cn1fOTtj.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:r}=await n.getInfo(),i=await Te({path:{assistant_id:t},body:{token:e,platform:`ios`,bundle_id:r,apns_environment:yn(r)},throwOnError:!1});if(i.error){c(i.error,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0});return}R={token:e,bundleId:r,assistantId:t},mn.save(R)}catch(e){c(e,{context:`push_registration_upsert`,level:`warning`,bestEffort:!0})}}function xn(e){if(typeof e!=`object`||!e)return;let t=e,n=t.deep_link;if(typeof n==`object`&&n){let e=n.conversationId;if(typeof e==`string`)return e}return typeof t.conversationId==`string`?t.conversationId:void 0}async function Sn(){if(!hn){hn=!0;try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-Df-J9imF.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));await e.addListener(`registration`,e=>{let t=gn;t&&_n(bn(e.value,t))}),await e.addListener(`registrationError`,e=>{c(e,{context:`push_registration_apns`,level:`warning`})}),await e.addListener(`pushNotificationActionPerformed`,e=>{let t=xn(e.notification.data);t&&Ae(`deeplink.openThread`,{threadId:t})})}catch(e){hn=!1,c(e,{context:`push_registration_listeners`,level:`warning`})}}}async function Cn(e){if(vn()){gn=e,R&&R.assistantId!==e&&_n(bn(R.token,e));try{let{PushNotifications:e}=await l(async()=>{let{PushNotifications:e}=await import(`./esm-Df-J9imF.js`);return{PushNotifications:e}},__vite__mapDeps([3,2]));if(await Sn(),(await e.requestPermissions()).receive!==`granted`)return;await e.register()}catch(e){c(e,{context:`push_registration_register`,level:`warning`})}}}async function wn(){for(gn=null;z.size>0;)await Promise.allSettled([...z]);let e=R??mn.load();if(R=null,mn.remove(),!(!e||!vn()))try{let t=await we({path:{assistant_id:e.assistantId,token:e.token},query:{bundle_id:e.bundleId},throwOnError:!1});t.error&&c(t.error,{context:`push_registration_delete`,level:`warning`,bestEffort:!0,extra:{assistantId:e.assistantId,bundleId:e.bundleId}})}catch(e){c(e,{context:`push_registration_delete`,level:`warning`,bestEffort:!0})}}function Tn(e){return e}function En(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return{code:null,message:n};let r=Tn(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=Tn(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 Dn={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 On(){let{data:e,error:t,response:n}=await Ce.get({url:`/v1/user/me/`,throwOnError:!1});if(xe(n,t,`Failed to load profile.`),!n.ok||!e)throw new Se(n.status,x(t,n,`Failed to load profile.`));return e}var kn=`Please choose a different handle.`;async function An(e){let{data:t,error:n,response:r}=await Ce.patch({url:`/v1/user/me/`,body:e,throwOnError:!1});if(!r)return{kind:`error`,message:x(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}=En(n,`username`,Dn.taken);return{kind:`taken`,message:e}}if(r.status===400){let{code:e,message:t}=En(n,`username`,kn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:x(n,r,`Failed to save profile.`)}}async function jn(){let{data:e,error:t,response:n}=await Ee({throwOnError:!1});if(xe(n,t,`Failed to load consent.`),!n.ok||!e)throw new Se(n.status,x(t,n,`Failed to load consent.`));return e}async function Mn(e){await Oe({body:e,throwOnError:!0})}async function Nn(e,t){let{data:n,error:r,response:i}=await Ce.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.`:x(r,i,`Failed to check handle availability.`));return n}function Pn(e){i(`diagnosticsReporting`,e)}function Fn(e,t){let n=zn(e);return n!==null&&t(n),Pn(In(n,e)),n}function In(e,t){return e??a(`shareDiagnostics`,!0)?t.hasServerRecord?t.diagnosticsEffective:!0:!1}function Ln(e,t){Fn({shareDiagnostics:e,diagnosticsEffective:e,hasServerRecord:!0},t)}function Rn(){o(`diagnosticsReporting`,``)===``&&Pn(!1)}function zn(e){let{shareDiagnostics:t,hasServerRecord:n}=e;return t===!1?!1:n&&t===!0?!0:null}var Bn=`2026-06-08`,Vn=`2026-06-22`,Hn=`2026-06-18`,Un=`2026-06-18`,Wn=`2026-06-08`,B={tos:Bn,privacyPolicy:Vn,aiDataSharing:Vn,shareAnalytics:Hn,shareDiagnostics:Un};function Gn(e){return{tos:e?.tos||`2026-06-08`,privacyPolicy:e?.privacy_policy||`2026-06-22`,aiDataSharing:e?.ai_data_sharing||`2026-06-22`,shareAnalytics:e?.share_analytics||`2026-06-18`,shareDiagnostics:e?.share_diagnostics||`2026-06-18`}}function Kn(){return{...B}}function V(e,t){return`device:consent:${e}:${t}`}function H(e){switch(e){case`tos`:return B.tos;case`privacy_policy`:return B.privacyPolicy;case`ai_data_sharing`:return B.aiDataSharing;case`share_diagnostics`:return B.shareDiagnostics}}var qn=/^\d{4}-\d{2}-\d{2}$/;function Jn(e,t){let r=n(V(e,t),``);return qn.test(r)?r:``}function U(e,t){return G(Jn(e,t),H(e))}function Yn(e){return`device:consent:ai:v${Wn}:${e}`}function W(n,i,a){let o=`device:consent:${n}:v`,s=`:${i}`,c=[],l=``;for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);if(!t||!t.startsWith(o)||!t.endsWith(s))continue;let n=t.slice(o.length,t.length-s.length);qn.test(n)&&(c.push(t),r(t,!1)&&n>l&&(l=n))}if(l)for(let e of a)Jn(e,i)||t(V(e,i),l);for(let t of c)e(t)}function Xn(n){if(typeof window>`u`||!n)return{tos:!1,privacy:!1,diagnosticsCurrent:!1};try{W(`tos`,n,[`tos`]),W(`privacy`,n,[`privacy_policy`,`ai_data_sharing`]),W(`share_diagnostics`,n,[`share_diagnostics`]),W(`share_analytics`,n,[]),r(Yn(n),!1)&&e(Yn(n));let i=U(`tos`,n),a=U(`privacy_policy`,n)&&U(`ai_data_sharing`,n),o=U(`share_diagnostics`,n);if(i||a)return{tos:i,privacy:a,diagnosticsCurrent:o};let s=r(`vellum:onboarding:tosAccepted`,!1),c=r(`vellum:onboarding:aiDataConsent`,!1);return s||c?(s&&t(V(`tos`,n),Bn),{tos:s&&U(`tos`,n),privacy:!1,diagnosticsCurrent:o}):{tos:!1,privacy:!1,diagnosticsCurrent:o}}catch{return{tos:!1,privacy:!1,diagnosticsCurrent:!1}}}function Zn(n,r,i){if(!(typeof window>`u`||!n))try{r?t(V(`tos`,n),H(`tos`)):e(V(`tos`,n)),i?(t(V(`privacy_policy`,n),H(`privacy_policy`)),t(V(`ai_data_sharing`,n),H(`ai_data_sharing`))):(e(V(`privacy_policy`,n)),e(V(`ai_data_sharing`,n)))}catch{}}function Qn(e){if(!(typeof window>`u`||!e))try{t(V(`share_diagnostics`,e),H(`share_diagnostics`))}catch{}}function $n(t){if(e(`vellum:onboarding:tosAccepted`),e(`vellum:onboarding:aiDataConsent`),e(`vellum:onboarding:selectedVersion`),!(typeof window>`u`||!t))try{e(V(`tos`,t)),e(V(`privacy_policy`,t)),e(V(`ai_data_sharing`,t)),e(V(`share_diagnostics`,t)),e(Yn(t)),W(`tos`,t,[]),W(`privacy`,t,[]),W(`share_diagnostics`,t,[]),W(`share_analytics`,t,[])}catch{}}function G(e,t){return e>=t}function er(e){if(!e)return{tos:!1,privacy:!1,shareAnalytics:null,shareDiagnostics:null,analyticsEffective:!0,diagnosticsEffective:!0,analyticsCurrent:!1,diagnosticsCurrent:!1,analyticsVersionCurrent:!1,diagnosticsVersionCurrent:!1,hasServerRecord:!1};let t=Gn(e.required_versions);B=t;let n=G(e.share_analytics_accepted_version,t.shareAnalytics),r=G(e.share_diagnostics_accepted_version,t.shareDiagnostics),i=!!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||e.share_analytics_effective===!1||e.share_diagnostics_effective===!1;return{tos:G(e.tos_accepted_version,t.tos),privacy:G(e.privacy_policy_accepted_version,t.privacyPolicy)&&G(e.ai_data_sharing_accepted_version,t.aiDataSharing),shareAnalytics:e.share_analytics,shareDiagnostics:e.share_diagnostics,analyticsEffective:e.share_analytics_effective??e.share_analytics!==!1,diagnosticsEffective:e.share_diagnostics_effective??e.share_diagnostics!==!1,analyticsCurrent:e.share_analytics===null||n,diagnosticsCurrent:e.share_diagnostics===null||r,analyticsVersionCurrent:n,diagnosticsVersionCurrent:r,hasServerRecord:i}}function tr(e,t){let{legal:n,shareAnalytics:r,shareDiagnostics:i}=e,a=D.getState();n&&(a.setTosAccepted(n.tos),a.setPrivacyConsent(n.privacy),Zn(t.userId,n.tos,n.privacy)),r!==void 0&&(a.setShareAnalytics(r),a.setPendingAnalyticsOptIn(r===!0)),i!==void 0&&Ln(i,a.setShareDiagnostics),n?(a.setAnalyticsConsentCurrent(!0),a.setDiagnosticsConsentCurrent(!0),a.setHasConsentRecord(!0),a.setConsentHydrated(!0)):t.hasPlatformSession&&(r!==void 0&&a.setAnalyticsConsentCurrent(!0),i!==void 0&&a.setDiagnosticsConsentCurrent(!0)),i!==void 0&&(n||t.hasPlatformSession)&&Qn(t.userId),t.hasPlatformSession&&Mn({...n?{tos_accepted_version:n.tos?B.tos:``,privacy_policy_accepted_version:n.privacy?B.privacyPolicy:``,ai_data_sharing_accepted_version:n.privacy?B.aiDataSharing:``}:{},...r===void 0?{}:{share_analytics:r,share_analytics_accepted_version:B.shareAnalytics},...i===void 0?{}:{share_diagnostics:i,share_diagnostics_accepted_version:B.shareDiagnostics}}).catch(()=>{})}function nr(e){tr({legal:{tos:e.tos,privacy:e.privacy},...e.shareAnalytics===null?{}:{shareAnalytics:e.shareAnalytics},...e.shareDiagnostics===null?{}:{shareDiagnostics:e.shareDiagnostics}},{userId:e.userId,hasPlatformSession:e.hasPlatformSession})}function rr(e,t,n){tr(e===`share_analytics`?{shareAnalytics:t}:{shareDiagnostics:t},n)}var ir=`vellum:`,ar=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],or=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 sr(e){return e.startsWith(ir)?!0:or.has(e)?!1:ar.some(t=>e.startsWith(t))}function cr(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&sr(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function lr(e){return e?.id??e?.email??e?.username??null}function K(e){return e?{kind:`platform`,id:lr(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var ur=null,q=null,dr=!1,fr={kind:`local`,id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`},J=e=>(Et(e),{sessionStatus:`authenticated`,user:e,platformSession:`present`,platformSessionRestoredOffline:!1}),Y=()=>({sessionStatus:`authenticated`,user:fr}),X=()=>({sessionStatus:`unauthenticated`,user:null,platformSession:`absent`}),Z=e=>e===null||!e.ok&&!yt(e);async function pr(e){if(!T())return!1;let t=Dt();return t?(await Q(t.id),e({...J(t),platformSessionRestoredOffline:!0}),!0):!1}function mr(e){(!e||ur&&ur!==e)&&It(),ur=e}function hr(){q?.postMessage(`auth-changed`)}function gr(e){let t=Kn();return{...e.tos?{tos_accepted_version:t.tos}:{},...e.privacy?{privacy_policy_accepted_version:t.privacyPolicy,ai_data_sharing_accepted_version:t.aiDataSharing}:{},...e.shareValues&&e.shareValues.analytics!==null?{share_analytics:e.shareValues.analytics,share_analytics_accepted_version:Hn}:{},...e.diagnostics?{share_diagnostics_accepted_version:t.shareDiagnostics,...e.shareValues&&e.shareValues.diagnostics!==null?{share_diagnostics:e.shareValues.diagnostics}:{}}:{}}}var _r;async function Q(e){if(_r!==void 0&&_r!==e){let e=D.getState();e.setPendingAnalyticsOptIn(!1),e.setServerAnalyticsEffective(null),e.setServerDiagnosticsEffective(null)}if(_r=e,e)try{let t=er(await jn()),n=D.getState(),r=n.shareAnalytics,i=n.shareDiagnostics;t.shareAnalytics===!0&&n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(t.analyticsEffective),n.setServerDiagnosticsEffective(t.diagnosticsEffective),t.hasServerRecord&&(t.shareAnalytics!==null||r!==!1)&&!(t.shareAnalytics===!1&&D.getState().pendingAnalyticsOptIn)&&n.setShareAnalytics(t.shareAnalytics),Fn({shareDiagnostics:t.shareDiagnostics,diagnosticsEffective:t.diagnosticsEffective,hasServerRecord:t.hasServerRecord},n.setShareDiagnostics);let a=t.tos,o=t.privacy,s=t.analyticsCurrent,c=t.diagnosticsCurrent,l=t.hasServerRecord,u=t.shareDiagnostics!==null&&t.diagnosticsVersionCurrent;if(!t.hasServerRecord){let t=Xn(e);s=!0,c=!0,u=t.diagnosticsCurrent,t.tos&&t.privacy&&(a=!0,o=!0,l=!0,Mn(gr({tos:!0,privacy:!0,diagnostics:u,shareValues:{analytics:r,diagnostics:i}})).catch(()=>{}))}else if(!a||!o||!c){let t=Xn(e),n=!a&&t.tos,r=!o&&t.privacy,i=!c&&t.diagnosticsCurrent;n&&(a=!0),r&&(o=!0),i&&(c=!0,u=!0),(n||r||i)&&Mn(gr({tos:n,privacy:r,diagnostics:i})).catch(()=>{})}n.setTosAccepted(a),n.setPrivacyConsent(o),n.setAnalyticsConsentCurrent(s),n.setDiagnosticsConsentCurrent(c),n.setHasConsentRecord(l),Zn(e,a,o),u&&Qn(e),mr(e),n.setConsentHydrated(!0);return}catch{}let t=Xn(e),n=D.getState();e?Rn():(n.setPendingAnalyticsOptIn(!1),n.setServerAnalyticsEffective(null),n.setServerDiagnosticsEffective(null)),n.setTosAccepted(t.tos),n.setPrivacyConsent(t.privacy),n.setAnalyticsConsentCurrent(!0),n.setDiagnosticsConsentCurrent(!0),n.setHasConsentRecord(t.tos&&t.privacy),mr(e),n.setConsentHydrated(!0)}var vr=0;Promise.resolve();function yr(e,t={}){let n=++vr,r=()=>n!==vr;E().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&&Et(i),h()){let e=!1,t=()=>!e&&!r();try{await Promise.race([(async()=>{await P.getState().fetchOrganizations();let e=await S();t()&&e.ok&&await ye(e.data,P.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}),Jt()}else t.clearOnFailure&&e({platformSession:`absent`})}).catch(()=>{r()||t.clearOnFailure&&e({platformSession:`absent`})}).finally(()=>{r()||e(e=>e.platformSession===`unknown`?{platformSession:`absent`}:{})})}function br(e,t){!h()||p()||he().length>0?yr(e,t):e({platformSession:`absent`})}async function xr(){try{if(await Ve())return!0}catch{}return fe()!==null}var $=ee(d()((e,t)=>({sessionStatus:`initializing`,user:null,platformSession:`unknown`,platformSessionRestoredOffline:!1,initSession:async()=>{if(g()){await xr()?e({...Y(),platformSession:`absent`}):e(X());return}if(p()){try{await ae(),e(Y())}catch{e({sessionStatus:`unauthenticated`,user:null})}br(e);return}if(h()&&!p()){if(he().length>0){let t=null;try{if(t=await E(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null);try{await P.getState().fetchOrganizations();let e=await S();e.ok&&await ye(e.data,P.getState().currentOrganizationId??void 0)}catch{}e(J(n));return}}catch{}if(Z(t)){if(await pr(e))return}else N();e(X());return}e(Y()),dr?e({platformSession:`absent`}):yr(e,{setUserOnSuccess:!0}),dr=!1;return}let t=null;try{if(t=await E(),t.ok&&t.data.user){let n=K(t.data.user);await Q(n?.id??null),e(J(n));return}}catch(e){console.error(`auth.initSession failed`,e)}if(!(Z(t)&&await pr(e))){if(ze()&&Ie())try{let t=await Ne();if(t){Le(t),await Fe();let n=await E();if(n.ok&&n.data.user){let t=K(n.data.user);await Q(t?.id??null),e(J(t));return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}await Q(null),Z(t)||N(),e(X())}},connectLocalAssistant:async n=>{await ve(pe().find(e=>e.assistantId===n)),await M(n),e(Y()),await j.checkAssistant(),_t(t().platformSession,t().platformSessionRestoredOffline)&&Jt(n),br(e)},connectPlatformAssistant:async t=>{await M(t);let n=await E();if(!n.ok||!n.data.user)throw Error(`Platform authentication required`);let r=K(n.data.user);await Q(r?.id??null),await P.getState().fetchOrganizations(),e(J(r))},refreshSession:async()=>{if(g())return await xr()?(e({...Y(),platformSession:`absent`}),!0):(e(X()),!1);if(_()){try{await oe(ge()),e({sessionStatus:`authenticated`})}catch{return e(X()),!1}return br(e,{clearOnFailure:!0}),!0}let n=null;try{if(n=await E(),n.ok&&n.data.user){let t=K(n.data.user);if(await Q(t?.id??null),h())try{await P.getState().fetchOrganizations();let e=await S();e.ok&&await ye(e.data,P.getState().currentOrganizationId??void 0)}catch{}return e(J(t)),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}if(Z(n))return k(t().sessionStatus);if(p()){let n=k(t().sessionStatus);return n&&(N(),e({...Y(),platformSession:`absent`})),n}return N(),await Q(null),e(X()),!1},logout:async()=>{if(_()){j.resetForLogout(),await M(null),le(),It(),cr(),e(X()),hr();return}dr=!0,await wn();try{await je()}finally{y()&&await window.vellum?.auth?.signOut?.(),h()&&!y()&&await ne(),Re(),It(),cr(),j.resetForLogout(),await M(null),e(X()),hr()}}}))),Sr=()=>k($.use.sessionStatus()),Cr=()=>!ht($.use.sessionStatus()),wr=()=>A($.use.platformSession()),Tr=()=>gt($.use.platformSession()),Er=()=>_t($.use.platformSession(),$.use.platformSessionRestoredOffline());function Dr(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=w(`app.resume`,()=>{Pe()||n()});return t.push(r),typeof BroadcastChannel<`u`&&(q=new BroadcastChannel(`auth`),q.onmessage=()=>{cr(),window.location.reload()},t.push(()=>{q?.close(),q=null})),()=>t.forEach(e=>e())}export{M as A,et as B,qt as C,P as D,Lt as E,ht as F,O as G,Ze as H,yt as I,mt as L,A as M,k as N,Ft as O,_t as P,dt as R,Jt as S,F as T,qe as U,Xe as V,Ke as W,jn as _,Sr as a,En as b,Vn as c,er as d,nr as f,Nn as g,Dn as h,wr as i,j,wt as k,Bn as l,Fn as m,$ as n,Tr as o,rr as p,Er as r,Cr as s,Dr as t,$n as u,On as v,Vt as w,Cn as x,An as y,$e as z};
@@ -1 +1 @@
1
- import{t as e}from"./capture-error-Bj8_eutd.js";import{f as t}from"./local-mode-BTovbt13.js";import{St as n,bt as r,j as i,xt as a}from"./sdk.gen-BIu1DgTs.js";import{a as o,r as s}from"./api-LG8zI3nK.js";import{a as c,i as l,t as u}from"./use-assistant-avatar-bwLHcMz4.js";import{i as d}from"./machine-sizes-DO8duvpy.js";import{n as f,r as p,t as m}from"./provisioning-targets-BTjyR9nk.js";async function h(t,n,r){try{await l(t)||await c(t,n),r.invalidateQueries({queryKey:u(t)})}catch(t){e(t,{context:`onboarding_avatar_sync`})}}var g=3e3,_=3e5,v=9e4;async function y(e){let{assistantId:c,postCheckoutReturn:l,managedHatch:u,hatchStartMs:h,isCancelled:_,onResizeWait:y,registerTimer:b}=e,x=e=>new Promise(t=>{if(_()){t();return}let n=setTimeout(()=>{b?.(null),t()},e);b?.(n)});if(t()&&!u)return`ready`;let S=!1,C=()=>{S||r({throwOnError:!1}).then(e=>{e.data!=null&&!m(e.data)&&(S=!0)}).catch(()=>{})},w=async()=>{for(;!_();){try{if((await o(c)).ok)return`ready`}catch{}if(Date.now()-h>=3e5)return`health_timeout`;await x(g)}return`ready`},T=Date.now()+v,E=null;for(;!_();){C();let e=`unknown`;try{let t=await n({throwOnError:!1});if(_())return`ready`;t.data&&(e=t.data.plan_id===`pro`?`pro`:`non_pro`)}catch{}try{let e=await a({throwOnError:!1});if(_())return`ready`;let t=e.data;t&&(E={machineSize:d(t.max_machine_tier).at(-1)??null,storageGib:t.selected_storage_gib??null})}catch{}let t=E!=null&&(E.machineSize!=null||E.storageGib!=null);if(e===`non_pro`&&!l)return`ready`;if(e===`pro`&&t)break;if(Date.now()>=T)return w();await x(g)}if(_())return`ready`;for(y?.();!_();){C();let e=null;try{let t=await s(c);if(_())return`ready`;t.ok&&(e={machineSize:t.data.machine_size??null,storageGib:t.data.provisioned_storage_gib??null})}catch{}let t=!0;try{let e=await i({path:{id:c},throwOnError:!1});if(_())return`ready`;e.data&&(t=f(e.data))}catch{t=!0}if(p(E,e)&&!t||Date.now()>=T)break;await x(g)}return _()?`ready`:w()}function b(e){let t=e=>e[Math.floor(Math.random()*e.length)];return{bodyShape:t(e.bodyShapes).id,eyeStyle:t(e.eyeStyles).id,color:t(e.colors).id}}export{h as a,y as i,_ as n,g as r,b as t};
1
+ import{t as e}from"./capture-error-Dj49ma74.js";import{f as t}from"./local-mode-BKousn41.js";import{St as n,bt as r,j as i,xt as a}from"./sdk.gen-DHJ7Pbqq.js";import{a as o,r as s}from"./api-Coj5enET.js";import{a as c,i as l,t as u}from"./use-assistant-avatar-BcObK2L0.js";import{i as d}from"./machine-sizes-CT-fSRKD.js";import{n as f,r as p,t as m}from"./provisioning-targets-epeYMPhZ.js";async function h(t,n,r){try{await l(t)||await c(t,n),r.invalidateQueries({queryKey:u(t)})}catch(t){e(t,{context:`onboarding_avatar_sync`})}}var g=3e3,_=3e5,v=9e4;async function y(e){let{assistantId:c,postCheckoutReturn:l,managedHatch:u,hatchStartMs:h,isCancelled:_,onResizeWait:y,registerTimer:b}=e,x=e=>new Promise(t=>{if(_()){t();return}let n=setTimeout(()=>{b?.(null),t()},e);b?.(n)});if(t()&&!u)return`ready`;let S=!1,C=()=>{S||r({throwOnError:!1}).then(e=>{e.data!=null&&!m(e.data)&&(S=!0)}).catch(()=>{})},w=async()=>{for(;!_();){try{if((await o(c)).ok)return`ready`}catch{}if(Date.now()-h>=3e5)return`health_timeout`;await x(g)}return`ready`},T=Date.now()+v,E=null;for(;!_();){C();let e=`unknown`;try{let t=await n({throwOnError:!1});if(_())return`ready`;t.data&&(e=t.data.plan_id===`pro`?`pro`:`non_pro`)}catch{}try{let e=await a({throwOnError:!1});if(_())return`ready`;let t=e.data;t&&(E={machineSize:d(t.max_machine_tier).at(-1)??null,storageGib:t.selected_storage_gib??null})}catch{}let t=E!=null&&(E.machineSize!=null||E.storageGib!=null);if(e===`non_pro`&&!l)return`ready`;if(e===`pro`&&t)break;if(Date.now()>=T)return w();await x(g)}if(_())return`ready`;for(y?.();!_();){C();let e=null;try{let t=await s(c);if(_())return`ready`;t.ok&&(e={machineSize:t.data.machine_size??null,storageGib:t.data.provisioned_storage_gib??null})}catch{}let t=!0;try{let e=await i({path:{id:c},throwOnError:!1});if(_())return`ready`;e.data&&(t=f(e.data))}catch{t=!0}if(p(E,e)&&!t||Date.now()>=T)break;await x(g)}return _()?`ready`:w()}function b(e){let t=e=>e[Math.floor(Math.random()*e.length)];return{bodyShape:t(e.bodyShapes).id,eyeStyle:t(e.eyeStyles).id,color:t(e.colors).id}}export{h as a,y as i,_ as n,g as r,b as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./avatar-svg-compositor-Dl-ckXRE.js";var i=e(t(),1),a=n();function o({components:e,bodyShapeId:t,eyeStyleId:n,colorId:o,size:s=56,className:c}){let l=(0,i.useMemo)(()=>{try{return r(e,t,n,o,s)}catch{return null}},[e,t,n,o,s]);return l?(0,a.jsx)(`div`,{className:c,style:{width:s,height:s,flexShrink:0},dangerouslySetInnerHTML:{__html:l}}):null}export{o as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./avatar-svg-compositor-DeuQqt-f.js";var i=e(t(),1),a=n();function o({components:e,bodyShapeId:t,eyeStyleId:n,colorId:o,size:s=56,className:c}){let l=(0,i.useMemo)(()=>{try{return r(e,t,n,o,s)}catch{return null}},[e,t,n,o,s]);return l?(0,a.jsx)(`div`,{className:c,style:{width:s,height:s,flexShrink:0},dangerouslySetInnerHTML:{__html:l}}):null}export{o as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import{ht as r}from"./risk-CdT92Vqr.js";import{n as i}from"./resolved-assistants-store-Dw5UuGyB.js";import{h as a}from"./sdk.gen-BHZ0fJla.js";import{t as o}from"./background-task-store-DMP8ByUq.js";var s=n(`file-terminal`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m8 16 2-2-2-2`,key:`10vzyd`}],[`path`,{d:`M12 18h4`,key:`1wd2n7`}]]),c=e(t(),1);function l(e){return e===`host_bash`?s:r}function u({toolName:e,className:t}){return(0,c.createElement)(l(e),{className:t,"aria-hidden":!0})}function d(){let e=i.getState().activeAssistantId;if(!e)throw Error(`No active assistant`);return e}async function f(e){let t=d(),n=o.getState(),r=n.byId[e]?.status;n.cancelTask(e);try{let{data:n,response:r}=await a({path:{assistant_id:t},body:{id:e},throwOnError:!1});if(!r?.ok||n?.cancelled===!1)throw Error(`Failed to stop background task: ${r?.status} (cancelled=${n?.cancelled})`)}catch(t){throw r!==void 0&&o.getState().restoreTaskStatus(e,r),t}}export{u as n,l as r,f as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import{ht as r}from"./risk-RmzL2Rk_.js";import{n as i}from"./resolved-assistants-store-FEmi1gGu.js";import{h as a}from"./sdk.gen-DeyOX3Kb.js";import{t as o}from"./background-task-store-C5J8CFan.js";var s=n(`file-terminal`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m8 16 2-2-2-2`,key:`10vzyd`}],[`path`,{d:`M12 18h4`,key:`1wd2n7`}]]),c=e(t(),1);function l(e){return e===`host_bash`?s:r}function u({toolName:e,className:t}){return(0,c.createElement)(l(e),{className:t,"aria-hidden":!0})}function d(){let e=i.getState().activeAssistantId;if(!e)throw Error(`No active assistant`);return e}async function f(e){let t=d(),n=o.getState(),r=n.byId[e]?.status;n.cancelTask(e);try{let{data:n,response:r}=await a({path:{assistant_id:t},body:{id:e},throwOnError:!1});if(!r?.ok||n?.cancelled===!1)throw Error(`Failed to stop background task: ${r?.status} (cancelled=${n?.cancelled})`)}catch(t){throw r!==void 0&&o.getState().restoreTaskStatus(e,r),t}}export{u as n,l as r,f as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{r as a,t as o}from"./background-task-actions-DmP5s0oO.js";import"./src-te3YTBG-.js";import{a as s,i as c,n as l,r as u}from"./background-task-store-DMP8ByUq.js";import{t as d}from"./detail-shell-Cyqr5FXJ.js";import{t as f}from"./status-badge-pill-wJPMXQk1.js";import{CodeBlock as p,SectionLabel as m}from"./tool-detail-panel-DFrWEWKG.js";import{t as h}from"./detail-panel-stop-button-BNuh6N0s.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(f,{color:l(e),label:u(e)})}function y({entry:e,onClose:n}){let r=s(e.status),l=!r,u=l&&e.output!==void 0&&e.output!==``,f=l&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),o(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(d,{Glyph:a(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(h,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(m,{children:`Command`}),(0,_.jsx)(p,{text:e.command})]}),u&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(m,{children:`Output`}),(0,_.jsx)(p,{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-Dj49ma74.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{r as a,t as o}from"./background-task-actions-B1bLmbnw.js";import"./src-CnF7WXNj.js";import{a as s,i as c,n as l,r as u}from"./background-task-store-C5J8CFan.js";import{t as d}from"./detail-shell-DB1cQBnE.js";import{t as f}from"./status-badge-pill-CGODAHVT.js";import{CodeBlock as p,SectionLabel as m}from"./tool-detail-panel-DyfiRoE5.js";import{t as h}from"./detail-panel-stop-button-CZuQfGZs.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(f,{color:l(e),label:u(e)})}function y({entry:e,onClose:n}){let r=s(e.status),l=!r,u=l&&e.output!==void 0&&e.output!==``,f=l&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),o(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(d,{Glyph:a(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(h,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(m,{children:`Command`}),(0,_.jsx)(p,{text:e.command})]}),u&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(m,{children:`Output`}),(0,_.jsx)(p,{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 +1 @@
1
- import{n as e,t}from"./create-selectors-Qo7kcikX.js";import{a as n,i as r,n as i,r as a,t as o}from"./optimistic-lifecycle-BINTsVFx.js";function s(e){return e===`running`}function c(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`cancelled`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function l(e){switch(e){case`running`:return`Running command`;case`completed`:return`Command finished`;case`cancelled`:return`Command cancelled`;case`failed`:return`Command failed`;default:return`Command`}}function u(e){switch(e){case`running`:return`Running`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Unknown`}}var d={byId:{},orderedIds:[]};function f(e,t){let n=r(e.status,t.status,s);return{...e,status:n,exitCode:t.exitCode??e.exitCode,output:t.output??e.output,completedAt:t.completedAt??e.completedAt}}var p={getStatus:e=>e.status,isActive:s,cancelledStatus:`cancelled`,applyCancel:e=>({...e,status:`cancelled`}),applyRestore:(e,t)=>({...e,status:t,completedAt:void 0}),applyRetire:e=>({...e,status:`cancelled`}),isSettled:e=>e.completedAt!=null},m=t(e()((e,t)=>({...d,startTask:n=>{let{byId:r,orderedIds:i}=t();if(r[n.id])return;let a={id:n.id,toolName:n.toolName,conversationId:n.conversationId,command:n.command,startedAt:n.startedAt,status:`running`};e({byId:{...r,[n.id]:a},orderedIds:[...i,n.id]})},completeTask:n=>{let{byId:r}=t(),i=r[n.id];if(!i)return;let a=i.status===`cancelled`&&n.status===`failed`?`cancelled`:n.status;e({byId:{...r,[n.id]:{...i,status:a,exitCode:n.exitCode,output:n.output,completedAt:n.completedAt}}})},cancelTask:n=>{let{byId:r}=t(),i=o(r[n],p);i&&e({byId:{...r,[n]:i}})},restoreTaskStatus:(n,r)=>{let{byId:a}=t(),o=i(a[n],r,p);o&&e({byId:{...a,[n]:o}})},retireMissing:(n,r)=>{let{byId:i}=t(),o=new Set(n),s=new Set(r),c=!1,l={...i};for(let e of Object.values(i)){if(!s.has(e.id)||o.has(e.id))continue;let t=a(e,p);t&&(l[e.id]=t,c=!0)}c&&e({byId:l})},seedFromHistory:r=>{let{byId:i,orderedIds:a}=t();e(n({entries:r,byId:i,orderedIds:a,idOf:e=>e.id,merge:f}))},reset:()=>e({byId:{},orderedIds:[]})})));export{s as a,l as i,c as n,u as r,m as t};
1
+ import{n as e,t}from"./create-selectors-B41BzcFF.js";import{a as n,i as r,n as i,r as a,t as o}from"./optimistic-lifecycle-Dxhc3mFf.js";function s(e){return e===`running`}function c(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`cancelled`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function l(e){switch(e){case`running`:return`Running command`;case`completed`:return`Command finished`;case`cancelled`:return`Command cancelled`;case`failed`:return`Command failed`;default:return`Command`}}function u(e){switch(e){case`running`:return`Running`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Unknown`}}var d={byId:{},orderedIds:[]};function f(e,t){let n=r(e.status,t.status,s);return{...e,status:n,exitCode:t.exitCode??e.exitCode,output:t.output??e.output,completedAt:t.completedAt??e.completedAt}}var p={getStatus:e=>e.status,isActive:s,cancelledStatus:`cancelled`,applyCancel:e=>({...e,status:`cancelled`}),applyRestore:(e,t)=>({...e,status:t,completedAt:void 0}),applyRetire:e=>({...e,status:`cancelled`}),isSettled:e=>e.completedAt!=null},m=t(e()((e,t)=>({...d,startTask:n=>{let{byId:r,orderedIds:i}=t();if(r[n.id])return;let a={id:n.id,toolName:n.toolName,conversationId:n.conversationId,command:n.command,startedAt:n.startedAt,status:`running`};e({byId:{...r,[n.id]:a},orderedIds:[...i,n.id]})},completeTask:n=>{let{byId:r}=t(),i=r[n.id];if(!i)return;let a=i.status===`cancelled`&&n.status===`failed`?`cancelled`:n.status;e({byId:{...r,[n.id]:{...i,status:a,exitCode:n.exitCode,output:n.output,completedAt:n.completedAt}}})},cancelTask:n=>{let{byId:r}=t(),i=o(r[n],p);i&&e({byId:{...r,[n]:i}})},restoreTaskStatus:(n,r)=>{let{byId:a}=t(),o=i(a[n],r,p);o&&e({byId:{...a,[n]:o}})},retireMissing:(n,r)=>{let{byId:i}=t(),o=new Set(n),s=new Set(r),c=!1,l={...i};for(let e of Object.values(i)){if(!s.has(e.id)||o.has(e.id))continue;let t=a(e,p);t&&(l[e.id]=t,c=!0)}c&&e({byId:l})},seedFromHistory:r=>{let{byId:i,orderedIds:a}=t();e(n({entries:r,byId:i,orderedIds:a,idOf:e=>e.id,merge:f}))},reset:()=>e({byId:{},orderedIds:[]})})));export{s as a,l as i,c as n,u as r,m as t};