@vellumai/web 0.11.0 → 0.11.1-staging.2

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 (517) hide show
  1. package/dist/assets/{AnimatePresence-xdH2KLtr.js → AnimatePresence-D23js3-M.js} +3 -3
  2. package/dist/assets/{BundleConfirmPage-4StSZy-f.js → BundleConfirmPage-C1-BZKI9.js} +1 -1
  3. package/dist/assets/{a2a-invite-C1xJNSGF.js → a2a-invite-CfhpXDTT.js} +1 -1
  4. package/dist/assets/{about-page-C3tJLjvD.js → about-page-Dtg-I99x.js} +1 -1
  5. package/dist/assets/access-C97H-xHb.js +1 -0
  6. package/dist/assets/{account-page-BvXVc1IK.js → account-page-Cflmw8J6.js} +1 -1
  7. package/dist/assets/{account-shell-D6aWpePp.js → account-shell-BxZ339N3.js} +1 -1
  8. package/dist/assets/{acp-run-actions-8ioRAI8C.js → acp-run-actions-BGbBYETY.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-B8ULpnis.js → acp-run-detail-panel-BZ36-1N5.js} +1 -1
  10. package/dist/assets/{acp-run-store-CpH4OeOS.js → acp-run-store-CmGaPJm1.js} +1 -1
  11. package/dist/assets/activity-steps-panel-KMiSlUt3.js +1 -0
  12. package/dist/assets/{add-credential-modal-Cu6aAlhm.js → add-credential-modal-DQZ43BJU.js} +1 -1
  13. package/dist/assets/{add-credits-modal-BelWmezc.js → add-credits-modal-Daz6j8gm.js} +1 -1
  14. package/dist/assets/ai-page-DPVi-dhB.js +1 -0
  15. package/dist/assets/{animated-avatar-DknFwi9-.js → animated-avatar-CDeJNhwm.js} +1 -1
  16. package/dist/assets/api-C8TlQNEU.js +1 -0
  17. package/dist/assets/api-DDKNgE8n.js +1 -0
  18. package/dist/assets/{api-key-screen-BhynbUuC.js → api-key-screen-CoLZh8vw.js} +1 -1
  19. package/dist/assets/{app-card-BF2l9ot8.js → app-card-JHbWefmm.js} +1 -1
  20. package/dist/assets/{app-info-fS0zIUcN.js → app-info-Bdfw54u1.js} +1 -1
  21. package/dist/assets/{archive-redirect-page-DOF2veAy.js → archive-redirect-page-CWJIEUlH.js} +1 -1
  22. package/dist/assets/{assistant-feature-flag-store-B00tpY5e.js → assistant-feature-flag-store-CMUNSAPL.js} +1 -1
  23. package/dist/assets/assistant-identity-store-BczULg2T.js +1 -0
  24. package/dist/assets/{assistant-status-panel-D2PXdHw0.js → assistant-status-panel-CLMAEQ-v.js} +1 -1
  25. package/dist/assets/auth-store-w_EmIQP7.js +2 -0
  26. package/dist/assets/avatar-random-IysJ0Bdt.js +1 -0
  27. package/dist/assets/{avatar-renderer-BrNjnimz.js → avatar-renderer-3EVhZ7TB.js} +1 -1
  28. package/dist/assets/{background-task-actions-B1bLmbnw.js → background-task-actions-yrapeY1n.js} +1 -1
  29. package/dist/assets/{background-task-detail-panel-56ZpprL7.js → background-task-detail-panel-BV9Y227f.js} +1 -1
  30. package/dist/assets/{background-task-store-C5J8CFan.js → background-task-store-CN04oS2z.js} +1 -1
  31. package/dist/assets/billing-page-CmkTn62f.js +3 -0
  32. package/dist/assets/{billing-redirect-page-BIfv18MY.js → billing-redirect-page-CiHoDQHE.js} +1 -1
  33. package/dist/assets/{bookmarks-page-BOhi-7gN.js → bookmarks-page-B2JvSaKf.js} +1 -1
  34. package/dist/assets/browser-CpgSNbEp.js +2 -0
  35. package/dist/assets/build-state-DDUJ0MId.js +1 -0
  36. package/dist/assets/{capture-error-Dj49ma74.js → capture-error-FWzaVb8P.js} +1 -1
  37. package/dist/assets/channels-page-route-DAp7F6ed.js +9 -0
  38. package/dist/assets/{chat-avatar-C9l3drVu.js → chat-avatar-CIF_o6y5.js} +1 -1
  39. package/dist/assets/{chat-layout-slots-store-KQz1WMKU.js → chat-layout-slots-store-C325hn1X.js} +1 -1
  40. package/dist/assets/chat-markdown-message-B3Qo04ug.js +2 -0
  41. package/dist/assets/{checkbox-D7Eg2K35.js → checkbox-BZTUJtxM.js} +1 -1
  42. package/dist/assets/checkout-continuation-DRPQwh5V.js +1 -0
  43. package/dist/assets/checkout-page-B8CJoCWQ.js +1 -0
  44. package/dist/assets/checkout-return-target-Cib3fzdY.js +1 -0
  45. package/dist/assets/{client-feature-flag-store-BdNCabm_.js → client-feature-flag-store-Bg5XEI2b.js} +1 -1
  46. package/dist/assets/{client-identity-yPmEu-I1.js → client-identity-BSG341dO.js} +1 -1
  47. package/dist/assets/command-palette-DH_ybPTY.js +1 -0
  48. package/dist/assets/command-palette-window-page-KoC7mrpM.js +1 -0
  49. package/dist/assets/{community-page-_nhJqpCD.js → community-page-BZmxfsXK.js} +1 -1
  50. package/dist/assets/{confirm-dialog-D-Yjf2uS.js → confirm-dialog-DZX6LhLy.js} +1 -1
  51. package/dist/assets/{connect-page-DS-7aFqU.js → connect-page-D_I1YM62.js} +1 -1
  52. package/dist/assets/{consent-controls-DVeAjj2Z.js → consent-controls-CiKmEzBn.js} +1 -1
  53. package/dist/assets/consent-s5g0Gmb2.js +1 -0
  54. package/dist/assets/{contacts-gateway-BlLLBft6.js → contacts-gateway-C628mrY_.js} +1 -1
  55. package/dist/assets/contacts-page-route-BJBOnSQK.js +1 -0
  56. package/dist/assets/{conversation-cache-CqrrtLGM.js → conversation-cache-BzPdBPXN.js} +1 -1
  57. package/dist/assets/conversation-list-fetchers-BZnx9EMN.js +1 -0
  58. package/dist/assets/{conversation-navigation-D8y9l5qL.js → conversation-navigation-tj2ntPAn.js} +1 -1
  59. package/dist/assets/conversation-queries-str0jfqv.js +1 -0
  60. package/dist/assets/conversation-selection-B954w311.js +1 -0
  61. package/dist/assets/{conversation-store-D_eevw7L.js → conversation-store-C0tvFESx.js} +1 -1
  62. package/dist/assets/copy-to-clipboard-DaTa8Tbi.js +1 -0
  63. package/dist/assets/{credential-entry-page-C22Mw_ea.js → credential-entry-page-BCAYmsDK.js} +1 -1
  64. package/dist/assets/credentials-page-DFm5A_Dj.js +1 -0
  65. package/dist/assets/{danger-zone-redirect-page-QELjAt0B.js → danger-zone-redirect-page-BcdEHbAX.js} +1 -1
  66. package/dist/assets/debug-page-6DjAgWtl.js +4 -0
  67. package/dist/assets/{deploy-dialogs-DcxJ8zmL.js → deploy-dialogs-CpUMrpHq.js} +1 -1
  68. package/dist/assets/{deploy-store-Dxp-S0Jo.js → deploy-store-BJ-njgv-.js} +1 -1
  69. package/dist/assets/{detail-card-BiNdiBiS.js → detail-card-D-5EWmAS.js} +1 -1
  70. package/dist/assets/detail-drawer-BglFkWVa.js +1 -0
  71. package/dist/assets/{detail-panel-stop-button-CZuQfGZs.js → detail-panel-stop-button-DgKaA6yz.js} +1 -1
  72. package/dist/assets/{detail-shell-DB1cQBnE.js → detail-shell-D9L3L7AM.js} +1 -1
  73. package/dist/assets/developer-page-dHmIDclp.js +1 -0
  74. package/dist/assets/{devices-redirect-page-B3KUr7o2.js → devices-redirect-page-BNpxDctf.js} +1 -1
  75. package/dist/assets/{diagnostics-9AhdBjYA.js → diagnostics-BE1IgjfV.js} +1 -1
  76. package/dist/assets/{dictation-overlay-page-DHI92ftK.js → dictation-overlay-page-DUWJ13of.js} +1 -1
  77. package/dist/assets/{dictation-overlay-CRLGSCST.js → dictation-overlay-w1YHEfFR.js} +1 -1
  78. package/dist/assets/{dist-Ckcpfjj7.js → dist-BswnB-bR.js} +1 -1
  79. package/dist/assets/{dist-CXcArvGs.js → dist-CQN0ZAOZ.js} +1 -1
  80. package/dist/assets/{doctor-handoff-store-DPviL0wb.js → doctor-handoff-store-ClS6J-b-.js} +1 -1
  81. package/dist/assets/document-viewer-container-Doc7G7NK.js +2 -0
  82. package/dist/assets/{document-viewer-page-ClsAgnVX.js → document-viewer-page-DJFR9XhM.js} +1 -1
  83. package/dist/assets/{dropdown-BtWhNXSV.js → dropdown-DswWMJhz.js} +1 -1
  84. package/dist/assets/{edge-swipe-arbiter-store-QUBer3EI.js → edge-swipe-arbiter-store-D9XJTxJJ.js} +1 -1
  85. package/dist/assets/ellipsis-vertical-nov0xhhF.js +1 -0
  86. package/dist/assets/{emails-page-D1eq8Mcq.js → emails-page-Ro1_IIiv.js} +1 -1
  87. package/dist/assets/{environment-store-nuDZk7wN.js → environment-store-Bbx4f6SQ.js} +1 -1
  88. package/dist/assets/esm-B2M2kM_8.js +2 -0
  89. package/dist/assets/esm-BgRAHqeR.js +2 -0
  90. package/dist/assets/esm-CXX8rcv3.js +2 -0
  91. package/dist/assets/esm-Chh8mHmh.js +1 -0
  92. package/dist/assets/esm-Cl2UNC_o.js +2 -0
  93. package/dist/assets/esm-ClO8yhvi.js +2 -0
  94. package/dist/assets/esm-DOATKqE3.js +2 -0
  95. package/dist/assets/esm-UUuqyyp5.js +1 -0
  96. package/dist/assets/eye-bbox-DE8r0Vt3.js +1 -0
  97. package/dist/assets/feature-flag-catalog-CWHnoWvT.js +1 -0
  98. package/dist/assets/file-editor-DcH2Os5o.js +1 -0
  99. package/dist/assets/{file-markdown-B0zje_y3.js → file-markdown-DBLxtb0M.js} +1 -1
  100. package/dist/assets/first-run-scope-CZm4WhC7.js +1 -0
  101. package/dist/assets/{funnel-events-BqvFi8Sp.js → funnel-events-BAmjKdwH.js} +1 -1
  102. package/dist/assets/general-page-BH3Zl4tV.js +1 -0
  103. package/dist/assets/get-memory-stats-CthVfpul.js +1 -0
  104. package/dist/assets/handle-logout-C_CDLqjS.js +1 -0
  105. package/dist/assets/{haptics-BTcSZuHP.js → haptics-agodX1nl.js} +2 -2
  106. package/dist/assets/hatching-screen-CziT_eEj.js +1 -0
  107. package/dist/assets/home-page-route-BSHvc0DH.js +1 -0
  108. package/dist/assets/hosting-screen-D6gwvyR3.js +1 -0
  109. package/dist/assets/identity-Cb4xS1Kk.js +1 -0
  110. package/dist/assets/identity-page-route-CvxG-nhn.js +7 -0
  111. package/dist/assets/index-D-NVGcvg.js +11 -0
  112. package/dist/assets/index-D8Xiv4z3.css +2 -0
  113. package/dist/assets/{ingest-D3dRmJA9.js → ingest-DiiwFQfV.js} +1 -1
  114. package/dist/assets/{inspect-page-DVgajY0Q.js → inspect-page-D0xZPslr.js} +6 -6
  115. package/dist/assets/{installed-plugins-query-s6Kf3pL8.js → installed-plugins-query-6u0jUM-L.js} +1 -1
  116. package/dist/assets/{integration-icon-CmjrEk0J.js → integration-icon-tiuVoy54.js} +1 -1
  117. package/dist/assets/integrations-page-DuKFioaA.js +1 -0
  118. package/dist/assets/{intelligence-layout-DfdvpHl4.js → intelligence-layout-CVzq_bDm.js} +1 -1
  119. package/dist/assets/invalidate-memory-queries-BPL6t0Cu.js +1 -0
  120. package/dist/assets/invalidate-plugin-queries-QmmXCyiN.js +1 -0
  121. package/dist/assets/{keyboard-shortcuts-redirect-page-DMytLINR.js → keyboard-shortcuts-redirect-page-D_Rf5W7f.js} +1 -1
  122. package/dist/assets/{latest-assistant-text-BIlBGS_i.js → latest-assistant-text-DPm0HIWu.js} +2 -2
  123. package/dist/assets/{library-detail-page-BzvbB9Ud.js → library-detail-page-BmD8ODsN.js} +1 -1
  124. package/dist/assets/{library-page-DK2Dx8vo.js → library-page-B1_J428q.js} +1 -1
  125. package/dist/assets/list-row-BYrmPIC4.js +1 -0
  126. package/dist/assets/local-mode-9zpgPNoq.js +39 -0
  127. package/dist/assets/{local-runtime-upgrade-COcJaRWH.js → local-runtime-upgrade-1CLFIVes.js} +1 -1
  128. package/dist/assets/{login-flow-BVUkpWP_.js → login-flow-BnCQjNXm.js} +1 -1
  129. package/dist/assets/login-page-BnF7_s7c.js +1 -0
  130. package/dist/assets/{logout-page-B8EOSvAV.js → logout-page-BguUo424.js} +1 -1
  131. package/dist/assets/{logs-layout-DK6gVU21.js → logs-layout-BiZ4JakR.js} +1 -1
  132. package/dist/assets/machine-sizes-D0oAlF9f.js +1 -0
  133. package/dist/assets/memory-page-route-DwmCqWRb.js +6 -0
  134. package/dist/assets/{memory-router-playground-page-B-6Yt7rp.js → memory-router-playground-page-Bl-5j5de.js} +1 -1
  135. package/dist/assets/{menu-BKrcAFYk.js → menu-CKZtG-s_.js} +1 -1
  136. package/dist/assets/{messages-BuqyOjvT.js → messages-BsXTJIIe.js} +2 -2
  137. package/dist/assets/{metric-card-j9s-2nkl.js → metric-card-B-Tt9p-1.js} +1 -1
  138. package/dist/assets/{mobile-sidebar-drawer-BLGt_R0d.js → mobile-sidebar-drawer-Cp72bTDC.js} +1 -1
  139. package/dist/assets/{modal-CoOkN7c0.js → modal-DwsThLGg.js} +1 -1
  140. package/dist/assets/mutation-error-CXV1BKlB.js +1 -0
  141. package/dist/assets/native-anchor-BpfRwc60.js +1 -0
  142. package/dist/assets/native-biometric-CTR2Zi2w.js +6 -0
  143. package/dist/assets/native-deep-link-BJjxOpZm.js +1 -0
  144. package/dist/assets/native-file-BvwfoU6A.js +2 -0
  145. package/dist/assets/navigation-resolver-CIICT6n9.js +1 -0
  146. package/dist/assets/{not-found-Dh7Vxgjl.js → not-found-p1VhZpMs.js} +1 -1
  147. package/dist/assets/{notice-B6naz_-V.js → notice-DCp7WO3L.js} +1 -1
  148. package/dist/assets/{notifications-page-BB5kRj1s.js → notifications-page-CD8OVGKw.js} +1 -1
  149. package/dist/assets/{oauth-complete-page-01jk0-Xz.js → oauth-complete-page-KSpFlPD6.js} +1 -1
  150. package/dist/assets/{oauth-connection-utils-DhmVsbum.js → oauth-connection-utils-D9CTptlA.js} +1 -1
  151. package/dist/assets/{oauth-popup-complete-page-DdR3sLCH.js → oauth-popup-complete-page-C5cG_z3A.js} +1 -1
  152. package/dist/assets/{onboarding-layout-CYU5QNQ5.js → onboarding-layout-K7X9fV8B.js} +1 -1
  153. package/dist/assets/{onboarding-store-CHsGFmyD.js → onboarding-store-OVV4wyh5.js} +1 -1
  154. package/dist/assets/open-workspace-file-DYklNHQ0.js +2 -0
  155. package/dist/assets/page-empty-state-B0da-Sm9.js +1 -0
  156. package/dist/assets/{page-shell-Ns8K4aqQ.js → page-shell-CN7ioeP_.js} +1 -1
  157. package/dist/assets/{pairing-page-COqX_5vT.js → pairing-page-_kskNw0h.js} +1 -1
  158. package/dist/assets/panel-item-DGs4s9r-.js +1 -0
  159. package/dist/assets/{password-reset-page-Ck1m9qRW.js → password-reset-page-Bq3ehgjW.js} +1 -1
  160. package/dist/assets/{personality-page-B0GpJMv5.js → personality-page-DeZSBQ6W.js} +1 -1
  161. package/dist/assets/plans-page-D924rN93.js +1 -0
  162. package/dist/assets/platform-detection-BY5uzLL8.js +1 -0
  163. package/dist/assets/{platform-login-notice-D_-ZVyk8.js → platform-login-notice-DIS8PWXu.js} +1 -1
  164. package/dist/assets/{platform-loopback-page-B68rydoU.js → platform-loopback-page-BTr35x9U.js} +1 -1
  165. package/dist/assets/{plugin-detail-page-DGzmeb3j.js → plugin-detail-page-DF9vmm23.js} +1 -1
  166. package/dist/assets/{plugins-page-C7Xd3LTL.js → plugins-page-BDZiCqWZ.js} +1 -1
  167. package/dist/assets/plugins-surface-C4peMNec.js +1 -0
  168. package/dist/assets/{popover-CDZiHp1D.js → popover-BFL-uOLh.js} +1 -1
  169. package/dist/assets/{prefs-BplCYXxl.js → prefs-B6fvTCOn.js} +1 -1
  170. package/dist/assets/{privacy-page-NhPZ8klL.js → privacy-page-BGXaPgBR.js} +1 -1
  171. package/dist/assets/privacy-screen-znr9P7PH.js +1 -0
  172. package/dist/assets/{provider-callback-page-Dkxi-_kI.js → provider-callback-page-Bn1Tp_ej.js} +1 -1
  173. package/dist/assets/provider-key-w3CzmGtq.js +1 -0
  174. package/dist/assets/provider-signup-page-C5z8x-YS.js +1 -0
  175. package/dist/assets/provisioning-targets-CT4slXZJ.js +1 -0
  176. package/dist/assets/{proxy-lxbolTGx.js → proxy-CNtrhN4q.js} +1 -1
  177. package/dist/assets/{quick-input-page-DnjOMI1n.js → quick-input-page-COgnUnT_.js} +1 -1
  178. package/dist/assets/react-query.gen-0mspArBl.js +1 -0
  179. package/dist/assets/react-query.gen-BVTEjHsw.js +1 -0
  180. package/dist/assets/{remote-gateway-session-DJ1rzXEw.js → remote-gateway-session-CgxYHgOD.js} +1 -1
  181. package/dist/assets/{research-facts-B5ItKoAK.js → research-facts-BcW4fghT.js} +1 -1
  182. package/dist/assets/{research-mock-page-gbOSvFQL.js → research-mock-page-BFm8-rLU.js} +1 -1
  183. package/dist/assets/{research-onboarding-persistence-CgJDwdl9.js → research-onboarding-persistence-BN6g1lF7.js} +1 -1
  184. package/dist/assets/research-onboarding-route-DpC0dKBR.js +50 -0
  185. package/dist/assets/{research-results-view-WQsLxBlE.js → research-results-view-BBf2iyCA.js} +1 -1
  186. package/dist/assets/resolved-assistants-store-8HQDfxZh.js +1 -0
  187. package/dist/assets/retire-confirm-dialog-BFbPH66U.js +1 -0
  188. package/dist/assets/{review-terms-screen-c4Vt5WqP.js → review-terms-screen-W08isuCB.js} +1 -1
  189. package/dist/assets/risk-FjW-m05l.js +3 -0
  190. package/dist/assets/routes-DOTByxnJ.js +23 -0
  191. package/dist/assets/{routes-CsoiCk2y.js → routes-GmNvdtLW.js} +1 -1
  192. package/dist/assets/runtime-upgrade-banner-4PNA3XVR.js +2 -0
  193. package/dist/assets/schedules-B6KivAAT.js +1 -0
  194. package/dist/assets/schedules-page-BSr0-mjB.js +1 -0
  195. package/dist/assets/{sdk.gen-DeyOX3Kb.js → sdk.gen-BySz4QYj.js} +1 -1
  196. package/dist/assets/sdk.gen-DVW3wpbx.js +1 -0
  197. package/dist/assets/{security-redirect-page-CMMujz_x.js → security-redirect-page-T1J6IoOb.js} +1 -1
  198. package/dist/assets/select-assistant-screen-DAkhS0wl.js +1 -0
  199. package/dist/assets/session-corner-action-CqofVz_i.js +1 -0
  200. package/dist/assets/{setting-row-D10FtQcP.js → setting-row-DEyL7IUP.js} +1 -1
  201. package/dist/assets/{settings-divider-CItcvksF.js → settings-divider-Bf5WJ9ve.js} +1 -1
  202. package/dist/assets/settings-layout-DcuaK8qu.js +1 -0
  203. package/dist/assets/settings-navigation-BDpUXrOI.js +1 -0
  204. package/dist/assets/share-feedback-modal-Dy0GRvA9.js +2 -0
  205. package/dist/assets/{sidebar-tree-CEPitR5K.js → sidebar-tree-DrZXY5Iz.js} +1 -1
  206. package/dist/assets/signup-page-B6mmAQJU.js +1 -0
  207. package/dist/assets/{signup-shell-DxP2zqed.js → signup-shell-CMXUBUal.js} +1 -1
  208. package/dist/assets/site-favicon-CA7jaNnH.js +1 -0
  209. package/dist/assets/{skill-detail-page-o3EhI_Q2.js → skill-detail-page-BCPN6NmR.js} +1 -1
  210. package/dist/assets/{skill-detail-panel-DdQL6oky.js → skill-detail-panel-Cpl1Z7V3.js} +1 -1
  211. package/dist/assets/{skills-DT9YkYm6.js → skills-BL4RgwAd.js} +1 -1
  212. package/dist/assets/{skills-page-BtFhw8jF.js → skills-page-BYtAFZzb.js} +1 -1
  213. package/dist/assets/{slack-setup-wizard-C6ALDSEa.js → slack-setup-wizard-dVkbEE6P.js} +1 -1
  214. package/dist/assets/{sound-manager-Dy2ohKg4.js → sound-manager-DUo0lHGZ.js} +1 -1
  215. package/dist/assets/{sounds-page-D4kMljoY.js → sounds-page-CfeiEoJP.js} +1 -1
  216. package/dist/assets/{src-CnF7WXNj.js → src-BAS7a2RG.js} +39 -39
  217. package/dist/assets/{start-screen-BiV4V5J1.js → start-screen-CqbeEmEE.js} +1 -1
  218. package/dist/assets/subagent-detail-panel-jOUXcDnl.js +4 -0
  219. package/dist/assets/subagent-store-C8qemfgn.js +3 -0
  220. package/dist/assets/superpowers-page-DltosgGe.js +1 -0
  221. package/dist/assets/{system-events-page-CpUI1rsZ.js → system-events-page-DEQyyquu.js} +1 -1
  222. package/dist/assets/{system-events-redirect-page-BQrnMF4i.js → system-events-redirect-page-C44suO-c.js} +1 -1
  223. package/dist/assets/{tag-Dn1d6hKF.js → tag-D8NAGb0r.js} +1 -1
  224. package/dist/assets/{credit-card-C1RL73Rt.js → target-cdw7WP5q.js} +1 -1
  225. package/dist/assets/{theme-stage-page-CW3erTQ4.js → theme-stage-page-CnKpq5QT.js} +1 -1
  226. package/dist/assets/{threshold-presets-ByKylDXk.js → threshold-presets-B-gOdjC4.js} +1 -1
  227. package/dist/assets/{tiptap-document-editor-CbPrzkBM.js → tiptap-document-editor-D-lwPWrV.js} +1 -1
  228. package/dist/assets/{toast-BcMdOTp1.js → toast-DR7D7Uma.js} +1 -1
  229. package/dist/assets/tool-detail-panel-86ruMQAQ.js +2 -0
  230. package/dist/assets/transcript-message-body-shared-CT5pk4wz.js +1 -0
  231. package/dist/assets/{trust-rules-api-CVYU31TU.js → trust-rules-api-iUGCiDDM.js} +1 -1
  232. package/dist/assets/{upgrade-cancel-page-BSAoMrm5.js → upgrade-cancel-page-DmStvNCn.js} +1 -1
  233. package/dist/assets/{upgrade-success-page-CooDWnEr.js → upgrade-success-page-jOEtujYa.js} +1 -1
  234. package/dist/assets/{usage-redirect-page-DtwSt4vM.js → usage-redirect-page-C6qXe-4h.js} +1 -1
  235. package/dist/assets/{use-active-assistant-id-CUKao_nq.js → use-active-assistant-id-CjvzlL4t.js} +1 -1
  236. package/dist/assets/{use-app-theme-BhnyqHgJ.js → use-app-theme-BLGjiz96.js} +1 -1
  237. package/dist/assets/use-assistant-avatar--4s_vvar.js +1 -0
  238. package/dist/assets/{use-assistant-capability-BdWmg2Vg.js → use-assistant-capability-BaZVGuCu.js} +1 -1
  239. package/dist/assets/use-assistant-identity-details-C99kNyQf.js +1 -0
  240. package/dist/assets/use-avatar-accent-var-BaftJG7F.js +1 -0
  241. package/dist/assets/{use-bookmarks-DtteniG3.js → use-bookmarks-B6Y60m9F.js} +1 -1
  242. package/dist/assets/{use-bundled-avatar-components-B1ARUeam.js → use-bundled-avatar-components-IQw2k8-g.js} +2 -2
  243. package/dist/assets/{use-bus-subscription-NoXmdzgx.js → use-bus-subscription-CyRPH_gr.js} +1 -1
  244. package/dist/assets/use-checkout-dismiss-refresh-BZXXQef1.js +1 -0
  245. package/dist/assets/use-command-palette-sections-DWCppiPf.js +1 -0
  246. package/dist/assets/{use-discord-nudge-h0WPtIp6.js → use-discord-nudge-CRU-lEHV.js} +1 -1
  247. package/dist/assets/{use-edge-swipe-back-Rp4TEihl.js → use-edge-swipe-back-Dbz1hC9g.js} +1 -1
  248. package/dist/assets/{use-edge-swipe-DDntz5ZJ.js → use-edge-swipe-sMxDzAcb.js} +1 -1
  249. package/dist/assets/{use-edit-app-BSbRuVnn.js → use-edit-app-BF9YK7AV.js} +1 -1
  250. package/dist/assets/{use-effective-timezone-Om_EkJxK.js → use-effective-timezone-Bx9QaO25.js} +1 -1
  251. package/dist/assets/use-invite-link-dialog-DN2IHVZE.js +1 -0
  252. package/dist/assets/{use-ios-app-nudge-CeOXecJj.js → use-ios-app-nudge-DiqQWH5O.js} +1 -1
  253. package/dist/assets/use-is-org-ready-BbqlQFXw.js +1 -0
  254. package/dist/assets/{use-onboarding-login-DsCjVy0U.js → use-onboarding-login-xZhWGmky.js} +1 -1
  255. package/dist/assets/{use-platform-assistant-id-DSR1LFZF.js → use-platform-assistant-id-BnFEQQeS.js} +1 -1
  256. package/dist/assets/use-platform-gate-D9hR3R0n.js +1 -0
  257. package/dist/assets/use-reduced-motion-bjjt6x6d.js +1 -0
  258. package/dist/assets/use-return-to-short-circuit-B1mhvgIq.js +1 -0
  259. package/dist/assets/use-save-twilio-credentials-CCp1iqBf.js +1 -0
  260. package/dist/assets/{use-skill-actions-DTznrJR1.js → use-skill-actions-BLHTDn21.js} +1 -1
  261. package/dist/assets/{use-skill-detail-files-CKgT7qkY.js → use-skill-detail-files-BVBb8uoK.js} +1 -1
  262. package/dist/assets/use-sticky-profiles-GTUzoFP4.js +1 -0
  263. package/dist/assets/use-subagent-card-data-Cu_-lx6d.js +1 -0
  264. package/dist/assets/use-supports-bookmarks-DbG5HZ6P.js +1 -0
  265. package/dist/assets/use-supports-credentials-settings-CgWfA2eQ.js +1 -0
  266. package/dist/assets/{use-swipe-engine-ehsGV4fb.js → use-swipe-engine-RAFE-Hrf.js} +1 -1
  267. package/dist/assets/utils-C-YNXdkX.js +1 -0
  268. package/dist/assets/{utils-CP1NAeej.js → utils-Ction0uF.js} +1 -1
  269. package/dist/assets/video-CQJlht8Q.js +1 -0
  270. package/dist/assets/{viewer-store-BVsBGqdn.js → viewer-store--hIQLNm5.js} +1 -1
  271. package/dist/assets/voice-list-BMMz4e4M.js +1 -0
  272. package/dist/assets/voice-page-4AS-Fm6W.js +1 -0
  273. package/dist/assets/voice-providers-note-g4IBSHFm.js +1 -0
  274. package/dist/assets/{weather-forecast-display-JW8ecLNy.js → weather-forecast-display-Bg_OjY6Q.js} +1 -1
  275. package/dist/assets/web-BEtLqoWJ.js +1 -0
  276. package/dist/assets/web-C8NouSk8.js +1 -0
  277. package/dist/assets/web-Cv3bLSQ5.js +1 -0
  278. package/dist/assets/web-D82T2zyn.js +1 -0
  279. package/dist/assets/web-RKFLO25W.js +1 -0
  280. package/dist/assets/web-XmQWRS1M.js +1 -0
  281. package/dist/assets/web-ZsA8B5nq.js +1 -0
  282. package/dist/assets/web-s9eE6ZyC.js +1 -0
  283. package/dist/assets/{welcome-screen-D_DTupb3.js → welcome-screen-B-88csxO.js} +1 -1
  284. package/dist/assets/{workflow-detail-panel-DAVe3vEm.js → workflow-detail-panel-BNzNSNAT.js} +1 -1
  285. package/dist/assets/{workflow-store-C3g-qg1u.js → workflow-store-Cbd3x6KN.js} +1 -1
  286. package/dist/assets/workspace-page-b8SfI_28.js +1 -0
  287. package/dist/assets/{workspace-tree-query-D9VBUg-W.js → workspace-tree-query-CqcOBNKw.js} +1 -1
  288. package/dist/index.html +270 -229
  289. package/package.json +1 -1
  290. package/dist/assets/access-B_b48snn.js +0 -1
  291. package/dist/assets/activity-steps-panel-D8fAVo9_.js +0 -1
  292. package/dist/assets/ai-page-Dd-qECGn.js +0 -1
  293. package/dist/assets/api-BpGogBsg.js +0 -1
  294. package/dist/assets/api-Coj5enET.js +0 -1
  295. package/dist/assets/assistant-identity-store-6On4WZ62.js +0 -1
  296. package/dist/assets/auth-store-EmLZOAkN.js +0 -2
  297. package/dist/assets/avatar-random-DjmD5llT.js +0 -1
  298. package/dist/assets/billing-page-CbelI-Ui.js +0 -3
  299. package/dist/assets/browser-DvKwnK9l.js +0 -2
  300. package/dist/assets/build-state-C_Hy9WqC.js +0 -1
  301. package/dist/assets/channels-page-route-CiOtL1JY.js +0 -9
  302. package/dist/assets/chat-markdown-message-9ogr9-mn.js +0 -2
  303. package/dist/assets/checkout-continuation-DmIXoV4L.js +0 -1
  304. package/dist/assets/checkout-page-2Xr9vx27.js +0 -1
  305. package/dist/assets/checkout-return-target-DQBOhh64.js +0 -1
  306. package/dist/assets/command-palette-CzbYrcNM.js +0 -1
  307. package/dist/assets/command-palette-window-page-CHQdRfhu.js +0 -1
  308. package/dist/assets/consent-c8EJ3D2A.js +0 -1
  309. package/dist/assets/contacts-page-route-eTUOUhJL.js +0 -1
  310. package/dist/assets/conversation-list-fetchers-CavIngGf.js +0 -1
  311. package/dist/assets/conversation-queries-688XB7Bh.js +0 -1
  312. package/dist/assets/conversation-selection-Cx6Axfzb.js +0 -1
  313. package/dist/assets/credentials-page-da3G5EjN.js +0 -1
  314. package/dist/assets/debug-page-BElAND4u.js +0 -4
  315. package/dist/assets/developer-page-Ck66ks9T.js +0 -1
  316. package/dist/assets/document-viewer-container-Dxc95Z_9.js +0 -2
  317. package/dist/assets/esm-0ejhUWK7.js +0 -2
  318. package/dist/assets/esm-BPFGl7Zp.js +0 -2
  319. package/dist/assets/esm-C2uShH10.js +0 -2
  320. package/dist/assets/esm-CAByj-hK.js +0 -2
  321. package/dist/assets/esm-Cn1fOTtj.js +0 -2
  322. package/dist/assets/esm-Df-J9imF.js +0 -1
  323. package/dist/assets/esm-t0mP3xUe.js +0 -2
  324. package/dist/assets/eye-bbox-u0VzlPuw.js +0 -1
  325. package/dist/assets/feature-flag-catalog-CWB-r-Pj.js +0 -1
  326. package/dist/assets/file-editor-plAxQBKk.js +0 -1
  327. package/dist/assets/first-run-scope-Br96Z0Ol.js +0 -1
  328. package/dist/assets/general-page-mGY10EuY.js +0 -1
  329. package/dist/assets/get-memory-stats-CdA2IhkV.js +0 -1
  330. package/dist/assets/hatching-screen-DwNw31vj.js +0 -1
  331. package/dist/assets/home-page-route-B2ScoHEE.js +0 -1
  332. package/dist/assets/hosting-screen-DKijoYxW.js +0 -1
  333. package/dist/assets/identity-page-route-DD_U3Te5.js +0 -7
  334. package/dist/assets/impersonate-version-flag-Cad5-ZZv.js +0 -1
  335. package/dist/assets/index-BEpJ8S2b.js +0 -11
  336. package/dist/assets/index-UKZ4bO6i.css +0 -2
  337. package/dist/assets/integrations-page-BnPiOw9v.js +0 -1
  338. package/dist/assets/invalidate-memory-queries-D8VNhm2x.js +0 -1
  339. package/dist/assets/invalidate-plugin-queries-v7687-U8.js +0 -1
  340. package/dist/assets/list-row-BOvxGO5h.js +0 -1
  341. package/dist/assets/local-mode-BKousn41.js +0 -39
  342. package/dist/assets/login-page-BR42WUVt.js +0 -1
  343. package/dist/assets/machine-sizes-CT-fSRKD.js +0 -1
  344. package/dist/assets/memory-page-route-CW1Fgh6X.js +0 -2
  345. package/dist/assets/mutation-error-DoEwwcm3.js +0 -1
  346. package/dist/assets/native-anchor-BeAcmUWk.js +0 -1
  347. package/dist/assets/native-biometric-DUHF57O_.js +0 -6
  348. package/dist/assets/native-deep-link-D4jZANvf.js +0 -1
  349. package/dist/assets/native-file-CfGNNXKe.js +0 -2
  350. package/dist/assets/navigation-resolver-BIPJSTY5.js +0 -1
  351. package/dist/assets/open-workspace-file-AUDky4i4.js +0 -2
  352. package/dist/assets/page-empty-state-DTRXFoHj.js +0 -1
  353. package/dist/assets/panel-item-CQt19wOM.js +0 -1
  354. package/dist/assets/plans-page-GiIsWq7v.js +0 -1
  355. package/dist/assets/platform-detection-D1fBX4KG.js +0 -1
  356. package/dist/assets/plugins-surface-BGSKlIwH.js +0 -1
  357. package/dist/assets/privacy-screen-hSx7ZwqA.js +0 -1
  358. package/dist/assets/provider-key-B07UMm1T.js +0 -1
  359. package/dist/assets/provider-signup-page-BapnHqaW.js +0 -1
  360. package/dist/assets/provisioning-targets-epeYMPhZ.js +0 -1
  361. package/dist/assets/react-query.gen-9VRdubOj.js +0 -1
  362. package/dist/assets/react-query.gen-BeiAUt-2.js +0 -1
  363. package/dist/assets/research-onboarding-route-DpgbtSS0.js +0 -50
  364. package/dist/assets/resolved-assistants-store-FEmi1gGu.js +0 -1
  365. package/dist/assets/retire-confirm-dialog-CFJqb_EM.js +0 -1
  366. package/dist/assets/risk-RmzL2Rk_.js +0 -3
  367. package/dist/assets/routes-NQmj27cY.js +0 -23
  368. package/dist/assets/runtime-upgrade-banner-BM2b81eK.js +0 -2
  369. package/dist/assets/schedules-BMEs36wC.js +0 -1
  370. package/dist/assets/schedules-page-BkOE2joT.js +0 -1
  371. package/dist/assets/sdk.gen-DHJ7Pbqq.js +0 -1
  372. package/dist/assets/select-assistant-screen-S526udI9.js +0 -1
  373. package/dist/assets/semver-Ok0Hi8v9.js +0 -1
  374. package/dist/assets/settings-layout-DKr7K-B6.js +0 -1
  375. package/dist/assets/settings-navigation-ji_jJYq2.js +0 -1
  376. package/dist/assets/share-feedback-modal-GLBRzcZa.js +0 -1
  377. package/dist/assets/signup-page-C0y2CTKm.js +0 -1
  378. package/dist/assets/site-favicon-Dx98M-cB.js +0 -1
  379. package/dist/assets/subagent-detail-panel-Cvmfu7Ym.js +0 -4
  380. package/dist/assets/subagent-store-B2Uhma4F.js +0 -3
  381. package/dist/assets/superpowers-page-CPBz-c5i.js +0 -1
  382. package/dist/assets/tool-detail-panel-DyfiRoE5.js +0 -2
  383. package/dist/assets/transcript-message-body-shared-Cb89j7p1.js +0 -1
  384. package/dist/assets/use-assistant-avatar-BcObK2L0.js +0 -1
  385. package/dist/assets/use-assistant-identity-details-BdFppz9B.js +0 -1
  386. package/dist/assets/use-avatar-accent-var-rnSeYvBI.js +0 -1
  387. package/dist/assets/use-checkout-dismiss-refresh-wRSmB_TU.js +0 -1
  388. package/dist/assets/use-command-palette-sections-GAugkmjU.js +0 -1
  389. package/dist/assets/use-invite-link-dialog-yw1dtYd_.js +0 -1
  390. package/dist/assets/use-is-org-ready-BrKAc9Df.js +0 -1
  391. package/dist/assets/use-platform-gate-Cv2oOK8C.js +0 -1
  392. package/dist/assets/use-reduced-motion-D0Rb5Fd_.js +0 -1
  393. package/dist/assets/use-return-to-short-circuit-DEKlWitV.js +0 -1
  394. package/dist/assets/use-save-twilio-credentials-CecOWIyh.js +0 -1
  395. package/dist/assets/use-sticky-profiles-CdiEmubF.js +0 -1
  396. package/dist/assets/use-subagent-card-data-DJujXR76.js +0 -1
  397. package/dist/assets/use-supports-bookmarks-D4_-FkJA.js +0 -1
  398. package/dist/assets/use-supports-credentials-settings-CGDLraXI.js +0 -1
  399. package/dist/assets/utils-D8KOSvh3.js +0 -1
  400. package/dist/assets/video-BcgduiJ6.js +0 -1
  401. package/dist/assets/voice-list-DeqvOR_J.js +0 -1
  402. package/dist/assets/voice-page-Cas-WIf4.js +0 -1
  403. package/dist/assets/voice-picker-modal-D0K6miA1.js +0 -1
  404. package/dist/assets/web-BTtRunTK.js +0 -1
  405. package/dist/assets/web-Bd-5Eyoa.js +0 -1
  406. package/dist/assets/web-ByAAA1Mb.js +0 -1
  407. package/dist/assets/web-DFbI_g4o.js +0 -1
  408. package/dist/assets/web-DIn7jUpJ.js +0 -1
  409. package/dist/assets/web-DYQ0KCC4.js +0 -1
  410. package/dist/assets/web-Db-2E0qX.js +0 -1
  411. package/dist/assets/web-PfT3uNnR.js +0 -1
  412. package/dist/assets/workspace-page-Dq0z3-Rs.js +0 -1
  413. package/dist/assets/zoom-in-C96B1CNL.js +0 -1
  414. /package/dist/assets/{Combination-BRDRMC4m.js → Combination-C7TWRLS7.js} +0 -0
  415. /package/dist/assets/{api-errors-DHvv5HEN.js → api-errors-SZKDzMLE.js} +0 -0
  416. /package/dist/assets/{app-types-BnzWLsk5.js → app-types-o5Qc-xkK.js} +0 -0
  417. /package/dist/assets/{apple-logo-C3XrRC_i.js → apple-logo-Cg-KnqW2.js} +0 -0
  418. /package/dist/assets/{avatar-bundled-components-yyfTpx_l.js → avatar-bundled-components-CTd294ra.js} +0 -0
  419. /package/dist/assets/{avatar-subagent-Bpy9-0YN.js → avatar-subagent-BpXST4nO.js} +0 -0
  420. /package/dist/assets/{avatar-svg-compositor-DeuQqt-f.js → avatar-svg-compositor-DclcUb1M.js} +0 -0
  421. /package/dist/assets/{avatar-tone-BBZKSrBa.js → avatar-tone-4L7foPzW.js} +0 -0
  422. /package/dist/assets/{build.umd-CpQXlBwc.js → build.umd-oXvZOmIf.js} +0 -0
  423. /package/dist/assets/{chat-B9S7HTkM.js → chat-BIJEFb5u.js} +0 -0
  424. /package/dist/assets/{client.gen-DPP573hb.js → client.gen-DHOmbzD9.js} +0 -0
  425. /package/dist/assets/{create-selectors-B41BzcFF.js → create-selectors-B-P03-8K.js} +0 -0
  426. /package/dist/assets/{definitions-B2pe1hr8.js → definitions-BD-g60mP.js} +0 -0
  427. /package/dist/assets/{definitions-B6TMLvuT.js → definitions-CL6e7nYF.js} +0 -0
  428. /package/dist/assets/{dist-BbzsnMsY.js → dist-BKxs5XmY.js} +0 -0
  429. /package/dist/assets/{dist-CCFYMOVM.js → dist-CFSiz2ry2.js} +0 -0
  430. /package/dist/assets/{dist-BxvMAFS8.js → dist-CKLJHt4Z.js} +0 -0
  431. /package/dist/assets/{domains-BLQZqRIT.js → domains-OaR_FpOR.js} +0 -0
  432. /package/dist/assets/{edit-chat-session-DDnAzqkB.js → edit-chat-session-Beky6Vpg.js} +0 -0
  433. /package/dist/assets/{ellipsis-DnoqTkj4.js → ellipsis-BRJI5_P1.js} +0 -0
  434. /package/dist/assets/{emoji-catalog-data-DvjqmdH4.js → emoji-catalog-data-5pJaL_3N.js} +0 -0
  435. /package/dist/assets/{event-bus-DYZhc6yM.js → event-bus-CvZyJQ26.js} +0 -0
  436. /package/dist/assets/{external-link-CS0aVYGt.js → external-link-CAce-RVu.js} +0 -0
  437. /package/dist/assets/{external-urls-DIbR-npW.js → external-urls-97O9n0lb.js} +0 -0
  438. /package/dist/assets/{eye-BMVGQXHT.js → eye-DTyDWiqu.js} +0 -0
  439. /package/dist/assets/{eye-off-Jdx8qkOK.js → eye-off-fuOP4Lij.js} +0 -0
  440. /package/dist/assets/{file-code-BDHws4Dk.js → file-code-DD3K2kve.js} +0 -0
  441. /package/dist/assets/{file-plus-C3SBA8ll.js → file-plus-Dq2xo7Ic.js} +0 -0
  442. /package/dist/assets/{file-text-Br730Q4B.js → file-text-BCsUYVEF.js} +0 -0
  443. /package/dist/assets/{folder-DF8nFp7N.js → folder-g06qTW2O.js} +0 -0
  444. /package/dist/assets/{folder-open-Nlg0OphT.js → folder-open-CAb0DLYq.js} +0 -0
  445. /package/dist/assets/{format-date-BEAiOK8n.js → format-date-CKGQir4m.js} +0 -0
  446. /package/dist/assets/{format-file-size-BtDHBEb-.js → format-file-size-Eu-Z0CxL.js} +0 -0
  447. /package/dist/assets/{globe-CMtjL_s_.js → globe-BDvXuPkw.js} +0 -0
  448. /package/dist/assets/{hard-drive-DWFPKcXI.js → hard-drive-CncrDZ7V.js} +0 -0
  449. /package/dist/assets/{heart-789ajxtB.js → heart-2AHOP0tB.js} +0 -0
  450. /package/dist/assets/{inbox-B6TknLsk.js → inbox-DXYIwUrn.js} +0 -0
  451. /package/dist/assets/{info-vgPTIsGI.js → info-CYiVdnQV.js} +0 -0
  452. /package/dist/assets/{input-F_x2LXmm.js → input-C-GkeWCw.js} +0 -0
  453. /package/dist/assets/{is-electron-D-TCQRcE.js → is-electron-7N7iyz1y.js} +0 -0
  454. /package/dist/assets/{key-round-0Zop_GsZ.js → key-round-CSc3w5ka.js} +0 -0
  455. /package/dist/assets/{laptop-DSZhU52i.js → laptop-ByoaxLxg.js} +0 -0
  456. /package/dist/assets/{layout-grid-DA_CfD6d.js → layout-grid-PPpVK0nJ.js} +0 -0
  457. /package/dist/assets/{link-2-BKL8QWRX.js → link-2-BMNZFfWH.js} +0 -0
  458. /package/dist/assets/{link-BfUb7cwC.js → link-CowyzCIZ.js} +0 -0
  459. /package/dist/assets/{link-click-BIvzZsRn.js → link-click-BEiniqcG.js} +0 -0
  460. /package/dist/assets/{list-DNbTcxAh.js → list-CDyb1CGV.js} +0 -0
  461. /package/dist/assets/{loader-circle-XREx3i4W.js → loader-circle-BzJ2kz3F.js} +0 -0
  462. /package/dist/assets/{log-in-CqVJRYe-.js → log-in-Bhye1kwc.js} +0 -0
  463. /package/dist/assets/{log-out-B4hsBWnk.js → log-out-BLE632qu.js} +0 -0
  464. /package/dist/assets/{mail-CMdPNysl.js → mail-DABv3_Ue.js} +0 -0
  465. /package/dist/assets/{message-circle-BsH7vHtN.js → message-circle-gk_DFUIg.js} +0 -0
  466. /package/dist/assets/{message-square-text-D0Q7W58R.js → message-square-text-asdoy3SW.js} +0 -0
  467. /package/dist/assets/{message-square-CQGiY4zk.js → message-square-zCNXaHYX.js} +0 -0
  468. /package/dist/assets/{mic-xmDFUbCL.js → mic-DZrWtAAu.js} +0 -0
  469. /package/dist/assets/{minimize-2-CaXsUqSp.js → minimize-2-BR0ed4mI.js} +0 -0
  470. /package/dist/assets/{misc-CXDB4i-X.js → misc-CAQM4FGM.js} +0 -0
  471. /package/dist/assets/{monitor-B1y28fS1.js → monitor-B5vtTCxm.js} +0 -0
  472. /package/dist/assets/{moon-BJzODLTY.js → moon-DSdti3GO.js} +0 -0
  473. /package/dist/assets/{oauth-popup-BsYPnBq7.js → oauth-popup-Ql5xgtlO.js} +0 -0
  474. /package/dist/assets/{onboarding-step-layout-Do2o16kf.js → onboarding-step-layout-DGtbhZJb.js} +0 -0
  475. /package/dist/assets/{optimistic-lifecycle-Dxhc3mFf.js → optimistic-lifecycle-50vNA6dY.js} +0 -0
  476. /package/dist/assets/{paperclip-c8Xlrnx4.js → paperclip-DVE0scjU.js} +0 -0
  477. /package/dist/assets/{pdf-CRRXY5Nb.js → pdf-8fO1Wz7e.js} +0 -0
  478. /package/dist/assets/{pencil-D38YNe2r.js → pencil-CLJIvYKH.js} +0 -0
  479. /package/dist/assets/{play-B0-JEtcm.js → play-CCT817Ah.js} +0 -0
  480. /package/dist/assets/{plugin-attribution-ug-jMTXi.js → plugin-attribution-Hjqz10My.js} +0 -0
  481. /package/dist/assets/{plus-jH3kAliM.js → plus-JG7kWjHA.js} +0 -0
  482. /package/dist/assets/{pointer-DAyn_9jY.js → pointer-QlIwQKYH.js} +0 -0
  483. /package/dist/assets/{profile-metadata-EGAGq_rk.js → profile-metadata-BksFtHNq.js} +0 -0
  484. /package/dist/assets/{progress-bar-B64ghmWk.js → progress-bar-CJxkStgF.js} +0 -0
  485. /package/dist/assets/{public-asset-BoN50HP_.js → public-asset-CD3ouSWU.js} +0 -0
  486. /package/dist/assets/{puzzle-BVC3TGko.js → puzzle-CtM3jM-f.js} +0 -0
  487. /package/dist/assets/{refresh-cw-DzPnoeCh.js → refresh-cw-Ci7hSykC.js} +0 -0
  488. /package/dist/assets/{repeat-GCVYEp1h.js → repeat-CIQpv9Nd.js} +0 -0
  489. /package/dist/assets/{rotate-ccw-BjzeX7qz.js → rotate-ccw-Da_2DvhY.js} +0 -0
  490. /package/dist/assets/{sdk.gen-CtusrdLv.js → sdk.gen-DEFA-6EJ.js} +0 -0
  491. /package/dist/assets/{search-BVW-n8to.js → search-DA3TmTuR.js} +0 -0
  492. /package/dist/assets/{send-Q71Exj3z.js → send-DHWUIK7G.js} +0 -0
  493. /package/dist/assets/{settings-PGZ9c_uo.js → settings-DyEBEqeQ.js} +0 -0
  494. /package/dist/assets/{shield-B69p45Kq.js → shield-9aFTFyT9.js} +0 -0
  495. /package/dist/assets/{shield-check-C7I-REGg.js → shield-check-z7CU-gBq.js} +0 -0
  496. /package/dist/assets/{smartphone-zTfpbpuH.js → smartphone-BbK6bGuE.js} +0 -0
  497. /package/dist/assets/{sparkles-nPSxUfsO.js → sparkles-DC8kqYjt.js} +0 -0
  498. /package/dist/assets/{square-CRVB76KQ.js → square-Bn3X6ZlO.js} +0 -0
  499. /package/dist/assets/{status-badge-pill-CGODAHVT.js → status-badge-pill-ZNNoKV1T.js} +0 -0
  500. /package/dist/assets/{sun-DXlsFvWD.js → sun-BKEPYS7Q.js} +0 -0
  501. /package/dist/assets/{terminal-BvDcWAOW.js → terminal-Cs_TREv-.js} +0 -0
  502. /package/dist/assets/{three-dot-indicator-B_GPAioB.js → three-dot-indicator-CfjkCgEH.js} +0 -0
  503. /package/dist/assets/{toggle-B4nIp0sf.js → toggle-D776PTw-.js} +0 -0
  504. /package/dist/assets/{trash-2-BF5y4UkY.js → trash-2-De6X8YiM.js} +0 -0
  505. /package/dist/assets/{triangle-alert-Dq3v0coH.js → triangle-alert--e3n47gm.js} +0 -0
  506. /package/dist/assets/{typed-storage-CcMT-hWr.js → typed-storage-C-R1po3l.js} +0 -0
  507. /package/dist/assets/{use-copy-to-clipboard-VK_922zc.js → use-copy-to-clipboard-BarKTY4m.js} +0 -0
  508. /package/dist/assets/{user-KBQkOaB5.js → user-Dq9DUxnU.js} +0 -0
  509. /package/dist/assets/{user-plus-CsHAo9W6.js → user-plus-CXMJ1x_5.js} +0 -0
  510. /package/dist/assets/{users-C0mu7-R4.js → users-DWDkv8ju.js} +0 -0
  511. /package/dist/assets/{volume-2-DnyXryvu.js → volume-2-Bj3y3ZBJ.js} +0 -0
  512. /package/dist/assets/{workflow-CN4xwQpa.js → workflow-DbPANJpf.js} +0 -0
  513. /package/dist/assets/{workspace-theme-tokens-D8TTf-DX.js → workspace-theme-tokens-bLqHFK0a.js} +0 -0
  514. /package/dist/assets/{wrench-DDDwrNwL.js → wrench-tjOqvzJ2.js} +0 -0
  515. /package/dist/assets/{x-BGag7vwj.js → x-DuBvjmAE.js} +0 -0
  516. /package/dist/assets/{xterm-coCKWVob.js → xterm-Ip5qSQfD.js} +0 -0
  517. /package/dist/assets/{xterm-addon-fit-B1qPIPGd.js → xterm-addon-fit-BbxIpbO2.js} +0 -0
@@ -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"./createLucideIcon-CAM1RhH8.js";import{n as i,t as a}from"./middleware-HE0NLvPl.js";import{n as o,t as s}from"./create-selectors-B41BzcFF.js";var c=r(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),l=n();function u({size:e=24,className:t,style:n}){return(0,l.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 127.14 96.36`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,l.jsx)(`path`,{d:`M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77.3 77.3 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53.05c0-6.94 5.04-12.67 11.45-12.67S54 46.08 53.91 53.05c0 6.95-5.07 12.64-11.46 12.64Zm42.24 0C78.41 65.69 73.25 60 73.25 53.05c0-6.94 5.04-12.67 11.44-12.67s11.51 5.73 11.44 12.67c0 6.95-5.06 12.64-11.44 12.64Z`})})}var d=e(t(),1),f={githubStarred:!1,githubBannerDismissed:!1,githubBannerDismissedAt:0,githubFirstSeenAt:0,githubUserMessagesSeen:0,discordJoined:!1,discordBannerDismissed:!1,discordFirstSeenAt:0},p=`vellum:nudge-prefs`,m=o()(i((e,t)=>({...f,markGitHubStarred:()=>e({githubStarred:!0}),dismissGitHubBanner:()=>e({githubBannerDismissed:!0,githubBannerDismissedAt:Date.now()}),ensureGitHubFirstSeenAt:()=>{t().githubFirstSeenAt===0&&e({githubFirstSeenAt:Date.now()})},incrementGitHubUserMessagesSeen:n=>{n<=0||e({githubUserMessagesSeen:t().githubUserMessagesSeen+n})},markDiscordJoined:()=>e({discordJoined:!0}),dismissDiscordBanner:()=>e({discordBannerDismissed:!0}),ensureDiscordFirstSeenAt:()=>{t().discordFirstSeenAt===0&&e({discordFirstSeenAt:Date.now()})}}),{name:p,storage:a(()=>localStorage),partialize:e=>({githubStarred:e.githubStarred,githubBannerDismissed:e.githubBannerDismissed,githubBannerDismissedAt:e.githubBannerDismissedAt,githubFirstSeenAt:e.githubFirstSeenAt,githubUserMessagesSeen:e.githubUserMessagesSeen,discordJoined:e.discordJoined,discordBannerDismissed:e.discordBannerDismissed,discordFirstSeenAt:e.discordFirstSeenAt})})),h=s(m);typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===p&&m.persist.rehydrate()});var g=`https://github.com/vellum-ai/vellum-assistant`,_=1440*60*1e3;function v(){return h.getState().githubStarred}function y(){return h.getState().githubBannerDismissedAt}function b(){return h.getState().githubUserMessagesSeen}function x(){h.getState().ensureGitHubFirstSeenAt()}function S(e){h.getState().incrementGitHubUserMessagesSeen(e)}function C(){let e=h.use.githubStarred(),t=h.use.githubBannerDismissed(),n=h.use.githubFirstSeenAt(),r=h.use.githubUserMessagesSeen(),[i,a]=(0,d.useState)(()=>n===0?!1:Date.now()-n>=_);(0,d.useEffect)(()=>{if(n===0||i)return;let e=_-(Date.now()-n);if(e<=0){a(!0);return}let t=setTimeout(()=>a(!0),e);return()=>clearTimeout(t)},[n,i]);let o=i||r>=5,s=(0,d.useCallback)(()=>{w(),h.getState().markGitHubStarred()},[]),c=(0,d.useCallback)(()=>{h.getState().dismissGitHubBanner()},[]);return{bannerShouldShow:!e&&!t&&o,handleStar:s,handleBannerDismiss:c}}function w(){typeof window>`u`||window.open(g,`_blank`,`noopener,noreferrer`)}var T=`https://discord.gg/ZABd9V2zM8`,E=1440*60*1e3;function D(){h.getState().ensureDiscordFirstSeenAt()}function O(){return v()?!0:h.getState().githubBannerDismissed}function k(){let e=y();return e===0?!0:Date.now()-e>=E}function A(){return!0}function j(e,t){return!(!e||!O()||!A()||t<2||!k())}function M(){P(),h.getState().markDiscordJoined()}function N(e,t){let n=h.use.discordJoined(),r=h.use.discordBannerDismissed();h.use.githubStarred(),h.use.githubBannerDismissed(),h.use.discordFirstSeenAt();let i=j(e,t),a=(0,d.useCallback)(()=>{P(),h.getState().markDiscordJoined()},[]),o=(0,d.useCallback)(()=>{h.getState().dismissDiscordBanner()},[]);return{bannerShouldShow:i&&!n&&!r,handleJoin:a,handleBannerDismiss:o}}function P(){typeof window>`u`||window.open(T,`_blank`,`noopener,noreferrer`)}export{x as a,C as c,g as i,u as l,M as n,S as o,N as r,b as s,D as t,c as u};
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"./createLucideIcon-CAM1RhH8.js";import{n as i,t as a}from"./middleware-HE0NLvPl.js";import{n as o,t as s}from"./create-selectors-B-P03-8K.js";var c=r(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),l=n();function u({size:e=24,className:t,style:n}){return(0,l.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 127.14 96.36`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,l.jsx)(`path`,{d:`M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77.3 77.3 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53.05c0-6.94 5.04-12.67 11.45-12.67S54 46.08 53.91 53.05c0 6.95-5.07 12.64-11.46 12.64Zm42.24 0C78.41 65.69 73.25 60 73.25 53.05c0-6.94 5.04-12.67 11.44-12.67s11.51 5.73 11.44 12.67c0 6.95-5.06 12.64-11.44 12.64Z`})})}var d=e(t(),1),f={githubStarred:!1,githubBannerDismissed:!1,githubBannerDismissedAt:0,githubFirstSeenAt:0,githubUserMessagesSeen:0,discordJoined:!1,discordBannerDismissed:!1,discordFirstSeenAt:0},p=`vellum:nudge-prefs`,m=o()(i((e,t)=>({...f,markGitHubStarred:()=>e({githubStarred:!0}),dismissGitHubBanner:()=>e({githubBannerDismissed:!0,githubBannerDismissedAt:Date.now()}),ensureGitHubFirstSeenAt:()=>{t().githubFirstSeenAt===0&&e({githubFirstSeenAt:Date.now()})},incrementGitHubUserMessagesSeen:n=>{n<=0||e({githubUserMessagesSeen:t().githubUserMessagesSeen+n})},markDiscordJoined:()=>e({discordJoined:!0}),dismissDiscordBanner:()=>e({discordBannerDismissed:!0}),ensureDiscordFirstSeenAt:()=>{t().discordFirstSeenAt===0&&e({discordFirstSeenAt:Date.now()})}}),{name:p,storage:a(()=>localStorage),partialize:e=>({githubStarred:e.githubStarred,githubBannerDismissed:e.githubBannerDismissed,githubBannerDismissedAt:e.githubBannerDismissedAt,githubFirstSeenAt:e.githubFirstSeenAt,githubUserMessagesSeen:e.githubUserMessagesSeen,discordJoined:e.discordJoined,discordBannerDismissed:e.discordBannerDismissed,discordFirstSeenAt:e.discordFirstSeenAt})})),h=s(m);typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===p&&m.persist.rehydrate()});var g=`https://github.com/vellum-ai/vellum-assistant`,_=1440*60*1e3;function v(){return h.getState().githubStarred}function y(){return h.getState().githubBannerDismissedAt}function b(){return h.getState().githubUserMessagesSeen}function x(){h.getState().ensureGitHubFirstSeenAt()}function S(e){h.getState().incrementGitHubUserMessagesSeen(e)}function C(){let e=h.use.githubStarred(),t=h.use.githubBannerDismissed(),n=h.use.githubFirstSeenAt(),r=h.use.githubUserMessagesSeen(),[i,a]=(0,d.useState)(()=>n===0?!1:Date.now()-n>=_);(0,d.useEffect)(()=>{if(n===0||i)return;let e=_-(Date.now()-n);if(e<=0){a(!0);return}let t=setTimeout(()=>a(!0),e);return()=>clearTimeout(t)},[n,i]);let o=i||r>=5,s=(0,d.useCallback)(()=>{w(),h.getState().markGitHubStarred()},[]),c=(0,d.useCallback)(()=>{h.getState().dismissGitHubBanner()},[]);return{bannerShouldShow:!e&&!t&&o,handleStar:s,handleBannerDismiss:c}}function w(){typeof window>`u`||window.open(g,`_blank`,`noopener,noreferrer`)}var T=`https://discord.gg/ZABd9V2zM8`,E=1440*60*1e3;function D(){h.getState().ensureDiscordFirstSeenAt()}function O(){return v()?!0:h.getState().githubBannerDismissed}function k(){let e=y();return e===0?!0:Date.now()-e>=E}function A(){return!0}function j(e,t){return!(!e||!O()||!A()||t<2||!k())}function M(){P(),h.getState().markDiscordJoined()}function N(e,t){let n=h.use.discordJoined(),r=h.use.discordBannerDismissed();h.use.githubStarred(),h.use.githubBannerDismissed(),h.use.discordFirstSeenAt();let i=j(e,t),a=(0,d.useCallback)(()=>{P(),h.getState().markDiscordJoined()},[]),o=(0,d.useCallback)(()=>{h.getState().dismissDiscordBanner()},[]);return{bannerShouldShow:i&&!n&&!r,handleJoin:a,handleBannerDismiss:o}}function P(){typeof window>`u`||window.open(T,`_blank`,`noopener,noreferrer`)}export{x as a,C as c,g as i,u as l,M as n,S as o,N as r,b as s,D as t,c as u};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n,r}from"./use-edge-swipe-DDntz5ZJ.js";import{t as i}from"./edge-swipe-arbiter-store-QUBer3EI.js";var a=e(t(),1),o=200,s=180,c=200,l=.25,u=50;function d(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function f({containerRef:e,onBack:t,enabled:f,navKey:p}){let m=(0,a.useRef)(t);(0,a.useLayoutEffect)(()=>{m.current=t},[t]);let h=(0,a.useRef)(!1),g=(0,a.useRef)(new Set),_=(0,a.useRef)(!1),v=i.use.registerBackOwner(),y=i.use.unregisterBackOwner();(0,a.useEffect)(()=>{if(f)return v(),y},[f,v,y]),(0,a.useEffect)(()=>{_.current=!1;let t=g.current;return()=>{_.current=!0;for(let e of t)clearTimeout(e);t.clear();let n=e.current;n&&d(n)}},[e]);let b=(e,t)=>{let n=setTimeout(()=>{g.current.delete(n),_.current||e()},t);g.current.add(n)},x=(e,t)=>{e.style.transform=t===0?``:`translateX(${t}px)`},S=e=>{e.style.transition=`transform ${o}ms ease-out`,x(e,0);let t=()=>{e.removeEventListener(`transitionend`,t),d(e)};e.addEventListener(`transitionend`,t,{once:!0}),b(()=>d(e),o+u)},C=e=>{e.style.transition=`transform ${s}ms ease-in`,x(e,window.innerWidth);let t=!1,n=()=>{if(t||_.current)return;t=!0,e.removeEventListener(`transitionend`,n);let r=-(window.innerWidth*l);e.style.transition=`none`,e.style.transform=`translateX(${r}px)`,e.style.opacity=`0`,e.offsetWidth,h.current=!0,m.current(),b(()=>{h.current&&(h.current=!1,d(e))},c*2)};e.addEventListener(`transitionend`,n,{once:!0}),b(n,s+u)};r({enabled:f,onConfirm:()=>{let t=e.current;t&&(t.style.transition=`none`,t.style.willChange=`transform`)},onMove:(t,r)=>{let i=e.current;i&&x(i,n(t,r))},onCommit:()=>{let t=e.current;if(!t){m.current();return}C(t)},onCancel:t=>{let n=e.current;n&&(t?S(n):d(n))}}),(0,a.useLayoutEffect)(()=>{if(!h.current)return;h.current=!1;let t=e.current;if(!t)return;let n=!1,r=()=>{n||(n=!0,t.removeEventListener(`transitionend`,r),d(t))};t.style.transition=`transform ${c}ms ease-out, opacity ${c}ms ease-out`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,r,{once:!0});let i=setTimeout(r,c+u);return()=>{clearTimeout(i),t.removeEventListener(`transitionend`,r),d(t)}},[p,e])}export{f as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n,r}from"./use-edge-swipe-sMxDzAcb.js";import{t as i}from"./edge-swipe-arbiter-store-D9XJTxJJ.js";var a=e(t(),1),o=200,s=180,c=200,l=.25,u=50;function d(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function f({containerRef:e,onBack:t,enabled:f,navKey:p}){let m=(0,a.useRef)(t);(0,a.useLayoutEffect)(()=>{m.current=t},[t]);let h=(0,a.useRef)(!1),g=(0,a.useRef)(new Set),_=(0,a.useRef)(!1),v=i.use.registerBackOwner(),y=i.use.unregisterBackOwner();(0,a.useEffect)(()=>{if(f)return v(),y},[f,v,y]),(0,a.useEffect)(()=>{_.current=!1;let t=g.current;return()=>{_.current=!0;for(let e of t)clearTimeout(e);t.clear();let n=e.current;n&&d(n)}},[e]);let b=(e,t)=>{let n=setTimeout(()=>{g.current.delete(n),_.current||e()},t);g.current.add(n)},x=(e,t)=>{e.style.transform=t===0?``:`translateX(${t}px)`},S=e=>{e.style.transition=`transform ${o}ms ease-out`,x(e,0);let t=()=>{e.removeEventListener(`transitionend`,t),d(e)};e.addEventListener(`transitionend`,t,{once:!0}),b(()=>d(e),o+u)},C=e=>{e.style.transition=`transform ${s}ms ease-in`,x(e,window.innerWidth);let t=!1,n=()=>{if(t||_.current)return;t=!0,e.removeEventListener(`transitionend`,n);let r=-(window.innerWidth*l);e.style.transition=`none`,e.style.transform=`translateX(${r}px)`,e.style.opacity=`0`,e.offsetWidth,h.current=!0,m.current(),b(()=>{h.current&&(h.current=!1,d(e))},c*2)};e.addEventListener(`transitionend`,n,{once:!0}),b(n,s+u)};r({enabled:f,onConfirm:()=>{let t=e.current;t&&(t.style.transition=`none`,t.style.willChange=`transform`)},onMove:(t,r)=>{let i=e.current;i&&x(i,n(t,r))},onCommit:()=>{let t=e.current;if(!t){m.current();return}C(t)},onCancel:t=>{let n=e.current;n&&(t?S(n):d(n))}}),(0,a.useLayoutEffect)(()=>{if(!h.current)return;h.current=!1;let t=e.current;if(!t)return;let n=!1,r=()=>{n||(n=!0,t.removeEventListener(`transitionend`,r),d(t))};t.style.transition=`transform ${c}ms ease-out, opacity ${c}ms ease-out`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,r,{once:!0});let i=setTimeout(r,c+u);return()=>{clearTimeout(i),t.removeEventListener(`transitionend`,r),d(t)}},[p,e])}export{f as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./haptics-BTcSZuHP.js";import{t as r}from"./pointer-DAyn_9jY.js";var i=e(t(),1),a=.5,o=100,s=.3,c=.7,l=10,u=.3;function d(e){return Math.min(o,e*s)}function f(e){return e*a}function p(e){return e instanceof Element?e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"]), [data-message-text]`)!==null:!1}function m(e,t,n){return!(e>f(t)||n&&e>20)}function h(e,t){return Math.abs(t)>Math.abs(e)*c}function g(e,t){return Math.abs(e)<l&&Math.abs(t)<l?`pending`:h(e,t)||e<=0?`cancel`:`confirm`}function _(e,t){return e<=t?e:t+(e-t)*u}function v(e,t){return Math.min(0,e-t)}function y(e,t){return e>=t}function b(e,t){for(let n=0;n<e.length;n+=1){let r=e[n];if(r&&r.identifier===t)return r}return null}function x({enabled:e,onConfirm:t,onMove:a,onCommit:o,onCancel:s}){let c=(0,i.useRef)(null),l=(0,i.useRef)(e),u=(0,i.useRef)({onConfirm:t,onMove:a,onCommit:o,onCancel:s});(0,i.useLayoutEffect)(()=>{l.current=e,u.current={onConfirm:t,onMove:a,onCommit:o,onCancel:s}}),(0,i.useEffect)(()=>{if(!r())return;let e=()=>d(window.innerWidth),t=e=>{c.current=null,u.current.onCancel(e)},i=e=>{if(!l.current||c.current||e.touches.length!==1)return;let t=e.touches[0];t&&m(t.clientX,window.innerWidth,p(e.target))&&(c.current={touchId:t.identifier,startX:t.clientX,startY:t.clientY,confirmed:!1,hasFiredHaptic:!1})},a=r=>{let i=c.current;if(!i)return;if(r.touches.length>1){t(!1);return}let a=b(r.touches,i.touchId);if(!a)return;let o=a.clientX-i.startX,s=a.clientY-i.startY;if(!i.confirmed){let e=g(o,s);if(e===`pending`)return;if(e===`cancel`){t(!1);return}i.confirmed=!0,u.current.onConfirm?.()}let l=e();if(h(o,s)&&o<l){t(!0);return}o>=l&&!i.hasFiredHaptic&&(i.hasFiredHaptic=!0,n.light()),u.current.onMove(o,l,a.clientX)},o=n=>{let r=c.current;if(!r)return;let i=b(n.changedTouches,r.touchId),a=i?i.clientX-r.startX:0,o=e();r.confirmed&&y(a,o)?(c.current=null,u.current.onCommit(a,o)):r.confirmed?t(!0):t(!1)},s=()=>{t(c.current?.confirmed??!1)};return document.addEventListener(`touchstart`,i,{passive:!0}),document.addEventListener(`touchmove`,a,{passive:!0}),document.addEventListener(`touchend`,o,{passive:!0}),document.addEventListener(`touchcancel`,s,{passive:!0}),()=>{c.current=null,document.removeEventListener(`touchstart`,i),document.removeEventListener(`touchmove`,a),document.removeEventListener(`touchend`,o),document.removeEventListener(`touchcancel`,s)}},[])}export{_ as n,x as r,v as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./haptics-agodX1nl.js";import{t as r}from"./pointer-QlIwQKYH.js";var i=e(t(),1),a=.5,o=100,s=.3,c=.7,l=10,u=.3;function d(e){return Math.min(o,e*s)}function f(e){return e*a}function p(e){return e instanceof Element?e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"]), [data-message-text]`)!==null:!1}function m(e,t,n){return!(e>f(t)||n&&e>20)}function h(e,t){return Math.abs(t)>Math.abs(e)*c}function g(e,t){return Math.abs(e)<l&&Math.abs(t)<l?`pending`:h(e,t)||e<=0?`cancel`:`confirm`}function _(e,t){return e<=t?e:t+(e-t)*u}function v(e,t){return Math.min(0,e-t)}function y(e,t){return e>=t}function b(e,t){for(let n=0;n<e.length;n+=1){let r=e[n];if(r&&r.identifier===t)return r}return null}function x({enabled:e,onConfirm:t,onMove:a,onCommit:o,onCancel:s}){let c=(0,i.useRef)(null),l=(0,i.useRef)(e),u=(0,i.useRef)({onConfirm:t,onMove:a,onCommit:o,onCancel:s});(0,i.useLayoutEffect)(()=>{l.current=e,u.current={onConfirm:t,onMove:a,onCommit:o,onCancel:s}}),(0,i.useEffect)(()=>{if(!r())return;let e=()=>d(window.innerWidth),t=e=>{c.current=null,u.current.onCancel(e)},i=e=>{if(!l.current||c.current||e.touches.length!==1)return;let t=e.touches[0];t&&m(t.clientX,window.innerWidth,p(e.target))&&(c.current={touchId:t.identifier,startX:t.clientX,startY:t.clientY,confirmed:!1,hasFiredHaptic:!1})},a=r=>{let i=c.current;if(!i)return;if(r.touches.length>1){t(!1);return}let a=b(r.touches,i.touchId);if(!a)return;let o=a.clientX-i.startX,s=a.clientY-i.startY;if(!i.confirmed){let e=g(o,s);if(e===`pending`)return;if(e===`cancel`){t(!1);return}i.confirmed=!0,u.current.onConfirm?.()}let l=e();if(h(o,s)&&o<l){t(!0);return}o>=l&&!i.hasFiredHaptic&&(i.hasFiredHaptic=!0,n.light()),u.current.onMove(o,l,a.clientX)},o=n=>{let r=c.current;if(!r)return;let i=b(n.changedTouches,r.touchId),a=i?i.clientX-r.startX:0,o=e();r.confirmed&&y(a,o)?(c.current=null,u.current.onCommit(a,o)):r.confirmed?t(!0):t(!1)},s=()=>{t(c.current?.confirmed??!1)};return document.addEventListener(`touchstart`,i,{passive:!0}),document.addEventListener(`touchmove`,a,{passive:!0}),document.addEventListener(`touchend`,o,{passive:!0}),document.addEventListener(`touchcancel`,s,{passive:!0}),()=>{c.current=null,document.removeEventListener(`touchstart`,i),document.removeEventListener(`touchmove`,a),document.removeEventListener(`touchend`,o),document.removeEventListener(`touchcancel`,s)}},[])}export{_ as n,x as r,v as t};
@@ -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{l 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"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{t as c}from"./chevron-up-2Qqarz0p.js";import{t as l}from"./menu-BKrcAFYk.js";import{t as u}from"./globe-CMtjL_s_.js";import{t as d}from"./loader-circle-XREx3i4W.js";import{n as f,t as p}from"./minimize-2-CaXsUqSp.js";import{t as m}from"./pencil-D38YNe2r.js";import{t as h}from"./x-BGag7vwj.js";import"./src-CnF7WXNj.js";import{n as g,t as _}from"./panel-item-CQt19wOM.js";import{n as v}from"./resolved-assistants-store-FEmi1gGu.js";import{t as y}from"./client.gen-DPP573hb.js";import{n as b}from"./event-bus-DYZhc6yM.js";import{d as x}from"./routes-CsoiCk2y.js";import{t as S}from"./conversation-store-D_eevw7L.js";import{r as C}from"./viewer-store-BVsBGqdn.js";import{n as w}from"./use-is-mobile-Cx2xnNUx.js";import{t as T}from"./misc-CXDB4i-X.js";import{r as E,t as D}from"./edit-chat-session-DDnAzqkB.js";import{n as O,t as k}from"./sandbox-bridge-CjHMJYTZ.js";var A=s(`share`,[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]),j=e(t(),1),M=a();function N({appName:e,onEdit:t,isEditing:r,onShare:i,isSharing:a,onDeploy:s,isDeploying:l,onToggleFullscreen:p,onClose:g}){let _=w(),v=_&&r===!0&&t!=null,y=i!=null&&s!=null;return(0,M.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-xl bg-[var(--surface-lift)] px-4 py-3`,children:[(0,M.jsx)(`div`,{className:`hidden md:flex items-center min-w-[72px]`,children:t!=null&&(0,M.jsx)(n,{onClick:t,children:r?`Close chat`:`Edit`})}),(0,M.jsx)(o,{variant:`body-large-default`,className:T(`flex-1 truncate text-left md:text-center text-[var(--content-emphasised)]`,v&&`cursor-pointer`),style:{lineHeight:1.4},onClick:v?t:void 0,children:e}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-[72px] justify-end`,children:[y?(0,M.jsx)(P,{onShare:i,isSharing:a,onDeploy:s,isDeploying:l,isMobile:_}):(0,M.jsxs)(M.Fragment,{children:[s!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:l?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(u,{}),onClick:s,disabled:l,tooltip:l?`Deploying…`:`Deploy`}),i!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:a?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(A,{}),onClick:i,disabled:a,tooltip:a?`Sharing…`:`Share`})]}),p!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:(0,M.jsx)(f,{}),onClick:p,tooltip:`Fullscreen`}),t!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:r?(0,M.jsx)(c,{}):(0,M.jsx)(m,{}),onClick:t,tooltip:r?`Open app`:`Edit`,active:r,className:`md:hidden`}),(0,M.jsx)(n,{variant:`outlined`,iconOnly:(0,M.jsx)(h,{}),onClick:g,tooltip:`Close`})]})]})}function P({onShare:e,isSharing:t,onDeploy:r,isDeploying:i,isMobile:a}){let[o,s]=(0,j.useState)(!1),c=t||i,f=c?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(A,{}),p=t?`Sharing…`:i?`Deploying…`:`Share & deploy`;return a?(0,M.jsxs)(g.Root,{open:o,onOpenChange:s,children:[(0,M.jsx)(g.Trigger,{asChild:!0,children:(0,M.jsx)(n,{variant:`outlined`,iconOnly:f,disabled:c,tooltip:p})}),(0,M.jsxs)(g.Content,{"aria-describedby":void 0,children:[(0,M.jsx)(g.Header,{className:`sr-only`,children:(0,M.jsx)(g.Title,{children:`Share & deploy`})}),(0,M.jsxs)(g.Body,{className:`pt-0`,children:[(0,M.jsx)(_,{icon:A,label:(0,M.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,M.jsx)(`span`,{children:`Share`}),(0,M.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{s(!1),e()}}),(0,M.jsx)(_,{icon:u,label:(0,M.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,M.jsx)(`span`,{children:`Deploy to Vercel`}),(0,M.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{s(!1),r()}})]})]})]}):(0,M.jsxs)(l.Root,{open:o,onOpenChange:s,children:[(0,M.jsx)(l.Trigger,{asChild:!0,children:(0,M.jsx)(n,{variant:`outlined`,iconOnly:f,disabled:c,tooltip:p})}),(0,M.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,M.jsx)(l.Item,{leftIcon:(0,M.jsx)(A,{size:14}),onSelect:()=>e(),className:`whitespace-nowrap`,children:`Share`}),(0,M.jsx)(l.Item,{leftIcon:(0,M.jsx)(u,{size:14}),onSelect:()=>r(),className:`whitespace-nowrap`,children:`Deploy to Vercel`})]})]})}var F=[`assistant:`,`conversation:`,`conversations:`,`apps:`,`plugins:`,`feature-flags:`];function I(e){return F.some(t=>e.startsWith(t))}function L(e,t){if(e.length===0)return[];let n=new Set(e);return t.filter(e=>n.has(e)&&!I(e))}function R(e,t){let{frameId:n,assistantId:r,appId:i,enabled:a=!0,onAction:o,onOpenVellumLink:s}=t,c=(0,j.useRef)(new Map);(0,j.useEffect)(()=>{let t=c.current,l=async c=>{let l=c.data;if(!l||l.frameId!==n||c.source!==e.current?.contentWindow)return;if(l.type===`vellum_subscribe`){if(!a)return;let{subId:e,tags:n}=l;typeof e==`string`&&Array.isArray(n)&&t.set(e,new Set(n.filter(e=>typeof e==`string`)));return}if(l.type===`vellum_unsubscribe`){let{subId:e}=l;typeof e==`string`&&t.delete(e);return}if(l.type===`vellum_surface_action`){o?.(l.actionId,l.data);return}if(l.type===`vellum_open_link`){if(!navigator.userActivation?.isActive)return;s?.(l.href,l.linkText);return}if(l.type===`vellum_asset_request`){let{callId:t,path:n}=l,o=e.current,s=(e,t)=>{o?.contentWindow?.postMessage(e,`*`,t??[])};if(!a){s({type:`vellum_asset_response`,callId:t,error:`Asset proxy disabled`});return}if(!i){s({type:`vellum_asset_response`,callId:t,error:`No app context for assets`});return}if(typeof n!=`string`||n===``||n.includes(`..`)){s({type:`vellum_asset_response`,callId:t,error:`Invalid asset path`});return}try{let e=`/v1/assistants/${r}/apps/${i}/asset/${n.split(`/`).map(encodeURIComponent).join(`/`)}`,{data:a,response:o}=await y.get({url:e,parseAs:`blob`,throwOnError:!1});if(!o?.ok||!(a instanceof Blob)){s({type:`vellum_asset_response`,callId:t,error:`Asset fetch failed (${o?.status??0})`});return}let c=await a.arrayBuffer();s({type:`vellum_asset_response`,callId:t,buffer:c,contentType:a.type||`application/octet-stream`},[c])}catch(e){s({type:`vellum_asset_response`,callId:t,error:e instanceof Error?e.message:`Asset proxy error`})}return}if(!a||l.type!==`vellum_fetch_request`)return;let{callId:u,path:d,method:f,headers:p,body:m}=l,h=e.current,g=e=>{h?.contentWindow?.postMessage(e,`*`)};if(!k.test(d)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: only /v1/x/ custom routes are allowed`});return}try{let e=new URL(d,`https://placeholder`).pathname;if(!k.test(e)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: path traversal detected`});return}}catch{g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: invalid path`});return}let _=`/v1/assistants/${r}/${d.replace(/^\/v1\//,``)}`;try{let e={url:_,throwOnError:!1,headers:p&&Object.keys(p).length>0?p:void 0,body:m?JSON.parse(m):void 0},t=await(f===`POST`?y.post:f===`PUT`?y.put:f===`PATCH`?y.patch:f===`DELETE`?y.delete:y.get)(e),n=t.response,r=t.data??t.error,i=r==null?``:typeof r==`string`?r:JSON.stringify(r);g({type:`vellum_fetch_response`,callId:u,status:n?.status??0,statusText:n?.statusText??``,body:i})}catch(e){g({type:`vellum_fetch_response`,callId:u,error:e instanceof Error?e.message:`Fetch proxy error`})}};window.addEventListener(`message`,l);let u=b(`sse.event`,r=>{let i=r.message;if(!i||i.type!==`sync_changed`||!Array.isArray(i.tags))return;let a=e.current?.contentWindow;if(!a||t.size===0)return;let o=i.tags.filter(e=>typeof e==`string`);for(let[e,r]of t){let t=L([...r],o);t.length>0&&a.postMessage({type:`vellum_event`,frameId:n,subId:e,event:{type:`sync_changed`,tags:t}},`*`)}});return()=>{window.removeEventListener(`message`,l),u()}},[n,r,i,a,o,s,e])}function z({appId:e,appName:t,html:r,assistantId:i,onClose:a,onEdit:o,isEditing:s,onShare:c,isSharing:l,onDeploy:u,isDeploying:d,route:f,enableFullscreen:m=!1,onAction:h}){let g=(0,j.useRef)(null),[_,v]=(0,j.useState)(!1),y=(0,j.useCallback)(()=>v(e=>!e),[]);(0,j.useEffect)(()=>{v(!1)},[e]),(0,j.useEffect)(()=>{if(!_)return;let e=e=>{e.key===`Escape`&&v(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let b=(0,j.useMemo)(()=>O(r,e,{fetch:!0,route:f}),[r,e,f]),x=(0,j.useMemo)(()=>{let t=0;for(let e=0;e<r.length;e++)t=(t<<5)-t+r.charCodeAt(e)|0;return`app-${e}-${t}`},[r,e]);return R(g,{frameId:e,assistantId:i,appId:e,onAction:h}),(0,M.jsxs)(`div`,{"data-testid":`app-viewer-root`,className:T(`flex flex-col overflow-hidden bg-[var(--surface-base)]`,_?`fixed inset-0 z-[60]`:`h-full rounded-xl`),children:[!_&&(0,M.jsx)(N,{appName:t,onEdit:o,isEditing:s,onShare:c,isSharing:l,onDeploy:u,isDeploying:d,onToggleFullscreen:m?y:void 0,onClose:a}),(0,M.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[_&&(0,M.jsx)(`div`,{className:`absolute z-10`,style:{top:`max(0.75rem, var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,right:`max(0.75rem, var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:(0,M.jsx)(n,{variant:`primary`,iconOnly:(0,M.jsx)(p,{}),onClick:y,tooltip:`Exit fullscreen`})}),(0,M.jsx)(`iframe`,{ref:g,srcDoc:b,sandbox:`allow-scripts allow-popups allow-popups-to-escape-sandbox`,referrerPolicy:`no-referrer`,title:t,className:`h-full w-full border-none`},x)]})]})}function B(){let e=v.use.activeAssistantId(),t=w(),n=i(),{pathname:a}=r();return(0,j.useCallback)(r=>{if(!e)return;let i=D(e,r.appId)??crypto.randomUUID();E(e,r.appId,i);let o=C.getState();(o.activeAppId!==r.appId||!o.openedAppState)&&(o.openApp(r.appId),o.setLoadedApp(r)),S.getState().setEditingConversationId(i),t?o.minimizeApp():o.enterAppEditing();let s=x.conversation(i);a!==s&&n(s)},[e,t,n,a])}export{A as i,z as n,R as r,B 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{l 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"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{t as c}from"./chevron-up-2Qqarz0p.js";import{t as l}from"./menu-CKZtG-s_.js";import{t as u}from"./globe-BDvXuPkw.js";import{t as d}from"./loader-circle-BzJ2kz3F.js";import{n as f,t as p}from"./minimize-2-BR0ed4mI.js";import{t as m}from"./pencil-CLJIvYKH.js";import{t as h}from"./x-DuBvjmAE.js";import"./src-BAS7a2RG.js";import{n as g,t as _}from"./panel-item-DGs4s9r-.js";import{n as v}from"./resolved-assistants-store-8HQDfxZh.js";import{t as y}from"./client.gen-DHOmbzD9.js";import{n as b}from"./event-bus-CvZyJQ26.js";import{d as x}from"./routes-GmNvdtLW.js";import{t as S}from"./conversation-store-C0tvFESx.js";import{r as C}from"./viewer-store--hIQLNm5.js";import{n as w}from"./use-is-mobile-Cx2xnNUx.js";import{t as T}from"./misc-CAQM4FGM.js";import{r as E,t as D}from"./edit-chat-session-Beky6Vpg.js";import{n as O,t as k}from"./sandbox-bridge-CjHMJYTZ.js";var A=s(`share`,[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]),j=e(t(),1),M=a();function N({appName:e,onEdit:t,isEditing:r,onShare:i,isSharing:a,onDeploy:s,isDeploying:l,onToggleFullscreen:p,onClose:g}){let _=w(),v=_&&r===!0&&t!=null,y=i!=null&&s!=null;return(0,M.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-xl bg-[var(--surface-lift)] px-4 py-3`,children:[(0,M.jsx)(`div`,{className:`hidden md:flex items-center min-w-[72px]`,children:t!=null&&(0,M.jsx)(n,{onClick:t,children:r?`Close chat`:`Edit`})}),(0,M.jsx)(o,{variant:`body-large-default`,className:T(`flex-1 truncate text-left md:text-center text-[var(--content-emphasised)]`,v&&`cursor-pointer`),style:{lineHeight:1.4},onClick:v?t:void 0,children:e}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-[72px] justify-end`,children:[y?(0,M.jsx)(P,{onShare:i,isSharing:a,onDeploy:s,isDeploying:l,isMobile:_}):(0,M.jsxs)(M.Fragment,{children:[s!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:l?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(u,{}),onClick:s,disabled:l,tooltip:l?`Deploying…`:`Deploy`}),i!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:a?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(A,{}),onClick:i,disabled:a,tooltip:a?`Sharing…`:`Share`})]}),p!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:(0,M.jsx)(f,{}),onClick:p,tooltip:`Fullscreen`}),t!=null&&(0,M.jsx)(n,{variant:`outlined`,iconOnly:r?(0,M.jsx)(c,{}):(0,M.jsx)(m,{}),onClick:t,tooltip:r?`Open app`:`Edit`,active:r,className:`md:hidden`}),(0,M.jsx)(n,{variant:`outlined`,iconOnly:(0,M.jsx)(h,{}),onClick:g,tooltip:`Close`})]})]})}function P({onShare:e,isSharing:t,onDeploy:r,isDeploying:i,isMobile:a}){let[o,s]=(0,j.useState)(!1),c=t||i,f=c?(0,M.jsx)(d,{className:`animate-spin`}):(0,M.jsx)(A,{}),p=t?`Sharing…`:i?`Deploying…`:`Share & deploy`;return a?(0,M.jsxs)(g.Root,{open:o,onOpenChange:s,children:[(0,M.jsx)(g.Trigger,{asChild:!0,children:(0,M.jsx)(n,{variant:`outlined`,iconOnly:f,disabled:c,tooltip:p})}),(0,M.jsxs)(g.Content,{"aria-describedby":void 0,children:[(0,M.jsx)(g.Header,{className:`sr-only`,children:(0,M.jsx)(g.Title,{children:`Share & deploy`})}),(0,M.jsxs)(g.Body,{className:`pt-0`,children:[(0,M.jsx)(_,{icon:A,label:(0,M.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,M.jsx)(`span`,{children:`Share`}),(0,M.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{s(!1),e()}}),(0,M.jsx)(_,{icon:u,label:(0,M.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,M.jsx)(`span`,{children:`Deploy to Vercel`}),(0,M.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{s(!1),r()}})]})]})]}):(0,M.jsxs)(l.Root,{open:o,onOpenChange:s,children:[(0,M.jsx)(l.Trigger,{asChild:!0,children:(0,M.jsx)(n,{variant:`outlined`,iconOnly:f,disabled:c,tooltip:p})}),(0,M.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,M.jsx)(l.Item,{leftIcon:(0,M.jsx)(A,{size:14}),onSelect:()=>e(),className:`whitespace-nowrap`,children:`Share`}),(0,M.jsx)(l.Item,{leftIcon:(0,M.jsx)(u,{size:14}),onSelect:()=>r(),className:`whitespace-nowrap`,children:`Deploy to Vercel`})]})]})}var F=[`assistant:`,`conversation:`,`conversations:`,`apps:`,`plugins:`,`feature-flags:`];function I(e){return F.some(t=>e.startsWith(t))}function L(e,t){if(e.length===0)return[];let n=new Set(e);return t.filter(e=>n.has(e)&&!I(e))}function R(e,t){let{frameId:n,assistantId:r,appId:i,enabled:a=!0,onAction:o,onOpenVellumLink:s}=t,c=(0,j.useRef)(new Map);(0,j.useEffect)(()=>{let t=c.current,l=async c=>{let l=c.data;if(!l||l.frameId!==n||c.source!==e.current?.contentWindow)return;if(l.type===`vellum_subscribe`){if(!a)return;let{subId:e,tags:n}=l;typeof e==`string`&&Array.isArray(n)&&t.set(e,new Set(n.filter(e=>typeof e==`string`)));return}if(l.type===`vellum_unsubscribe`){let{subId:e}=l;typeof e==`string`&&t.delete(e);return}if(l.type===`vellum_surface_action`){o?.(l.actionId,l.data);return}if(l.type===`vellum_open_link`){if(!navigator.userActivation?.isActive)return;s?.(l.href,l.linkText);return}if(l.type===`vellum_asset_request`){let{callId:t,path:n}=l,o=e.current,s=(e,t)=>{o?.contentWindow?.postMessage(e,`*`,t??[])};if(!a){s({type:`vellum_asset_response`,callId:t,error:`Asset proxy disabled`});return}if(!i){s({type:`vellum_asset_response`,callId:t,error:`No app context for assets`});return}if(typeof n!=`string`||n===``||n.includes(`..`)){s({type:`vellum_asset_response`,callId:t,error:`Invalid asset path`});return}try{let e=`/v1/assistants/${r}/apps/${i}/asset/${n.split(`/`).map(encodeURIComponent).join(`/`)}`,{data:a,response:o}=await y.get({url:e,parseAs:`blob`,throwOnError:!1});if(!o?.ok||!(a instanceof Blob)){s({type:`vellum_asset_response`,callId:t,error:`Asset fetch failed (${o?.status??0})`});return}let c=await a.arrayBuffer();s({type:`vellum_asset_response`,callId:t,buffer:c,contentType:a.type||`application/octet-stream`},[c])}catch(e){s({type:`vellum_asset_response`,callId:t,error:e instanceof Error?e.message:`Asset proxy error`})}return}if(!a||l.type!==`vellum_fetch_request`)return;let{callId:u,path:d,method:f,headers:p,body:m}=l,h=e.current,g=e=>{h?.contentWindow?.postMessage(e,`*`)};if(!k.test(d)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: only /v1/x/ custom routes are allowed`});return}try{let e=new URL(d,`https://placeholder`).pathname;if(!k.test(e)){g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: path traversal detected`});return}}catch{g({type:`vellum_fetch_response`,callId:u,error:`Request blocked: invalid path`});return}let _=`/v1/assistants/${r}/${d.replace(/^\/v1\//,``)}`;try{let e={url:_,throwOnError:!1,headers:p&&Object.keys(p).length>0?p:void 0,body:m?JSON.parse(m):void 0},t=await(f===`POST`?y.post:f===`PUT`?y.put:f===`PATCH`?y.patch:f===`DELETE`?y.delete:y.get)(e),n=t.response,r=t.data??t.error,i=r==null?``:typeof r==`string`?r:JSON.stringify(r);g({type:`vellum_fetch_response`,callId:u,status:n?.status??0,statusText:n?.statusText??``,body:i})}catch(e){g({type:`vellum_fetch_response`,callId:u,error:e instanceof Error?e.message:`Fetch proxy error`})}};window.addEventListener(`message`,l);let u=b(`sse.event`,r=>{let i=r.message;if(!i||i.type!==`sync_changed`||!Array.isArray(i.tags))return;let a=e.current?.contentWindow;if(!a||t.size===0)return;let o=i.tags.filter(e=>typeof e==`string`);for(let[e,r]of t){let t=L([...r],o);t.length>0&&a.postMessage({type:`vellum_event`,frameId:n,subId:e,event:{type:`sync_changed`,tags:t}},`*`)}});return()=>{window.removeEventListener(`message`,l),u()}},[n,r,i,a,o,s,e])}function z({appId:e,appName:t,html:r,assistantId:i,onClose:a,onEdit:o,isEditing:s,onShare:c,isSharing:l,onDeploy:u,isDeploying:d,route:f,enableFullscreen:m=!1,onAction:h}){let g=(0,j.useRef)(null),[_,v]=(0,j.useState)(!1),y=(0,j.useCallback)(()=>v(e=>!e),[]);(0,j.useEffect)(()=>{v(!1)},[e]),(0,j.useEffect)(()=>{if(!_)return;let e=e=>{e.key===`Escape`&&v(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let b=(0,j.useMemo)(()=>O(r,e,{fetch:!0,route:f}),[r,e,f]),x=(0,j.useMemo)(()=>{let t=0;for(let e=0;e<r.length;e++)t=(t<<5)-t+r.charCodeAt(e)|0;return`app-${e}-${t}`},[r,e]);return R(g,{frameId:e,assistantId:i,appId:e,onAction:h}),(0,M.jsxs)(`div`,{"data-testid":`app-viewer-root`,className:T(`flex flex-col overflow-hidden bg-[var(--surface-base)]`,_?`fixed inset-0 z-[60]`:`h-full rounded-xl`),children:[!_&&(0,M.jsx)(N,{appName:t,onEdit:o,isEditing:s,onShare:c,isSharing:l,onDeploy:u,isDeploying:d,onToggleFullscreen:m?y:void 0,onClose:a}),(0,M.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[_&&(0,M.jsx)(`div`,{className:`absolute z-10`,style:{top:`max(0.75rem, var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,right:`max(0.75rem, var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:(0,M.jsx)(n,{variant:`primary`,iconOnly:(0,M.jsx)(p,{}),onClick:y,tooltip:`Exit fullscreen`})}),(0,M.jsx)(`iframe`,{ref:g,srcDoc:b,sandbox:`allow-scripts allow-popups allow-popups-to-escape-sandbox`,referrerPolicy:`no-referrer`,title:t,className:`h-full w-full border-none`},x)]})]})}function B(){let e=v.use.activeAssistantId(),t=w(),n=i(),{pathname:a}=r();return(0,j.useCallback)(r=>{if(!e)return;let i=D(e,r.appId)??crypto.randomUUID();E(e,r.appId,i);let o=C.getState();(o.activeAppId!==r.appId||!o.openedAppState)&&(o.openApp(r.appId),o.setLoadedApp(r)),S.getState().setEditingConversationId(i),t?o.minimizeApp():o.enterAppEditing();let s=x.conversation(i);a!==s&&n(s)},[e,t,n,a])}export{A as i,z as n,R as r,B as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{s as t}from"./device-settings-DXp9L4iB.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./use-bus-subscription-NoXmdzgx.js";import{t as i}from"./effective-timezone-CnKC3vj0.js";var a=e(n(),1);function o(){let[e,n]=(0,a.useState)(i),o=(0,a.useCallback)(()=>{n(e=>{let t=i();return t===e?e:t})},[]);return r(`app.resume`,o),(0,a.useEffect)(()=>{window.addEventListener(`focus`,o);let e=t(`timezone`,o);return()=>{window.removeEventListener(`focus`,o),e()}},[o]),e}export{o as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{s as t}from"./device-settings-DXp9L4iB.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./use-bus-subscription-CyRPH_gr.js";import{t as i}from"./effective-timezone-CnKC3vj0.js";var a=e(n(),1);function o(){let[e,n]=(0,a.useState)(i),o=(0,a.useCallback)(()=>{n(e=>{let t=i();return t===e?e:t})},[]);return r(`app.resume`,o),(0,a.useEffect)(()=>{window.addEventListener(`focus`,o);let e=t(`timezone`,o);return()=>{window.removeEventListener(`focus`,o),e()}},[o]),e}export{o as t};
@@ -0,0 +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"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-DEI9Ra9z.js";import{c,h as l,i as u,m as d,n as f,r as p,s as m,t as h}from"./use-save-twilio-credentials-CCp1iqBf.js";import{t as g}from"./check-sC49_hjU.js";import{o as _}from"./list-row-BYrmPIC4.js";import{t as v}from"./link-2-BMNZFfWH.js";import{t as y}from"./loader-circle-BzJ2kz3F.js";import{t as b}from"./input-C-GkeWCw.js";import{t as x}from"./modal-DwsThLGg.js";import{i as S}from"./utils-C-YNXdkX.js";import{n as C,r as w,t as T}from"./api-errors-SZKDzMLE.js";import{$t as E,Yt as D,tn as O}from"./sdk.gen-BySz4QYj.js";import{G as k,J as A,K as j,o as M,q as ee,s as N,x as P}from"./react-query.gen-0mspArBl.js";import{n as F}from"./sdk.gen-DEFA-6EJ.js";import{t as I}from"./copy-to-clipboard-DaTa8Tbi.js";import{t as L}from"./mutation-error-CXV1BKlB.js";import{t as R}from"./a2a-invite-CfhpXDTT.js";var z=e(t(),1),B=o(),V=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],H=`trusted_contacts`,U=new Set([`platform`,`a2a`]),W=new Set([`vellum`,`whatsapp`,`discord`]);function G(e){return W.has(e)}var K={no_one:`No one`,guardian_only:`Only you`,trusted_contacts:`Verified contacts`,any_contact:`Any contact`,strangers:`Strangers`};function q(e){return{no_one:`No one can message ${e} on this channel: every message is blocked, including yours.`,guardian_only:`Only you can message ${e}. Everyone else is turned away.`,trusted_contacts:`You and the people you’ve verified can message ${e}. Anyone else is asked to verify first, and you’re notified.`,any_contact:`You and any known contact can message ${e}, including contacts you haven’t verified yet. Strangers are asked to verify first.`,strangers:`Anyone can message ${e}, including complete strangers.`}}function J(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function Y({open:e,assistantId:t,onClose:r}){let[i,o]=(0,z.useState)(!1),c=(0,z.useRef)(null),l=(0,z.useRef)(!1),u=a({...k({path:{assistant_id:t}})}),d=(0,z.useRef)(u.mutate);(0,z.useLayoutEffect)(()=>{d.current=u.mutate});let f=(0,z.useRef)(u.reset);(0,z.useLayoutEffect)(()=>{f.current=u.reset}),(0,z.useEffect)(()=>{e&&!l.current&&d.current({path:{assistant_id:t}}),l.current=e},[e,t]),(0,z.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]);let p=(0,z.useCallback)(()=>{f.current(),o(!1),c.current&&=(clearTimeout(c.current),null),r()},[r]),m=(0,z.useCallback)(e=>{I(e,{errorMessage:`Couldn't copy the invite link.`,onCopied:()=>{o(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>o(!1),2e3)}})},[]),h=u.isSuccess&&u.data.token?R({senderAssistantId:t,token:u.data.token}):``;return(0,B.jsx)(x.Root,{open:e,onOpenChange:e=>{e||p()},children:(0,B.jsxs)(x.Content,{size:`sm`,children:[(0,B.jsx)(x.Header,{children:(0,B.jsx)(x.Title,{children:`Share Connection Link`})}),(0,B.jsx)(x.Body,{children:u.isPending?(0,B.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,B.jsx)(y,{className:`h-4 w-4 animate-spin`}),`Creating invite link…`]}):u.isError?(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:`Failed to create invite link. Make sure A2A is enabled for your assistant.`}),(0,B.jsx)(n,{variant:`outlined`,onClick:()=>u.mutate({path:{assistant_id:t}}),children:`Try Again`})]}):u.isSuccess?(0,B.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,B.jsx)(s,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Share this link with another assistant owner to establish a connection.`}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(b,{type:`text`,readOnly:!0,value:h,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>m(h),"aria-label":`Copy invite link`,className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:i?(0,B.jsx)(g,{className:`h-4 w-4`}):(0,B.jsx)(_,{className:`h-4 w-4`})})]}),u.data.expiresAt!=null&&(0,B.jsx)(s,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:J(u.data.expiresAt)})]}):null}),(0,B.jsx)(x.Footer,{children:(0,B.jsx)(n,{variant:`outlined`,onClick:p,children:`Done`})})]})})}function X({onClick:e}){return(0,B.jsx)(n,{variant:`outlined`,size:`compact`,leftIcon:(0,B.jsx)(v,{className:`h-3.5 w-3.5`}),onClick:e,children:`Share Connection Link`})}function Z(e){return typeof e==`string`&&V.includes(e)}function Q(e){return U.has(e)}function te(e){return(e?.policies??[]).filter(e=>!Q(e.channelType)&&!G(e.channelType)).map(e=>({...e,policy:Z(e.policy)?e.policy:`trusted_contacts`}))}async function ne(e,t,n,r){if(Q(t))throw new T(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await F({path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},throwOnError:!1});if(C(o,a,`Failed to save channel policy.`),!o.ok)throw new T(o.status,w(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new T(500,`Gateway returned no policy in response.`);return i.policy}var re=`0.10.0`;function $(){return S(re)}function ie(e){let t=r(),n=$(),o=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,z.useMemo)(()=>l(o),[o]),u=i({...d(o),enabled:n,select:te}),f=(0,z.useMemo)(()=>{let e={};for(let t of u.data??[])c(t.channelType)&&(e[t.channelType]=t.policy);return e},[u.data]),p=a({mutationFn:({channelKey:t,policy:n})=>ne(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:s}),onError:L(`Failed to save channel policy`)}),m=(0,z.useCallback)((e,t)=>{p.mutate({channelKey:e,policy:t})},[p]);return n?{policies:f,savingKey:p.isPending?p.variables?.channelKey??null:null,isLoading:u.isPending,isError:u.isError,onChange:m}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var ae={slack:`I want to reach you on Slack. Let's set it up.`,telegram:`I want to reach you on Telegram. Let's set it up.`,phone:`I want to be able to call you. Let's set you up with a phone number.`},oe=15e3;function se({assistantId:e,onStartSetupConversation:t}){let n=r(),o=(0,z.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,z.useMemo)(()=>N(o),[o]),c=i({...M(o),enabled:!!e,refetchInterval:oe,select:e=>e.snapshots}),l=(0,z.useMemo)(()=>ce(c.data??[]),[c.data]),d=l.some(e=>e.key===`slack`&&e.status===`ready`),m=i({...j(o),enabled:d,select:e=>e.threadMode}),g=ie(e),_=(0,z.useCallback)(()=>n.invalidateQueries({queryKey:s}),[n,s]),v=a({mutationFn:async t=>{let n={path:{assistant_id:e},throwOnError:!0};t===`slack`?await D(n):t===`telegram`?await E(n):t===`phone`&&await O(n)},onSettled:(t,r,i)=>{_(),i===`slack`&&u(n,e)}}),y=f({assistantId:e}),b=p({assistantId:e}),x=h({assistantId:e}),S=a({...A(),onSuccess:()=>{n.invalidateQueries({queryKey:ee(o)})}}),C=y.mutateAsync,w=(0,z.useCallback)(async e=>{await C(e)},[C]),T=b.mutate,k=(0,z.useCallback)((e,t)=>{T({botToken:e,appToken:t})},[T]),P=S.mutate,F=(0,z.useCallback)(t=>{P({path:{assistant_id:e},body:{threadMode:t}})},[P,e]),I=x.mutateAsync,L=(0,z.useCallback)(async(e,t)=>{await I({accountSid:e,authToken:t})},[I]),R=(0,z.useCallback)(e=>{t&&t(ae[e])},[t]),B=v.mutate,V=(0,z.useCallback)(e=>{B(e)},[B]);return{channels:l,pendingChannelKey:v.isPending?v.variables??null:null,slackThreadMode:m.data,slackThreadModePending:S.isPending,channelPolicies:g.policies,policySavingKey:g.savingKey,policiesLoading:g.isLoading,policiesError:g.isError,onChannelPolicyChange:g.onChange,onSetup:t?R:void 0,onDisconnect:V,onSaveTelegramToken:w,onSaveSlackConfig:k,slackSaveStatus:b.status,slackSaveError:b.error?.message??null,onSlackThreadModeChange:F,onSaveTwilioCredentials:L}}function ce(e){let t=new Map;for(let n of e)t.set(n.channel,n);return m.map(e=>{let n=t.get(e);return{key:e,status:le(n),address:n?.channelHandle??void 0}})}function le(e){return e?e.ready||e.setupStatus===`ready`?`ready`:e.setupStatus===`incomplete`?`incomplete`:`not_configured`:`not_configured`}function ue(e){let t=r(),[n,i]=(0,z.useState)(!1);return{isOpen:n,open:(0,z.useCallback)(()=>{i(!0)},[]),close:(0,z.useCallback)(()=>{i(!1),t.invalidateQueries({queryKey:P({path:{assistant_id:e}})})},[t,e])}}export{H as a,q as c,Y as i,se as n,V as o,X as r,K as s,ue as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,r as n,s as r,t as i}from"./local-settings-C-dW2vkq.js";import{s as a}from"./device-settings-DXp9L4iB.js";import{t as o}from"./react-BFJW0bSv.js";import{t as s}from"./button-Dy5001j6.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./createLucideIcon-CAM1RhH8.js";import{t as u}from"./checkbox-D7Eg2K35.js";import{t as d}from"./triangle-alert-Dq3v0coH.js";import{t as f}from"./notice-B6naz_-V.js";import"./src-CnF7WXNj.js";import{t as p}from"./modal-CoOkN7c0.js";import{i as m,t as h}from"./api-Coj5enET.js";import{i as g,r as _}from"./typed-storage-CcMT-hWr.js";import{t as v}from"./client-feature-flag-store-BdNCabm_.js";import{n as y,r as b,t as x}from"./theme-preferences-LQuLaIA6.js";import{t as S}from"./use-bus-subscription-NoXmdzgx.js";import{o as C}from"./funnel-events-BqvFi8Sp.js";var w=l(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),T=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]);function ee(){return v.use.stringFlags().proactiveTips??`off`}function te(e){return e===`on`}function E(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function D(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&E(t.dismissedAt)&&E(t.lastShownAt)}function O(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))D(r)&&(n[e]=r);return n}function k(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var A=_({key:`device:tips:records`,scope:`device`,parse:O,serialize:JSON.stringify,fallback:{}}),j=_({key:`device:tips:enabled`,scope:`device`,parse:g,serialize:String,fallback:!0}),M=_({key:`device:tips:first_seen_at`,scope:`device`,parse:k,serialize:String,fallback:0});function ne(){M.load()===0&&M.save(Date.now())}function re(e,t){let n=A.load(),r=n[e];A.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function ie(e,t){let n=A.load(),r=n[e];A.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var ae=`proactive-tips-v1`,oe={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function se(e,t,n){C({stepName:t,stepIndex:oe[t]},{funnelVersion:ae,screen:e,variant:n})}var N=e(o(),1);function P(){let e=v.use.velvet(),[t,n]=(0,N.useState)(()=>y({velvetEnabled:e}));return(0,N.useEffect)(()=>{n(y({velvetEnabled:e}))},[e]),(0,N.useEffect)(()=>a(`theme`,()=>{n(y({velvetEnabled:e}))}),[e]),(0,N.useEffect)(()=>{x(t)},[t]),{theme:t,setThemePreference:e=>{n(e),b(e)}}}var F=6e4;function I(e){return!!(e?.enabled&&e.effectivelyLocked)}function L(e){return I(e)?e.acknowledged&&!e.overrideActive:!1}function R(e){return!!(e&&I(e)&&!e.acknowledged&&!e.overrideActive)}function z(e){return!!(e?.enabled&&e.state===`warning`)}function B(e){return R(e)?`acknowledgement-required`:L(e)?`cleanup`:z(e)?`warning`:`inactive`}function V({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:R(n)?`acknowledgement-required`:null}function H(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function U(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function W(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var G={assistantId:null,status:null,hasResolvedStatus:!1};function ce(e,t){return e instanceof Error?e:Error(t)}function le({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=F}){let[i,a]=(0,N.useState)(G),[o,s]=(0,N.useState)(!1),[c,l]=(0,N.useState)(null),u=(0,N.useRef)(e),d=(0,N.useRef)(t),f=(0,N.useRef)(0),p=(0,N.useRef)(0);(0,N.useLayoutEffect)(()=>{u.current=e,d.current=t}),(0,N.useEffect)(()=>{f.current+=1,a(G),l(null),s(!1)},[e,t]);let g=(0,N.useCallback)((e,t)=>d.current&&u.current===e&&f.current===t,[]),_=(0,N.useCallback)((e,t,n,r)=>{g(e,r)&&a(r=>r.assistantId===e&&r.hasResolvedStatus===n&&U(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[g]),v=(0,N.useCallback)(()=>{f.current+=1,a(G)},[]),y=(0,N.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current,i=p.current+1;p.current=i;try{let e=await m(n);if(p.current!==i)return;if(!e.ok){_(n,null,!1,r);return}_(n,e.data.status,!0,r)}catch{if(p.current!==i)return;_(n,null,!1,r)}},[e,_,v,t]);(0,N.useEffect)(()=>{if(!t||!e)return;y();let n=window.setInterval(()=>{y()},r);return()=>{window.clearInterval(n)}},[e,r,t,y,n]),S(`app.resume`,()=>{y()});let b=(0,N.useCallback)(n=>{if(!t||!e){v();return}let r=f.current+1;f.current=r,s(!1),l(null),_(e,n,!0,r)},[e,_,v,t]);S(`sse.event`,e=>{let t=e.message;t.type===`disk_pressure_status_changed`&&b(t.status)});let x=(0,N.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current+1;f.current=r,s(!0),l(null);try{let e=await h(n);if(!e.ok)throw Error(`Failed to acknowledge assistant disk pressure.`);if(!g(n,r))return;let t=f.current+1;f.current=t,_(n,e.data.status,!0,t),s(!1)}catch(e){g(n,r)&&l(ce(e,`Failed to acknowledge assistant disk pressure.`))}finally{g(n,r)&&s(!1)}},[e,_,v,t,g]),C=t&&i.assistantId===e?i.status:null,w=!!(t&&e&&i.assistantId===e&&i.hasResolvedStatus);return{status:C,mode:(0,N.useMemo)(()=>B(C),[C]),hasResolvedStatus:w,isAcknowledging:o,acknowledgeError:c,acknowledge:x,applyStatusEvent:b,refresh:y}}var K=c();function ue(e){let{status:t,mode:n,isAcknowledging:r=!1,acknowledgeError:i,onAcknowledge:a,onDismissWarning:o,onReviewWorkspaceData:c,onUpgradeStorage:l}=e,[m,h]=(0,N.useState)(!1),[g,_]=(0,N.useState)(!1),v=W(t);if(n===`warning`){let e=t.usagePercent??0;return(0,K.jsx)(f,{tone:`warning`,title:`Your storage is almost full`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:o?()=>o(g):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Free up space or add more storage to avoid interruptions.`}),(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[c&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`}),o?(0,K.jsx)(u,{className:`ml-auto`,checked:g,onCheckedChange:e=>_(e===!0),label:`Don't show again`,"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,K.jsx)(f,{tone:`warning`,title:`Cleanup mode is active`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Prompt your assistant to free up space before it runs out and enters a locked state.`}),(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`})]})]})})}let y=t.usagePercent??0;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(f,{tone:`error`,title:`Storage is critically low`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${y}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Your assistant will enter a locked state if it runs out of storage.`}),i?(0,K.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:i}):null,(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,K.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>h(!0),children:`Review`})})]})}),(0,K.jsx)(p.Root,{open:m,onOpenChange:e=>{e||h(!1)},children:(0,K.jsxs)(p.Content,{size:`sm`,children:[(0,K.jsx)(p.Header,{children:(0,K.jsx)(p.Title,{icon:d,children:`Storage is critically low`})}),(0,K.jsx)(p.Body,{children:(0,K.jsx)(p.Description,{children:`Your assistant will enter a locked state if it runs out of storage. You should either prompt your assistant to free up space or increase your storage.`})}),(0,K.jsxs)(p.Footer,{children:[l&&(0,K.jsx)(s,{variant:`outlined`,onClick:()=>{h(!1),l()},children:`Upgrade`}),(0,K.jsx)(s,{variant:`primary`,disabled:r,onClick:()=>{a(),h(!1)},children:r?`Acknowledging...`:`Acknowledge`})]})]})})]})}var de=_({key:`device:cmd_enter_to_send`,scope:`device`,parse:g,serialize:String,fallback:!1}),q=`app.iosNudge.downloaded`,J=`app.iosNudge.bannerDismissed`,Y=`app.iosNudge.assistantTurnsSeen`,fe=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`;function X(){return i(q,!1)}function Z(){t(q,!0)}function pe(){return i(J,!1)}function me(){t(J,!0)}function Q(){return Math.max(0,n(Y,0))}function he(e=1){e<=0||r(Y,Q()+e)}function ge(){let[e,t]=(0,N.useState)(!1),[n,r]=(0,N.useState)(!1);(0,N.useEffect)(()=>{t(X()),r(pe())},[]);let i=(0,N.useCallback)(()=>{$(),Z(),t(!0)},[]),a=(0,N.useCallback)(()=>{me(),r(!0)},[]);return{bannerShouldShow:!e&&!n,handleDownload:i,handleBannerDismiss:a}}function $(){window.open(fe,`_blank`,`noopener,noreferrer`)}export{w as S,j as _,Z as a,ee as b,le as c,P as d,se as f,A as g,re as h,ge as i,H as l,ie as m,$ as n,de as o,ne as p,Q as r,ue as s,he as t,V as u,M as v,T as x,te as y};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,r as n,s as r,t as i}from"./local-settings-C-dW2vkq.js";import{s as a}from"./device-settings-DXp9L4iB.js";import{t as o}from"./react-BFJW0bSv.js";import{t as s}from"./button-Dy5001j6.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./createLucideIcon-CAM1RhH8.js";import{t as u}from"./checkbox-BZTUJtxM.js";import{t as d}from"./triangle-alert--e3n47gm.js";import{t as f}from"./notice-DCp7WO3L.js";import"./src-BAS7a2RG.js";import{t as p}from"./modal-DwsThLGg.js";import{i as m,t as h}from"./api-C8TlQNEU.js";import{i as g,r as _}from"./typed-storage-C-R1po3l.js";import{t as v}from"./client-feature-flag-store-Bg5XEI2b.js";import{n as y,r as b,t as x}from"./theme-preferences-LQuLaIA6.js";import{t as S}from"./use-bus-subscription-CyRPH_gr.js";import{o as C}from"./funnel-events-BAmjKdwH.js";var w=l(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),T=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]);function ee(){return v.use.stringFlags().proactiveTips??`off`}function te(e){return e===`on`}function E(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function D(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&E(t.dismissedAt)&&E(t.lastShownAt)}function O(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))D(r)&&(n[e]=r);return n}function k(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var A=_({key:`device:tips:records`,scope:`device`,parse:O,serialize:JSON.stringify,fallback:{}}),ne=_({key:`device:tips:enabled`,scope:`device`,parse:g,serialize:String,fallback:!0}),j=_({key:`device:tips:first_seen_at`,scope:`device`,parse:k,serialize:String,fallback:0});function re(){j.load()===0&&j.save(Date.now())}function ie(e,t){let n=A.load(),r=n[e];A.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function ae(e,t){let n=A.load(),r=n[e];A.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var oe=`proactive-tips-v1`,se={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function M(e,t,n){C({stepName:t,stepIndex:se[t]},{funnelVersion:oe,screen:e,variant:n})}var N=e(o(),1);function P(){let e=v.use.velvet(),[t,n]=(0,N.useState)(()=>y({velvetEnabled:e}));return(0,N.useEffect)(()=>{n(y({velvetEnabled:e}))},[e]),(0,N.useEffect)(()=>a(`theme`,()=>{n(y({velvetEnabled:e}))}),[e]),(0,N.useEffect)(()=>{x(t)},[t]),{theme:t,setThemePreference:e=>{n(e),b(e)}}}var F=6e4;function I(e){return!!(e?.enabled&&e.effectivelyLocked)}function L(e){return I(e)?e.acknowledged&&!e.overrideActive:!1}function R(e){return!!(e&&I(e)&&!e.acknowledged&&!e.overrideActive)}function z(e){return!!(e?.enabled&&e.state===`warning`)}function B(e){return R(e)?`acknowledgement-required`:L(e)?`cleanup`:z(e)?`warning`:`inactive`}function V({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:R(n)?`acknowledgement-required`:null}function H(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function U(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function W(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var G={assistantId:null,status:null,hasResolvedStatus:!1};function ce(e,t){return e instanceof Error?e:Error(t)}function le({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=F}){let[i,a]=(0,N.useState)(G),[o,s]=(0,N.useState)(!1),[c,l]=(0,N.useState)(null),u=(0,N.useRef)(e),d=(0,N.useRef)(t),f=(0,N.useRef)(0),p=(0,N.useRef)(0);(0,N.useLayoutEffect)(()=>{u.current=e,d.current=t}),(0,N.useEffect)(()=>{f.current+=1,a(G),l(null),s(!1)},[e,t]);let g=(0,N.useCallback)((e,t)=>d.current&&u.current===e&&f.current===t,[]),_=(0,N.useCallback)((e,t,n,r)=>{g(e,r)&&a(r=>r.assistantId===e&&r.hasResolvedStatus===n&&U(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[g]),v=(0,N.useCallback)(()=>{f.current+=1,a(G)},[]),y=(0,N.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current,i=p.current+1;p.current=i;try{let e=await m(n);if(p.current!==i)return;if(!e.ok){_(n,null,!1,r);return}_(n,e.data.status,!0,r)}catch{if(p.current!==i)return;_(n,null,!1,r)}},[e,_,v,t]);(0,N.useEffect)(()=>{if(!t||!e)return;y();let n=window.setInterval(()=>{y()},r);return()=>{window.clearInterval(n)}},[e,r,t,y,n]),S(`app.resume`,()=>{y()});let b=(0,N.useCallback)(n=>{if(!t||!e){v();return}let r=f.current+1;f.current=r,s(!1),l(null),_(e,n,!0,r)},[e,_,v,t]);S(`sse.event`,e=>{let t=e.message;t.type===`disk_pressure_status_changed`&&b(t.status)});let x=(0,N.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current+1;f.current=r,s(!0),l(null);try{let e=await h(n);if(!e.ok)throw Error(`Failed to acknowledge assistant disk pressure.`);if(!g(n,r))return;let t=f.current+1;f.current=t,_(n,e.data.status,!0,t),s(!1)}catch(e){g(n,r)&&l(ce(e,`Failed to acknowledge assistant disk pressure.`))}finally{g(n,r)&&s(!1)}},[e,_,v,t,g]),C=t&&i.assistantId===e?i.status:null,w=!!(t&&e&&i.assistantId===e&&i.hasResolvedStatus);return{status:C,mode:(0,N.useMemo)(()=>B(C),[C]),hasResolvedStatus:w,isAcknowledging:o,acknowledgeError:c,acknowledge:x,applyStatusEvent:b,refresh:y}}var K=c();function ue(e){let{status:t,mode:n,isAcknowledging:r=!1,acknowledgeError:i,onAcknowledge:a,onDismissWarning:o,onReviewWorkspaceData:c,onUpgradeStorage:l}=e,[m,h]=(0,N.useState)(!1),[g,_]=(0,N.useState)(!1),v=W(t);if(n===`warning`){let e=t.usagePercent??0;return(0,K.jsx)(f,{tone:`warning`,title:`Your storage is almost full`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:o?()=>o(g):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Free up space or add more storage to avoid interruptions.`}),(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[c&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`}),o?(0,K.jsx)(u,{className:`ml-auto`,checked:g,onCheckedChange:e=>_(e===!0),label:`Don't show again`,"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,K.jsx)(f,{tone:`warning`,title:`Cleanup mode is active`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Prompt your assistant to free up space before it runs out and enters a locked state.`}),(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:c,children:`Manage Storage`}),l&&(0,K.jsx)(s,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`})]})]})})}let y=t.usagePercent??0;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(f,{tone:`error`,title:`Storage is critically low`,icon:(0,K.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,K.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${y}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,K.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:v})]}),(0,K.jsx)(`p`,{className:`m-0`,children:`Your assistant will enter a locked state if it runs out of storage.`}),i?(0,K.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:i}):null,(0,K.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,K.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>h(!0),children:`Review`})})]})}),(0,K.jsx)(p.Root,{open:m,onOpenChange:e=>{e||h(!1)},children:(0,K.jsxs)(p.Content,{size:`sm`,children:[(0,K.jsx)(p.Header,{children:(0,K.jsx)(p.Title,{icon:d,children:`Storage is critically low`})}),(0,K.jsx)(p.Body,{children:(0,K.jsx)(p.Description,{children:`Your assistant will enter a locked state if it runs out of storage. You should either prompt your assistant to free up space or increase your storage.`})}),(0,K.jsxs)(p.Footer,{children:[l&&(0,K.jsx)(s,{variant:`outlined`,onClick:()=>{h(!1),l()},children:`Upgrade`}),(0,K.jsx)(s,{variant:`primary`,disabled:r,onClick:()=>{a(),h(!1)},children:r?`Acknowledging...`:`Acknowledge`})]})]})})]})}var de=_({key:`device:cmd_enter_to_send`,scope:`device`,parse:g,serialize:String,fallback:!1}),fe=_({key:`device:show_context_window_indicator`,scope:`device`,parse:g,serialize:String,fallback:!1}),q=`app.iosNudge.downloaded`,J=`app.iosNudge.bannerDismissed`,Y=`app.iosNudge.assistantTurnsSeen`,pe=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`;function me(){return i(q,!1)}function X(){t(q,!0)}function he(){return i(J,!1)}function Z(){t(J,!0)}function Q(){return Math.max(0,n(Y,0))}function ge(e=1){e<=0||r(Y,Q()+e)}function _e(){let[e,t]=(0,N.useState)(!1),[n,r]=(0,N.useState)(!1);(0,N.useEffect)(()=>{t(me()),r(he())},[]);let i=(0,N.useCallback)(()=>{$(),X(),t(!0)},[]),a=(0,N.useCallback)(()=>{Z(),r(!0)},[]);return{bannerShouldShow:!e&&!n,handleDownload:i,handleBannerDismiss:a}}function $(){window.open(pe,`_blank`,`noopener,noreferrer`)}export{w as C,T as S,A as _,X as a,te as b,ue as c,V as d,P as f,ie as g,ae as h,_e as i,le as l,re as m,$ as n,de as o,M as p,Q as r,fe as s,ge as t,H as u,ne as v,ee as x,j as y};
@@ -0,0 +1 @@
1
+ import{Q as e,Y as t,Z as n,i as r,n as i,nt as a}from"./auth-store-w_EmIQP7.js";var o=5e3;function s(e,t,n){return!n||e!=null?`ready`:t===`error`?`unavailable`:`resolving`}function c(){return s(e(),n.use.status(),r())}function l(){return s(t(),n.getState().status,a(i.getState().platformSession))}function u(){return c()===`ready`}export{c as i,l as n,u as r,o as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{l as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./is-electron-D-TCQRcE.js";import{f as i}from"./native-biometric-DUHF57O_.js";import{d as a}from"./routes-CsoiCk2y.js";import{i as o}from"./navigation-resolver-BIPJSTY5.js";import{t as s}from"./build-state-C_Hy9WqC.js";import{n as c}from"./login-flow-BVUkpWP_.js";var l=e(t(),1);function u(e){let t=n(),[u,d]=(0,l.useState)(!1),[f,p]=(0,l.useState)(null),m=(0,l.useRef)(0);return{loading:u,error:f,login:async()=>{let n=e??o(s({sessionSettled:!0,isAuthenticated:!0}),t.pathname),r=++m.current;p(null),d(!0);try{await i(c,`${a.account.providerCallback}?returnTo=${encodeURIComponent(n)}`,{returnTo:n})}catch{if(r!==m.current)return;p(`Something went wrong. Please try again.`),d(!1)}},cancel:()=>{m.current++,d(!1),p(null),r()&&window.vellum?.auth?.cancelOAuth()}}}export{u as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{l as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./is-electron-7N7iyz1y.js";import{p as i}from"./native-biometric-CTR2Zi2w.js";import{d as a}from"./routes-GmNvdtLW.js";import{i as o}from"./navigation-resolver-CIICT6n9.js";import{t as s}from"./build-state-DDUJ0MId.js";import{n as c}from"./login-flow-BnCQjNXm.js";var l=e(t(),1);function u(e){let t=n(),[u,d]=(0,l.useState)(!1),[f,p]=(0,l.useState)(null),m=(0,l.useRef)(0);return{loading:u,error:f,login:async()=>{let n=e??o(s({sessionSettled:!0,isAuthenticated:!0}),t.pathname),r=++m.current;p(null),d(!0);try{await i(c,`${a.account.providerCallback}?returnTo=${encodeURIComponent(n)}`,{returnTo:n})}catch{if(r!==m.current)return;p(`Something went wrong. Please try again.`),d(!1)}},cancel:()=>{m.current++,d(!1),p(null),r()&&window.vellum?.auth?.cancelOAuth()}}}export{u as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{C as n}from"./auth-store-EmLZOAkN.js";var r=e(t(),1);function i(e,t){let[i,a]=(0,r.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,r.useEffect)(()=>{if(!t||!e){a({platformAssistantId:null,isLoading:!1,error:null});return}let r=!0;return a({platformAssistantId:null,isLoading:!0,error:null}),n(e).then(e=>{r&&a({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{r&&a({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!1}},[e,t]),i}export{i as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{q as n}from"./auth-store-w_EmIQP7.js";var r=e(t(),1);function i(e,t){let[i,a]=(0,r.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,r.useEffect)(()=>{if(!t||!e){a({platformAssistantId:null,isLoading:!1,error:null});return}let r=!0;return a({platformAssistantId:null,isLoading:!0,error:null}),n(e).then(e=>{r&&a({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{r&&a({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!1}},[e,t]),i}export{i as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{f as n,m as r}from"./local-mode-9zpgPNoq.js";import{ht as i,i as a,o}from"./auth-store-w_EmIQP7.js";var s=e(t(),1);function c(){let e=i.use.assistantState();return!!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)}function l(){let e=i.use.assistantState();return e.kind===`active`&&!e.isLocal}function u(){let e=i.use.assistantState();return e.kind===`loading`||e.kind===`initializing`||e.kind===`cleaning_up`}function d(e={}){let t=p(e);return t===`pending`?`disabled`:t}function f(e={}){let t=p(e),n=m(t===`pending`,e.settleTimeoutMs??5e3);return t===`pending`&&n?`disabled`:t}function p(e){let t=a(),i=o(),s=r(),l=c(),u=i?`disabled`:`pending`;return e.platformHostedOnly?l?`gated`:t?`full`:u:n()&&s?`gated`:t?`full`:u}function m(e,t){let[n,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!e){r(!1);return}let n=setTimeout(()=>r(!0),t);return()=>{clearTimeout(n)}},[e,t]),n}export{f as a,d as i,c as n,u as r,l as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n,l as r,u as i}from"./proxy-CNtrhN4q.js";var a=e(t(),1);function o(){!i.current&&r();let[e]=(0,a.useState)(n.current);return e}export{o as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n,n as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./loader-circle-BzJ2kz3F.js";import{a as o,s}from"./auth-store-w_EmIQP7.js";import{T as c,u as l}from"./native-biometric-CTR2Zi2w.js";import{n as u}from"./domains-OaR_FpOR.js";import{d}from"./routes-GmNvdtLW.js";import{a as f}from"./use-platform-gate-D9hR3R0n.js";import{t as p}from"./hard-navigate-V2EFapkk.js";import{a as m,o as h}from"./login-flow-BnCQjNXm.js";var g=i();function _(){return(0,g.jsx)(a,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading`})}var v=e(t(),1),y=`/api/funnel/view`;function b(e,t){let n=(0,v.useRef)(null);(0,v.useEffect)(()=>{t&&n.current!==e&&(l()||u(window.location.hostname)&&(n.current=e,fetch(y,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e}),keepalive:!0}).catch(()=>{})))},[e,t])}function x({to:e}){let t=m(e);return(0,v.useEffect)(()=>{t&&p(e)},[t,e]),t?null:(0,g.jsx)(r,{to:e,replace:!0})}function S(){let[e]=n(),t=o(),r=s(),i=f(),a=e.get(`returnTo`),l=c(a,d.assistant);if(!a)return{kind:`proceed`,returnTo:null};if(r)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:l};if(h(l)){if(i===`pending`)return{kind:`wait`};if(i===`disabled`)return{kind:`proceed`,returnTo:l}}return{kind:`redirect`,node:(0,g.jsx)(x,{to:l})}}export{b as n,_ as r,S as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useMutation-CXGTrp4W.js";import{t as i}from"./queryOptions-CMSBCFOf.js";import{t as a}from"./createLucideIcon-CAM1RhH8.js";import{t as o}from"./mail-DABv3_Ue.js";import{t as s}from"./message-circle-gk_DFUIg.js";import{t as c}from"./message-square-zCNXaHYX.js";import{t as l}from"./send-DHWUIK7G.js";import{Qt as u,en as d,nn as f}from"./sdk.gen-BySz4QYj.js";import{Dt as p,Et as m,Ot as h,kt as g,s as _}from"./react-query.gen-0mspArBl.js";import{C as v,a as y,m as b,t as x}from"./sdk.gen-DEFA-6EJ.js";var S=a(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),C=a(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),w=a(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),T=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??v).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},E=e=>T(`assistantChannelAdmissionPolicyList`,e),D=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await x({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:E(e)}),O=e=>T(`assistantChannelPermissionOverridesList`,e),k=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await y({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:O(e)}),A=e=>T(`assistantFeatureFlagsGet`,e),j=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await b({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:A(e)}),M=e(t(),1),N={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,phone:`Phone`,email:`Email`,a2a:`Assistant`},P={slack:C,telegram:l,whatsapp:s,phone:w,email:o,a2a:S};function F(e){return e?N[e]??e.charAt(0).toUpperCase()+e.slice(1):`channel`}function I(e){return`Open in ${F(e)}`}function L(e){return e&&P[e]?P[e]:c}function R({channelId:e,className:t}){return(0,M.createElement)(L(e),{className:t,"aria-hidden":!0})}function z(e){return e?.trim()||`your assistant`}var B=[`slack`,`telegram`,`phone`];function V(e){return B.includes(e)}function H(e){return{path:{assistant_id:e},query:{memberOnly:`true`}}}function U(e){return m(H(e))}function W(e){return p(H(e))}var G=600*1e3;function K(e){return{path:{assistant_id:e}}}function q(e){return{...h(K(e)),staleTime:G}}function J(e){return g(K(e))}function Y(e,t){e.removeQueries({queryKey:W(t)}),e.removeQueries({queryKey:J(t)})}function X({assistantId:e,onSuccess:t}){let i=n(),a=(0,M.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:({botToken:t,appToken:n})=>{if(!n.trim())throw Error(`App token is required. Copy the xapp- token from Slack's install screen.`);if(!t.trim())throw Error(`Bot token is required.`);return u({path:{assistant_id:e},body:{botToken:t.trim(),appToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a}),Y(i,e)}})}function Z({assistantId:e,onSuccess:t}){let i=n(),a=(0,M.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:t=>{if(!t.trim())throw Error(`Bot token is required.`);return d({path:{assistant_id:e},body:{botToken:t.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a})}})}function Q({assistantId:e,onSuccess:t}){let i=n(),a=(0,M.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:({accountSid:t,authToken:n})=>{if(!t.trim())throw Error(`Account SID is required.`);if(!n.trim())throw Error(`Auth Token is required.`);return f({path:{assistant_id:e},body:{accountSid:t.trim(),authToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a})}})}export{S,O as _,q as a,w as b,V as c,L as d,F as f,k as g,E as h,Y as i,z as l,D as m,Z as n,U as o,I as p,X as r,B as s,Q as t,R as u,j as v,C as x,A as y};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useMutation-CXGTrp4W.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./card-DRIctGVs.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import{t as s}from"./brain-BIzJCPA6.js";import{t as c}from"./globe-CMtjL_s_.js";import{t as l}from"./puzzle-BVC3TGko.js";import{t as u}from"./terminal-BvDcWAOW.js";import{t as d}from"./user-KBQkOaB5.js";import"./src-CnF7WXNj.js";import{t as f}from"./tag-Dn1d6hKF.js";import{pr as p}from"./sdk.gen-DeyOX3Kb.js";import{on as m}from"./react-query.gen-BeiAUt-2.js";import{n as h,r as g,t as _}from"./api-errors-DHvv5HEN.js";import{t as v}from"./skills-DT9YkYm6.js";var y=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),b=e(t(),1),x=i();function S({skill:e,className:t,fallback:n=`🧩`}){let[r,i]=(0,b.useState)(!1);return e.icon&&!r?(0,x.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>i(!0)}):(0,x.jsx)(`span`,{className:t,children:e.emoji??n})}var C={vellum:{label:`Vellum`,icon:y},clawhub:{label:`Clawhub`,icon:c},skillssh:{label:`skills.sh`,icon:u},custom:{label:`Custom`,icon:d},"assistant-memory":{label:`Assistant's Memory`,icon:s}};function w({origin:e}){let t=e in C?C[e]:{label:e.replace(/-/g,` `),icon:l};return(0,x.jsx)(f,{tone:`neutral`,leftIcon:(0,b.createElement)(t.icon),className:`capitalize`,children:t.label})}function T(e){return e.kind===`installed`||e.kind===`bundled`}function E(e){return e.kind===`catalog`}function D({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,x.jsx)(a.Root,{children:(0,x.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,x.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,x.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,x.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function O(e,t,n){let{data:r,error:i,response:a}=await p({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1});if(h(a,i,`Failed to install skill.`),!a.ok)throw new _(a.status,g(i,a,`Failed to install skill.`));return r??{ok:!0}}function k(e,{onRemoved:t}={}){let i=n(),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(null),d=(0,b.useCallback)(()=>{v(i,e)},[e,i]),f=r({mutationFn:t=>O(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),d()}}),p=m({onMutate:e=>c(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{c(null),d()}}),h=(0,b.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),g=(0,b.useCallback)(e=>{u(e)},[]),_=(0,b.useCallback)(()=>{l&&(p.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,p]),y=(0,b.useCallback)(()=>{u(null)},[]);return{handleInstall:h,handleRemove:g,isInstallingSkill:(0,b.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,b.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:_,cancelRemove:y}}export{w as a,T as i,D as n,S as o,E as r,y as s,k as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useMutation-CXGTrp4W.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./card-DRIctGVs.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import{t as s}from"./brain-BIzJCPA6.js";import{t as c}from"./globe-BDvXuPkw.js";import{t as l}from"./puzzle-CtM3jM-f.js";import{t as u}from"./terminal-Cs_TREv-.js";import{t as d}from"./user-Dq9DUxnU.js";import"./src-BAS7a2RG.js";import{t as f}from"./tag-D8NAGb0r.js";import{n as p,r as m,t as h}from"./api-errors-SZKDzMLE.js";import{mr as g}from"./sdk.gen-BySz4QYj.js";import{ln as _}from"./react-query.gen-0mspArBl.js";import{t as v}from"./skills-BL4RgwAd.js";var y=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),b=e(t(),1),x=i();function S({skill:e,className:t,fallback:n=`🧩`}){let[r,i]=(0,b.useState)(!1);return e.icon&&!r?(0,x.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>i(!0)}):(0,x.jsx)(`span`,{className:t,children:e.emoji??n})}var C={vellum:{label:`Vellum`,icon:y},clawhub:{label:`Clawhub`,icon:c},skillssh:{label:`skills.sh`,icon:u},custom:{label:`Custom`,icon:d},"assistant-memory":{label:`Assistant's Memory`,icon:s}};function w({origin:e}){let t=e in C?C[e]:{label:e.replace(/-/g,` `),icon:l};return(0,x.jsx)(f,{tone:`neutral`,leftIcon:(0,b.createElement)(t.icon),className:`capitalize`,children:t.label})}function T(e){return e.kind===`installed`||e.kind===`bundled`}function E(e){return e.kind===`catalog`}function D({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,x.jsx)(a.Root,{children:(0,x.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,x.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,x.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,x.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function O(e,t,n){let{data:r,error:i,response:a}=await g({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1});if(p(a,i,`Failed to install skill.`),!a.ok)throw new h(a.status,m(i,a,`Failed to install skill.`));return r??{ok:!0}}function k(e,{onRemoved:t}={}){let i=n(),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(null),d=(0,b.useCallback)(()=>{v(i,e)},[e,i]),f=r({mutationFn:t=>O(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),d()}}),p=_({onMutate:e=>c(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{c(null),d()}}),m=(0,b.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),h=(0,b.useCallback)(e=>{u(e)},[]),g=(0,b.useCallback)(()=>{l&&(p.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,p]),y=(0,b.useCallback)(()=>{u(null)},[]);return{handleInstall:m,handleRemove:h,isInstallingSkill:(0,b.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,b.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:g,cancelRemove:y}}export{w as a,T as i,D as n,S as o,E as r,y as s,k as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./arrow-right-B-jRJNWP.js";import{vt as o,yt as s}from"./react-query.gen-BeiAUt-2.js";import{d as c}from"./routes-CsoiCk2y.js";import{t as l}from"./misc-CXDB4i-X.js";var u=i();function d({skill:e,className:t,onNavigate:r}){return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,u.jsxs)(n,{to:c.conversation(e.sourceConversationId),onClick:r,className:l(`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] hover:underline`,t),children:[`Learned from this conversation`,(0,u.jsx)(a,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var f=e(t(),1);function p(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function m(e,t){let[n,i]=(0,f.useState)(null),a=r({...s({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),c=(0,f.useMemo)(()=>a.data?.files??[],[a.data]),l=(0,f.useMemo)(()=>c.find(e=>e.name===`SKILL.md`),[c]),u=p(c,n),d=r({...o({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:c,skillMd:l,selectedPath:n,setSelectedPath:i,activePath:u,activeFile:c.find(e=>e.path===u),isFilesLoading:a.isLoading,isFilesPending:a.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{d as n,m as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./arrow-right-B-jRJNWP.js";import{d as o}from"./routes-GmNvdtLW.js";import{bt as s,xt as c}from"./react-query.gen-0mspArBl.js";import{t as l}from"./misc-CAQM4FGM.js";var u=i();function d({skill:e,className:t,onNavigate:r}){return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,u.jsxs)(n,{to:o.conversation(e.sourceConversationId),onClick:r,className:l(`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] hover:underline`,t),children:[`Learned from this conversation`,(0,u.jsx)(a,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var f=e(t(),1);function p(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function m(e,t){let[n,i]=(0,f.useState)(null),a=r({...c({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),o=(0,f.useMemo)(()=>a.data?.files??[],[a.data]),l=(0,f.useMemo)(()=>o.find(e=>e.name===`SKILL.md`),[o]),u=p(o,n),d=r({...s({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:o,skillMd:l,selectedPath:n,setSelectedPath:i,activePath:u,activeFile:o.find(e=>e.path===u),isFilesLoading:a.isLoading,isFilesPending:a.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{d as n,m as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-FWzaVb8P.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./check-sC49_hjU.js";import{t as u}from"./chevron-down-B5A-0g8A.js";import{t as d}from"./chevron-right-HU6H84S0.js";import{t as f}from"./loader-circle-BzJ2kz3F.js";import{t as p}from"./search-DA3TmTuR.js";import{A as m,M as h}from"./src-BAS7a2RG.js";import{n as g,t as _}from"./input-C-GkeWCw.js";import{t as v}from"./toggle-D776PTw-.js";import{t as y}from"./modal-DwsThLGg.js";import{n as b}from"./toast-DR7D7Uma.js";import{t as x}from"./dropdown-DswWMJhz.js";import{t as S}from"./is-electron-7N7iyz1y.js";import{t as C}from"./assistant-identity-store-BczULg2T.js";import{i as w,n as T,o as E}from"./utils-C-YNXdkX.js";import{Ht as D,Kt as O,Vt as k,or as ee,qt as A,sr as te}from"./sdk.gen-BySz4QYj.js";import{n as j}from"./use-platform-gate-D9hR3R0n.js";import{r as M}from"./use-is-org-ready-BbqlQFXw.js";import{It as N,W as ne,c as re,vt as P,yt as ie}from"./react-query.gen-0mspArBl.js";import{o as ae}from"./voice-list-BMMz4e4M.js";var F=e(n(),1),I={anthropic:[{id:`claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-5-20250929`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-opus-4-5-20251101`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-haiku-4-5-20251001`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0}],openai:[{id:`gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.4`,displayName:`GPT-5.4`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.2`,displayName:`GPT-5.2`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-mini`,displayName:`GPT-5.4 Mini`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-nano`,displayName:`GPT-5.4 Nano`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0}],gemini:[{id:`gemini-3.6-flash`,displayName:`Gemini 3.6 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash`,displayName:`Gemini 3.5 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash-lite`,displayName:`Gemini 3.5 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-pro-preview`,displayName:`Gemini 3.1 Pro Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3.1-pro-preview-customtools`,displayName:`Gemini 3.1 Pro Preview (Custom Tools)`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3-flash-preview`,displayName:`Gemini 3 Flash Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite-preview`,displayName:`Gemini 3.1 Flash-Lite Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite`,displayName:`Gemini 3.1 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash`,displayName:`Gemini 2.5 Flash`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash-lite`,displayName:`Gemini 2.5 Flash Lite`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536},{id:`gemini-2.5-pro`,displayName:`Gemini 2.5 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5}],ollama:[{id:`llama3.2`,displayName:`Llama 3.2`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:4096},{id:`mistral`,displayName:`Mistral`,contextWindowTokens:32768,defaultContextWindowTokens:32768,maxOutputTokens:4096}],fireworks:[{id:`accounts/fireworks/models/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`accounts/fireworks/models/kimi-k2p6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`accounts/fireworks/models/glm-5p2`,displayName:`GLM 5.2`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m2p7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/minimax-m2p5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0}],together:[{id:`MiniMaxAI/MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0}],openrouter:[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.5`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-opus-4.5`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-sol-pro`,displayName:`GPT-5.6 Sol Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra-pro`,displayName:`GPT-5.6 Terra Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna-pro`,displayName:`GPT-5.6 Luna Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`x-ai/grok-4.5`,displayName:`Grok 4.5`,contextWindowTokens:5e5,defaultContextWindowTokens:2e5,maxOutputTokens:3e4,supportsThinking:!0},{id:`x-ai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`x-ai/grok-4.20`,displayName:`Grok 4.20`,contextWindowTokens:2e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3,supportsThinking:!0},{id:`deepseek/deepseek-chat-v3-0324`,displayName:`DeepSeek V3`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3},{id:`deepseek/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v3.2-speciale`,displayName:`DeepSeek V3.2 Speciale`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:163840,supportsThinking:!0},{id:`qwen/qwen3.5-plus-02-15`,displayName:`Qwen 3.5 Plus`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-397b-a17b`,displayName:`Qwen 3.5 397B`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-flash-02-23`,displayName:`Qwen 3.5 Flash`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`qwen/qwen3-coder-next`,displayName:`Qwen 3 Coder`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`moonshotai/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`moonshotai/kimi-k2.5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`minimax/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`minimax/minimax-m2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:131072,supportsThinking:!0},{id:`minimax/minimax-m2.5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2.1`,displayName:`MiniMax M2.1`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2`,displayName:`MiniMax M2`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2-her`,displayName:`MiniMax M2-her`,contextWindowTokens:65536,defaultContextWindowTokens:65536,maxOutputTokens:2048},{id:`minimax/minimax-m1`,displayName:`MiniMax M1`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:4e4,supportsThinking:!0},{id:`minimax/minimax-01`,displayName:`MiniMax-01`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:1e6},{id:`z-ai/glm-5.2`,displayName:`GLM-5.2`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`mistralai/mistral-medium-3`,displayName:`Mistral Medium 3`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/mistral-small-2603`,displayName:`Mistral Small 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/devstral-2512`,displayName:`Devstral 2`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`meta-llama/llama-4-maverick`,displayName:`Llama 4 Maverick`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`meta-llama/llama-4-scout`,displayName:`Llama 4 Scout`,contextWindowTokens:327680,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`amazon/nova-pro-v1`,displayName:`Amazon Nova Pro`,contextWindowTokens:3e5,defaultContextWindowTokens:2e5,maxOutputTokens:5e3},{id:`openrouter/owl-alpha`,displayName:`Owl Alpha`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:262144}],"vercel-ai-gateway":[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`xai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0}],minimax:[{id:`MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`MiniMax-M2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:16384,supportsThinking:!0}],atlascloud:[{id:`deepseek-ai/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:8192,supportsThinking:!0}],litellm:[],baseten:[{id:`thinkingmachines/inkling`,displayName:`Inkling`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],poolside:[{id:`poolside/laguna-s-2.1`,displayName:`Laguna S 2.1`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`poolside/laguna-xs-2.1`,displayName:`Laguna XS 2.1`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],"openai-compatible":[]},L={anthropic:`claude-opus-4-8`,openai:`gpt-5.5`,gemini:`gemini-2.5-flash`,ollama:`llama3.2`,fireworks:`accounts/fireworks/models/deepseek-v4-flash`,together:`MiniMaxAI/MiniMax-M3`,openrouter:`x-ai/grok-4.20`,"vercel-ai-gateway":`anthropic/claude-sonnet-4.6`,minimax:`MiniMax-M2.7`,atlascloud:`deepseek-ai/deepseek-v4-pro`,litellm:``,baseten:`thinkingmachines/inkling`,poolside:`poolside/laguna-s-2.1`,"openai-compatible":``},R={vellum:`Vellum`,chatgpt:`ChatGPT Subscription`,anthropic:`Anthropic`,openai:`OpenAI`,gemini:`Google Gemini`,ollama:`Ollama`,fireworks:`Fireworks`,together:`Together AI`,openrouter:`OpenRouter`,"vercel-ai-gateway":`Vercel AI Gateway`,"openai-compatible":`OpenAI-compatible`,minimax:`MiniMax`,atlascloud:`Atlas Cloud`,litellm:`LiteLLM`,baseten:`Baseten`,poolside:`Poolside`};I.anthropic;var z=[`anthropic`,`openai`,`gemini`,`fireworks`,`together`],oe=(()=>{let e=new Set,t=new Set,n=[];for(let r of z)for(let i of I[r])e.has(i.id)||t.has(i.displayName)||(e.add(i.id),t.add(i.displayName),n.push(i));return n})();function se(e){let t=e.indexOf(`/`);if(t<=0)return null;let n=e.slice(0,t),r=z.find(e=>e===n),i=e.slice(t+1);return r&&i?{provider:r,model:i}:null}function ce(e){let t=se(e);return t?t.provider:z.find(t=>I[t].some(t=>t.id===e))}function B(e){return e===`vellum`?oe:I[e]??[]}function le(e){return L[e]}var V=`openai-compatible`,H=[`anthropic`,`openai`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`gemini`,`ollama`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`],U=`vellum`,ue=new Set(z),W=1e3,de=1e3,fe=[`default`,`firecrawl`],G={default:`Vellum`,firecrawl:`Firecrawl`},pe={firecrawl:`fc-...`},me={firecrawl:`vellum:ai:firecrawlKey`},he=new Set([`firecrawl`]),ge=[`vellum`,`inference-provider-native`,`perplexity`,`brave`,`tavily`,`firecrawl`],_e={vellum:`Vellum`,"inference-provider-native":`Provider Native`,perplexity:`Perplexity`,brave:`Brave`,tavily:`Tavily`,firecrawl:`Firecrawl`},K={perplexity:`pplx-...`,brave:`BSA...`,tavily:`tvly-...`,firecrawl:`fc-...`},ve={perplexity:`vellum:ai:perplexityKey`,brave:`vellum:ai:braveKey`,tavily:`vellum:ai:tavilyKey`,firecrawl:`vellum:ai:firecrawlKey`},q=new Set([`perplexity`,`brave`,`tavily`,`firecrawl`]),J=new Set([`managed`,`your-own`]);function ye(e,t){return J.has(e)?e:t}function be(e,t){let n=t.filter(t=>t in e).map(t=>({name:t,...e[t]})),r=new Set(t),i=Object.entries(e).filter(([e])=>!r.has(e)).map(([e,t])=>({name:e,...t}));return[...n,...i]}function xe(e){if(e&&typeof e==`object`&&`success`in e&&e.success===!1)throw Error(`Failed to provision API key: server returned success=false`)}function Se(e,t,n=W){return Math.min(Number.isFinite(e)?Math.max(Math.round(e),n):n,t)}function Y(e,t){return e.toLocaleString(`en-US`,{maximumFractionDigits:t,minimumFractionDigits:0})}function Ce(e){let t=Array.isArray(e)?e[0]??0:e,n=Math.round(t);return Math.abs(n)>=1e6?`${Y(n/1e6,2)}M`:Math.abs(n)>=1e3?`${Y(n/1e3,1)}K`:n.toLocaleString(`en-US`)}function X(e){return ve[e]??``}function we(e){return me[e]??``}var Te={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function Ee(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function Z(e){return e.startsWith(`anthropic/`)}function De(e,t){let n=t.toLowerCase();return B(e).find(e=>e.id.toLowerCase()===n)}function Oe(e,t){return De(e,t)?.adaptiveThinkingOnly===!0}function ke(e){return Z(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}var Ae=[`minimal`,`low`,`medium`,`high`],je=[`low`,`medium`,`high`];function Me(e){return/^gemini-3.*pro/.test(e)}var Ne=new Set(Ae);function Pe(e){return typeof e==`string`&&Ne.has(e)}function Fe(e){return Me(e.toLowerCase())?je:Ae}function Ie(e,t){let n=De(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?ke(t):e===`vercel-ai-gateway`?Z(t):!1:n.supportsThinking}function Le(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?Ee(t):e===`openrouter`||e===`vercel-ai-gateway`?Z(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var Q=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function Re(e,t){return t||Q.has(e)}function ze(e,t){if(!e||!t)return Te;let n=e.toLowerCase(),r=t.toLowerCase(),i=n===`anthropic`||(n===`openrouter`||n===`vercel-ai-gateway`)&&Z(r),a=Ie(n,r);return{maxTokens:!0,contextWindow:!0,effort:Le(n,r,a),speed:n===`anthropic`&&r.includes(`opus`),verbosity:n===`openai`&&Ee(r),temperature:i,topP:Re(n,i),thinking:(n===`anthropic`||n===`openrouter`||n===`vercel-ai-gateway`&&Z(r))&&a&&!Oe(n,r),thinkingLevel:n===`gemini`&&a}}var Be=`0.10.8`;function Ve(){return w(Be)}var $=o(),He=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ue=[`standard`,`fast`],We=[`low`,`medium`,`high`],Ge=`default`,Ke=64e3;function qe({label:e,value:t,onChange:n,defaultValue:i,max:a,disabled:o}){let s=t===null,c=t??i,[l,u]=(0,F.useState)(s?``:String(t)),[d,f]=(0,F.useState)(t);t!==d&&(f(t),u(t===null?``:String(t)));function p(e){u(e);let t=e.trim();if(t===``){n(null);return}let r=Number(t);Number.isFinite(r)&&r>=1e3&&r<=a&&n(r)}function h(e){let r=e.trim();if(r===``){n(null);return}let i=Number(r);if(!Number.isFinite(i)){u(t===null?``:String(t));return}let o=Se(i,a);u(String(o)),n(o)}return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),s?(0,$.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Default · `,Ce(i)]}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(m,{value:c,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:W,max:a,step:de,disabled:o,"aria-label":e})}),(0,$.jsx)(_,{type:`number`,inputMode:`numeric`,value:l,placeholder:String(i),onChange:e=>p(e.target.value),onBlur:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h(e.currentTarget.value)},min:W,max:a,step:de,disabled:o,"aria-label":`${e} (tokens)`,wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||s,children:`Reset`})]})]})}function Je({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:i,defaultContextWindowMaxInputTokens:a,maxTokens:o,onMaxTokensChange:s,contextWindowMaxInputTokens:c,onContextWindowChange:l,effort:u,onEffortChange:d,speed:f,onSpeedChange:p,verbosity:g,onVerbosityChange:_,temperatureEnabled:y,onTemperatureEnabledChange:b,temperature:x,onTemperatureChange:S,topPEnabled:C,onTopPEnabledChange:w,topP:T,onTopPChange:E,thinkingEnabled:D,onThinkingEnabledChange:O,thinkingStreamThinking:k,onThinkingStreamThinkingChange:ee,thinkingLevel:A,onThinkingLevelChange:te}){let j=Ve(),M=r?.maxOutputTokens??Ke,N=r?.contextWindowTokens??2e5,ne=Math.min(i??Ke,M),re=Math.min(a??2e5,N);return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!t&&j&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Fields left at their default are saved with the values shown and won’t change if the assistant defaults change later.`}),e.maxTokens&&(0,$.jsx)(qe,{label:`Max Output Tokens`,value:o,onChange:s,defaultValue:ne,max:M,disabled:t}),e.contextWindow&&(0,$.jsx)(qe,{label:`Context Window`,value:c,onChange:l,defaultValue:re,max:N,disabled:t||!r}),e.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Effort`}),(0,$.jsx)(h,{items:He.map(e=>({value:e,label:e===`inherit`?`default`:e,disabled:t})),value:u,onChange:e=>d(e),ariaLabel:`Effort`})]}),e.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Speed`}),(0,$.jsx)(h,{items:Ue.map(e=>({value:e,label:e,disabled:t})),value:f,onChange:e=>p(e),ariaLabel:`Speed`})]}),e.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Verbosity`}),(0,$.jsx)(h,{items:We.map(e=>({value:e,label:e,disabled:t})),value:g,onChange:e=>_(e),ariaLabel:`Verbosity`})]}),e.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(v,{checked:y,onChange:e=>b(e),label:`Temperature`,disabled:t}),y&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(m,{value:x,onValueChange:e=>S(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.topP&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(v,{checked:C,onChange:e=>w(e),label:`Top P`,disabled:t}),C&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(m,{value:T,onValueChange:e=>E(typeof e==`number`?e:e[0]),min:0,max:1,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.thinking&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(v,{checked:D,onChange:e=>{O(e),e||ee(!1)},label:`Enable extended thinking`,disabled:t}),D&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(v,{checked:k,onChange:e=>ee(e),label:`Stream thinking tokens`,disabled:t})})]}),e.thinkingLevel&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Thinking level`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(default = inherit)`})]}),(0,$.jsx)(h,{items:[`default`,...Fe(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:A,onChange:te,ariaLabel:`Thinking level`})]})]})}var Ye=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function Xe(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function Ze(e){switch(e){case 409:return`A provider with these settings already exists.`;case 404:return`Provider not found. It may have been removed.`;case 400:return`Invalid configuration. Check the provider settings.`;default:return`Failed to save provider. Please try again.`}}function Qe(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function $e(e){return e.label?e.label:e.auth.type===`oauth_subscription`?R.chatgpt:R[e.provider]??e.provider}var et=new Set([`ollama`]);function tt(e,t){return!et.has(e)||t}function nt(e){return H.filter(t=>tt(t,e))}function rt(e){return Ye.filter(t=>tt(t,e))}function it(e){return Object.keys(I).filter(t=>tt(t,e))}function at(){return nt(j())}function ot(){return rt(j())}function st(){return it(j())}function ct(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>tt(e,t)),r=[];return n.includes(`vellum`)&&r.push(U),r.push(...Ye.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&!Ye.includes(e))),r}var lt=`${V}::`;function ut(e){return`${lt}${e}`}function dt(e){return e.startsWith(lt)?e.slice(lt.length):null}function ft(e,t,n){let r=[];for(let i of e){if(i===`vellum`){r.push({value:i,label:n(i),meta:`Managed`});continue}if(i!==`openai-compatible`){r.push({value:i,label:n(i)});continue}for(let e of t)e.provider===`openai-compatible`&&r.push({value:ut(e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`})}return r}var pt=new Set([`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex`]);function mt(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}function ht(e,t,n){return!e||B(e).length===0?!1:(t?n.find(e=>e.name===t):void 0)?.auth.type===`oauth_subscription`?!0:!t&&n.length>0&&n.every(e=>e.auth.type===`oauth_subscription`)}var gt={"no-provider":{placeholder:`Select a provider first`,hint:null},"configure-connection":{placeholder:`Configure models on connection`,hint:`No models available. Configure models on the provider connection first.`},"unknown-to-catalog":{placeholder:`No models available`,hint:`No models are available for this provider in this app version. Update the app, or enter a custom model ID.`}},_t=`__custom-model-id__`;function vt({text:e}){return(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function yt({provider:e,model:t,providerConnection:n,onProviderChange:i,onModelChange:a,onConnectionChange:o,connections:s,isReadOnly:l,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:f=!1}){let p=e.length>0&&t.length===0,[m,h]=(0,F.useState)(!1),g=ht(e,n,u),v=e!==``&&!g;(0,F.useEffect)(()=>{v||h(!1)},[e,v]);function y(e){if(e===_t){h(!0),a(``);return}a(e)}let b=st(),S=j(),C=(0,F.useMemo)(()=>{let t=ct(s??[],S);return e&&!t.includes(e)?[...t,e]:t},[s,e,S]),w=s===void 0?b:C,T=(0,F.useMemo)(()=>{if(!e)return[];let t=B(e);if(t.length>0)return ht(e,n,u)?t.filter(e=>pt.has(e.id)):t;if(n){let e=u.find(e=>e.name===n);return e?mt(e.models):[]}let r=new Set,i=[];for(let e of u)for(let t of e.models??[])r.has(t.id)||(r.add(t.id),i.push({id:t.id,displayName:t.displayName??t.id}));return i},[e,n,u]),E=(0,F.useMemo)(()=>{if(!t||T.some(e=>e.id===t))return T;let n=B(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...T,{id:t,displayName:i}]},[t,T,e,u]),D=e?T.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,O=D?gt[D]:null;return(0,F.useEffect)(()=>{if(!e||m)return;let n=B(e);n.length>0&&!n.some(e=>e.id===t)||t&&T.length>0&&!T.some(e=>e.id===t)&&a(``)},[t,T,a,e,m]),(0,$.jsxs)($.Fragment,{children:[!f&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{value:e===`openai-compatible`&&n?ut(n):e,onChange:e=>{let t=dt(e);if(t){i(`openai-compatible`),o(t);return}i(e)},disabled:l,placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:[...ft(w,s??[],e=>R[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(vt,{text:n}):void 0})),...d&&e===`openai-compatible`&&n?[{value:ut(n),label:`${n} (not found)`}]:[],...e===`openai-compatible`&&!n?[{value:`openai-compatible`,label:R[`openai-compatible`]??`openai-compatible`}]:[]]}),w.length===0&&!l?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`No provider connections. Open Providers to add one.`}):null]}),d&&!l&&(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:`This profile referenced a credential that no longer exists. Saving resets it to use the provider’s available key.`}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),m?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_,{value:t,onChange:e=>a(e.target.value),disabled:l,placeholder:`provider/model-id`,"aria-label":`Custom model ID`,fullWidth:!0,autoFocus:!0}),(0,$.jsx)(r,{variant:`link`,size:`compact`,disabled:l,onClick:()=>h(!1),children:`Choose from list`})]}):(0,$.jsx)(x,{value:t,onChange:y,disabled:l||!e,options:[{value:``,label:O?.placeholder??`Select a model`},...E.map(e=>({value:e.id,label:e.displayName})),...v?[{value:_t,label:`Enter a custom model ID…`}]:[]]}),m?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Enter the exact model identifier your provider expects. It's sent to the connection as-is.`}):p&&!l?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:O?.hint??`Select a model.`}):null]})]})}function bt(e,t,n){return[`credentialPresence`,e,t,n]}function xt({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let o=M(),s=a({queryKey:bt(e??``,n,r),queryFn:async()=>{let{data:t}=await te({path:{assistant_id:e},body:{type:n,name:r},throwOnError:!0});return t.found},enabled:!!e&&i&&o,retry:t,staleTime:3e4});return{hasStoredCredential:s.data??!1,isLoading:s.isLoading}}function St({assistantId:e,onConnected:t}){let[n,i]=(0,F.useState)(`idle`),[a,o]=(0,F.useState)(``),[s,l]=(0,F.useState)(null);async function u(){i(`starting`),l(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await D({path:{assistant_id:e},throwOnError:!0});t?(t.opener=null,t.location.href=n):window.open(n,`_blank`,`noopener`),i(`paste_url`)}catch{t?.close(),i(`failed`),l(`Failed to start ChatGPT sign-in. Please try again.`)}}async function d(){l(null);let n=a.trim();if(!n){l(`Please paste the URL from the error page.`);return}let r;try{r=new URL(n)}catch{l(`Invalid URL. Please paste the full URL from the address bar.`);return}let o=r.searchParams.get(`code`),s=r.searchParams.get(`state`);if(!o){l(`The URL is missing the authorization code. Make sure you copied the full URL.`);return}if(!s){l(`The URL is missing the state parameter. Make sure you copied the full URL.`);return}i(`exchanging`);try{await k({path:{assistant_id:e},body:{code:o,state:s},throwOnError:!0}),i(`completed`);let{data:n}=await O({path:{assistant_id:e},query:{provider:`openai`},throwOnError:!0});t(n.connections.find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`openai`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null,isManaged:!1})}catch{i(`failed`),l(`Failed to complete sign-in. Please try again.`)}}function p(){i(`idle`),o(``),l(null)}return(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Connect your ChatGPT subscription to use OpenAI models without an API key.`}),n===`idle`||n===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(c,{variant:`body-small-default`,as:`p`,className:n===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:[`1. Click “Sign in with ChatGPT”`,n===`idle`?` below`:null,` to open a popup`]}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`2. Sign in, then you'll land on an error page — that's expected`}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`3. Copy the full URL from that page's address bar and paste it below`})]}),n===`idle`?(0,$.jsx)(r,{variant:`outlined`,size:`compact`,onClick:()=>void u(),children:`Sign in with ChatGPT`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_,{value:a,onChange:e=>{o(e.target.value),l(null)},placeholder:`Paste callback URL here...`,fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!a.trim(),onClick:()=>void d(),children:`Complete Sign In`})})]})]}):null,n===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(f,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Starting sign-in...`})]}):null,n===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(f,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Completing sign-in...`})]}):null,n===`completed`?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:`ChatGPT subscription connected successfully.`}):null,s?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:s}):null,n===`failed`?(0,$.jsx)(r,{variant:`outlined`,size:`compact`,onClick:p,children:`Try Again`}):null]})}var Ct=new Set(Object.entries(R).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),wt={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function Tt(e,t,n){let r=e.trim().toLowerCase();return r?Ct.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function Et(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function Dt(e){return Et(e)}function Ot(e,t){let n=new Set(t.map(e=>e.toLowerCase()));if(!n.has(e.toLowerCase()))return e;let r=2,i=`${e}-${r}`;for(;n.has(i.toLowerCase());)r+=1,i=`${e}-${r}`;return i}function kt(e,t){return{name:R[e]??e,key:Ot(`${Dt(e)}-personal`,t)}}function At(e,t){return{name:e,key:Ot(Dt(e),t)}}function jt({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:i,isLoadingCredential:a,apiKeyPlaceholder:o,provider:s,providerCredentials:l,showAdvancedSection:u,onError:p}){let[m,h]=(0,F.useState)(!1),[g,v]=(0,F.useState)(!1),[y,b]=(0,F.useState)(``);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),a?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(f,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Loading…`})]}):(0,$.jsx)(_,{type:`password`,value:e,onChange:e=>{t(e.target.value),p(null)},placeholder:o,fullWidth:!0})]}),u&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":m,onClick:()=>h(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${m?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:`· Credential reference`})]}),m&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=l.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===n),r=n&&!t?[{label:n,value:n},...e]:e;return r.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Credential Reference`}),(0,$.jsx)(x,{"aria-label":`Credential reference`,value:n,onChange:e=>{i(e)},options:r})]})})(),g&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`New Credential Name`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(_,{value:y,onChange:e=>b(e.target.value),placeholder:`e.g. team-key`,fullWidth:!0}),(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!y.trim(),onClick:()=>{let e=y.trim();e&&(i(`credential/${s}/${e}`),v(!1),b(``))},children:`Use`})]})]}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>{g?(v(!1),b(``)):v(!0)},children:g?`Cancel`:`+ New Credential`})})]})]})]})}var Mt=`•`.repeat(8);function Nt(e,t){return t?Mt:e}function Pt(e){let t=[];for(let n of e)if(n.type===`api_key`)t.push({service:n.name,field:`api_key`});else if(n.type===`credential`){let e=n.name.lastIndexOf(`:`);if(e>=0){let r=n.name.slice(0,e),i=n.name.slice(e+1);r&&i&&t.push({service:r,field:i})}}return t}function Ft({assistantId:e,enabled:n=!0}){let r=M(),i=a({...P({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>Pt(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function It({assistantId:e,existingNames:t,connections:n,defaultProviderType:a,onCreated:o,onCancel:s,variant:l=`modal`}){let u=ot(),f=a&&u.includes(a)?a:u[0]??`anthropic`,p=kt(f,t),[m,h]=(0,F.useState)(f===`openai-compatible`?``:p.name),[g,v]=(0,F.useState)(p.key),[S,C]=(0,F.useState)(f),w=S===`chatgpt`,T=w?`openai`:S,E=w?`oauth_subscription`:T===`ollama`?`none`:`api_key`,[D,O]=(0,F.useState)(()=>f===`ollama`?``:f===`openai-compatible`?`credential/${p.key}/api_key`:`credential/${f}/api_key`),[k,te]=(0,F.useState)(``),[j,M]=(0,F.useState)(``),[N,ne]=(0,F.useState)(!1),[re,P]=(0,F.useState)(null),[ae,I]=(0,F.useState)(!1),L=T===`openai-compatible`,z=(0,F.useMemo)(()=>{let e=!w&&!u.includes(T)?[...u,T]:[...u],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[w,T,u]),oe=(0,F.useRef)(!1);function se(e){oe.current=!0,h(e)}let[ce,B]=(0,F.useState)(``),[le,V]=(0,F.useState)(!1),H=i(),U=(0,F.useMemo)(()=>Xe(D),[D]),ue=E===`api_key`&&U!==null,{hasStoredCredential:W,isLoading:de}=xt({assistantId:e,credentialKind:`credential`,credentialName:U?`${U.service}:${U.field}`:``,enabled:ue}),{credentials:fe}=Ft({assistantId:e,enabled:!0}),G=L?Tt(m,n):null,pe=g.trim().length>0&&(!L||m.trim().length>0)&&G===null;async function me(){if(pe){ne(!0),P(null);try{let t;if(E===`api_key`){let n=D.trim()||`credential/${L?g:T}/api_key`,r=ce.trim();if(r){V(!0);try{let t=Xe(n);await ee({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:T,value:r},throwOnError:!0});let i=bt(e,`credential`,t?`${t.service}:${t.field}`:``);H.setQueryData(i,!0),H.invalidateQueries({queryKey:ie({path:{assistant_id:e}})})}catch{P(`Failed to save API key. Please try again.`);return}finally{V(!1)}t={type:`api_key`,credential:n}}else if(W)t={type:`api_key`,credential:n};else if(L)t={type:`none`};else{P(`Enter an API key or select an existing credential.`);return}}else if(E===`oauth_subscription`){P(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else t={type:`none`};let n=m.trim()||null,r={name:g.trim(),provider:T,auth:t,...n!==null&&{label:n},...L&&{base_url:k.trim()||null,models:j.trim()?j.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:s}=await A({path:{assistant_id:e},body:r});if(!s?.ok){P(Qe(s?.status,a)??Ze(s?.status));return}if(!i){P(`Server returned an empty response. Please try again.`);return}b.success(`Provider connected`),o(i)}catch{P(`Failed to save provider. Please try again.`)}finally{ne(!1)}}}let he=fe.filter(e=>e.service===T),ge=he.length>0,_e=Nt(`Enter your API key`,W),K=ae,ve=(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":K,onClick:()=>I(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${K?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`})]}),K&&(0,$.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(_,{value:m,onChange:e=>se(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]})})]}),q=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{"aria-label":`Provider`,value:S,onChange:e=>{if(C(e),P(null),e===`chatgpt`)return;let{name:n,key:r}=kt(e,t);oe.current||h(e===`openai-compatible`?``:n),v(r),O(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...z.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:R[e]})),...z.includes(`openai-compatible`)?[{value:`openai-compatible`,label:`Custom provider`}]:[]]}),L?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Custom providers connect to any endpoint that serves the OpenAI-compatible API — xAI, Groq, LM Studio, vLLM, and similar.`}):null]}),L&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Name`}),(0,$.jsx)(_,{value:m,onChange:e=>se(e.target.value),placeholder:`xAI`,fullWidth:!0}),G?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:wt[G]}):null]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,$.jsx)(_,{value:k,onChange:e=>te(e.target.value),placeholder:`https://api.x.ai/v1`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,$.jsx)(_,{value:j,onChange:e=>M(e.target.value),placeholder:`model-1, model-2`,fullWidth:!0}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),E===`api_key`&&(0,$.jsx)(jt,{apiKeyValue:ce,onApiKeyChange:B,credential:D,onCredentialChange:O,isLoadingCredential:de,apiKeyPlaceholder:_e,provider:T,providerCredentials:he,showAdvancedSection:ge,onError:P}),L&&E===`api_key`?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Leave the key empty for local endpoints — they connect keyless.`}):null,E===`oauth_subscription`&&(0,$.jsx)(St,{assistantId:e,onConnected:o}),!w&&!L&&ve,re&&(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:re})]}),J=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),!w&&(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!pe||N||le,onClick:()=>void me(),children:N?`Saving…`:L&&m.trim()?`Add ${m.trim()}`:`Add`})]});return l===`inline`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[q,(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:J})]}):(0,$.jsxs)(y.Content,{size:`md`,children:[(0,$.jsxs)(y.Header,{children:[(0,$.jsx)(y.Title,{children:`Add Provider`}),(0,$.jsx)(y.Description,{children:`Choose a provider and paste its API key.`})]}),(0,$.jsx)(y.Body,{children:q}),(0,$.jsx)(y.Footer,{children:J})]})}var Lt=`__create_new_provider__`;function Rt({editor:e,assistantId:t,connections:n,variant:r}){let i=j(),a=e.effectiveMode===`create`,o=r===`panel`,[s,l]=(0,F.useState)(!1),u=s||!!e.keyError&&e.getDirty(),f=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a?`Name`:`Display Name`}),(0,$.jsx)(_,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:`e.g. Fast & Cheap`,disabled:e.isReadOnly,fullWidth:!0})]}),p=(0,$.jsx)(g,{label:(0,$.jsxs)($.Fragment,{children:[`Description`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),value:e.description,onChange:t=>e.setDescription(t.target.value),placeholder:`Describe when to use this profile`,disabled:e.isReadOnly,rows:2,fullWidth:!0,className:`resize-none`}),m=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(_,{type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:`e.g. fast-cheap`,disabled:e.isReadOnly||e.effectiveMode===`edit`,fullWidth:!0}),e.keyError&&!e.isReadOnly?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.keyError}):null]}),h=!o&&(!e.isReadOnly||e.status!==`active`)?(0,$.jsx)(v,{checked:e.status===`active`,onChange:t=>e.setStatus(t?`active`:`disabled`),label:`Active`,className:`touch-mobile:mt-2 touch-mobile:[&_button]:h-7 touch-mobile:[&_button]:w-10 touch-mobile:[&_button>span]:h-6 touch-mobile:[&_button>span]:w-6`}):null,y=(0,$.jsx)(Je,{visibility:e.visibility,isReadOnly:e.isReadOnly,model:e.model,selectedModel:e.selectedModel,defaultMaxOutputTokens:e.defaultMaxOutputTokens,defaultContextWindowMaxInputTokens:e.defaultContextWindowMaxInputTokens,maxTokens:e.maxTokens,onMaxTokensChange:e.setMaxTokens,contextWindowMaxInputTokens:e.contextWindowMaxInputTokens,onContextWindowChange:e.setContextWindowMaxInputTokens,effort:e.effort,onEffortChange:e.setEffort,speed:e.speed,onSpeedChange:e.setSpeed,verbosity:e.verbosity,onVerbosityChange:e.setVerbosity,temperatureEnabled:e.temperatureEnabled,onTemperatureEnabledChange:e.setTemperatureEnabled,temperature:e.temperature,onTemperatureChange:e.setTemperature,topPEnabled:e.topPEnabled,onTopPEnabledChange:e.setTopPEnabled,topP:e.topP,onTopPChange:e.setTopP,thinkingEnabled:e.thinkingEnabled,onThinkingEnabledChange:e.setThinkingEnabled,thinkingStreamThinking:e.thinkingStreamThinking,onThinkingStreamThinkingChange:e.setThinkingStreamThinking,thinkingLevel:e.thinkingLevel,onThinkingLevelChange:e.setThinkingLevel}),b=e.saveError?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,S=(0,F.useMemo)(()=>{let t=ft(ct(e.effectiveConnections,i),e.effectiveConnections,e=>R[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(vt,{text:n}):void 0}));return t.push({value:Lt,label:`+ Create new provider`}),t},[i,e.effectiveConnections]),C=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{value:e.creatingProvider?Lt:e.provider===`openai-compatible`&&e.providerConnection?ut(e.providerConnection):e.provider,onChange:t=>{if(t===Lt){e.setCreatingProvider(!0),e.setNewProviderNote(!1);return}if(!t)return;e.setCreatingProvider(!1);let n=dt(t);if(n){e.provider===`openai-compatible`?e.setModel(``):e.handleProviderChange(V),e.setProviderConnection(n);return}e.handleProviderChange(t)},placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:S}),e.newProviderNote?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`New provider connection will show up in the Providers section.`}):null]}),e.creatingProvider?(0,$.jsx)(It,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:e.provider||void 0,onCreated:e.handleProviderCreated,onCancel:()=>e.setCreatingProvider(!1)}):(0,$.jsx)(yt,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:e.effectiveConnections,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,hideProviderField:!0})]});if(a){let t=e.model!==``;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f,C,p,h,o?t&&(0,$.jsxs)(`div`,{className:`space-y-4`,children:[m,y]}):t&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":u,onClick:()=>l(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${u?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`})]}),u?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[m,y]}):null]}),b]})}return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f,p,m,h,(0,$.jsx)(yt,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:n,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound}),y,b]})}function zt(e,t,n){if(e){let n=B(e).find(e=>e.id===t);if(n)return n.displayName}for(let e of n??[]){let n=(e.models??[]).find(e=>e.id===t);if(n)return n.displayName??n.id}let r=t.lastIndexOf(`/`);return r>=0?t.slice(r+1):t}function Bt(e,t,n){let r=(0,F.useRef)(!1),i=(0,F.useRef)(!1);return{handleLabelChange:(0,F.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(Et(a))},[e,t,n]),handleKeyChange:(0,F.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,F.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,F.useCallback)(()=>i.current,[])}}var Vt=`0.10.12`;async function Ht(e,t){await E(t);let n=C.getState().assistantId;return e!=null&&n!==e?!1:T(Vt)}function Ut(e,t){return e===t?!0:e===`vellum`&&ue.has(t)}function Wt({mode:e,profileName:t,initialValues:n,existingNames:r,connections:o,assistantId:s,onSave:c}){let[l,u]=(0,F.useState)(e),d=n?.invariant===!0&&l!==`create`,f=l===`view`||d,p=n?.status??`active`,[m,h]=(0,F.useState)(n?.label??``),[g,_]=(0,F.useState)(n?.description??``),[v,y]=(0,F.useState)(e===`create`?``:t??``),[b,x]=(0,F.useState)(n?.provider&&n.provider!==`chatgpt`?n.provider:``),[S,C]=(0,F.useState)(n?.model??``),[w,T]=(0,F.useState)(n?.provider_connection??``),[E,D]=(0,F.useState)(n?.status??`active`),[O,k]=(0,F.useState)([]),[ee,A]=(0,F.useState)(!1),[te,j]=(0,F.useState)(null),[M,N]=(0,F.useState)(n?.maxTokens??null),[P,ie]=(0,F.useState)(n?.contextWindow?.maxInputTokens??null),[ae,I]=(0,F.useState)(n?.effort??`inherit`),[L,R]=(0,F.useState)(n?.speed??`standard`),[z,oe]=(0,F.useState)(n?.verbosity??`medium`),[le,V]=(0,F.useState)(typeof n?.temperature==`number`),[H,ue]=(0,F.useState)(typeof n?.temperature==`number`?n.temperature:.7),[W,de]=(0,F.useState)(typeof n?.topP==`number`),[fe,G]=(0,F.useState)(typeof n?.topP==`number`?n.topP:.95),pe=f&&E!==p,[me,he]=(0,F.useState)(n?.thinking?.enabled??!1),[ge,_e]=(0,F.useState)(n?.thinking?.streamThinking??!1),[K,ve]=(0,F.useState)(Pe(n?.thinking?.level)?n.thinking.level:Ge),q=(0,F.useMemo)(()=>b===`vellum`?se(S):null,[b,S]),J=q?.model??S,ye=(0,F.useMemo)(()=>b?B(b).find(e=>e.id===J)??null:null,[b,J]),{data:be}=a({...re({path:{assistant_id:s}}),staleTime:3e4}),xe=be?.llm?.default?.maxTokens,Se=be?.llm?.default?.contextWindow?.maxInputTokens,Y=(0,F.useMemo)(()=>ze(b===`vellum`?q?.provider??ce(S)??n?.provider??``:b,J),[b,S,J,q,n?.provider]),Ce=(0,F.useMemo)(()=>{let e=o??[];if(O.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...O.filter(e=>!t.has(e.name))]},[o,O]),X=(0,F.useMemo)(()=>b?Ce.filter(e=>Ut(e.provider,b)):[],[b,Ce]),we=w!==``&&!X.some(e=>e.name===w),{handleLabelChange:Te,handleKeyChange:Ee,resetDirty:Z,getDirty:De}=Bt(l,h,y),Oe=i(),[ke,Ae]=(0,F.useState)(!1),[je,Me]=(0,F.useState)(!1);(0,F.useEffect)(()=>{n?.provider_connection===`vellum`&&b===(n?.provider??``)&&o?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&x(U)},[o,b,n]),(0,F.useEffect)(()=>{Z(),Ae(!1),Me(!1),k([])},[t,e,Z]);function Ne(e){if(e===b)return;x(e),C(``);let t=Ce.filter(t=>Ut(t.provider,e));T(t.length===1?t[0].name:``),N(null),ie(null),I(`inherit`),R(`standard`),oe(`medium`),V(!1),ue(.7),de(!1),G(.95),he(!1),_e(!1),ve(Ge)}function Fe(e){if(T(e),b&&B(b).length===0&&S)if(e===``)new Set(X.flatMap(e=>(e.models??[]).map(e=>e.id))).has(S)||C(``);else{let t=X.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(S)||C(``)}}function Ie(e){if(e!==S&&(C(e),N(null),ie(null),l===`create`&&e&&!De())){let{name:t,key:n}=At(zt(b||void 0,e,X),r);h(t),y(n)}}function Le(e){let t=e.provider;t!==`vellum`&&(k(t=>t.some(t=>t.name===e.name)?t:[...t,e]),x(t),T(e.name),C(``),Ae(!1),Me(!0),Oe.invalidateQueries({queryKey:ne({path:{assistant_id:s}})}))}let Q=v.trim(),Re=Q.length===0,Be=/\s/.test(v),Ve=l===`create`?r.includes(Q):r.filter(e=>e!==t).includes(Q),$=b.length===0,He=b.length>0&&S.length===0,Ue=Re||Be||Ve||$||He,We=Re?`Key is required`:Be?`Key cannot contain whitespace`:Ve?`A profile with this key already exists`:null;async function Ke(){if(!(Ue&&!f)){if(f){if(!pe)return;A(!0),j(null);try{await c(Q,{status:`active`},{mode:`merge`})}catch{j(`Failed to save profile. Please try again.`)}finally{A(!1)}return}A(!0),j(null);try{let e={},t=w===``&&X.length===1?X[0].name:w,r=we?``:t,i=b===`vellum`&&await Ht(s),a=b===`vellum`?i?U:q?.provider??ce(S)??n?.provider??``:b,o=J,u=i?``:r;l===`edit`?(e.label=m.trim()||null,e.description=g.trim()||null,e.provider=a||null,e.model=o||null,e.provider_connection=u||null):(m.trim()&&(e.label=m.trim()),g.trim()&&(e.description=g.trim()),a&&(e.provider=a),o&&(e.model=o),u&&(e.provider_connection=u)),Y.maxTokens&&M!==null&&(e.maxTokens=M),Y.contextWindow&&P!==null&&(e.contextWindow={maxInputTokens:P}),Y.effort&&ae!==`inherit`&&(e.effort=ae),Y.speed&&L!==`standard`&&(e.speed=L),Y.verbosity&&(e.verbosity=z),Y.temperature&&(le?e.temperature=H:l===`edit`&&(e.temperature=null)),Y.topP&&(W?e.topP=fe:l===`edit`&&(e.topP=null)),Y.thinking&&(e.thinking={enabled:me,...me?{streamThinking:ge}:{}}),Y.thinkingLevel&&K!==`default`&&(e.thinking={enabled:!0,level:K}),(l===`edit`||E!==`active`)&&(e.status=E),await c(Q,e)}catch{j(`Failed to save profile. Please try again.`)}finally{A(!1)}}}function qe(){u(`create`),y(``),Z()}return{effectiveMode:l,isReadOnly:f,isInvariant:d,hasViewModeChanges:pe,label:m,description:g,key:v,provider:b,model:S,providerConnection:w,status:E,saving:ee,saveError:te,keyError:We,isInvalid:Ue,maxTokens:M,contextWindowMaxInputTokens:P,effort:ae,speed:L,verbosity:z,temperatureEnabled:le,temperature:H,topPEnabled:W,topP:fe,thinkingEnabled:me,thinkingStreamThinking:ge,thinkingLevel:K,visibility:Y,selectedModel:ye,defaultMaxOutputTokens:xe,defaultContextWindowMaxInputTokens:Se,effectiveConnections:Ce,availableConnectionsForProvider:X,connectionNotFound:we,creatingProvider:ke,newProviderNote:je,setDescription:_,setStatus:D,setMaxTokens:N,setContextWindowMaxInputTokens:ie,setEffort:I,setSpeed:R,setVerbosity:oe,setTemperatureEnabled:V,setTemperature:ue,setTopPEnabled:de,setTopP:G,setThinkingEnabled:he,setThinkingStreamThinking:_e,setThinkingLevel:ve,setCreatingProvider:Ae,setNewProviderNote:Me,handleLabelChange:Te,handleKeyChange:Ee,getDirty:De,handleProviderChange:Ne,handleConnectionChange:Fe,handleModelChange:Ie,handleProviderCreated:Le,setProviderConnection:T,setModel:C,handleSave:Ke,switchToSaveAsNew:qe}}var Gt=`/assistant/assets/pcm-downsample-worklet-CwNZrVLe.js`;function Kt(){if(!(typeof window>`u`))return window.AudioContext??window.webkitAudioContext}function qt(e){let t=Kt();if(!t)throw Error(`Web Audio API is not available in this environment`);return new t(e)}var Jt=`pcm-downsample`,Yt=1600,Xt=16e3;function Zt(){return S()?window.vellum?.helper?.dictation:void 0}function Qt(){let e=Zt();return!!e?.transcribe&&!!e.onTranscribed}var $t=null,en=null;async function tn(){return $t||($t=qt(),en=$t.audioWorklet.addModule(Gt)),$t.state!==`running`&&await $t.resume(),await en,$t}async function nn(e,t){try{let n=await tn(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Jt,{numberOfInputs:1,numberOfOutputs:0,channelCount:1}),a=[],o=0,s=0;return i.port.onmessage=e=>{let r=new Int16Array(e.data);if(r.length===0||(a.push(r),o+=r.length,o<Yt))return;let i=new Int16Array(o),c=0;for(let e of a)i.set(e,c),c+=e.length;a=[],o=0,s+=1,(s===1||s%50==0)&&console.info(`dictation: pushed audio chunk #${s} (${i.byteLength} bytes, context=${n.state})`),t(i.buffer)},r.connect(i),console.info(`dictation: audio pump started (context=${n.state})`),()=>{i.port.onmessage=null,i.disconnect(),r.disconnect()}}catch(e){return console.warn(`native-dictation-partials: audio pump failed`,e),null}}var rn=8e3;async function an(e){let t=Zt();if(!t?.transcribe||!t.onTranscribed)return null;let n;try{n=await on(e)}catch(e){let t=e instanceof DOMException?`${e.name}: ${e.message}`:e;return console.warn(`dictation: blob decode for native transcribe failed`,t),null}if(n.byteLength===0)return null;let r=null,i=t.onTranscribed(e=>{r?.(e.text||null)});try{let e=await t.transcribe(n);if(!e.ok)return console.info(`dictation: native transcribe unavailable:`,e.reason),null;let i=await new Promise(e=>{r=e,setTimeout(()=>e(null),rn)});return console.info(`dictation: native transcribe ${i?`chars=${i.length}`:`produced no text`}`),i}catch(e){return console.warn(`dictation: native transcribe failed`,e),null}finally{i()}}async function on(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,Xt).decodeAudioData(t),r=n.numberOfChannels,i=n.length,a=n.getChannelData(0);if(r>1){let e=new Float32Array(i);for(let t=0;t<r;t++){let a=n.getChannelData(t);for(let t=0;t<i;t++)e[t]+=a[t]/r}a=e}let o=new Int16Array(i);for(let e=0;e<i;e++){let t=a[e],n=t<-1?-1:t>1?1:t;o[e]=n<0?n*32768:n*32767}return o.buffer}var sn=4e3;async function cn(e,t){let n=Zt();if(!n)return null;let r=n.pushAudioChunk?.bind(n),i=t?.stream,a=!!i&&!!r,o=n.onPartial(t=>{e(t.text)}),s=null,c=null,l=n.onFinalized?.(e=>{s=e.text||null,c?.(s)})??null,u=()=>{l?.(),o()};try{let e=await n.setPartials(!0,void 0,a);if(!e.ok)return console.info(`native-dictation-partials: unavailable:`,e.reason),u(),null}catch(e){return console.warn(`native-dictation-partials: setPartials failed`,e),u(),null}let d=null;if(a&&(d=await nn(i,e=>r(e)),!d))return u(),n.setPartials(!1).catch(()=>{}),null;let f=null;return()=>f||(d?.(),o(),n.setPartials(!1).catch(()=>{}),f=(async()=>{let e=s;return!e&&l&&(e=await new Promise(e=>{c=e,setTimeout(()=>e(null),sn)})),l?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),f)}var ln=[{id:`vellum`,displayName:`Vellum`,subtitle:`Text-to-speech through your Vellum account — billed to Vellum credits, no separate API key needed.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Connected via your Vellum account`,credentialsGuide:{description:`Connect this assistant to your Vellum account; managed speech uses that connection instead of a provider API key.`,url:`https://platform.vellum.ai/`,linkLabel:`Open Vellum Platform`}},{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],un=`macos-native`,dn=[{id:`vellum`,displayName:`Vellum`,subtitle:`Transcription through your Vellum account — billed to Vellum credits, no separate API key needed.`},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}},{id:un,displayName:`macOS Native Dictation`,subtitle:`Apple's on-device speech recognition, running locally through the macOS helper. Works offline and needs no API key.`,requiresNativeDictation:!0,setupWarning:`Requires macOS Dictation to be turned on: open System Settings → Keyboard, then enable Dictation. macOS downloads the on-device speech model the first time Dictation is enabled — without it, voice input produces no transcript.`}],fn=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],pn=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],mn={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},hn=[`vellum`,`gemini`,`openai`],gn={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function _n(e){return e===`vellum`?[...pn]:pn.filter(t=>vn(t)===e)}function vn(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var yn=`vellum:ai:imageGenProvider`,bn=`vellum:ai:imageGenModel`,xn=`vellum:ai:webSearchProvider`,Sn=`vellum:ai:webFetchProvider`,Cn=`vellum:ai:emailMode`,wn=`vellum:ai:emailByoProvider`,Tn=`vellum:voice:ttsProvider`,En=`vellum:voice:ttsApiKey:`,Dn=`vellum:voice:ttsVoiceId:`,On=`vellum:voice:sttProvider`,kn=`vellum:voice:sttApiKey:`;function An({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,$.jsxs)(`button`,{type:`button`,className:s(`flex items-center gap-2 rounded-md border border-[var(--field-border)] bg-[var(--field-bg)] text-left text-[var(--content-default)] transition-colors focus:outline-none data-[state=open]:border-[var(--border-active)]`,i?`h-7 min-w-44 px-2.5 text-body-small-default`:`h-9 w-full px-3 text-body-medium-lighter`,n),...r,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,$.jsx)(u,{"aria-hidden":!0,className:s(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}function jn(e){return e.nativeLabel?`${e.label} (${e.nativeLabel})`:e.label}var Mn=`multi`,Nn=[{code:``,label:`English (default)`,description:`Speech recognition defaults to English.`},{code:Mn,label:`Multilingual`,description:`Follows you between languages mid-sentence: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, and Dutch.`},{code:`ar`,label:`Arabic`,nativeLabel:`العربية`,extended:!0},{code:`be`,label:`Belarusian`,nativeLabel:`Беларуская`,extended:!0},{code:`bn`,label:`Bengali`,nativeLabel:`বাংলা`,extended:!0},{code:`bs`,label:`Bosnian`,nativeLabel:`Bosanski`,extended:!0},{code:`bg`,label:`Bulgarian`,nativeLabel:`Български`,extended:!0},{code:`ca`,label:`Catalan`,nativeLabel:`Català`,extended:!0},{code:`zh`,label:`Chinese`,nativeLabel:`中文`,extended:!0},{code:`hr`,label:`Croatian`,nativeLabel:`Hrvatski`,extended:!0},{code:`cs`,label:`Czech`,nativeLabel:`Čeština`,extended:!0},{code:`da`,label:`Danish`,nativeLabel:`Dansk`,extended:!0},{code:`nl`,label:`Dutch`,nativeLabel:`Nederlands`},{code:`et`,label:`Estonian`,nativeLabel:`Eesti`,extended:!0},{code:`fi`,label:`Finnish`,nativeLabel:`Suomi`,extended:!0},{code:`fr`,label:`French`,nativeLabel:`Français`},{code:`de`,label:`German`,nativeLabel:`Deutsch`},{code:`el`,label:`Greek`,nativeLabel:`Ελληνικά`,extended:!0},{code:`gu`,label:`Gujarati`,nativeLabel:`ગુજરાતી`,extended:!0},{code:`he`,label:`Hebrew`,nativeLabel:`עברית`,extended:!0},{code:`hi`,label:`Hindi`,nativeLabel:`हिन्दी`},{code:`hu`,label:`Hungarian`,nativeLabel:`Magyar`,extended:!0},{code:`id`,label:`Indonesian`,nativeLabel:`Bahasa Indonesia`,extended:!0},{code:`it`,label:`Italian`,nativeLabel:`Italiano`},{code:`ja`,label:`Japanese`,nativeLabel:`日本語`},{code:`kn`,label:`Kannada`,nativeLabel:`ಕನ್ನಡ`,extended:!0},{code:`ko`,label:`Korean`,nativeLabel:`한국어`,extended:!0},{code:`lv`,label:`Latvian`,nativeLabel:`Latviešu`,extended:!0},{code:`lt`,label:`Lithuanian`,nativeLabel:`Lietuvių`,extended:!0},{code:`mk`,label:`Macedonian`,nativeLabel:`Македонски`,extended:!0},{code:`ms`,label:`Malay`,nativeLabel:`Bahasa Melayu`,extended:!0},{code:`mr`,label:`Marathi`,nativeLabel:`मराठी`,extended:!0},{code:`no`,label:`Norwegian`,nativeLabel:`Norsk`,extended:!0},{code:`fa`,label:`Persian`,nativeLabel:`فارسی`,extended:!0},{code:`pl`,label:`Polish`,nativeLabel:`Polski`,extended:!0},{code:`pt`,label:`Portuguese`,nativeLabel:`Português`},{code:`ro`,label:`Romanian`,nativeLabel:`Română`,extended:!0},{code:`ru`,label:`Russian`,nativeLabel:`Русский`},{code:`sr`,label:`Serbian`,nativeLabel:`Српски`,extended:!0},{code:`sk`,label:`Slovak`,nativeLabel:`Slovenčina`,extended:!0},{code:`sl`,label:`Slovenian`,nativeLabel:`Slovenščina`,extended:!0},{code:`es`,label:`Spanish`,nativeLabel:`Español`},{code:`sv`,label:`Swedish`,nativeLabel:`Svenska`,extended:!0},{code:`tl`,label:`Tagalog`,extended:!0},{code:`ta`,label:`Tamil`,nativeLabel:`தமிழ்`,extended:!0},{code:`te`,label:`Telugu`,nativeLabel:`తెలుగు`,extended:!0},{code:`th`,label:`Thai`,nativeLabel:`ไทย`,extended:!0},{code:`tr`,label:`Turkish`,nativeLabel:`Türkçe`,extended:!0},{code:`uk`,label:`Ukrainian`,nativeLabel:`Українська`,extended:!0},{code:`vi`,label:`Vietnamese`,nativeLabel:`Tiếng Việt`,extended:!0}],Pn=new Set([`deepgram`,`vellum`]),Fn=new Set([`deepgram`,`vellum`]),In=new Set([`xai`]),Ln={code:``,label:`Auto-detect (default)`,description:`xAI identifies the spoken language natively. Picking a specific language pins it; returning to auto-detect requires clearing services.stt.language outside this picker.`},Rn={code:`en`,label:`English`};function zn(e,t){let n=Fn.has(t)?Nn:Nn.filter(e=>!e.extended),r=Pn.has(t)?n:n.filter(e=>e.code!==Mn),i=In.has(t)?r.flatMap(e=>e.code===``?[Ln,Rn]:[e]):r;return i.some(t=>t.code===e)?i:[...i,{code:e,label:`${e} (custom)`}]}function Bn(e,t,n){let r=zn(e,t),i=[],a=e=>{!i.includes(e)&&r.some(t=>t.code===e)&&i.push(e)};return a(e),a(``),a(Mn),n!=null&&a(n),{featured:i.map(e=>r.find(t=>t.code===e)),rest:r.filter(e=>!i.includes(e.code)).sort((e,t)=>e.label.localeCompare(t.label))}}function Vn(e,t){let n=t.trim().toLowerCase();return n.length===0||e.label.toLowerCase().includes(n)||e.nativeLabel&&e.nativeLabel.toLowerCase().includes(n)?!0:e.code.toLowerCase().startsWith(n)}function Hn(e,t){let n=zn(e,t).find(t=>t.code===e);return n?jn(n):e}function Un(e){if(!e)return null;let t=e.toLowerCase().split(`-`)[0];return t===`en`?null:Nn.find(e=>e.code===t)??null}function Wn(e,t){let n=Un(e);return n?n.extended?Fn.has(t)?n.code:null:Pn.has(t)?Mn:n.code:null}function Gn(e,t){return`${e}-option-${t.code===``?`default`:t.code}`}function Kn({currentCode:e,configuredProviderId:t,suggestedCode:n,selectLanguage:r,selecting:i,onDone:a}){let o=(0,F.useId)(),c=`${o}-listbox`,u=(0,F.useRef)(null),d=(0,F.useRef)(null),[f,m]=(0,F.useState)(``),[h,g]=(0,F.useState)(-1),v=(0,F.useMemo)(()=>Bn(e,t,n),[e,t,n]),y=f.trim().length>0,b=(0,F.useMemo)(()=>{let e=[...v.featured,...v.rest];return y?e.filter(e=>Vn(e,f)):e},[v,y,f]);(0,F.useEffect)(()=>{u.current?.focus()},[]),(0,F.useEffect)(()=>{d.current?.querySelector(`[role="option"][aria-selected="true"]`)?.scrollIntoView({block:`nearest`})},[]),(0,F.useEffect)(()=>{if(h<0)return;let e=b[h];e&&document.getElementById(Gn(o,e))?.scrollIntoView({block:`nearest`})},[h,b,o]);let x=e=>{r(e),a()},S=e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),b.length===0)return;g(t=>e.key===`ArrowDown`?Math.min(t+1,b.length-1):Math.max(t-1,0));return}if(e.key===`Enter`){let t=b[h]??(y?b[0]:void 0);t&&(e.preventDefault(),x(t.code))}},C=h>=0?b[h]:null,w=t=>{let r=t.code===e,i=t===C,a=n!=null&&t.code===n&&t.code!==e;return(0,$.jsxs)(`button`,{id:Gn(o,t),type:`button`,role:`option`,"aria-selected":r,tabIndex:-1,"data-active":i||void 0,onClick:()=>x(t.code),className:s(`flex w-full cursor-pointer items-center gap-2 rounded-md px-3 py-2.5 text-left transition-colors`,r?`bg-[var(--surface-active)]`:i?`bg-[var(--surface-hover)]`:`hover:bg-[var(--surface-hover)]`),children:[(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[jn(t),t.description&&(0,$.jsx)(`span`,{className:`block truncate text-label-small-default text-[var(--content-tertiary)]`,children:t.description})]}),a&&(0,$.jsx)(`span`,{className:`shrink-0 text-label-small-default text-[var(--content-tertiary)]`,children:`Suggested`}),r&&(0,$.jsx)(l,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`})]},t.code)},T=(e,t)=>(0,$.jsx)(`div`,{id:e,role:`presentation`,className:`px-3 pt-2 pb-1 text-label-small-default text-[var(--content-tertiary)]`,children:t});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,$.jsx)(_,{ref:u,role:`combobox`,"aria-expanded":!0,"aria-controls":c,"aria-activedescendant":C?Gn(o,C):void 0,"aria-autocomplete":`list`,"aria-label":`Search languages`,placeholder:`Search languages`,leftIcon:(0,$.jsx)(p,{className:`size-4`}),value:f,onChange:e=>{m(e.target.value),g(e.target.value.trim().length>0?0:-1)},onKeyDown:S,fullWidth:!0}),(0,$.jsx)(`div`,{ref:d,id:c,role:`listbox`,"aria-label":`Languages`,"aria-busy":i,className:s(`flex max-h-[50vh] flex-col overflow-y-auto`,i&&`opacity-70`),children:y?b.length>0?b.map(w):(0,$.jsx)(`p`,{className:`px-3 py-2.5 text-body-medium-default text-[var(--content-tertiary)]`,children:`No languages match.`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{role:`group`,"aria-labelledby":`${o}-featured`,children:[T(`${o}-featured`,`Featured`),v.featured.map(w)]}),(0,$.jsxs)(`div`,{role:`group`,"aria-labelledby":`${o}-all`,children:[T(`${o}-all`,`All languages`),v.rest.map(w)]})]})})]})}var qn=`en`,Jn=e=>({services:{stt:{language:e===``?qn:e}}});function Yn(e){let t=M()&&!!e,{data:n}=a({...N({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=a({...re({path:{assistant_id:e??``}}),enabled:t,staleTime:3e4}),i=r?.services?.stt,o=i?.mode===`managed`?`vellum`:i?.provider??`deepgram`,s=n?.providers?.find(e=>e.id===o)?.languageSelection===`manual`,c=t&&!!r&&s,l=i?.language,u=!In.has(o),{currentValue:d,selecting:f,select:p}=ae({assistantId:e,configuredValue:!l||u&&l===qn?``:l,buildPatchBody:Jn,failureMessage:`Couldn't change the language just now. Try again.`});return{available:c,currentCode:d,configuredProviderId:o,selectLanguage:p,selecting:f}}function Xn(e,t){let n=e.filter(e=>e.status!==`disabled`);return t&&n.some(e=>e.name===t)?t:n[0]?.name}function Zn(e,t){let n=new Set;for(let e of t)e&&n.add(e);return e.filter(e=>e.status!==`disabled`||n.has(e.name))}function Qn(e){let t=e.label??e.name;return e.status===`disabled`?`${t} (Disabled)`:t}var $n={profiles:{},profileOrder:[]};function er(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,F.useState)($n),[s,c]=(0,F.useState)(t);return t!==s&&(c(t),o($n)),(0,F.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:$n}export{Qe as $,vn as A,It as B,mn as C,dn as D,un as E,Kt as F,Tt as G,Nt as H,Gt as I,xt as J,St as K,Wt as L,cn as M,an as N,ln as O,qt as P,$e as Q,zt as R,fn as S,gn as T,jt as U,Ft as V,wt as W,Ze as X,at as Y,Xe as Z,En as _,B as _t,Yn as a,q as at,Sn as b,Hn as c,K as ct,wn as d,fe as dt,xe as et,Cn as f,pe as ft,On as g,le as gt,kn as h,R as ht,Zn as i,ye as it,Qt as j,_n as k,Wn as l,he as lt,yn as m,U as mt,Qn as n,we as nt,Kn as o,_e as ot,bn as p,H as pt,bt as q,Xn as r,X as rt,Un as s,ge as st,er as t,be as tt,An as u,G as ut,Tn as v,hn as w,xn as x,Dn as y,Rt as z};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{b as n,h as r,x as i}from"./risk-FjW-m05l.js";import{i as a,o,r as s}from"./subagent-store-C8qemfgn.js";import{C as c,S as l,_ as u,w as d,y as f}from"./site-favicon-CA7jaNnH.js";function p(e,t){if(t===e)return{kind:`identity`};if(e==null)return{kind:`first`};let n=e.length,r=t.length;return r>n&&(n===0||t[0]===e[0]&&t[n-1]===e[n-1])?{kind:`append`,from:n}:r===n&&r>=1&&t[r-1]!==e[r-1]&&t[r-1].id===e[r-1].id&&e[r-1].type===`text`&&t[r-1].type===`text`&&t[r-1].content.length>=e[r-1].content.length&&t[r-1].content.startsWith(e[r-1].content)&&(r===1||t[r-2]===e[r-2])?{kind:`mutate-last`}:{kind:`fallback`}}var m=e(t(),1);function h(e,t){return JSON.stringify(e)===JSON.stringify(t)}function g(e=k){let t=null,n=[],r=[];function i(e){let i=A(e);return t=e,n=i.steps,r=i.toolMeta,{steps:n,toolMeta:r}}function a(a){let o=p(t,a);switch(o.kind){case`identity`:return{steps:n,toolMeta:r};case`first`:return i(a);case`append`:{let i=a.length,s=n.slice(),c=r.slice();for(let t=o.from;t<i;t++)e(s,c,a[t]);return t=a,n=s,r=c,{steps:n,toolMeta:r}}case`mutate-last`:{let i=a.length,o=n.slice(),s=r.slice(),c=o[o.length-1],l;c&&c.kind===`thinking`&&c.detailKey===a[i-1].id&&(l=c,o.pop(),s.pop()),e(o,s,a[i-1]),t=a;let u=o[o.length-1];return l&&u&&h(l,u)?{steps:n,toolMeta:r}:(n=o,r=s,{steps:n,toolMeta:r})}case`fallback`:return i(a)}}return{project:a}}function _(e){let t=(0,m.useRef)(null),n=(0,m.useRef)(null);t.current??=g();let r=t.current.project(e),i=n.current;return i!=null&&i.steps===r.steps&&i.toolMeta===r.toolMeta?i:(n.current=r,r)}var v=160,y=[];function b(e){return i(e.replace(/\s+/g,` `).trim(),v)}function x(e){let t=((e.input&&typeof e.input.url==`string`?e.input.url:``)||e.content||``).trim(),n=t?l(t):``;return n?`Reading ${n}`:`Reading…`}function S(e,t){let n=typeof e==`number`&&Number.isFinite(e)?t-e:0;return n>0?f(n):``}function C(e,t){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:e,errorMessage:b(t.result??t.content)||`Web search failed`,detailKey:t.toolUseId}}function w(e,t){let n=e.toLowerCase();if(!t)return{};switch(n){case`bash`:case`host_bash`:return{command:t};case`str_replace_editor`:case`text_editor`:return{path:t};case`computer`:return{action:t};case`skill`:case`skill_execute`:case`skill_invoke`:case`skill_load`:return{skill:t};case`subagent_spawn`:return{label:t};default:return{}}}function T(e){let t=e.toolName??``,n=e.content??``,i=r(t,e.input??w(t,n));return{kind:`tool`,durationLabel:``,toolCallId:e.toolUseId??``,iconName:i.iconName,title:i.title,info:i.info||n,activity:i.activity,status:`running`}}function E(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.running){if(t.toolUseId){if(r.toolCallId===t.toolUseId)return n;continue}if(!t.toolName||r.toolName===t.toolName)return n}}return-1}function D(e,t,n){return E(e.map((e,n)=>{let r=t[n];return e.kind===`tool`?{toolCallId:e.toolCallId,toolName:r?.toolName??``,running:e.status===`running`}:e.kind===`web_search`?{toolCallId:r?.toolUseId??``,toolName:r?.toolName??``,running:e.title===`Searching the web`}:{toolCallId:``,toolName:r?.toolName??``,running:!1}}),n)}function O(e){switch(e){case`running`:case`pending`:case`awaiting_input`:return`loading`;case`completed`:return`complete`;case`failed`:case`aborted`:case`interrupted`:return`error`;default:return`loading`}}function k(e,t,n){if(n.type===`text`){let r=b(n.content);if(r.length===0)return;e.push({kind:`thinking`,durationLabel:``,text:r,detailKey:n.id}),t.push(void 0);return}if(n.type===`tool_call`){let r=n.toolName??``;if(u.has(r)){if(r===`web_fetch`)e.push({kind:`thinking`,durationLabel:``,text:x(n),detailKey:n.toolUseId}),t.push(void 0);else{let i=n.input&&typeof n.input.query==`string`?n.input.query:n.content||void 0;e.push({kind:`web_search`,query:i,title:`Searching the web`,durationLabel:``,linkCount:0,results:[],detailKey:n.toolUseId}),t.push({startTs:n.timestamp,toolName:r,toolUseId:n.toolUseId})}return}e.push(T(n)),t.push({startTs:n.timestamp,toolName:r});return}if(n.type===`tool_result`){let r=D(e,t,n);if(r===-1)return;let i=e[r],a=t[r]?.startTs,o=S(a,n.timestamp);if(i.kind===`web_search`){if(n.isError){e[r]=C(o,n);return}let t=c(n.result??n.content);e[r]={...i,title:`Searched the web`,query:i.query||n.searchQuery,durationLabel:o,linkCount:t.length,results:t};return}if(i.kind!==`tool`)return;e[r]={...i,status:n.isError?`error`:`completed`,durationLabel:o};return}if(n.type===`error`){let r=D(e,t,n);if(r!==-1){let i=e[r];i.kind===`tool`?e[r]={...i,status:`error`}:i.kind===`web_search`&&(e[r]=C(S(t[r]?.startTs,n.timestamp),n))}let i=b(n.content)||`Subagent error`;e.push({kind:`tool_error`,message:i}),t.push(void 0);return}}function A(e){let t=[],n=[];for(let r of e)k(t,n,r);return{steps:t,toolMeta:n}}function j(e,{steps:t,toolMeta:n}){if(!o(e.status)&&a(e)&&e.events.length===0&&!e.detailSettled)return{state:`loading`,currentStepTitle:`Loading`,currentStepInfo:e.label,stepCount:``,steps:t,carouselItems:[]};let r=O(e.status),{currentStepTitle:i,currentStepInfo:s}=M(e,t,n);return{state:r,currentStepTitle:i,currentStepInfo:s,stepCount:`${t.length} step${t.length===1?``:`s`}`,steps:t,carouselItems:[]}}function M(e,t,r){let i=e.status===`completed`||e.status===`failed`||e.status===`aborted`||e.status===`interrupted`;if(t.length===0){let t;return t=e.status===`failed`?`Failed`:e.status===`aborted`?`Aborted`:e.status===`interrupted`?`Interrupted`:e.status===`completed`?`Finished`:`Working`,{currentStepTitle:t,currentStepInfo:e.error||e.label}}let a=t[t.length-1];if(a.kind===`thinking`)return{currentStepTitle:i?`Thought`:`Thinking`,currentStepInfo:d(a.text)};if(a.kind===`tool`){if(a.status===`running`)return{currentStepTitle:`Working`,currentStepInfo:a.info};if(!i)return{currentStepTitle:`Finalizing`,currentStepInfo:a.info};let e=r[t.length-1]?.toolName??``;return{currentStepTitle:e?`Used ${n(e)}`:`Done`,currentStepInfo:a.info}}return a.kind===`tool_error`?{currentStepTitle:`Errored`,currentStepInfo:a.message}:a.kind===`web_search`?{currentStepTitle:a.title,currentStepInfo:``}:a.kind===`web_search_error`?{currentStepTitle:a.title,currentStepInfo:a.errorMessage}:{currentStepTitle:``,currentStepInfo:``}}function N(e){let t=s(t=>t.byId[e]),n=_(t?.events??y),r=(0,m.useRef)(null);if(!t)return r.current=null,null;let i=j(t,n),a=r.current;return a!=null&&a.steps===i.steps&&a.state===i.state&&a.currentStepTitle===i.currentStepTitle&&a.currentStepInfo===i.currentStepInfo&&a.stepCount===i.stepCount?a:(r.current=i,i)}function P(e,t,n){if(n.type===`text`){if((n.content??``).trim().length===0)return;e.push({toolCallId:n.id,toolName:``,title:`Thought`,activity:``,input:{},status:`completed`,durationLabel:``,kind:`thinking`,thinkingText:n.content}),t.push({startTs:n.timestamp,running:!1});return}if(n.type===`tool_call`){let i=n.toolUseId??``;if(!i)return;let a=n.toolName??``;if(a===`web_search`){let r=n.input&&typeof n.input.query==`string`?n.input.query:n.content||void 0;e.push({toolCallId:i,toolName:a,title:`Searched the web`,activity:``,input:n.input??{},status:`running`,durationLabel:``,kind:`web_search`,searchQuery:r,searchResults:[]}),t.push({startTs:n.timestamp,running:!0});return}let o=r(a,n.input??w(a,n.content??``));e.push({toolCallId:i,toolName:a,title:o.title,activity:o.activity,input:n.input??{},status:`running`,durationLabel:``,kind:`tool`}),t.push({startTs:n.timestamp,running:!0});return}if(n.type===`tool_result`||n.type===`error`){let r=E(e.map((e,n)=>({toolCallId:e.toolCallId,toolName:e.toolName,running:t[n].running})),n);if(r===-1)return;let i=e[r],a=t[r].startTs,o=S(a,n.timestamp);e[r]=i.kind===`web_search`?{...i,status:n.isError?`error`:`completed`,durationLabel:o,searchQuery:i.searchQuery||n.searchQuery,searchResults:n.isError?[]:c(n.result??n.content),result:n.isError?n.result??n.content:void 0}:{...i,result:n.result??n.content,status:n.isError?`error`:`completed`,durationLabel:o},t[r].running=!1}}export{p as i,N as n,_ as r,P as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{r as t}from"./utils-C-YNXdkX.js";var n=e(`bookmark`,[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]),r=`0.8.1`;function i(e){return t(r,e)}export{n,i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./utils-C-YNXdkX.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n 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{t as r}from"./pointer-DAyn_9jY.js";var i=n(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),a=e(t(),1),o=80,s=8,c=.8,l=.35;function u({enabled:e,axis:t,commitThresholdPx:n=o,deadzonePx:i=s,escapeRatio:u=c,overdragDamping:d=l,touchOnly:f=!0,onCommit:p,onMove:m,onReset:h}){let[g,_]=(0,a.useState)(0),[v,y]=(0,a.useState)(!1),[b]=(0,a.useState)(()=>r()),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{x.current=null,_(0),y(!1),h?.()},[h]);return{dragOffset:g,isDragging:v,onTouchStart:(0,a.useCallback)(t=>{if(!e||f&&!b)return;if(t.touches.length!==1){S();return}let n=t.touches[0];x.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,resolved:`undecided`,lastDelta:0,lastEscape:0}},[e,f,b,S]),onTouchMove:(0,a.useCallback)(e=>{let r=x.current;if(!r)return;if(e.touches.length!==1){S();return}let a=e.touches[0];if(a.identifier!==r.touchId)return;let o=a.clientX-r.startX,s=a.clientY-r.startY,c=t===`horizontal`?o:s,l=t===`horizontal`?s:o;if(r.lastDelta=c,r.lastEscape=l,r.resolved===`undecided`){if(Math.abs(c)<i&&Math.abs(l)<i)return;if(Math.abs(l)>Math.abs(c)*u){x.current=null;return}r.resolved=`primary`,y(!0)}if(r.resolved!==`primary`)return;if(Math.abs(c)<n&&Math.abs(l)>Math.abs(c)*u){S();return}let f=Math.sign(c),p=Math.abs(c),h=f*(p<=n?p:n+(p-n)*d);_(h),m?.(h)},[t,i,u,n,d,m,S]),onTouchEnd:(0,a.useCallback)(e=>{let r=x.current;if(!r||r.resolved!==`primary`){S();return}if(e.touches.length>0){S();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:null,o=i?i.clientY-r.startY:null,s=a!==null&&o!==null?t===`horizontal`?a:o:r.lastDelta,c=a!==null&&o!==null?t===`horizontal`?o:a:r.lastEscape;!(Math.abs(c)>Math.abs(s)*u)&&Math.abs(s)>=n&&p?.(s),S()},[t,n,u,p,S]),onTouchCancel:S}}export{i as n,u 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{t as r}from"./pointer-QlIwQKYH.js";var i=n(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),a=e(t(),1),o=80,s=8,c=.8,l=.35;function u({enabled:e,axis:t,commitThresholdPx:n=o,deadzonePx:i=s,escapeRatio:u=c,overdragDamping:d=l,touchOnly:f=!0,onCommit:p,onMove:m,onReset:h}){let[g,_]=(0,a.useState)(0),[v,y]=(0,a.useState)(!1),[b]=(0,a.useState)(()=>r()),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{x.current=null,_(0),y(!1),h?.()},[h]);return{dragOffset:g,isDragging:v,onTouchStart:(0,a.useCallback)(t=>{if(!e||f&&!b)return;if(t.touches.length!==1){S();return}let n=t.touches[0];x.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,resolved:`undecided`,lastDelta:0,lastEscape:0}},[e,f,b,S]),onTouchMove:(0,a.useCallback)(e=>{let r=x.current;if(!r)return;if(e.touches.length!==1){S();return}let a=e.touches[0];if(a.identifier!==r.touchId)return;let o=a.clientX-r.startX,s=a.clientY-r.startY,c=t===`horizontal`?o:s,l=t===`horizontal`?s:o;if(r.lastDelta=c,r.lastEscape=l,r.resolved===`undecided`){if(Math.abs(c)<i&&Math.abs(l)<i)return;if(Math.abs(l)>Math.abs(c)*u){x.current=null;return}r.resolved=`primary`,y(!0)}if(r.resolved!==`primary`)return;if(Math.abs(c)<n&&Math.abs(l)>Math.abs(c)*u){S();return}let f=Math.sign(c),p=Math.abs(c),h=f*(p<=n?p:n+(p-n)*d);_(h),m?.(h)},[t,i,u,n,d,m,S]),onTouchEnd:(0,a.useCallback)(e=>{let r=x.current;if(!r||r.resolved!==`primary`){S();return}if(e.touches.length>0){S();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:null,o=i?i.clientY-r.startY:null,s=a!==null&&o!==null?t===`horizontal`?a:o:r.lastDelta,c=a!==null&&o!==null?t===`horizontal`?o:a:r.lastEscape;!(Math.abs(c)>Math.abs(s)*u)&&Math.abs(s)>=n&&p?.(s),S()},[t,n,u,p,S]),onTouchCancel:S}}export{i as n,u as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./assistant-identity-store-BczULg2T.js";function t(e){let[t,...n]=e.replace(/^[vV]/,``).split(`-`),r=n.length>0?n.join(`-`):null,i=(t??``).match(/^(\d+)\.(\d+)\.(\d+)$/);return i?{major:Number(i[1]),minor:Number(i[2]),patch:Number(i[3]),pre:r}:null}function n(e,t){let n=e.split(`.`),r=t.split(`.`),i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=n[e],i=r[e];if(t===void 0)return-1;if(i===void 0)return 1;let a=/^\d+$/.test(t),o=/^\d+$/.test(i);if(a&&o){let e=Number(t)-Number(i);if(e!==0)return e}else if(a!==o)return a?-1:1;else{if(t<i)return-1;if(t>i)return 1}}return 0}function r(e,t){let r=e.major-t.major;if(r!==0)return r;let i=e.minor-t.minor;if(i!==0)return i;let a=e.patch-t.patch;return a===0?e.pre===null&&t.pre===null?0:e.pre!==null&&t.pre===null?-1:e.pre===null&&t.pre!==null?1:n(e.pre,t.pre):a}function i(e,t,n={}){return t(e.getState())?Promise.resolve():new Promise(r=>{let i,a=()=>{i!==void 0&&clearTimeout(i),o(),r()},o=e.subscribe(e=>{t(e)&&a()});n.timeoutMs!==void 0&&(i=setTimeout(a,n.timeoutMs))})}function a(t){return l(e.use.version(),t)}function o(t,n){let r=e.use.assistantId();return a(t)&&n!=null&&n===r}function s(t){let n=e.getState().version;return l(n,t)}function c(t,n){let r=e.getState().assistantId;return s(t)&&n!=null&&n===r}function l(e,i){if(!e)return!1;let a=t(e),o=t(i);if(!a||!o)return!1;let s=r({...a,pre:null},{...o,pre:null});if(s!==0)return s>0;let c=a.pre!==null&&a.pre.startsWith(`dev`),l=o.pre!==null&&o.pre.startsWith(`dev`);return c&&l?n(a.pre,o.pre)>=0:c===l?!0:c}var u=5e3;function d(t=u){return i(e,e=>!!e.version,{timeoutMs:t})}export{l as a,r as c,a as i,t as l,s as n,d as o,o as r,i as s,c as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./createLucideIcon-CAM1RhH8.js";import{t as l}from"./bell-Ct4a9v6Y.js";import{t as u}from"./clock-BYTc0Ds9.js";import{t as d}from"./list-DNbTcxAh.js";import{t as f}from"./mail-CMdPNysl.js";import{t as p}from"./message-square-CQGiY4zk.js";import{t as m}from"./rotate-ccw-BjzeX7qz.js";import{t as h}from"./settings-PGZ9c_uo.js";import{t as g}from"./shield-check-C7I-REGg.js";import{t as _}from"./trash-2-BF5y4UkY.js";import{M as v}from"./src-CnF7WXNj.js";import{Ft as y,It as b,Lt as x,Rt as S}from"./sdk.gen-DeyOX3Kb.js";import{I as C,L as w}from"./react-query.gen-BeiAUt-2.js";import{r as T}from"./utils-D8KOSvh3.js";import{t as E}from"./use-bus-subscription-NoXmdzgx.js";import{r as D}from"./format-date-BEAiOK8n.js";var O=c(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),k=`0.10.5`;function A(){return T(k)}var j=e(t(),1),M=o(),N={security:{icon:g,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:f,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:u,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:h,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:l,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},P=[`security`,`email`,`scheduling`,`background`,`system`],F=`all`;function I({categories:e,activeFilter:t,onFilterChange:n}){let r=P.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:F,label:`All`,icon:(0,M.jsx)(d,{className:`h-4 w-4`})},...r.map(e=>{let t=N[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,M.jsx)(t,{className:`h-4 w-4`})}})];return(0,M.jsx)(v,{ariaLabel:`Filter notifications`,value:t??F,onChange:e=>n(e===F?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}function L({label:e,onClick:t,className:r,children:i}){return(0,M.jsx)(n,{content:e,children:(0,M.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,r),children:i})})}function R(e){return e&&N[e]?N[e]:N.system}function z({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:c=`dismiss`}){let[l,u]=(0,j.useState)(!1),d=R(e.category),h=d.icon,g=e.status===`new`,v=c===`restore`;return(0,M.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:s(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:l?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!g&&!t&&`opacity-70`),children:[(0,M.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,M.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:d.weak},children:(0,M.jsx)(h,{width:12,height:12,style:{color:d.strong}})}),g&&(0,M.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,M.jsx)(`span`,{className:s(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),l&&!v?(0,M.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,M.jsx)(L,{label:g?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,g?`seen`:`new`),children:g?(0,M.jsx)(O,{width:16,height:16}):(0,M.jsx)(f,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,M.jsx)(L,{label:`Go to thread`,onClick:()=>{g&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,M.jsx)(p,{width:16,height:16})}),(0,M.jsx)(L,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,M.jsx)(_,{width:16,height:16})})]}):l&&v?(0,M.jsxs)(L,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,M.jsx)(m,{width:16,height:16,"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,M.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:D(e.timestamp)})]})}function B(e){let t=r(),n=(0,j.useRef)(null),o=(0,j.useRef)(0),s=(0,j.useMemo)(()=>({path:{assistant_id:e??``},query:{timeAwaySeconds:0}}),[e]),c=(0,j.useMemo)(()=>C(s),[s]);E(`app.hidden`,()=>{n.current=Date.now()}),E(`app.resume`,({signal:r})=>{r!==`online`&&n.current!==null&&(o.current=Math.round((Date.now()-n.current)/1e3),n.current=null,e&&t.invalidateQueries({queryKey:c}))});let l=i({queryKey:c,queryFn:async({signal:t})=>{let{data:n}=await x({path:{assistant_id:e},query:{timeAwaySeconds:o.current},signal:t,throwOnError:!0});return n},enabled:!!e,staleTime:3e4}),u=a({mutationFn:async({itemId:t,status:n})=>{let{data:r}=await b({path:{assistant_id:e,id:t},body:{status:n},throwOnError:!0});return r},onMutate:async({itemId:e,status:n})=>{await t.cancelQueries({queryKey:c});let r=t.getQueryData(c);return w(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:n}:t)}),{previous:r}},onError:(e,n,r)=>{r?.previous&&w(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),d=a({mutationFn:async({itemId:t,actionId:n})=>{let{data:r}=await y({path:{assistant_id:e,id:t,actionId:n},throwOnError:!0});return r},onMutate:async({itemId:e})=>{await t.cancelQueries({queryKey:c});let n=t.getQueryData(c);return w(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:`acted_on`}:t)}),{previous:n}},onError:(e,n,r)=>{r?.previous&&w(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),f=a({mutationFn:async({from:t,to:n,ids:r})=>{let{data:i}=await S({path:{assistant_id:e},body:{from:t,to:n,ids:r},throwOnError:!0});return i},onMutate:async({from:e,to:n,ids:r})=>{await t.cancelQueries({queryKey:c});let i=t.getQueryData(c),a=new Set(e),o=r?new Set(r):null;return w(t,s,e=>{if(!e)return e;let t=e.items.map(e=>a.has(e.status)&&e.status!==n&&(!o||o.has(e.id))?{...e,status:n}:e),r=t.filter(e=>e.status===`new`).length;return{...e,items:t,contextBanner:{...e.contextBanner,newCount:r}}}),{previous:i}},onError:(e,n,r)=>{r?.previous&&w(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),p=(0,j.useCallback)(()=>{e&&t.invalidateQueries({queryKey:c})},[e,t,c]);return{...l,updateStatus:u,triggerAction:d,markAll:f,invalidate:p}}function V(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function H(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function U(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function W(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function G(e){return W(e.filter(e=>e.status!==`dismissed`))}function K(e){return{from:[`new`],to:`seen`,ids:e.filter(e=>e.status===`new`).map(e=>e.id)}}function q(e){return{from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:e.map(e=>e.id)}}function J(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}export{G as a,V as c,N as d,I as f,J as i,B as l,O as m,W as n,H as o,A as p,U as r,K as s,q as t,z as u};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./createLucideIcon-CAM1RhH8.js";import{t as l}from"./bell-Ct4a9v6Y.js";import{t as u}from"./clock-BYTc0Ds9.js";import{t as d}from"./list-CDyb1CGV.js";import{t as f}from"./mail-DABv3_Ue.js";import{t as p}from"./message-square-zCNXaHYX.js";import{t as m}from"./rotate-ccw-Da_2DvhY.js";import{t as h}from"./settings-DyEBEqeQ.js";import{t as g}from"./shield-check-z7CU-gBq.js";import{t as _}from"./trash-2-De6X8YiM.js";import{M as v}from"./src-BAS7a2RG.js";import{i as y}from"./utils-C-YNXdkX.js";import{Ft as b,It as x,Lt as S,Rt as C}from"./sdk.gen-BySz4QYj.js";import{I as w,L as T}from"./react-query.gen-0mspArBl.js";import{t as E}from"./use-bus-subscription-CyRPH_gr.js";import{r as D}from"./format-date-CKGQir4m.js";var O=c(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),k=`0.10.5`;function A(){return y(k)}var j=e(t(),1),M=o(),N={security:{icon:g,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:f,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:u,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:h,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:l,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},P=[`security`,`email`,`scheduling`,`background`,`system`],F=`all`;function I({categories:e,activeFilter:t,onFilterChange:n}){let r=P.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:F,label:`All`,icon:(0,M.jsx)(d,{className:`h-4 w-4`})},...r.map(e=>{let t=N[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,M.jsx)(t,{className:`h-4 w-4`})}})];return(0,M.jsx)(v,{ariaLabel:`Filter notifications`,value:t??F,onChange:e=>n(e===F?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}function L({label:e,onClick:t,className:r,children:i}){return(0,M.jsx)(n,{content:e,children:(0,M.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,r),children:i})})}function R(e){return e&&N[e]?N[e]:N.system}function z({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:c=`dismiss`}){let[l,u]=(0,j.useState)(!1),d=R(e.category),h=d.icon,g=e.status===`new`,v=c===`restore`;return(0,M.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:s(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:l?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!g&&!t&&`opacity-70`),children:[(0,M.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,M.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:d.weak},children:(0,M.jsx)(h,{width:12,height:12,style:{color:d.strong}})}),g&&(0,M.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,M.jsx)(`span`,{className:s(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),l&&!v?(0,M.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,M.jsx)(L,{label:g?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,g?`seen`:`new`),children:g?(0,M.jsx)(O,{width:16,height:16}):(0,M.jsx)(f,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,M.jsx)(L,{label:`Go to thread`,onClick:()=>{g&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,M.jsx)(p,{width:16,height:16})}),(0,M.jsx)(L,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,M.jsx)(_,{width:16,height:16})})]}):l&&v?(0,M.jsxs)(L,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,M.jsx)(m,{width:16,height:16,"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,M.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:D(e.timestamp)})]})}function B(e){let t=r(),n=(0,j.useRef)(null),o=(0,j.useRef)(0),s=(0,j.useMemo)(()=>({path:{assistant_id:e??``},query:{timeAwaySeconds:0}}),[e]),c=(0,j.useMemo)(()=>w(s),[s]);E(`app.hidden`,()=>{n.current=Date.now()}),E(`app.resume`,({signal:r})=>{r!==`online`&&n.current!==null&&(o.current=Math.round((Date.now()-n.current)/1e3),n.current=null,e&&t.invalidateQueries({queryKey:c}))});let l=i({queryKey:c,queryFn:async({signal:t})=>{let{data:n}=await S({path:{assistant_id:e},query:{timeAwaySeconds:o.current},signal:t,throwOnError:!0});return n},enabled:!!e,staleTime:3e4}),u=a({mutationFn:async({itemId:t,status:n})=>{let{data:r}=await x({path:{assistant_id:e,id:t},body:{status:n},throwOnError:!0});return r},onMutate:async({itemId:e,status:n})=>{await t.cancelQueries({queryKey:c});let r=t.getQueryData(c);return T(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:n}:t)}),{previous:r}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),d=a({mutationFn:async({itemId:t,actionId:n})=>{let{data:r}=await b({path:{assistant_id:e,id:t,actionId:n},throwOnError:!0});return r},onMutate:async({itemId:e})=>{await t.cancelQueries({queryKey:c});let n=t.getQueryData(c);return T(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:`acted_on`}:t)}),{previous:n}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),f=a({mutationFn:async({from:t,to:n,ids:r})=>{let{data:i}=await C({path:{assistant_id:e},body:{from:t,to:n,ids:r},throwOnError:!0});return i},onMutate:async({from:e,to:n,ids:r})=>{await t.cancelQueries({queryKey:c});let i=t.getQueryData(c),a=new Set(e),o=r?new Set(r):null;return T(t,s,e=>{if(!e)return e;let t=e.items.map(e=>a.has(e.status)&&e.status!==n&&(!o||o.has(e.id))?{...e,status:n}:e),r=t.filter(e=>e.status===`new`).length;return{...e,items:t,contextBanner:{...e.contextBanner,newCount:r}}}),{previous:i}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),p=(0,j.useCallback)(()=>{e&&t.invalidateQueries({queryKey:c})},[e,t,c]);return{...l,updateStatus:u,triggerAction:d,markAll:f,invalidate:p}}function V(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function H(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function U(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function W(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function G(e){return W(e.filter(e=>e.status!==`dismissed`))}function K(e){return{from:[`new`],to:`seen`,ids:e.filter(e=>e.status===`new`).map(e=>e.id)}}function q(e){return{from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:e.map(e=>e.id)}}function J(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}export{G as a,V as c,N as d,I as f,J as i,B as l,O as m,W as n,H as o,A as p,U as r,K as s,q as t,z as u};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CAM1RhH8.js";var t=e(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),n=e(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),r=e(`video`,[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]);export{n,t as r,r as t};