@vellumai/web 0.11.0 → 0.11.1-dev.202608010140.4e21df1

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 (531) 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-Bxx6DsHm.js} +1 -1
  4. package/dist/assets/{about-page-C3tJLjvD.js → about-page-Dtg-I99x.js} +1 -1
  5. package/dist/assets/access-BXquWtR3.js +1 -0
  6. package/dist/assets/{account-page-BvXVc1IK.js → account-page-slZiJTyR.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-8grZgfTE.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-B8ULpnis.js → acp-run-detail-panel-DQwS0TYq.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-BB4DdFyF.js +1 -0
  12. package/dist/assets/{add-credential-modal-Cu6aAlhm.js → add-credential-modal-3ITDo6US.js} +1 -1
  13. package/dist/assets/{add-credits-modal-BelWmezc.js → add-credits-modal-CM7YS5Fv.js} +1 -1
  14. package/dist/assets/ai-page-B9mB4caO.js +1 -0
  15. package/dist/assets/{animated-avatar-DknFwi9-.js → animated-avatar-CDeJNhwm.js} +1 -1
  16. package/dist/assets/api-BbELcZg6.js +1 -0
  17. package/dist/assets/api-Dt0x3jN0.js +1 -0
  18. package/dist/assets/{api-key-screen-BhynbUuC.js → api-key-screen-CJKcpwUa.js} +1 -1
  19. package/dist/assets/{app-card-BF2l9ot8.js → app-card-B90ku8nP.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-S4eb9TI4.js} +1 -1
  22. package/dist/assets/{assistant-feature-flag-store-B00tpY5e.js → assistant-feature-flag-store-Ci_346FY.js} +1 -1
  23. package/dist/assets/assistant-identity-store-Dnh8WRHU.js +1 -0
  24. package/dist/assets/{assistant-status-panel-D2PXdHw0.js → assistant-status-panel-DeZHuX0M.js} +1 -1
  25. package/dist/assets/auth-store-BmPTOZ-G.js +2 -0
  26. package/dist/assets/avatar-random-Bn8haMAo.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-CTy8VUYh.js} +1 -1
  29. package/dist/assets/{background-task-detail-panel-56ZpprL7.js → background-task-detail-panel-U-xSex5g.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-lQF2iK2H.js +3 -0
  32. package/dist/assets/{billing-redirect-page-BIfv18MY.js → billing-redirect-page-C6pmhjou.js} +1 -1
  33. package/dist/assets/{bookmarks-page-BOhi-7gN.js → bookmarks-page-B-cRqOw6.js} +1 -1
  34. package/dist/assets/browser-BaaiMPkj.js +2 -0
  35. package/dist/assets/build-state-CM5D2jjm.js +1 -0
  36. package/dist/assets/{capture-error-Dj49ma74.js → capture-error-FWzaVb8P.js} +1 -1
  37. package/dist/assets/channels-page-route-D6l-sKKy.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-DUXpO8Z0.js +2 -0
  41. package/dist/assets/{checkbox-D7Eg2K35.js → checkbox-BZTUJtxM.js} +1 -1
  42. package/dist/assets/checkout-continuation-D_v04HPX.js +1 -0
  43. package/dist/assets/checkout-page-Dw3bq9D6.js +1 -0
  44. package/dist/assets/checkout-return-target-CCfHmNHP.js +1 -0
  45. package/dist/assets/{client-feature-flag-store-BdNCabm_.js → client-feature-flag-store-DhF7SK2q.js} +1 -1
  46. package/dist/assets/{client-identity-yPmEu-I1.js → client-identity-Brw3Xazi.js} +1 -1
  47. package/dist/assets/command-palette-Cz-NtJxh.js +1 -0
  48. package/dist/assets/command-palette-window-page-Bd3YQ8mk.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-CGtkeLeT.js} +1 -1
  52. package/dist/assets/consent-D2XV8e0u.js +1 -0
  53. package/dist/assets/{consent-controls-DVeAjj2Z.js → consent-controls-DgJOpWk6.js} +1 -1
  54. package/dist/assets/{contacts-gateway-BlLLBft6.js → contacts-gateway-C628mrY_.js} +1 -1
  55. package/dist/assets/contacts-page-route-B1DRBooP.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-CUipNWyN.js} +1 -1
  59. package/dist/assets/conversation-queries-DfiP2iRd.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-DRWnJgxI.js} +1 -1
  64. package/dist/assets/credentials-page-B2CdpNeU.js +1 -0
  65. package/dist/assets/{danger-zone-redirect-page-QELjAt0B.js → danger-zone-redirect-page-DBWPT6d6.js} +1 -1
  66. package/dist/assets/debug-page-CWX2yxPk.js +4 -0
  67. package/dist/assets/{deploy-dialogs-DcxJ8zmL.js → deploy-dialogs-DnhrCxKX.js} +1 -1
  68. package/dist/assets/{deploy-store-Dxp-S0Jo.js → deploy-store-B1S9qBFj.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-Ch5jFns8.js +1 -0
  74. package/dist/assets/{device-settings-DXp9L4iB.js → device-settings-CUIsZfaf.js} +1 -1
  75. package/dist/assets/{devices-redirect-page-B3KUr7o2.js → devices-redirect-page-BAl1qUF8.js} +1 -1
  76. package/dist/assets/{diagnostics-9AhdBjYA.js → diagnostics-BaFRoyBk.js} +1 -1
  77. package/dist/assets/{dictation-overlay-page-DHI92ftK.js → dictation-overlay-page-DUWJ13of.js} +1 -1
  78. package/dist/assets/{dictation-overlay-CRLGSCST.js → dictation-overlay-w1YHEfFR.js} +1 -1
  79. package/dist/assets/{dist-Ckcpfjj7.js → dist-BswnB-bR.js} +1 -1
  80. package/dist/assets/{dist-CXcArvGs.js → dist-CQN0ZAOZ.js} +1 -1
  81. package/dist/assets/{doctor-handoff-store-DPviL0wb.js → doctor-handoff-store-WPHO02hb.js} +1 -1
  82. package/dist/assets/document-viewer-container-Doc7G7NK.js +2 -0
  83. package/dist/assets/{document-viewer-page-ClsAgnVX.js → document-viewer-page-qFTcKGNf.js} +1 -1
  84. package/dist/assets/{domains-BLQZqRIT.js → domains-BtN6sigp.js} +1 -1
  85. package/dist/assets/{dropdown-BtWhNXSV.js → dropdown-DswWMJhz.js} +1 -1
  86. package/dist/assets/{edge-swipe-arbiter-store-QUBer3EI.js → edge-swipe-arbiter-store-D9XJTxJJ.js} +1 -1
  87. package/dist/assets/effective-timezone-C-H0Ni5E.js +1 -0
  88. package/dist/assets/ellipsis-vertical-nov0xhhF.js +1 -0
  89. package/dist/assets/{emails-page-D1eq8Mcq.js → emails-page-Bq6ldRPr.js} +1 -1
  90. package/dist/assets/{environment-store-nuDZk7wN.js → environment-store-Bbx4f6SQ.js} +1 -1
  91. package/dist/assets/esm-1gim3JGl.js +1 -0
  92. package/dist/assets/esm-6N_L2m81.js +2 -0
  93. package/dist/assets/esm-B9nl-HWM.js +2 -0
  94. package/dist/assets/esm-BM_pIbUz.js +2 -0
  95. package/dist/assets/esm-BUZf1o_L.js +2 -0
  96. package/dist/assets/esm-ITr0yIMp.js +1 -0
  97. package/dist/assets/esm-_35GvHIP.js +2 -0
  98. package/dist/assets/esm-peZyXITU.js +2 -0
  99. package/dist/assets/eye-bbox-DE8r0Vt3.js +1 -0
  100. package/dist/assets/feature-flag-catalog-CTnr6E8b.js +1 -0
  101. package/dist/assets/file-editor-DcH2Os5o.js +1 -0
  102. package/dist/assets/{file-markdown-B0zje_y3.js → file-markdown-DBLxtb0M.js} +1 -1
  103. package/dist/assets/first-run-scope-B5IPDSsf.js +1 -0
  104. package/dist/assets/{funnel-events-BqvFi8Sp.js → funnel-events-BvULBzAP.js} +1 -1
  105. package/dist/assets/general-page-CgOWRF4f.js +1 -0
  106. package/dist/assets/get-memory-stats-CthVfpul.js +1 -0
  107. package/dist/assets/handle-logout-Bxt2J2MI.js +1 -0
  108. package/dist/assets/{haptics-BTcSZuHP.js → haptics-BX7G67rP.js} +2 -2
  109. package/dist/assets/hatching-screen-koaKK5xa.js +1 -0
  110. package/dist/assets/home-page-route-CscmQ5_j.js +1 -0
  111. package/dist/assets/hosting-screen-DR_VfKqm.js +1 -0
  112. package/dist/assets/identity-Cb4xS1Kk.js +1 -0
  113. package/dist/assets/identity-page-route-C0wlu7xU.js +7 -0
  114. package/dist/assets/index-B92O8Wkb.css +2 -0
  115. package/dist/assets/index-DozcvQeX.js +11 -0
  116. package/dist/assets/{ingest-D3dRmJA9.js → ingest-Dv7NdXlD.js} +1 -1
  117. package/dist/assets/{inspect-page-DVgajY0Q.js → inspect-page-CbMtIlAX.js} +6 -6
  118. package/dist/assets/{installed-plugins-query-s6Kf3pL8.js → installed-plugins-query-DdQqETmk.js} +1 -1
  119. package/dist/assets/{integration-icon-CmjrEk0J.js → integration-icon-tiuVoy54.js} +1 -1
  120. package/dist/assets/integrations-page-9080NEFX.js +1 -0
  121. package/dist/assets/{intelligence-layout-DfdvpHl4.js → intelligence-layout-BPC317Oh.js} +1 -1
  122. package/dist/assets/invalidate-memory-queries-BPL6t0Cu.js +1 -0
  123. package/dist/assets/invalidate-plugin-queries-BkIUBsL5.js +1 -0
  124. package/dist/assets/{keyboard-shortcuts-redirect-page-DMytLINR.js → keyboard-shortcuts-redirect-page-97qwDHHS.js} +1 -1
  125. package/dist/assets/latest-assistant-text-CmfA27M8.js +24 -0
  126. package/dist/assets/{library-detail-page-BzvbB9Ud.js → library-detail-page-Co0AfDkW.js} +1 -1
  127. package/dist/assets/{library-page-DK2Dx8vo.js → library-page-ZH7yEGi4.js} +1 -1
  128. package/dist/assets/list-row-BYrmPIC4.js +1 -0
  129. package/dist/assets/local-mode-Bds87_d7.js +39 -0
  130. package/dist/assets/local-runtime-upgrade-Cm8hIVS3.js +1 -0
  131. package/dist/assets/local-settings-Bx7FsNo5.js +1 -0
  132. package/dist/assets/{login-flow-BVUkpWP_.js → login-flow-Do5dozES.js} +1 -1
  133. package/dist/assets/login-page-BtXPsSwK.js +1 -0
  134. package/dist/assets/{logout-page-B8EOSvAV.js → logout-page-skLfaENL.js} +1 -1
  135. package/dist/assets/{logs-layout-DK6gVU21.js → logs-layout-yJeJfr6e.js} +1 -1
  136. package/dist/assets/machine-sizes-D0oAlF9f.js +1 -0
  137. package/dist/assets/memory-page-route-BsFIcOXe.js +6 -0
  138. package/dist/assets/{memory-router-playground-page-B-6Yt7rp.js → memory-router-playground-page-CJ4yiYSc.js} +1 -1
  139. package/dist/assets/{menu-BKrcAFYk.js → menu-CKZtG-s_.js} +1 -1
  140. package/dist/assets/{messages-BuqyOjvT.js → messages-GjCs9JPa.js} +2 -2
  141. package/dist/assets/{metric-card-j9s-2nkl.js → metric-card-B-Tt9p-1.js} +1 -1
  142. package/dist/assets/mobile-sidebar-drawer-DfeoKq1T.js +1 -0
  143. package/dist/assets/{modal-CoOkN7c0.js → modal-DwsThLGg.js} +1 -1
  144. package/dist/assets/mutation-error-CXV1BKlB.js +1 -0
  145. package/dist/assets/native-anchor-BdMjrcRi.js +1 -0
  146. package/dist/assets/native-biometric-K90ZnTI1.js +6 -0
  147. package/dist/assets/native-deep-link-DZ4tFq-j.js +1 -0
  148. package/dist/assets/native-file-UIQS6ju1.js +2 -0
  149. package/dist/assets/navigation-resolver-CBlxbQ74.js +1 -0
  150. package/dist/assets/{not-found-Dh7Vxgjl.js → not-found-DnD6OHOk.js} +1 -1
  151. package/dist/assets/{notice-B6naz_-V.js → notice-DCp7WO3L.js} +1 -1
  152. package/dist/assets/{notifications-page-BB5kRj1s.js → notifications-page-BpyNfNG8.js} +1 -1
  153. package/dist/assets/{oauth-complete-page-01jk0-Xz.js → oauth-complete-page-KSpFlPD6.js} +1 -1
  154. package/dist/assets/{oauth-connection-utils-DhmVsbum.js → oauth-connection-utils-BHC1Orld.js} +1 -1
  155. package/dist/assets/{oauth-popup-complete-page-DdR3sLCH.js → oauth-popup-complete-page-pXGsQBUS.js} +1 -1
  156. package/dist/assets/{onboarding-layout-CYU5QNQ5.js → onboarding-layout-K7X9fV8B.js} +1 -1
  157. package/dist/assets/onboarding-store-BCCjIAh8.js +1 -0
  158. package/dist/assets/open-workspace-file-DgzI3T0Z.js +2 -0
  159. package/dist/assets/page-empty-state-B9Qpy4cR.js +1 -0
  160. package/dist/assets/{page-shell-Ns8K4aqQ.js → page-shell-CN7ioeP_.js} +1 -1
  161. package/dist/assets/pairing-page-hzr5asIw.js +1 -0
  162. package/dist/assets/panel-item-DGs4s9r-.js +1 -0
  163. package/dist/assets/{password-reset-page-Ck1m9qRW.js → password-reset-page-BDzkxUyx.js} +1 -1
  164. package/dist/assets/{personality-page-B0GpJMv5.js → personality-page-LCTK3x5Z.js} +1 -1
  165. package/dist/assets/plans-page-CdPy1zch.js +1 -0
  166. package/dist/assets/platform-detection-D1jdqAt2.js +1 -0
  167. package/dist/assets/{platform-login-notice-D_-ZVyk8.js → platform-login-notice-DbaZpsOV.js} +1 -1
  168. package/dist/assets/platform-loopback-page-C8nlsNIo.js +1 -0
  169. package/dist/assets/{plugin-detail-page-DGzmeb3j.js → plugin-detail-page-DkOLgv_5.js} +1 -1
  170. package/dist/assets/{plugins-page-C7Xd3LTL.js → plugins-page-CVfczM4W.js} +1 -1
  171. package/dist/assets/plugins-surface-DOyoSzk3.js +1 -0
  172. package/dist/assets/{popover-CDZiHp1D.js → popover-BFL-uOLh.js} +1 -1
  173. package/dist/assets/{prefs-BplCYXxl.js → prefs-B4cH-vXO.js} +1 -1
  174. package/dist/assets/privacy-page-DTIMYWXh.js +1 -0
  175. package/dist/assets/privacy-screen-CpN8a93X.js +1 -0
  176. package/dist/assets/provider-callback-page-CFwtO09V.js +1 -0
  177. package/dist/assets/provider-key-CMxx9M9J.js +1 -0
  178. package/dist/assets/provider-signup-page-BIb2bHdA.js +1 -0
  179. package/dist/assets/provisioning-targets-CT4slXZJ.js +1 -0
  180. package/dist/assets/{proxy-lxbolTGx.js → proxy-CNtrhN4q.js} +1 -1
  181. package/dist/assets/{quick-input-page-DnjOMI1n.js → quick-input-page-COgnUnT_.js} +1 -1
  182. package/dist/assets/react-query.gen-BVTEjHsw.js +1 -0
  183. package/dist/assets/react-query.gen-Cnk5tcFs.js +1 -0
  184. package/dist/assets/{remote-gateway-session-DJ1rzXEw.js → remote-gateway-session-C-K-1DPK.js} +1 -1
  185. package/dist/assets/{research-facts-B5ItKoAK.js → research-facts-D8j40Ve5.js} +1 -1
  186. package/dist/assets/{research-mock-page-gbOSvFQL.js → research-mock-page-Dd8P5SnE.js} +1 -1
  187. package/dist/assets/{research-onboarding-persistence-CgJDwdl9.js → research-onboarding-persistence-BN6g1lF7.js} +1 -1
  188. package/dist/assets/research-onboarding-route-CtZrh58C.js +50 -0
  189. package/dist/assets/{research-results-view-WQsLxBlE.js → research-results-view-C_DEh0f6.js} +1 -1
  190. package/dist/assets/resolved-assistants-store-BhBxUDAA.js +1 -0
  191. package/dist/assets/retire-confirm-dialog-Dee0WiAT.js +1 -0
  192. package/dist/assets/{review-terms-screen-c4Vt5WqP.js → review-terms-screen-BJPrjW7S.js} +1 -1
  193. package/dist/assets/risk-bSvepr91.js +3 -0
  194. package/dist/assets/routes-DH5Z9pbl.js +23 -0
  195. package/dist/assets/{routes-CsoiCk2y.js → routes-Dwx_Ibh9.js} +1 -1
  196. package/dist/assets/runtime-upgrade-banner-D9Bcs_Ef.js +2 -0
  197. package/dist/assets/{sandbox-bridge-CjHMJYTZ.js → sandbox-bridge-D0QTgwjR.js} +84 -2
  198. package/dist/assets/schedules-B6KivAAT.js +1 -0
  199. package/dist/assets/schedules-page-ARIa3eCL.js +1 -0
  200. package/dist/assets/{sdk.gen-DeyOX3Kb.js → sdk.gen-BySz4QYj.js} +1 -1
  201. package/dist/assets/sdk.gen-DVW3wpbx.js +1 -0
  202. package/dist/assets/{security-redirect-page-CMMujz_x.js → security-redirect-page-Dx-kOFMm.js} +1 -1
  203. package/dist/assets/select-assistant-screen-DHGvBemR.js +1 -0
  204. package/dist/assets/session-corner-action-B6nmmtbq.js +1 -0
  205. package/dist/assets/{setting-row-D10FtQcP.js → setting-row-DEyL7IUP.js} +1 -1
  206. package/dist/assets/{settings-divider-CItcvksF.js → settings-divider-Bf5WJ9ve.js} +1 -1
  207. package/dist/assets/settings-layout-CkVh6vR8.js +1 -0
  208. package/dist/assets/settings-navigation-B-MiUW2N.js +1 -0
  209. package/dist/assets/share-feedback-modal-DKzF5XNj.js +2 -0
  210. package/dist/assets/{sidebar-tree-CEPitR5K.js → sidebar-tree-BRr6gXFK.js} +1 -1
  211. package/dist/assets/{signup-page-C0y2CTKm.js → signup-page-DemwH4dz.js} +1 -1
  212. package/dist/assets/{signup-shell-DxP2zqed.js → signup-shell-CMXUBUal.js} +1 -1
  213. package/dist/assets/site-favicon-DFkSxj8D.js +1 -0
  214. package/dist/assets/{skill-detail-page-o3EhI_Q2.js → skill-detail-page-DaLB2RIs.js} +1 -1
  215. package/dist/assets/{skill-detail-panel-DdQL6oky.js → skill-detail-panel-CObjFB9e.js} +1 -1
  216. package/dist/assets/{skills-DT9YkYm6.js → skills-IombDITK.js} +1 -1
  217. package/dist/assets/{skills-page-BtFhw8jF.js → skills-page-HrsakrAk.js} +1 -1
  218. package/dist/assets/{slack-setup-wizard-C6ALDSEa.js → slack-setup-wizard-dVkbEE6P.js} +1 -1
  219. package/dist/assets/{sound-manager-Dy2ohKg4.js → sound-manager-DUo0lHGZ.js} +1 -1
  220. package/dist/assets/{sounds-page-D4kMljoY.js → sounds-page-BDWN7il1.js} +1 -1
  221. package/dist/assets/{src-CnF7WXNj.js → src-BAS7a2RG.js} +39 -39
  222. package/dist/assets/{start-screen-BiV4V5J1.js → start-screen-aVCWV8uc.js} +1 -1
  223. package/dist/assets/subagent-detail-panel-CiSQ7_A7.js +4 -0
  224. package/dist/assets/subagent-store-CxPdenPA.js +3 -0
  225. package/dist/assets/superpowers-page-D-Ay-BFH.js +1 -0
  226. package/dist/assets/{system-events-page-CpUI1rsZ.js → system-events-page-Br3KXdIc.js} +1 -1
  227. package/dist/assets/{system-events-redirect-page-BQrnMF4i.js → system-events-redirect-page-Cr2Aonm3.js} +1 -1
  228. package/dist/assets/{tag-Dn1d6hKF.js → tag-D8NAGb0r.js} +1 -1
  229. package/dist/assets/{credit-card-C1RL73Rt.js → target-cdw7WP5q.js} +1 -1
  230. package/dist/assets/{theme-preferences-LQuLaIA6.js → theme-preferences-BnjzK3mI.js} +1 -1
  231. package/dist/assets/{theme-stage-page-CW3erTQ4.js → theme-stage-page-BzLXxx9f.js} +1 -1
  232. package/dist/assets/{threshold-presets-ByKylDXk.js → threshold-presets-B-gOdjC4.js} +1 -1
  233. package/dist/assets/{tiptap-document-editor-CbPrzkBM.js → tiptap-document-editor-D-lwPWrV.js} +1 -1
  234. package/dist/assets/{toast-BcMdOTp1.js → toast-DR7D7Uma.js} +1 -1
  235. package/dist/assets/tool-detail-panel-KKqPmBd1.js +2 -0
  236. package/dist/assets/transcript-message-body-shared-DWASX1cM.js +1 -0
  237. package/dist/assets/{trust-rules-api-CVYU31TU.js → trust-rules-api-iUGCiDDM.js} +1 -1
  238. package/dist/assets/typed-storage-DF1GAu5E.js +1 -0
  239. package/dist/assets/{upgrade-cancel-page-BSAoMrm5.js → upgrade-cancel-page-CQjoTqEF.js} +1 -1
  240. package/dist/assets/{upgrade-success-page-CooDWnEr.js → upgrade-success-page-59ZjI_yx.js} +1 -1
  241. package/dist/assets/{usage-redirect-page-DtwSt4vM.js → usage-redirect-page-Vz_VL1j6.js} +1 -1
  242. package/dist/assets/{use-active-assistant-id-CUKao_nq.js → use-active-assistant-id-AtGy8p_R.js} +1 -1
  243. package/dist/assets/{use-app-theme-BhnyqHgJ.js → use-app-theme-zRTnLVcX.js} +1 -1
  244. package/dist/assets/use-assistant-avatar-D_3BPJiL.js +1 -0
  245. package/dist/assets/{use-assistant-capability-BdWmg2Vg.js → use-assistant-capability-Cr5JX0t_.js} +1 -1
  246. package/dist/assets/use-assistant-identity-details-DR0fCh8W.js +1 -0
  247. package/dist/assets/use-avatar-accent-var-BaftJG7F.js +1 -0
  248. package/dist/assets/{use-bookmarks-DtteniG3.js → use-bookmarks-Dhf_oqpl.js} +1 -1
  249. package/dist/assets/{use-bundled-avatar-components-B1ARUeam.js → use-bundled-avatar-components-IQw2k8-g.js} +2 -2
  250. package/dist/assets/{use-bus-subscription-NoXmdzgx.js → use-bus-subscription-CyRPH_gr.js} +1 -1
  251. package/dist/assets/use-checkout-dismiss-refresh-DTIb7jwC.js +1 -0
  252. package/dist/assets/use-command-palette-sections-CD2Uckxh.js +1 -0
  253. package/dist/assets/{use-discord-nudge-h0WPtIp6.js → use-discord-nudge-CRU-lEHV.js} +1 -1
  254. package/dist/assets/{use-edge-swipe-back-Rp4TEihl.js → use-edge-swipe-back-BFDM1VVs.js} +1 -1
  255. package/dist/assets/{use-edge-swipe-DDntz5ZJ.js → use-edge-swipe-ltd7x_FA.js} +1 -1
  256. package/dist/assets/{use-edit-app-BSbRuVnn.js → use-edit-app-BEOaYqy-.js} +1 -1
  257. package/dist/assets/{use-effective-timezone-Om_EkJxK.js → use-effective-timezone-C__-FPJf.js} +1 -1
  258. package/dist/assets/use-invite-link-dialog-DGWKEId1.js +1 -0
  259. package/dist/assets/{use-ios-app-nudge-CeOXecJj.js → use-ios-app-nudge-BvNuOc0C.js} +1 -1
  260. package/dist/assets/use-is-org-ready-DbpWYMmf.js +1 -0
  261. package/dist/assets/{use-onboarding-login-DsCjVy0U.js → use-onboarding-login-7bacnUwb.js} +1 -1
  262. package/dist/assets/{use-platform-assistant-id-DSR1LFZF.js → use-platform-assistant-id-BlqZ8YIJ.js} +1 -1
  263. package/dist/assets/use-platform-gate-Lk4r_0FQ.js +1 -0
  264. package/dist/assets/use-reduced-motion-bjjt6x6d.js +1 -0
  265. package/dist/assets/{use-return-to-short-circuit-DEKlWitV.js → use-return-to-short-circuit-DzOB5Gx7.js} +1 -1
  266. package/dist/assets/use-save-twilio-credentials-C8A9E6P0.js +1 -0
  267. package/dist/assets/{use-skill-actions-DTznrJR1.js → use-skill-actions-DIxtgAti.js} +1 -1
  268. package/dist/assets/{use-skill-detail-files-CKgT7qkY.js → use-skill-detail-files-6L4PE9fy.js} +1 -1
  269. package/dist/assets/use-sticky-profiles-ecykY0xq.js +1 -0
  270. package/dist/assets/use-subagent-card-data-BtOi70jc.js +1 -0
  271. package/dist/assets/use-supports-bookmarks-Bi_Q59Vj.js +1 -0
  272. package/dist/assets/use-supports-credentials-settings-Buo2Yw66.js +1 -0
  273. package/dist/assets/{use-swipe-engine-ehsGV4fb.js → use-swipe-engine-RAFE-Hrf.js} +1 -1
  274. package/dist/assets/{utils-CP1NAeej.js → utils-C90EU2bu.js} +1 -1
  275. package/dist/assets/utils-CLGxXkUG.js +1 -0
  276. package/dist/assets/video-CQJlht8Q.js +1 -0
  277. package/dist/assets/{viewer-store-BVsBGqdn.js → viewer-store-aFFfW0f1.js} +1 -1
  278. package/dist/assets/voice-list-CV8rm-wt.js +1 -0
  279. package/dist/assets/voice-page-DDOz3Ao4.js +1 -0
  280. package/dist/assets/voice-providers-note-DyGuZq0-.js +1 -0
  281. package/dist/assets/{weather-forecast-display-JW8ecLNy.js → weather-forecast-display-Bg_OjY6Q.js} +1 -1
  282. package/dist/assets/web-BGGL28BF.js +1 -0
  283. package/dist/assets/web-BxD8LZrf.js +1 -0
  284. package/dist/assets/web-CQ96JShg.js +1 -0
  285. package/dist/assets/web-D2xGmqXj.js +1 -0
  286. package/dist/assets/web-aniWFlLe.js +1 -0
  287. package/dist/assets/web-bf64-Pa_.js +1 -0
  288. package/dist/assets/web-kmJJz6ES.js +1 -0
  289. package/dist/assets/web-n9xYpT1Q.js +1 -0
  290. package/dist/assets/{welcome-screen-D_DTupb3.js → welcome-screen-Bn5oYY2s.js} +1 -1
  291. package/dist/assets/{workflow-detail-panel-DAVe3vEm.js → workflow-detail-panel-BNzNSNAT.js} +1 -1
  292. package/dist/assets/{workflow-store-C3g-qg1u.js → workflow-store-_Vxz_nrp.js} +1 -1
  293. package/dist/assets/workspace-page-JIpA-Igi.js +1 -0
  294. package/dist/assets/{workspace-tree-query-D9VBUg-W.js → workspace-tree-query-CqcOBNKw.js} +1 -1
  295. package/dist/index.html +275 -234
  296. package/package.json +1 -1
  297. package/dist/assets/access-B_b48snn.js +0 -1
  298. package/dist/assets/activity-steps-panel-D8fAVo9_.js +0 -1
  299. package/dist/assets/ai-page-Dd-qECGn.js +0 -1
  300. package/dist/assets/api-BpGogBsg.js +0 -1
  301. package/dist/assets/api-Coj5enET.js +0 -1
  302. package/dist/assets/assistant-identity-store-6On4WZ62.js +0 -1
  303. package/dist/assets/auth-store-EmLZOAkN.js +0 -2
  304. package/dist/assets/avatar-random-DjmD5llT.js +0 -1
  305. package/dist/assets/billing-page-CbelI-Ui.js +0 -3
  306. package/dist/assets/browser-DvKwnK9l.js +0 -2
  307. package/dist/assets/build-state-C_Hy9WqC.js +0 -1
  308. package/dist/assets/channels-page-route-CiOtL1JY.js +0 -9
  309. package/dist/assets/chat-markdown-message-9ogr9-mn.js +0 -2
  310. package/dist/assets/checkout-continuation-DmIXoV4L.js +0 -1
  311. package/dist/assets/checkout-page-2Xr9vx27.js +0 -1
  312. package/dist/assets/checkout-return-target-DQBOhh64.js +0 -1
  313. package/dist/assets/command-palette-CzbYrcNM.js +0 -1
  314. package/dist/assets/command-palette-window-page-CHQdRfhu.js +0 -1
  315. package/dist/assets/consent-c8EJ3D2A.js +0 -1
  316. package/dist/assets/contacts-page-route-eTUOUhJL.js +0 -1
  317. package/dist/assets/conversation-list-fetchers-CavIngGf.js +0 -1
  318. package/dist/assets/conversation-queries-688XB7Bh.js +0 -1
  319. package/dist/assets/conversation-selection-Cx6Axfzb.js +0 -1
  320. package/dist/assets/credentials-page-da3G5EjN.js +0 -1
  321. package/dist/assets/debug-page-BElAND4u.js +0 -4
  322. package/dist/assets/developer-page-Ck66ks9T.js +0 -1
  323. package/dist/assets/document-viewer-container-Dxc95Z_9.js +0 -2
  324. package/dist/assets/effective-timezone-CnKC3vj0.js +0 -1
  325. package/dist/assets/esm-0ejhUWK7.js +0 -2
  326. package/dist/assets/esm-BPFGl7Zp.js +0 -2
  327. package/dist/assets/esm-C2uShH10.js +0 -2
  328. package/dist/assets/esm-CAByj-hK.js +0 -2
  329. package/dist/assets/esm-Cn1fOTtj.js +0 -2
  330. package/dist/assets/esm-Df-J9imF.js +0 -1
  331. package/dist/assets/esm-t0mP3xUe.js +0 -2
  332. package/dist/assets/eye-bbox-u0VzlPuw.js +0 -1
  333. package/dist/assets/feature-flag-catalog-CWB-r-Pj.js +0 -1
  334. package/dist/assets/file-editor-plAxQBKk.js +0 -1
  335. package/dist/assets/first-run-scope-Br96Z0Ol.js +0 -1
  336. package/dist/assets/general-page-mGY10EuY.js +0 -1
  337. package/dist/assets/get-memory-stats-CdA2IhkV.js +0 -1
  338. package/dist/assets/hatching-screen-DwNw31vj.js +0 -1
  339. package/dist/assets/home-page-route-B2ScoHEE.js +0 -1
  340. package/dist/assets/hosting-screen-DKijoYxW.js +0 -1
  341. package/dist/assets/identity-page-route-DD_U3Te5.js +0 -7
  342. package/dist/assets/impersonate-version-flag-Cad5-ZZv.js +0 -1
  343. package/dist/assets/index-BEpJ8S2b.js +0 -11
  344. package/dist/assets/index-UKZ4bO6i.css +0 -2
  345. package/dist/assets/integrations-page-BnPiOw9v.js +0 -1
  346. package/dist/assets/invalidate-memory-queries-D8VNhm2x.js +0 -1
  347. package/dist/assets/invalidate-plugin-queries-v7687-U8.js +0 -1
  348. package/dist/assets/latest-assistant-text-BIlBGS_i.js +0 -24
  349. package/dist/assets/list-row-BOvxGO5h.js +0 -1
  350. package/dist/assets/local-mode-BKousn41.js +0 -39
  351. package/dist/assets/local-runtime-upgrade-COcJaRWH.js +0 -1
  352. package/dist/assets/local-settings-C-dW2vkq.js +0 -1
  353. package/dist/assets/login-page-BR42WUVt.js +0 -1
  354. package/dist/assets/machine-sizes-CT-fSRKD.js +0 -1
  355. package/dist/assets/memory-page-route-CW1Fgh6X.js +0 -2
  356. package/dist/assets/mobile-sidebar-drawer-BLGt_R0d.js +0 -1
  357. package/dist/assets/mutation-error-DoEwwcm3.js +0 -1
  358. package/dist/assets/native-anchor-BeAcmUWk.js +0 -1
  359. package/dist/assets/native-biometric-DUHF57O_.js +0 -6
  360. package/dist/assets/native-deep-link-D4jZANvf.js +0 -1
  361. package/dist/assets/native-file-CfGNNXKe.js +0 -2
  362. package/dist/assets/navigation-resolver-BIPJSTY5.js +0 -1
  363. package/dist/assets/onboarding-store-CHsGFmyD.js +0 -1
  364. package/dist/assets/open-workspace-file-AUDky4i4.js +0 -2
  365. package/dist/assets/page-empty-state-DTRXFoHj.js +0 -1
  366. package/dist/assets/pairing-page-COqX_5vT.js +0 -1
  367. package/dist/assets/panel-item-CQt19wOM.js +0 -1
  368. package/dist/assets/plans-page-GiIsWq7v.js +0 -1
  369. package/dist/assets/platform-detection-D1fBX4KG.js +0 -1
  370. package/dist/assets/platform-loopback-page-B68rydoU.js +0 -1
  371. package/dist/assets/plugins-surface-BGSKlIwH.js +0 -1
  372. package/dist/assets/privacy-page-NhPZ8klL.js +0 -1
  373. package/dist/assets/privacy-screen-hSx7ZwqA.js +0 -1
  374. package/dist/assets/provider-callback-page-Dkxi-_kI.js +0 -1
  375. package/dist/assets/provider-key-B07UMm1T.js +0 -1
  376. package/dist/assets/provider-signup-page-BapnHqaW.js +0 -1
  377. package/dist/assets/provisioning-targets-epeYMPhZ.js +0 -1
  378. package/dist/assets/react-query.gen-9VRdubOj.js +0 -1
  379. package/dist/assets/react-query.gen-BeiAUt-2.js +0 -1
  380. package/dist/assets/research-onboarding-route-DpgbtSS0.js +0 -50
  381. package/dist/assets/resolved-assistants-store-FEmi1gGu.js +0 -1
  382. package/dist/assets/retire-confirm-dialog-CFJqb_EM.js +0 -1
  383. package/dist/assets/risk-RmzL2Rk_.js +0 -3
  384. package/dist/assets/routes-NQmj27cY.js +0 -23
  385. package/dist/assets/runtime-upgrade-banner-BM2b81eK.js +0 -2
  386. package/dist/assets/schedules-BMEs36wC.js +0 -1
  387. package/dist/assets/schedules-page-BkOE2joT.js +0 -1
  388. package/dist/assets/sdk.gen-DHJ7Pbqq.js +0 -1
  389. package/dist/assets/select-assistant-screen-S526udI9.js +0 -1
  390. package/dist/assets/semver-Ok0Hi8v9.js +0 -1
  391. package/dist/assets/settings-layout-DKr7K-B6.js +0 -1
  392. package/dist/assets/settings-navigation-ji_jJYq2.js +0 -1
  393. package/dist/assets/share-feedback-modal-GLBRzcZa.js +0 -1
  394. package/dist/assets/site-favicon-Dx98M-cB.js +0 -1
  395. package/dist/assets/subagent-detail-panel-Cvmfu7Ym.js +0 -4
  396. package/dist/assets/subagent-store-B2Uhma4F.js +0 -3
  397. package/dist/assets/superpowers-page-CPBz-c5i.js +0 -1
  398. package/dist/assets/tool-detail-panel-DyfiRoE5.js +0 -2
  399. package/dist/assets/transcript-message-body-shared-Cb89j7p1.js +0 -1
  400. package/dist/assets/typed-storage-CcMT-hWr.js +0 -1
  401. package/dist/assets/use-assistant-avatar-BcObK2L0.js +0 -1
  402. package/dist/assets/use-assistant-identity-details-BdFppz9B.js +0 -1
  403. package/dist/assets/use-avatar-accent-var-rnSeYvBI.js +0 -1
  404. package/dist/assets/use-checkout-dismiss-refresh-wRSmB_TU.js +0 -1
  405. package/dist/assets/use-command-palette-sections-GAugkmjU.js +0 -1
  406. package/dist/assets/use-invite-link-dialog-yw1dtYd_.js +0 -1
  407. package/dist/assets/use-is-org-ready-BrKAc9Df.js +0 -1
  408. package/dist/assets/use-platform-gate-Cv2oOK8C.js +0 -1
  409. package/dist/assets/use-reduced-motion-D0Rb5Fd_.js +0 -1
  410. package/dist/assets/use-save-twilio-credentials-CecOWIyh.js +0 -1
  411. package/dist/assets/use-sticky-profiles-CdiEmubF.js +0 -1
  412. package/dist/assets/use-subagent-card-data-DJujXR76.js +0 -1
  413. package/dist/assets/use-supports-bookmarks-D4_-FkJA.js +0 -1
  414. package/dist/assets/use-supports-credentials-settings-CGDLraXI.js +0 -1
  415. package/dist/assets/utils-D8KOSvh3.js +0 -1
  416. package/dist/assets/video-BcgduiJ6.js +0 -1
  417. package/dist/assets/voice-list-DeqvOR_J.js +0 -1
  418. package/dist/assets/voice-page-Cas-WIf4.js +0 -1
  419. package/dist/assets/voice-picker-modal-D0K6miA1.js +0 -1
  420. package/dist/assets/web-BTtRunTK.js +0 -1
  421. package/dist/assets/web-Bd-5Eyoa.js +0 -1
  422. package/dist/assets/web-ByAAA1Mb.js +0 -1
  423. package/dist/assets/web-DFbI_g4o.js +0 -1
  424. package/dist/assets/web-DIn7jUpJ.js +0 -1
  425. package/dist/assets/web-DYQ0KCC4.js +0 -1
  426. package/dist/assets/web-Db-2E0qX.js +0 -1
  427. package/dist/assets/web-PfT3uNnR.js +0 -1
  428. package/dist/assets/workspace-page-Dq0z3-Rs.js +0 -1
  429. package/dist/assets/zoom-in-C96B1CNL.js +0 -1
  430. /package/dist/assets/{Combination-BRDRMC4m.js → Combination-C7TWRLS7.js} +0 -0
  431. /package/dist/assets/{api-errors-DHvv5HEN.js → api-errors-SZKDzMLE.js} +0 -0
  432. /package/dist/assets/{app-types-BnzWLsk5.js → app-types-o5Qc-xkK.js} +0 -0
  433. /package/dist/assets/{apple-logo-C3XrRC_i.js → apple-logo-Cg-KnqW2.js} +0 -0
  434. /package/dist/assets/{avatar-bundled-components-yyfTpx_l.js → avatar-bundled-components-CTd294ra.js} +0 -0
  435. /package/dist/assets/{avatar-subagent-Bpy9-0YN.js → avatar-subagent-BpXST4nO.js} +0 -0
  436. /package/dist/assets/{avatar-svg-compositor-DeuQqt-f.js → avatar-svg-compositor-DclcUb1M.js} +0 -0
  437. /package/dist/assets/{avatar-tone-BBZKSrBa.js → avatar-tone-4L7foPzW.js} +0 -0
  438. /package/dist/assets/{build.umd-CpQXlBwc.js → build.umd-oXvZOmIf.js} +0 -0
  439. /package/dist/assets/{chat-B9S7HTkM.js → chat-BIJEFb5u.js} +0 -0
  440. /package/dist/assets/{client.gen-DPP573hb.js → client.gen-DHOmbzD9.js} +0 -0
  441. /package/dist/assets/{create-selectors-B41BzcFF.js → create-selectors-B-P03-8K.js} +0 -0
  442. /package/dist/assets/{definitions-B2pe1hr8.js → definitions-BD-g60mP.js} +0 -0
  443. /package/dist/assets/{definitions-B6TMLvuT.js → definitions-CL6e7nYF.js} +0 -0
  444. /package/dist/assets/{dist-BbzsnMsY.js → dist-BKxs5XmY.js} +0 -0
  445. /package/dist/assets/{dist-BxvMAFS8.js → dist-CKLJHt4Z.js} +0 -0
  446. /package/dist/assets/{dist-CCFYMOVM.js → dist-D3eaKkac2.js} +0 -0
  447. /package/dist/assets/{edit-chat-session-DDnAzqkB.js → edit-chat-session-Beky6Vpg.js} +0 -0
  448. /package/dist/assets/{ellipsis-DnoqTkj4.js → ellipsis-BRJI5_P1.js} +0 -0
  449. /package/dist/assets/{emoji-catalog-data-DvjqmdH4.js → emoji-catalog-data-5pJaL_3N.js} +0 -0
  450. /package/dist/assets/{event-bus-DYZhc6yM.js → event-bus-CvZyJQ26.js} +0 -0
  451. /package/dist/assets/{external-link-CS0aVYGt.js → external-link-CAce-RVu.js} +0 -0
  452. /package/dist/assets/{external-urls-DIbR-npW.js → external-urls-97O9n0lb.js} +0 -0
  453. /package/dist/assets/{eye-BMVGQXHT.js → eye-DTyDWiqu.js} +0 -0
  454. /package/dist/assets/{eye-off-Jdx8qkOK.js → eye-off-fuOP4Lij.js} +0 -0
  455. /package/dist/assets/{file-code-BDHws4Dk.js → file-code-DD3K2kve.js} +0 -0
  456. /package/dist/assets/{file-plus-C3SBA8ll.js → file-plus-Dq2xo7Ic.js} +0 -0
  457. /package/dist/assets/{file-text-Br730Q4B.js → file-text-BCsUYVEF.js} +0 -0
  458. /package/dist/assets/{folder-DF8nFp7N.js → folder-g06qTW2O.js} +0 -0
  459. /package/dist/assets/{folder-open-Nlg0OphT.js → folder-open-CAb0DLYq.js} +0 -0
  460. /package/dist/assets/{format-date-BEAiOK8n.js → format-date-CKGQir4m.js} +0 -0
  461. /package/dist/assets/{format-file-size-BtDHBEb-.js → format-file-size-Eu-Z0CxL.js} +0 -0
  462. /package/dist/assets/{globe-CMtjL_s_.js → globe-BDvXuPkw.js} +0 -0
  463. /package/dist/assets/{hard-drive-DWFPKcXI.js → hard-drive-CncrDZ7V.js} +0 -0
  464. /package/dist/assets/{heart-789ajxtB.js → heart-2AHOP0tB.js} +0 -0
  465. /package/dist/assets/{inbox-B6TknLsk.js → inbox-DXYIwUrn.js} +0 -0
  466. /package/dist/assets/{info-vgPTIsGI.js → info-CYiVdnQV.js} +0 -0
  467. /package/dist/assets/{input-F_x2LXmm.js → input-C-GkeWCw.js} +0 -0
  468. /package/dist/assets/{is-electron-D-TCQRcE.js → is-electron-7N7iyz1y.js} +0 -0
  469. /package/dist/assets/{key-round-0Zop_GsZ.js → key-round-CSc3w5ka.js} +0 -0
  470. /package/dist/assets/{laptop-DSZhU52i.js → laptop-ByoaxLxg.js} +0 -0
  471. /package/dist/assets/{layout-grid-DA_CfD6d.js → layout-grid-PPpVK0nJ.js} +0 -0
  472. /package/dist/assets/{link-2-BKL8QWRX.js → link-2-BMNZFfWH.js} +0 -0
  473. /package/dist/assets/{link-BfUb7cwC.js → link-CowyzCIZ.js} +0 -0
  474. /package/dist/assets/{link-click-BIvzZsRn.js → link-click-BEiniqcG.js} +0 -0
  475. /package/dist/assets/{list-DNbTcxAh.js → list-CDyb1CGV.js} +0 -0
  476. /package/dist/assets/{loader-circle-XREx3i4W.js → loader-circle-BzJ2kz3F.js} +0 -0
  477. /package/dist/assets/{log-in-CqVJRYe-.js → log-in-Bhye1kwc.js} +0 -0
  478. /package/dist/assets/{log-out-B4hsBWnk.js → log-out-BLE632qu.js} +0 -0
  479. /package/dist/assets/{mail-CMdPNysl.js → mail-DABv3_Ue.js} +0 -0
  480. /package/dist/assets/{message-circle-BsH7vHtN.js → message-circle-gk_DFUIg.js} +0 -0
  481. /package/dist/assets/{message-square-text-D0Q7W58R.js → message-square-text-asdoy3SW.js} +0 -0
  482. /package/dist/assets/{message-square-CQGiY4zk.js → message-square-zCNXaHYX.js} +0 -0
  483. /package/dist/assets/{mic-xmDFUbCL.js → mic-DZrWtAAu.js} +0 -0
  484. /package/dist/assets/{minimize-2-CaXsUqSp.js → minimize-2-BR0ed4mI.js} +0 -0
  485. /package/dist/assets/{misc-CXDB4i-X.js → misc-CAQM4FGM.js} +0 -0
  486. /package/dist/assets/{monitor-B1y28fS1.js → monitor-B5vtTCxm.js} +0 -0
  487. /package/dist/assets/{moon-BJzODLTY.js → moon-DSdti3GO.js} +0 -0
  488. /package/dist/assets/{oauth-popup-BsYPnBq7.js → oauth-popup-Ql5xgtlO.js} +0 -0
  489. /package/dist/assets/{onboarding-step-layout-Do2o16kf.js → onboarding-step-layout-DGtbhZJb.js} +0 -0
  490. /package/dist/assets/{optimistic-lifecycle-Dxhc3mFf.js → optimistic-lifecycle-50vNA6dY.js} +0 -0
  491. /package/dist/assets/{paperclip-c8Xlrnx4.js → paperclip-DVE0scjU.js} +0 -0
  492. /package/dist/assets/{pdf-CRRXY5Nb.js → pdf-8fO1Wz7e.js} +0 -0
  493. /package/dist/assets/{pencil-D38YNe2r.js → pencil-CLJIvYKH.js} +0 -0
  494. /package/dist/assets/{play-B0-JEtcm.js → play-CCT817Ah.js} +0 -0
  495. /package/dist/assets/{plugin-attribution-ug-jMTXi.js → plugin-attribution-Hjqz10My.js} +0 -0
  496. /package/dist/assets/{plus-jH3kAliM.js → plus-JG7kWjHA.js} +0 -0
  497. /package/dist/assets/{pointer-DAyn_9jY.js → pointer-QlIwQKYH.js} +0 -0
  498. /package/dist/assets/{profile-metadata-EGAGq_rk.js → profile-metadata-BksFtHNq.js} +0 -0
  499. /package/dist/assets/{progress-bar-B64ghmWk.js → progress-bar-CJxkStgF.js} +0 -0
  500. /package/dist/assets/{public-asset-BoN50HP_.js → public-asset-CD3ouSWU.js} +0 -0
  501. /package/dist/assets/{puzzle-BVC3TGko.js → puzzle-CtM3jM-f.js} +0 -0
  502. /package/dist/assets/{refresh-cw-DzPnoeCh.js → refresh-cw-Ci7hSykC.js} +0 -0
  503. /package/dist/assets/{repeat-GCVYEp1h.js → repeat-CIQpv9Nd.js} +0 -0
  504. /package/dist/assets/{rotate-ccw-BjzeX7qz.js → rotate-ccw-Da_2DvhY.js} +0 -0
  505. /package/dist/assets/{sdk.gen-CtusrdLv.js → sdk.gen-DEFA-6EJ.js} +0 -0
  506. /package/dist/assets/{search-BVW-n8to.js → search-DA3TmTuR.js} +0 -0
  507. /package/dist/assets/{send-Q71Exj3z.js → send-DHWUIK7G.js} +0 -0
  508. /package/dist/assets/{settings-PGZ9c_uo.js → settings-DyEBEqeQ.js} +0 -0
  509. /package/dist/assets/{shield-B69p45Kq.js → shield-9aFTFyT9.js} +0 -0
  510. /package/dist/assets/{shield-check-C7I-REGg.js → shield-check-z7CU-gBq.js} +0 -0
  511. /package/dist/assets/{smartphone-zTfpbpuH.js → smartphone-BbK6bGuE.js} +0 -0
  512. /package/dist/assets/{sparkles-nPSxUfsO.js → sparkles-DC8kqYjt.js} +0 -0
  513. /package/dist/assets/{square-CRVB76KQ.js → square-Bn3X6ZlO.js} +0 -0
  514. /package/dist/assets/{status-badge-pill-CGODAHVT.js → status-badge-pill-ZNNoKV1T.js} +0 -0
  515. /package/dist/assets/{sun-DXlsFvWD.js → sun-BKEPYS7Q.js} +0 -0
  516. /package/dist/assets/{terminal-BvDcWAOW.js → terminal-Cs_TREv-.js} +0 -0
  517. /package/dist/assets/{three-dot-indicator-B_GPAioB.js → three-dot-indicator-CfjkCgEH.js} +0 -0
  518. /package/dist/assets/{toggle-B4nIp0sf.js → toggle-D776PTw-.js} +0 -0
  519. /package/dist/assets/{trash-2-BF5y4UkY.js → trash-2-De6X8YiM.js} +0 -0
  520. /package/dist/assets/{triangle-alert-Dq3v0coH.js → triangle-alert--e3n47gm.js} +0 -0
  521. /package/dist/assets/{use-copy-to-clipboard-VK_922zc.js → use-copy-to-clipboard-BarKTY4m.js} +0 -0
  522. /package/dist/assets/{user-KBQkOaB5.js → user-Dq9DUxnU.js} +0 -0
  523. /package/dist/assets/{user-plus-CsHAo9W6.js → user-plus-CXMJ1x_5.js} +0 -0
  524. /package/dist/assets/{users-C0mu7-R4.js → users-DWDkv8ju.js} +0 -0
  525. /package/dist/assets/{volume-2-DnyXryvu.js → volume-2-Bj3y3ZBJ.js} +0 -0
  526. /package/dist/assets/{workflow-CN4xwQpa.js → workflow-DbPANJpf.js} +0 -0
  527. /package/dist/assets/{workspace-theme-tokens-D8TTf-DX.js → workspace-theme-tokens-bLqHFK0a.js} +0 -0
  528. /package/dist/assets/{wrench-DDDwrNwL.js → wrench-tjOqvzJ2.js} +0 -0
  529. /package/dist/assets/{x-BGag7vwj.js → x-DuBvjmAE.js} +0 -0
  530. /package/dist/assets/{xterm-coCKWVob.js → xterm-Ip5qSQfD.js} +0 -0
  531. /package/dist/assets/{xterm-addon-fit-B1qPIPGd.js → xterm-addon-fit-BbxIpbO2.js} +0 -0
@@ -0,0 +1 @@
1
+ import{t as e}from"./button-Dy5001j6.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./log-in-Bhye1kwc.js";import{t as i}from"./log-out-BLE632qu.js";import{t as a}from"./is-electron-7N7iyz1y.js";import{i as o}from"./auth-store-BmPTOZ-G.js";import{t as s}from"./handle-logout-Bxt2J2MI.js";var c=new Set([`ArrowDown`,`ArrowRight`]),l=new Set([`ArrowUp`,`ArrowLeft`]);function u(e){if(!c.has(e.key)&&!l.has(e.key))return;let t=e.target.closest(`[role="radio"]`);if(!t)return;let n=Array.from(e.currentTarget.querySelectorAll(`[role="radio"]`)),r=n.indexOf(t);if(r<0)return;let i=n[(r+(c.has(e.key)?1:-1)+n.length)%n.length];e.preventDefault(),i.focus(),i.click()}var d=n();function f({loginLoading:n,onLogin:c,onCancelLogin:l}){let u=t(),f=o();return a()?null:(0,d.jsx)(`div`,{className:`absolute right-6 top-[max(1.5rem,env(safe-area-inset-top))] z-10`,style:{animation:`fadeInUp 0.5s ease-out 0.2s both`},children:(0,d.jsx)(e,{variant:`ghost`,size:`compact`,className:`text-[var(--content-tertiary)]`,leftIcon:f?(0,d.jsx)(i,{}):(0,d.jsx)(r,{}),onClick:f?()=>void s(u):n?l:c,children:f?`Log out`:n?`Cancel`:`Log in`})})}export{u as n,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"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./toggle-B4nIp0sf.js";var i=e(t(),1),a=n();function o({label:e,helperText:t,checked:n,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(r,{checked:n,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:t})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-start gap-4`,children:[l,u]})}export{o as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./toggle-D776PTw-.js";var i=e(t(),1),a=n();function o({label:e,helperText:t,checked:n,onChange:o,variant:s=`toggle-leading`}){let c=(0,i.useId)(),l=(0,a.jsx)(r,{checked:n,onChange:o,id:c}),u=(0,a.jsxs)(`label`,{htmlFor:c,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,a.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,a.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:t})]});return s===`toggle-trailing`?(0,a.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[u,l]}):(0,a.jsxs)(`div`,{className:`flex items-start gap-4`,children:[l,u]})}export{o as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./cn-CJf7MmLX.js";import"./src-CnF7WXNj.js";var n=e();function r({className:e}){return(0,n.jsx)(`div`,{role:`presentation`,className:t(`h-px w-full bg-[var(--border-base)]`,e)})}export{r as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./cn-CJf7MmLX.js";import"./src-BAS7a2RG.js";var n=e();function r({className:e}){return(0,n.jsx)(`div`,{role:`presentation`,className:t(`h-px w-full bg-[var(--border-base)]`,e)})}export{r as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{l as n,r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./use-supports-bookmarks-Bi_Q59Vj.js";import{t as s}from"./log-in-Bhye1kwc.js";import{t as c}from"./log-out-BLE632qu.js";import{n as l}from"./resolved-assistants-store-BhBxUDAA.js";import{i as u}from"./auth-store-BmPTOZ-G.js";import{t as d}from"./client-feature-flag-store-DhF7SK2q.js";import{d as f}from"./routes-Dwx_Ibh9.js";import{i as p}from"./use-platform-gate-Lk4r_0FQ.js";import{t as m}from"./handle-logout-Bxt2J2MI.js";import{t as h}from"./use-onboarding-login-7bacnUwb.js";import{t as g}from"./assistant-feature-flag-store-Ci_346FY.js";import{t as _}from"./settings-navigation-B-MiUW2N.js";import{n as v,t as y}from"./sidebar-tree-BRr6gXFK.js";import{t as b}from"./use-supports-credentials-settings-Buo2Yw66.js";var x=e(t(),1),S=a();function C(){let e=g.use.settingsDeveloperNav(),t=d.use.platformNotifications(),a=l.use.activeAssistantId(),C=o(a),w=b(a),T=p({platformHostedOnly:!0}),E=p()===`full`?`Billing & Usage`:`Usage`,{pathname:D}=n(),O=i(),k=u(),{login:A}=h(),j=(0,x.useMemo)(()=>_.filter(e=>!(e.id===`notifications`&&(!t||T===`gated`)||e.id===`bookmarks`&&!C||e.id===`credentials`&&!w||e.id===`developer`)).map(e=>e.id===`billing`?{...e,label:E}:e),[t,T,C,w,E]),M=(0,x.useMemo)(()=>{let t=[];return e&&t.push(..._.filter(e=>e.id===`developer`)),t.push(k?{id:`logout`,label:`Log Out`,icon:c,onSelect:()=>void m(O)}:{id:`login`,label:`Log In`,icon:s,onSelect:()=>void A()}),t},[e,k,O,A]),N=(0,x.useMemo)(()=>{if(D===f.settings.root)return`Settings`;let e=_.find(e=>D===e.href||D.startsWith(e.href+`/`));return e?e.id===`billing`?E:e.label:`Settings`},[D,E]);return(0,S.jsx)(v,{backHref:f.assistant,sidebar:(0,S.jsx)(y,{items:j,bottomItems:M,indexPath:f.settings.root}),title:N,children:(0,S.jsx)(r,{})})}export{C as SettingsLayout};
@@ -0,0 +1 @@
1
+ import{t as e}from"./bell-Ct4a9v6Y.js";import{n as t}from"./use-supports-bookmarks-Bi_Q59Vj.js";import{t as n}from"./bug-VUcJFHwN.js";import{t as r}from"./chart-column-BLKW3sjY.js";import{t as i}from"./code-qafFA0_-.js";import{n as a,t as o}from"./sliders-horizontal-slneqAyY.js";import{t as s}from"./key-round-CSc3w5ka.js";import{t as c}from"./mic-DZrWtAAu.js";import{t as l}from"./puzzle-CtM3jM-f.js";import{t as u}from"./shield-check-z7CU-gBq.js";import{t as d}from"./users-DWDkv8ju.js";import{t as f}from"./volume-2-Bj3y3ZBJ.js";import{d as p}from"./routes-Dwx_Ibh9.js";var m=[{id:`assistant-status`,label:`General`,href:p.settings.general,icon:o},{id:`model`,label:`Models & Services`,href:p.settings.ai,icon:a},{id:`integrations`,label:`Integrations`,href:p.settings.integrations,icon:l},{id:`credentials`,label:`Credentials`,href:p.settings.credentials,icon:s},{id:`notifications`,label:`Notifications`,href:p.settings.notifications,icon:e},{id:`voice`,label:`Voice`,href:p.settings.voice,icon:c},{id:`sounds`,label:`Sounds`,href:p.settings.sounds,icon:f},{id:`privacy`,label:`Permissions & Privacy`,href:p.settings.privacy,icon:u},{id:`bookmarks`,label:`Bookmarks`,href:p.settings.bookmarks,icon:t},{id:`billing`,label:`Usage`,href:p.settings.usage,icon:r},{id:`community`,label:`Community`,href:p.settings.community,icon:d},{id:`debug`,label:`Debug`,href:p.settings.debug,icon:n},{id:`developer`,label:`Developer`,href:p.settings.developer,icon:i}],h={developer:`debug`,advanced:`debug`,model:`model`,privacy:`privacy`,security:`assistant-status`,"voice & sounds":`voice`,"voice and sounds":`voice`,devices:`assistant-status`,"self-hosted assistants":`assistant-status`},g={"keyboard-shortcuts":`${p.settings.general}?preferences=open`,"keyboard shortcuts":`${p.settings.general}?preferences=open`,services:p.settings.ai,"text-to-speech":p.settings.ai,"speech-to-text":p.settings.ai,archive:`${p.settings.debug}?tab=archive`,billing:p.settings.usageBilling,"billing & usage":p.settings.usageBilling,usage:`${p.settings.usage}?tab=usage`};function _(e){return e.trim().toLowerCase()}function v(e){let t=_(e),n=g[t];if(n)return n;let r=h[t];if(r){let e=m.find(e=>e.id===r);if(e)return e.href}return m.find(e=>_(e.label)===t||e.id===t)?.href??null}export{v as n,m as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-_35GvHIP.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-D3eaKkac2.js"])))=>i.map(i=>d[i]);
2
+ import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,n as i,t as a}from"./button-Dy5001j6.js";import{t as o}from"./preload-helper-Cv2QeVDK.js";import{t as s}from"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./bug-VUcJFHwN.js";import{t as u}from"./download-CywcQLB2.js";import{t as d}from"./info-CYiVdnQV.js";import{n as f,t as p}from"./paperclip-DVE0scjU.js";import{t as ee}from"./loader-circle-BzJ2kz3F.js";import{t as m}from"./mail-DABv3_Ue.js";import{t as h}from"./message-circle-gk_DFUIg.js";import{t as te}from"./send-DHWUIK7G.js";import{t as g}from"./x-DuBvjmAE.js";import{t as _}from"./notice-DCp7WO3L.js";import{n as ne,t as v}from"./input-C-GkeWCw.js";import{t as y}from"./toggle-D776PTw-.js";import{t as b}from"./dropdown-DswWMJhz.js";import{t as x}from"./is-electron-7N7iyz1y.js";import{n as S}from"./assistant-identity-store-Dnh8WRHU.js";import{n as re}from"./auth-store-BmPTOZ-G.js";import{cn as C}from"./sdk.gen-BySz4QYj.js";import{t as w}from"./dist-D3eaKkac2.js";import{n as T}from"./diagnostics-BaFRoyBk.js";import{I as ie}from"./react-query.gen-BVTEjHsw.js";import"./external-urls-97O9n0lb.js";var E=e(n(),1),ae=e(r(),1),oe=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(oe))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function O(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:S()},overrides:D()}}var k=t({ShareFeedbackModal:()=>B}),A=c(),j=[{value:`bug_report`,label:`Bug Report`,icon:l,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:f,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:h,includesLogsByDefault:!1}],M=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],se=M.map(e=>({value:e.value,label:e.label})),N=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),P=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),F=10,I=50*1024*1024,ce={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function le(){return x()?`electron`:w.getPlatform()===`ios`?`ios`:`web`}function ue(e){if(e.size>I)return!1;if(e.type&&N.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?P.has(t):!1}return!1}function L(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function R(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await C({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function z(){if(!w.isNativePlatform())return null;try{let{App:e}=await o(async()=>{let{App:e}=await import(`./esm-_35GvHIP.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function de(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=M.find(t=>t.value===e),l=s.getTime(),u=c?.cutoffMs==null?null:l-c.cutoffMs,d=u==null?null:new Date(u).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let p=T(f),ee={collected_at:s.toISOString(),time_range:e,cutoff:d,log_window:{start_time_ms:u,end_time_ms:l},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await z(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},m=new TextEncoder,h=m.encode(JSON.stringify(ee,null,2)),te=m.encode(JSON.stringify(p,null,2)),g=[L(`web-client-context.json`,h),L(`web-chat-diagnostics.json`,te)],_=new TextEncoder().encode(JSON.stringify(O(),null,2));g.push(L(`web-debug-flags.json`,_));for(let e of o){let t=e.contents.trim();t&&g.push(L(e.filename,m.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));g.push(L(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));g.push(L(`web-sse-liveness-triage.json`,n))}}catch{}if(x()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));g.push(L(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);g.push(L(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await R(t,{window:{startTime:u,endTime:l},activeConversationId:n});e&&g.push(L(`platform-logs.tar.gz`,e))}g.push(new Uint8Array(1024));let ne=g.reduce((e,t)=>e+t.length,0),v=new Uint8Array(ne),y=0;for(let e of g)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),S=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([S],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function B({open:e,onClose:t,initialReason:n,initialMessage:r,onSubmitted:o,assistantId:c,assistantVersion:l,activeConversationId:f,doctorSessionId:h,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let w=re.use.user(),T=w?.email,oe=w?.isStaff??!1,D=(0,E.useId)(),O=(0,E.useRef)(null),k=(0,E.useRef)(null),M=(0,E.useRef)(null),N=(0,E.useRef)(null),[P,I]=(0,E.useState)(n??`bug_report`),[L,R]=(0,E.useState)(``),[z,B]=(0,E.useState)(``),[V,H]=(0,E.useState)(j.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[me,he]=(0,E.useState)(!1),[U,W]=(0,E.useState)(`past_hour`),[G,K]=(0,E.useState)([]),[ge,q]=(0,E.useState)(null),[_e,J]=(0,E.useState)(!1),[Y,ve]=(0,E.useState)(!1),[X,ye]=(0,E.useState)(!1),Z=s(ie()),[be,Q]=(0,E.useState)(!1),$=Z.isPending||be,xe=!T,Se=(0,E.useMemo)(()=>L.trim().length>0&&z.trim().length>0,[L,z]);(0,E.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;I(t),R(r??``),B(T??``),H(j.find(e=>e.value===t)?.includesLogsByDefault??!0),he(!1),W(`past_hour`),K([]),ve(!1),ye(!1),q(null),Q(!1),Z.reset();let i=setTimeout(()=>{T?M.current?.focus():N.current?.focus()},50);return()=>clearTimeout(i)},[e]),(0,E.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let Ce=e=>{I(e),me||H(j.find(t=>t.value===e)?.includesLogsByDefault??!1)},we=()=>{H(e=>!e),he(!0)},Te=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Ee=(0,E.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),t())},[t,$]),De=(0,E.useCallback)(e=>{e.target===O.current&&!$&&t()},[t,$]),Oe=(0,E.useCallback)(e=>{K(t=>{let n=F-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!ue(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),ke=e=>{e.target.files&&Oe(Array.from(e.target.files)),e.target.value=``},Ae=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&Oe(Array.from(e.dataTransfer.files))},je=e=>{e.preventDefault(),J(!0)},Me=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},Ne=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ae.createPortal)((0,A.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-labelledby":D,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Ee,onClick:De,onDrop:Ae,onDragOver:je,onDragLeave:Me,children:(0,A.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,A.jsx)(`h2`,{id:D,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,A.jsx)(a,{variant:`ghost`,iconOnly:(0,A.jsx)(g,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[oe&&(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,A.jsx)(y,{checked:X,onChange:()=>ye(e=>!e),"aria-label":`Download diagnostics directly`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Admin only — builds the diagnostics archive locally and downloads it instead of submitting feedback or notifying Slack.`})]}),X?(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,A.jsx)(b,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,A.jsxs)(A.Fragment,{children:[xe&&(0,A.jsx)(v,{id:`${D}-email`,ref:N,label:`Email`,type:`email`,placeholder:`you@example.com`,value:z,onChange:e=>B(e.target.value),leftIcon:(0,A.jsx)(m,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,A.jsx)(`div`,{className:`flex gap-2`,children:j.map(e=>(0,A.jsx)(fe,{option:e,isSelected:P===e.value,onSelect:()=>Ce(e.value)},e.value))})]}),(0,A.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),P===`bug_report`&&(0,A.jsxs)(_,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),P===`feature_request`&&(0,A.jsxs)(_,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,A.jsx)(ne,{id:`${D}-message`,ref:M,label:P===`bug_report`?`What went wrong?`:P===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:P===`bug_report`?`What did you expect to happen, and what happened instead?`:P===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:L,onChange:e=>R(e.target.value),fullWidth:!0}),P!==`feature_request`&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(y,{checked:V,onChange:we,"aria-label":`Include browser diagnostics`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,A.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,A.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,A.jsx)(d,{className:`h-3.5 w-3.5`})})})]}),V&&(0,A.jsx)(b,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),x()&&f&&P!==`feature_request`&&(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(y,{checked:Y,onChange:()=>ve(e=>!e),"aria-label":`Include the most recent conversation`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,A.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,F]})]}),(0,A.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,A.jsx)(p,{}),onClick:()=>k.current?.click(),disabled:G.length>=F,children:`Add files`}),(0,A.jsx)(`input`,{ref:k,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:ke,className:`hidden`})]}),G.length>0&&(0,A.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,A.jsx)(pe,{file:e,onRemove:()=>Ne(t)},`${e.name}-${t}`))}),_e&&(0,A.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),ge&&(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:ge})]}),(0,A.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,A.jsx)(ee,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,A.jsx)(a,{variant:`primary`,leftIcon:(0,A.jsx)(u,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await de(U,c??null,x()?Y?f??null:null:f??null,{diagnosticsProvider:C,doctorSessionId:h,extraLogFiles:Te});if(!e){q(`Diagnostics export isn't supported in this browser.`);return}let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0),t()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:`Download diagnostics`}):(0,A.jsx)(a,{variant:`primary`,leftIcon:(0,A.jsx)(te,{}),onClick:async()=>{if(!(!Se||$)){q(null),Q(!0);try{let e=V&&P!==`feature_request`?await de(U,c??null,x()?Y?f??null:null:f??null,{diagnosticsProvider:C,doctorSessionId:h,extraLogFiles:Te}):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:L.trim(),classification:ce[P],email:z.trim(),client:le(),client_version:void 0,...c?{assistant_id:c}:{},...l?{assistant_version:l}:{},...h?{doctor_session_id:h}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),o?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Se,children:`Submit`})]})})]})}),document.body):null}function fe({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,A.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,A.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,A.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function pe({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,E.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,E.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,A.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,A.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,A.jsx)(p,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,A.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,A.jsx)(g,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{k as n,B as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{l as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-DEI9Ra9z.js";import{t as c}from"./arrow-left-C2ylPLHq.js";import{t as l}from"./chevron-right-HU6H84S0.js";import{n as u,t as d}from"./runtime-upgrade-banner-BM2b81eK.js";import{o as f}from"./src-CnF7WXNj.js";import{t as p}from"./is-electron-D-TCQRcE.js";import{d as m}from"./routes-CsoiCk2y.js";import{n as h}from"./use-is-mobile-Cx2xnNUx.js";import{t as g}from"./use-edge-swipe-back-Rp4TEihl.js";import{t as _}from"./link-click-BIvzZsRn.js";var v=e(t(),1),y=o();function b({sidebar:e,children:t,actions:o,backHref:l,title:f=`Settings`,menuRoute:_=m.settings.root}){let{pathname:b}=r(),x=a(),S=b===_,C=h(),w=(0,v.useRef)(null),T=(0,v.useRef)(null);(0,v.useLayoutEffect)(()=>{T.current?.scrollTo(0,0)},[b]);let E=S?l:_;g({containerRef:w,onBack:(0,v.useCallback)(()=>{x(E)},[x,E]),enabled:C,navKey:b});let D=p(),O=S?`Back from ${f}`:`Back to ${f} menu`,k=(0,y.jsx)(n,{variant:`ghost`,iconOnly:(0,y.jsx)(c,{}),"aria-label":O,tintColor:`var(--content-secondary)`,onClick:()=>x(E)}),A=(0,y.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${f}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,y.jsx)(i,{to:l,className:`flex items-center justify-center no-underline`,children:(0,y.jsx)(c,{size:16,"aria-hidden":`true`})})});return(0,y.jsxs)(`div`,{ref:w,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:D?`3.75rem`:`1rem`},children:[(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[k,(0,y.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:f}),(0,y.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),D?(0,y.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,y.jsx)(u,{placement:`electron`,className:`px-0 pt-0`}),(0,y.jsx)(d,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,y.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[A,(0,y.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:f})]}),(0,y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,y.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,y.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${f} navigation`,children:e}),S?(0,y.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6 md:hidden`,children:e}):null,(0,y.jsx)(`main`,{ref:T,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:flex md:px-6 md:pt-0 ${S?`hidden`:`flex`}`,children:t})]})]})]})}function x({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=r(),o=a(),s=h(),c=(e,t,r)=>{let{href:a,onSelect:c}=e,u=a!=null&&(i===a||i.startsWith(a+`/`)||!s&&r&&n!=null&&i===n);return(0,y.jsxs)(v.Fragment,{children:[(0,y.jsx)(f.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:a==null?void 0:l,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:c,onClick:a==null?void 0:e=>{_(e)||(e.preventDefault(),o(a))}}),!t&&(0,y.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,y.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>c(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{className:`flex-1`}),(0,y.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>c(e,n===t.length-1,!1))]})]})}export{b as n,x 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,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-DEI9Ra9z.js";import{t as c}from"./arrow-left-C2ylPLHq.js";import{t as l}from"./chevron-right-HU6H84S0.js";import{n as u,t as d}from"./runtime-upgrade-banner-D9Bcs_Ef.js";import{o as f}from"./src-BAS7a2RG.js";import{t as p}from"./is-electron-7N7iyz1y.js";import{d as m}from"./routes-Dwx_Ibh9.js";import{n as h}from"./use-is-mobile-Cx2xnNUx.js";import{t as g}from"./use-edge-swipe-back-BFDM1VVs.js";import{t as _}from"./link-click-BEiniqcG.js";var v=e(t(),1),y=o();function b({sidebar:e,children:t,actions:o,backHref:l,title:f=`Settings`,menuRoute:_=m.settings.root}){let{pathname:b}=r(),x=a(),S=b===_,C=h(),w=(0,v.useRef)(null),T=(0,v.useRef)(null);(0,v.useLayoutEffect)(()=>{T.current?.scrollTo(0,0)},[b]);let E=S?l:_;g({containerRef:w,onBack:(0,v.useCallback)(()=>{x(E)},[x,E]),enabled:C,navKey:b});let D=p(),O=S?`Back from ${f}`:`Back to ${f} menu`,k=(0,y.jsx)(n,{variant:`ghost`,iconOnly:(0,y.jsx)(c,{}),"aria-label":O,tintColor:`var(--content-secondary)`,onClick:()=>x(E)}),A=(0,y.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${f}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,y.jsx)(i,{to:l,className:`flex items-center justify-center no-underline`,children:(0,y.jsx)(c,{size:16,"aria-hidden":`true`})})});return(0,y.jsxs)(`div`,{ref:w,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:D?`3.75rem`:`1rem`},children:[(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[k,(0,y.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:f}),(0,y.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),D?(0,y.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,y.jsx)(u,{placement:`electron`,className:`px-0 pt-0`}),(0,y.jsx)(d,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,y.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[A,(0,y.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:f})]}),(0,y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,y.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,y.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${f} navigation`,children:e}),S?(0,y.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6 md:hidden`,children:e}):null,(0,y.jsx)(`main`,{ref:T,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:flex md:px-6 md:pt-0 ${S?`hidden`:`flex`}`,children:t})]})]})]})}function x({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=r(),o=a(),s=h(),c=(e,t,r)=>{let{href:a,onSelect:c}=e,u=a!=null&&(i===a||i.startsWith(a+`/`)||!s&&r&&n!=null&&i===n);return(0,y.jsxs)(v.Fragment,{children:[(0,y.jsx)(f.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:a==null?void 0:l,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:c,onClick:a==null?void 0:e=>{_(e)||(e.preventDefault(),o(a))}}),!t&&(0,y.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,y.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>c(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{className:`flex-1`}),(0,y.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>c(e,n===t.length-1,!1))]})]})}export{b as n,x as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{f as r}from"./native-biometric-DUHF57O_.js";import{n as i,r as a}from"./login-flow-BVUkpWP_.js";import{t as o}from"./proxy-lxbolTGx.js";import{t as s}from"./AnimatePresence-xdH2KLtr.js";import{t as c}from"./apple-logo-C3XrRC_i.js";import{n as l,t as u}from"./use-return-to-short-circuit-DEKlWitV.js";import{t as d}from"./signup-shell-DxP2zqed.js";var f=e(t(),1),p=n();function m({words:e}){let[t,n]=(0,f.useState)(0),r=(0,f.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,f.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,p.jsxs)(`span`,{className:`signup__rotating`,children:[(0,p.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,p.jsx)(s,{mode:`wait`,children:(0,p.jsxs)(o.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var h=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`];function g({returnTo:e}){let[t,n]=(0,f.useState)(null),o=a(e,{authIntent:`signup`});return(0,p.jsxs)(d,{children:[(0,p.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,p.jsx)(`br`,{}),(0,p.jsx)(m,{words:h})]}),(0,p.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,p.jsx)(`div`,{className:`signup__buttons`,children:(0,p.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{n(null),r(i,o,{returnTo:e,intent:`signup`}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Continue`})}),t&&(0,p.jsx)(`p`,{className:`signup__error`,children:t}),(0,p.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,p.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{n(null),r(i,a(e),{returnTo:e}).catch(e=>{console.error(`[signup] sign-in flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Sign in`})]}),(0,p.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,p.jsx)(c,{size:16}),`Download for macOS`]})]})}function _(){let e=u();return e.kind===`wait`?(0,p.jsx)(d,{children:(0,p.jsx)(l,{})}):e.kind===`redirect`?e.node:(0,p.jsx)(g,{returnTo:e.returnTo})}export{_ as SignupPage};
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{f as r}from"./native-biometric-K90ZnTI1.js";import{n as i,r as a}from"./login-flow-Do5dozES.js";import{t as o}from"./proxy-CNtrhN4q.js";import{t as s}from"./AnimatePresence-D23js3-M.js";import{t as c}from"./apple-logo-Cg-KnqW2.js";import{n as l,t as u}from"./use-return-to-short-circuit-DzOB5Gx7.js";import{t as d}from"./signup-shell-CMXUBUal.js";var f=e(t(),1),p=n();function m({words:e}){let[t,n]=(0,f.useState)(0),r=(0,f.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,f.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,p.jsxs)(`span`,{className:`signup__rotating`,children:[(0,p.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,p.jsx)(s,{mode:`wait`,children:(0,p.jsxs)(o.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var h=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`];function g({returnTo:e}){let[t,n]=(0,f.useState)(null),o=a(e,{authIntent:`signup`});return(0,p.jsxs)(d,{children:[(0,p.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,p.jsx)(`br`,{}),(0,p.jsx)(m,{words:h})]}),(0,p.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,p.jsx)(`div`,{className:`signup__buttons`,children:(0,p.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{n(null),r(i,o,{returnTo:e,intent:`signup`}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Continue`})}),t&&(0,p.jsx)(`p`,{className:`signup__error`,children:t}),(0,p.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,p.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{n(null),r(i,a(e),{returnTo:e}).catch(e=>{console.error(`[signup] sign-in flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Sign in`})]}),(0,p.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,p.jsx)(c,{size:16}),`Download for macOS`]})]})}function _(){let e=u();return e.kind===`wait`?(0,p.jsx)(d,{children:(0,p.jsx)(l,{})}):e.kind===`redirect`?e.node:(0,p.jsx)(g,{returnTo:e.returnTo})}export{_ as SignupPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./proxy-lxbolTGx.js";import{t as n}from"./public-asset-BoN50HP_.js";var r=e();function i({children:e}){return(0,r.jsxs)(t.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:n(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:e})]}),(0,r.jsx)(t.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:n(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./proxy-CNtrhN4q.js";import{t as n}from"./public-asset-CD3ouSWU.js";var r=e();function i({children:e}){return(0,r.jsxs)(t.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:n(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:e})]}),(0,r.jsx)(t.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:n(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{_t as a,gt as o,ht as s,m as c,p as l,vt as u}from"./risk-bSvepr91.js";import{t as d}from"./brain-BIzJCPA6.js";import{t as f}from"./check-sC49_hjU.js";import{t as p}from"./circle-check-CjGnAahM.js";import{t as m}from"./code-qafFA0_-.js";import{t as h}from"./file-text-BCsUYVEF.js";import{t as g}from"./globe-BDvXuPkw.js";import{t as _}from"./monitor-B5vtTCxm.js";import{t as ee}from"./sparkles-DC8kqYjt.js";import{t as te}from"./user-plus-CXMJ1x_5.js";import"./src-BAS7a2RG.js";import{t as v}from"./popover-BFL-uOLh.js";import{D as y,O as ne}from"./chat-BIJEFb5u.js";import{t as b}from"./misc-CAQM4FGM.js";import{t as re}from"./proxy-CNtrhN4q.js";import{t as ie}from"./AnimatePresence-D23js3-M.js";import{t as x}from"./use-reduced-motion-bjjt6x6d.js";import{t as S}from"./three-dot-indicator-CfjkCgEH.js";var C=e(t(),1),w=r();function T(e){let t=e.trimStart();if(!t.startsWith(`**`))return e;let n=t.indexOf(`**`,2);if(n===-1)return t.slice(2).trimStart();let r=t.slice(2,n).trim();return r.length>0?r:e}var ae=/^https?:\/\/\S+/,oe=/^URL:\s*(https?:\/\/\S+)/i,se=/^\[\d+\]\s*(https?:\/\/\S+)/;function E(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function ce(e){let t=e.trim();return oe.exec(t)?.[1]??se.exec(t)?.[1]??t}function le(e){return e.trim().replace(/^\d+\.\s+/,``)}function ue(e){let t=e.split(/\r?\n/),n=[],r=new Set,i=``;for(let e of t){let t=e.trim();if(!t){i=``;continue}let a=ce(t);if(ae.test(a)){r.has(a)||(r.add(a),n.push({title:i,url:a})),i=``;continue}/^Web search results for /i.test(t)||/^Sources:?$/i.test(t)||(i=le(t))}return n}function D(e){return!e||!e.trim()?[]:ue(e).map((e,t)=>{let n=E(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var de=5,fe=new Set([`web_search`,`web_fetch`]);function O(e){if(!Number.isFinite(e)||e<1e3)return`<1s`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`}function k(e){return fe.has(e.name)}function A(e){return e?`Searched the web`:`Searching the web`}function j(e){return{visible:e.slice(0,de),overflowResults:e.slice(de)}}function pe(e,t){let{visible:n,overflowResults:r}=j(e.results);return{kind:`web_search`,title:A(t),durationLabel:O(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:O(e.durationMs),text:`Reading ${t}`}}function he(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function ge(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function _e(e){let t=D(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=j(t);return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function ve(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:O(e.durationMs),errorMessage:e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`}}function M(){return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:0,results:[]}}function N(e,t){return t[e.id]??e.activityMetadata}function P(e){return!y(e)}function F(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function I(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function L(e,t){return e==null||t==null?null:Math.max(0,t-e)}function R(e,t){let n=L(e,t);return n==null?``:O(n)}function z(e){return R(e.startedAt??void 0,e.completedAt??void 0)}function ye(e){return!l(e)&&y(e)}function be(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:L(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:L(r,n.completedAt)}function xe(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:ye(e.toolCall))}function Se(e,t){let n=0,r=!1;for(let i of e){let e=be(i,t);e!=null&&(r=!0,n+=e)}return r?O(n):``}function Ce(e){let{title:t,activity:n}=c(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:I(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:z(e)}}function we(e){let{title:t,info:n,activity:r,iconName:i}=c(e);return{kind:`tool`,durationLabel:z(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:I(e)}}function Te(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(k(r)){let e=N(r,t),n=P(r);if(e?.webSearch&&F(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return A(n);if(r.name===`web_fetch`)return`Thinking`}else return c(r).title}return``}function Ee(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!k(r)){let{info:e,activity:t}=c(r);return t||e}let i=N(r,t),a=P(r);if(i?.webSearch){let e=i.webSearch;if(F(e,r))return e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`;if(e.results.length>0)return e.results[e.results.length-1].title;if(!a&&e.query)return`Searching ${e.query}`}if(i?.webFetch){let e=i.webFetch;return a?e.title??e.domain:`Reading ${e.domain}`}if(r.name===`web_search`){if(!a){let e=typeof r.input?.query==`string`?r.input.query.trim():``;return e?`Searching ${e}`:``}if(typeof r.result==`string`){let e=D(r.result);if(e.length>0){let t=e[e.length-1].title;if(t)return t}}}if(r.name===`web_fetch`){let e=typeof r.input?.url==`string`?r.input.url:``,t=e?E(e):``;if(t)return a?t:`Reading ${t}`}}return``}function De(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=N(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Oe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function ke(e){return Oe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function Ae(e,t){if(l(e))return null;if(!k(e))return we(e);let n=N(e,t),r=P(e);if(n?.webSearch){let t=n.webSearch;return F(t,e)?ve(t):pe(t,r)}return n?.webFetch?me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?_e(e.result)??M():M():e.name===`web_search`?he():ge()}function je(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:R(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ae(n.toolCall,t);e&&(i.push(e),a=null)}let s=ke(r),c,u,d;a===null?(c=Te(r,t),u=Ee(r,t),d=`tool`):(c=`Thinking`,u=T(a),d=`thinking`);let f=De(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Se(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var Me=.44;function Ne(e,t){let n=[...e].sort((e,t)=>e.position-t.position),r=n[0]?.color??`white`,i=n[n.length-1]?.color??`white`,a=n.map(e=>{let t=(e.position-.5)*2*Me;return`${e.color} calc(50% + var(--gs-spread-mid) * ${t.toFixed(4)})`}).join(`, `);return[`linear-gradient(${t}deg`,`var(--gs-base) calc(50% - var(--gs-spread))`,`color-mix(in oklab, var(--gs-base) 42%, ${r}) calc(50% - var(--gs-spread-mid))`,a,`color-mix(in oklab, var(--gs-base) 42%, ${i}) calc(50% + var(--gs-spread-mid))`,`var(--gs-base) calc(50% + var(--gs-spread)))`].join(`, `)}function Pe(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var Fe=`var(--avatar-accent, var(--content-emphasised))`,Ie=`color-mix(in srgb, currentColor 45%, transparent)`,Le=1500,Re=106,B=6,V=48,H=.72,U=14,ze=96;function Be(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function W({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??Fe,s=(0,C.useMemo)(()=>Ne(Pe(o),Re),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!Be()){t.style.removeProperty(`background-image`),t.style.removeProperty(`background-color`),t.style.removeProperty(`-webkit-text-fill-color`);return}if(a||typeof t.animate!=`function`)return;let n=null,r=()=>{let r=t.getBoundingClientRect().width||ze,i=(Number.parseFloat(getComputedStyle(t).fontSize)||U)/U,a=Math.min(e.length*B*i,V*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*H}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:Le,easing:`linear`,iterations:1/0}),n.startTime=0};r();let o=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);return o?.observe(t),()=>{o?.disconnect(),n?.cancel()}},[e,a]);let c=Math.min(e.length*B,V);return(0,w.jsx)(`span`,{ref:i,className:n,style:{position:`relative`,display:`inline-block`,backgroundImage:s,backgroundRepeat:`repeat-x`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":Ie,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*H}px`},"data-testid":r,children:e})}var Ve=400;function He(e,t,n){let[r,i]=(0,C.useState)(e),a=(0,C.useRef)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(null);return(0,C.useEffect)(()=>{if(Object.is(r,e)){o.current=null;return}if(n){s.current&&=(clearTimeout(s.current),null),o.current=null,i(e),a.current=Date.now();return}o.current=e;let c=Date.now();a.current===null&&(a.current=c);let l=c-a.current,u=Math.max(0,t-l);return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{o.current!==null&&(i(o.current),a.current=Date.now(),o.current=null),s.current=null},u),()=>{s.current&&=(clearTimeout(s.current),null)}},[e,r,t,n]),r}function Ue({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=He((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),Ve,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,w.jsx)(ie,{initial:!1,mode:`popLayout`,children:(0,w.jsxs)(re.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,w.jsx)(`span`,{className:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):null,g?(0,w.jsxs)(w.Fragment,{children:[_?(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,w.jsx)(`span`,{className:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(i,{variant:_?`body-small-default`:`body-medium-default`,className:`ml-1 block min-w-0 flex-1 truncate text-left leading-[16px] ${_?`text-[var(--content-tertiary)]`:`text-[var(--content-emphasised)]`}`,children:a&&!_&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var G={code:m,terminal:s,file:h,globe:g,pen:a,monitor:_,plug:o,sparkle:ee,"user-plus":te,bolt:u,brain:d};function We(e){if(e.kind===`thinking`)return`Thinking`;if(e.kind===`web_search`||e.kind===`web_search_error`)return`Searching the web`;if(e.kind===`tool_error`)return`Error`;let t=e.title;return t.startsWith(`Working`)?t:t===`Reading`||t===`Editing`||t.startsWith(`Running`)?`Working`:t===`Using a skill`?`Using a skill`:(t.startsWith(`Using `),t)}function Ge(e){if(!e||e===`<1s`)return 0;let t=/^(\d+)(s|m|h)$/.exec(e);if(!t)return 0;let n=Number(t[1]);switch(t[2]){case`h`:return n*36e5;case`m`:return n*6e4;default:return n*1e3}}function Ke(e){let t=null;for(let n of e)(n.kind===`tool`||n.kind===`thinking`)&&n.startedAt!=null&&(t=t==null?n.startedAt:Math.min(t,n.startedAt));return t}function qe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function Je({durationLabel:e,startedAt:t}){let r=(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,w.jsx)(n,{content:`Started at ${qe(t)}`,side:`top`,align:`end`,children:(0,w.jsx)(`span`,{className:`cursor-default`,children:r})})}function K(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?O(t):``}function q(e){if(e.length===0)return`running`;for(let t of e){if(t.kind===`tool`){if(t.status===`running`)return`running`;continue}if(t.kind===`web_search`&&t.title===`Searching the web`)return`running`}return`completed`}function J(e){let t=[];for(let n of e){let e=We(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function Ye({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=J(e),i=[],a=0;for(let e of r)i.push(a),a+=e.steps.length;let o=(e,n)=>e.steps.map((e,r)=>{let i=et(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(nt,{step:e})},i)});return n?(0,w.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,w.jsx)(Xe,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,w.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=q(e.steps),a=i[t];return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,w.jsx)(tt,{label:e.label,durationLabel:n,status:r}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function Xe({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=q(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,w.jsx)(Ze,{}),(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(Qe,{status:o,isThinking:s}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,w.jsx)(Je,{durationLabel:a,startedAt:Ke(e.steps)}):null]}),(0,w.jsx)(`div`,{className:b(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function Ze({className:e}){return(0,w.jsx)(`div`,{"aria-hidden":!0,className:b(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function Qe({status:e,isThinking:t}){return t?(0,w.jsx)(d,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`thinking`,className:`h-[14px] w-[14px] shrink-0 text-[var(--content-secondary)]`}):(0,w.jsx)($e,{status:e,testId:`phase-header-status-icon`})}function $e({status:e,testId:t}){return e===`completed`?(0,w.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":t,className:`shrink-0`})}function et(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function tt({label:e,durationLabel:t,status:n}){return(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,w.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function Y(e){switch(e.kind){case`thinking`:return!0;case`tool`:return e.info.length>0;case`tool_error`:case`web_search_error`:case`web_search`:return!0}}function nt({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:T(e.text)})});if(e.kind===`tool`){let t=G[e.iconName]??u;return Y(e)?(0,w.jsxs)(Z,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.errorMessage})}):(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.title})})}function X({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,w.jsx)(`div`,{"data-testid":`phase-step-pill`,className:`inline-flex min-w-0 max-w-full items-center gap-1 self-start rounded-full border border-[var(--border-element)] bg-transparent px-2 py-1 text-[var(--content-default)]`,children:e})}var Q=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,rt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,it=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function at({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,C.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,children:a?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ot({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,w.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${rt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${it}`,children:[(0,w.jsx)(at,{faviconUrl:n,domain:r,label:e}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function $(e){if(e.variant===`web`)return(0,w.jsx)(ot,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:o}=e,s=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:it,c=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(G[t]??u,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,w.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":a?``:void 0,"aria-pressed":a,"aria-label":o??`View details: ${n}`,onClick:r,className:`${Q} ${rt} max-w-full hover:bg-[var(--surface-active)] ${s}`,children:c}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${s}`,children:c})}function st(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function ct({item:e}){let[t,n]=(0,C.useState)(!1),r=!!e.faviconUrl&&!t;return(0,w.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-[var(--radius-md)] px-2 py-1.5 hover:bg-[var(--surface-hover)]`,children:[(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-[14px] w-[14px] shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)] bg-[var(--surface-overlay)]`,children:r?(0,w.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:st(e)})}),(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function lt({results:e}){return(0,w.jsxs)(v.Root,{children:[(0,w.jsx)(v.Trigger,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,"data-testid":`web-search-overflow-chip`,className:`inline-flex min-h-[26px] cursor-pointer items-center rounded-[var(--radius-pill)] bg-[var(--surface-base)] px-[10px] py-[6px] outline-none hover:bg-[var(--surface-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,w.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,w.jsx)(v.Content,{align:`start`,side:`bottom`,className:`flex max-h-[260px] w-[280px] flex-col gap-0.5 overflow-y-auto`,children:e.map(e=>(0,w.jsx)(ct,{item:e},e.rank))})]})}function ut({message:e}){return(0,w.jsx)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--border-element)] bg-transparent px-[10px] py-[6px]`,children:(0,w.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function dt({step:e}){let t=e.overflowResults??[];return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,w.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(lt,{results:t}):null]})}function ft({step:e}){return(0,w.jsx)(ut,{message:e.errorMessage})}function pt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:b(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{D as C,E as S,fe as _,nt as a,xe as b,Ze as c,q as d,et as f,W as g,Ue as h,$ as i,Qe as l,K as m,ft as n,G as o,Y as p,dt as r,Ye as s,pt as t,J as u,je as v,T as w,Ce as x,O as y};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dj49ma74.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,t as i}from"./button-Dy5001j6.js";import{f as a,l as o,n as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-DRIctGVs.js";import{t as p}from"./createLucideIcon-CAM1RhH8.js";import{t as m}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as h}from"./arrow-left-C2ylPLHq.js";import{a as g,n as _,o as v,r as y,t as b}from"./use-skill-actions-DTznrJR1.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./menu-BKrcAFYk.js";import{t as C}from"./code-qafFA0_-.js";import{t as w}from"./external-link-CS0aVYGt.js";import{t as T}from"./eye-BMVGQXHT.js";import{t as E}from"./file-text-Br730Q4B.js";import{t as D}from"./folder-DF8nFp7N.js";import{t as O}from"./loader-circle-XREx3i4W.js";import{t as k}from"./trash-2-BF5y4UkY.js";import{t as A}from"./triangle-alert-Dq3v0coH.js";import{M as j}from"./src-CnF7WXNj.js";import{n as M,t as N}from"./file-markdown-B0zje_y3.js";import{St as P,bt as F,sn as I}from"./react-query.gen-BeiAUt-2.js";import{d as L}from"./routes-CsoiCk2y.js";import{n as R}from"./use-is-mobile-Cx2xnNUx.js";import{t as z}from"./open-workspace-file-AUDky4i4.js";import{t as ee}from"./use-active-assistant-id-CUKao_nq.js";import{n as B,t as V}from"./use-skill-detail-files-CKgT7qkY.js";import{n as H,r as te,t as ne}from"./skills-DT9YkYm6.js";import{t as U}from"./use-edge-swipe-back-Rp4TEihl.js";import{i as W,n as G,r as K,t as q}from"./file-editor-plAxQBKk.js";var J=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Y=e(n(),1),X=d();function re({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=y(t),u=H(t),{fileEntries:d,setSelectedPath:p,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:C,isContentLoading:w}=V(e,t.id);return(0,X.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,X.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,X.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,X.jsx)(v,{skill:t,className:`h-8 w-8 text-3xl`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,X.jsx)(B,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,X.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,X.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,X.jsx)(m,{"aria-hidden":!0}),children:`Install`}):(0,X.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(k,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,X.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:x?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=_===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:w?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(ie,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:S,isBinary:C,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function ie({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let u=l(),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),h=`skills/${n}/${a}`,g=I({onSuccess:()=>{f(!1),m(``),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),a===`SKILL.md`&&ne(u,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),_=d&&p!==(o??``),v=(0,Y.useCallback)(()=>{!_||g.isPending||g.mutate({path:{assistant_id:e},body:{path:h,content:p,encoding:`utf8`}})},[_,g,e,h,p]),y=(0,Y.useCallback)(()=>{f(!0),m(o??``),g.reset()},[o,g]),b=(0,Y.useCallback)(()=>{f(!1),m(``),g.reset()},[g]);if(s)return(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(o===null)return(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let x=c?(0,X.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,X.jsx)(w,{"aria-hidden":!0}),onClick:()=>void z(h),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return M(r,void 0)&&!d?(0,X.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,X.jsx)(q,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:y,extraActions:x}),(0,X.jsx)(N,{content:o})]})}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,X.jsx)(q,{content:d?p:o,fileName:r,showEdit:c,isEditing:d,onToggleEdit:()=>d?b():y(),extraActions:x}),d?(0,X.jsx)(K,{value:p,onChange:m,onSave:v}):(0,X.jsx)(W,{content:o,readOnly:!c,onStartEdit:y})]}),d&&(0,X.jsx)(G,{isDirty:_,isSaving:g.isPending,error:g.isError?`Save failed`:null,onSave:v,onDiscard:b})]})}var ae=e(r(),1);function oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):M(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(N,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function se({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=y(t),d=H(t),{fileEntries:p,setSelectedPath:m,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:w,isContentLoading:E}=V(e,t.id),[D,k]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{k(`preview`)},[_]);let[A,N]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{N(document.getElementById(`viewport-overlays`))},[]);let P=b?M(b.name,void 0):!1,F=P?D:`raw`,I=(0,X.jsxs)(`div`,{ref:c,className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(ce,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(v,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,X.jsx)(B,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(le,{fileEntries:p,activePath:_,activeName:b?.name??null,onSelect:m}),(0,X.jsx)(j,{iconOnly:!0,ariaLabel:`File view mode`,value:F,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(T,{"aria-hidden":!0}),disabled:!P},{value:`raw`,label:`Source`,icon:(0,X.jsx)(C,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:x||E?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(oe,{fileName:b.name,content:S,isBinary:w,viewMode:F}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ae.createPortal)(I,A):I}function ce({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Z(e){return(e??``).endsWith(`/directory`)}function le({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(S.Root,{children:[(0,X.jsx)(S.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=Z(e.mimeType);return(0,X.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(D,{}):(0,X.jsx)(E,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Q(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function ue(){return(0,X.jsx)(_,{icon:A,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function $(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function de(){let e=ee(),{skillId:t}=a(),n=c(),r=o(),{pathname:l}=r,d=R(),f=(0,Y.useRef)(null),p=r.state,m=typeof p?.listSearch==`string`?p.listSearch:``,g=u({...P({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),v=(0,Y.useCallback)(()=>{n(`${L.superpowers}${m}`,{replace:!0})},[n,m]);U({containerRef:f,onBack:v,enabled:d,navKey:l});let{handleInstall:y,handleRemove:x,isInstallingSkill:S,isRemovingSkill:C,skillPendingRemoval:w,confirmRemove:T,cancelRemove:E}=b(e,{onRemoved:v}),D=g.data,O=(0,Y.useMemo)(()=>D?.find(e=>e.id===t)??null,[D,t]),k=u({...F({path:{assistant_id:e,id:t??``}}),enabled:!!t&&O?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,X.jsx)(s,{to:L.superpowers,replace:!0});if(g.isLoading)return(0,X.jsx)($,{});if(g.isError&&!O)return(0,X.jsx)(ue,{});if(!O&&g.isFetching)return(0,X.jsx)($,{});if(!O)return(0,X.jsx)(_,{icon:J,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,X.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,X.jsx)(h,{"aria-hidden":!0}),onClick:v,children:`Back to My Superpowers`})});let A={assistantId:e,skill:O,onBack:v,onInstall:()=>y(O),onRemove:()=>x(O),isInstalling:S(O),isRemoving:C(O),sourceConversationId:k.data??void 0};return(0,X.jsxs)(X.Fragment,{children:[d?(0,X.jsx)(se,{...A,swipeContainerRef:f}):(0,X.jsx)(re,{...A}),(0,X.jsx)(te,{skillName:w?.name??null,onConfirm:T,onCancel:E})]})}export{de as SkillDetailPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-FWzaVb8P.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,t as i}from"./button-Dy5001j6.js";import{f as a,l as o,n as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-DRIctGVs.js";import{t as p}from"./createLucideIcon-CAM1RhH8.js";import{t as m}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as h}from"./arrow-left-C2ylPLHq.js";import{a as g,n as _,o as v,r as y,t as b}from"./use-skill-actions-DIxtgAti.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./menu-CKZtG-s_.js";import{t as C}from"./code-qafFA0_-.js";import{t as w}from"./external-link-CAce-RVu.js";import{t as T}from"./eye-DTyDWiqu.js";import{t as E}from"./file-text-BCsUYVEF.js";import{t as D}from"./folder-g06qTW2O.js";import{t as O}from"./loader-circle-BzJ2kz3F.js";import{t as k}from"./trash-2-De6X8YiM.js";import{t as A}from"./triangle-alert--e3n47gm.js";import{M as j}from"./src-BAS7a2RG.js";import{n as M,t as N}from"./file-markdown-DBLxtb0M.js";import{d as P}from"./routes-Dwx_Ibh9.js";import{St as F,un as I,wt as L}from"./react-query.gen-Cnk5tcFs.js";import{n as ee}from"./use-is-mobile-Cx2xnNUx.js";import{t as te}from"./open-workspace-file-DgzI3T0Z.js";import{t as R}from"./use-active-assistant-id-AtGy8p_R.js";import{n as z,t as B}from"./use-skill-detail-files-6L4PE9fy.js";import{n as V,r as ne,t as H}from"./skills-IombDITK.js";import{t as U}from"./use-edge-swipe-back-BFDM1VVs.js";import{i as W,n as G,r as K,t as q}from"./file-editor-DcH2Os5o.js";var J=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Y=e(n(),1),X=d();function re({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=y(t),u=V(t),{fileEntries:d,setSelectedPath:p,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:C,isContentLoading:w}=B(e,t.id);return(0,X.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,X.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,X.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,X.jsx)(v,{skill:t,className:`h-8 w-8 text-3xl`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,X.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,X.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,X.jsx)(m,{"aria-hidden":!0}),children:`Install`}):(0,X.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(k,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,X.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:x?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=_===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:w?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(ie,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:S,isBinary:C,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function ie({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let u=l(),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),h=`skills/${n}/${a}`,g=I({onSuccess:()=>{f(!1),m(``),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),a===`SKILL.md`&&H(u,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),_=d&&p!==(o??``),v=(0,Y.useCallback)(()=>{!_||g.isPending||g.mutate({path:{assistant_id:e},body:{path:h,content:p,encoding:`utf8`}})},[_,g,e,h,p]),y=(0,Y.useCallback)(()=>{f(!0),m(o??``),g.reset()},[o,g]),b=(0,Y.useCallback)(()=>{f(!1),m(``),g.reset()},[g]);if(s)return(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(o===null)return(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let x=c?(0,X.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,X.jsx)(w,{"aria-hidden":!0}),onClick:()=>void te(h),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return M(r,void 0)&&!d?(0,X.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,X.jsx)(q,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:y,extraActions:x}),(0,X.jsx)(N,{content:o})]})}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,X.jsx)(q,{content:d?p:o,fileName:r,showEdit:c,isEditing:d,onToggleEdit:()=>d?b():y(),extraActions:x}),d?(0,X.jsx)(K,{value:p,onChange:m,onSave:v}):(0,X.jsx)(W,{content:o,readOnly:!c,onStartEdit:y})]}),d&&(0,X.jsx)(G,{isDirty:_,isSaving:g.isPending,error:g.isError?`Save failed`:null,onSave:v,onDiscard:b})]})}var ae=e(r(),1);function oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):M(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(N,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function se({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=y(t),d=V(t),{fileEntries:p,setSelectedPath:m,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:w,isContentLoading:E}=B(e,t.id),[D,k]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{k(`preview`)},[_]);let[A,N]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{N(document.getElementById(`viewport-overlays`))},[]);let P=b?M(b.name,void 0):!1,F=P?D:`raw`,I=(0,X.jsxs)(`div`,{ref:c,className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(ce,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(v,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(Z,{fileEntries:p,activePath:_,activeName:b?.name??null,onSelect:m}),(0,X.jsx)(j,{iconOnly:!0,ariaLabel:`File view mode`,value:F,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(T,{"aria-hidden":!0}),disabled:!P},{value:`raw`,label:`Source`,icon:(0,X.jsx)(C,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:x||E?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(oe,{fileName:b.name,content:S,isBinary:w,viewMode:F}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ae.createPortal)(I,A):I}function ce({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function le(e){return(e??``).endsWith(`/directory`)}function Z({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(S.Root,{children:[(0,X.jsx)(S.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=le(e.mimeType);return(0,X.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(D,{}):(0,X.jsx)(E,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Q(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function ue(){return(0,X.jsx)(_,{icon:A,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function $(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function de(){let e=R(),{skillId:t}=a(),n=c(),r=o(),{pathname:l}=r,d=ee(),f=(0,Y.useRef)(null),p=r.state,m=typeof p?.listSearch==`string`?p.listSearch:``,g=u({...L({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),v=(0,Y.useCallback)(()=>{n(`${P.superpowers}${m}`,{replace:!0})},[n,m]);U({containerRef:f,onBack:v,enabled:d,navKey:l});let{handleInstall:y,handleRemove:x,isInstallingSkill:S,isRemovingSkill:C,skillPendingRemoval:w,confirmRemove:T,cancelRemove:E}=b(e,{onRemoved:v}),D=g.data,O=(0,Y.useMemo)(()=>D?.find(e=>e.id===t)??null,[D,t]),k=u({...F({path:{assistant_id:e,id:t??``}}),enabled:!!t&&O?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,X.jsx)(s,{to:P.superpowers,replace:!0});if(g.isLoading)return(0,X.jsx)($,{});if(g.isError&&!O)return(0,X.jsx)(ue,{});if(!O&&g.isFetching)return(0,X.jsx)($,{});if(!O)return(0,X.jsx)(_,{icon:J,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,X.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,X.jsx)(h,{"aria-hidden":!0}),onClick:v,children:`Back to My Superpowers`})});let A={assistantId:e,skill:O,onBack:v,onInstall:()=>y(O),onRemove:()=>x(O),isInstalling:S(O),isRemoving:C(O),sourceConversationId:k.data??void 0};return(0,X.jsxs)(X.Fragment,{children:[d?(0,X.jsx)(se,{...A,swipeContainerRef:f}):(0,X.jsx)(re,{...A}),(0,X.jsx)(ne,{skillName:w?.name??null,onConfirm:T,onCancel:E})]})}export{de as SkillDetailPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dj49ma74.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./brain-BIzJCPA6.js";import{t as u}from"./menu-BKrcAFYk.js";import{t as d}from"./ellipsis-DnoqTkj4.js";import{t as f}from"./loader-circle-XREx3i4W.js";import{t as p}from"./trash-2-BF5y4UkY.js";import"./src-CnF7WXNj.js";import{t as m}from"./file-markdown-B0zje_y3.js";import{n as h}from"./resolved-assistants-store-FEmi1gGu.js";import{bt as g,on as _}from"./react-query.gen-BeiAUt-2.js";import{d as v}from"./routes-CsoiCk2y.js";import{t as y}from"./detail-shell-DB1cQBnE.js";import{n as b,t as x}from"./use-skill-detail-files-CKgT7qkY.js";import{n as S,r as C,t as w}from"./skills-DT9YkYm6.js";var T=e(n(),1),E=s();function D({skillId:e,onClose:n}){let s=i(),D=a(),O=h.use.activeAssistantId(),[k,A]=(0,T.useState)(!1),j=o({...g({path:{assistant_id:O??``,id:e}}),select:e=>e.skill,enabled:!!O}),M=j.data,{skillMd:N,fileContent:P,isFilesPending:F,isContentPending:I}=x(O,e),L=_({onSuccess:()=>{O&&w(D,O),n()},onError:e=>{t(e,{context:`skill-detail-panel-remove`})}}),R=()=>{O&&(L.mutate({path:{assistant_id:O,id:e}}),A(!1))},z=j.isPending||F||N!=null&&I,B=M!=null&&S(M);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(y,{icon:M?.emoji?(0,E.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:M.emoji}):void 0,Glyph:l,title:M?.name??`Skill`,closeLabel:`Close skill details`,onClose:n,headerActions:B?(0,E.jsxs)(u.Root,{children:[(0,E.jsx)(u.Trigger,{asChild:!0,children:(0,E.jsx)(r,{variant:`ghost`,iconOnly:(0,E.jsx)(d,{}),"aria-label":`Skill actions`,className:`shrink-0`})}),(0,E.jsx)(u.Content,{side:`bottom`,align:`end`,children:(0,E.jsx)(u.Item,{leftIcon:(0,E.jsx)(p,{size:14}),onSelect:()=>A(!0),children:`Remove skill`})})]}):void 0,footer:(0,E.jsx)(r,{fullWidth:!0,onClick:()=>s(v.skills.detail(e)),children:`Go to Skill`}),children:j.isError&&!M?(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`py-8 text-center text-[var(--content-tertiary)]`,children:`This skill could not be loaded. It may have been removed.`}):z?(0,E.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,E.jsx)(f,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,E.jsxs)(E.Fragment,{children:[M?.description&&(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:M.description}),M&&(0,E.jsx)(b,{skill:M,className:`mb-4`,onNavigate:n}),P&&(0,E.jsx)(m,{content:P})]})}),(0,E.jsx)(C,{skillName:k&&M?M.name:null,onConfirm:R,onCancel:()=>A(!1)})]})}export{D as SkillDetailPanel};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-FWzaVb8P.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./brain-BIzJCPA6.js";import{t as u}from"./menu-CKZtG-s_.js";import{t as d}from"./ellipsis-BRJI5_P1.js";import{t as f}from"./loader-circle-BzJ2kz3F.js";import{t as p}from"./trash-2-De6X8YiM.js";import"./src-BAS7a2RG.js";import{t as m}from"./file-markdown-DBLxtb0M.js";import{n as h}from"./resolved-assistants-store-BhBxUDAA.js";import{d as g}from"./routes-Dwx_Ibh9.js";import{St as _,ln as v}from"./react-query.gen-Cnk5tcFs.js";import{t as y}from"./detail-shell-D9L3L7AM.js";import{n as b,t as x}from"./use-skill-detail-files-6L4PE9fy.js";import{n as S,r as C,t as w}from"./skills-IombDITK.js";var T=e(n(),1),E=s();function D({skillId:e,onClose:n}){let s=i(),D=a(),O=h.use.activeAssistantId(),[k,A]=(0,T.useState)(!1),j=o({..._({path:{assistant_id:O??``,id:e}}),select:e=>e.skill,enabled:!!O}),M=j.data,{skillMd:N,fileContent:P,isFilesPending:F,isContentPending:I}=x(O,e),L=v({onSuccess:()=>{O&&w(D,O),n()},onError:e=>{t(e,{context:`skill-detail-panel-remove`})}}),R=()=>{O&&(L.mutate({path:{assistant_id:O,id:e}}),A(!1))},z=j.isPending||F||N!=null&&I,B=M!=null&&S(M);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(y,{icon:M?.emoji?(0,E.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:M.emoji}):void 0,Glyph:l,title:M?.name??`Skill`,closeLabel:`Close skill details`,onClose:n,headerActions:B?(0,E.jsxs)(u.Root,{children:[(0,E.jsx)(u.Trigger,{asChild:!0,children:(0,E.jsx)(r,{variant:`ghost`,iconOnly:(0,E.jsx)(d,{}),"aria-label":`Skill actions`,className:`shrink-0`})}),(0,E.jsx)(u.Content,{side:`bottom`,align:`end`,children:(0,E.jsx)(u.Item,{leftIcon:(0,E.jsx)(p,{size:14}),onSelect:()=>A(!0),children:`Remove skill`})})]}):void 0,footer:(0,E.jsx)(r,{fullWidth:!0,onClick:()=>s(g.skills.detail(e)),children:`Go to Skill`}),children:j.isError&&!M?(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`py-8 text-center text-[var(--content-tertiary)]`,children:`This skill could not be loaded. It may have been removed.`}):z?(0,E.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,E.jsx)(f,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,E.jsxs)(E.Fragment,{children:[M?.description&&(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:M.description}),M&&(0,E.jsx)(b,{skill:M,className:`mb-4`,onNavigate:n}),P&&(0,E.jsx)(m,{content:P})]})}),(0,E.jsx)(C,{skillName:k&&M?M.name:null,onConfirm:R,onCancel:()=>A(!1)})]})}export{D as SkillDetailPanel};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-CnF7WXNj.js";import{t}from"./confirm-dialog-D-Yjf2uS.js";import{Ct as n}from"./react-query.gen-BeiAUt-2.js";var r=e();function i({skillName:e,onConfirm:n,onCancel:i}){return(0,r.jsx)(t,{open:e!==null,title:`Remove skill`,message:e?`Remove "${e}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:n,onCancel:i})}function a(e){return e.kind===`installed`}function o(e,t){e.invalidateQueries({queryKey:n({path:{assistant_id:t}})})}export{a as n,i as r,o as t};
1
+ import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-BAS7a2RG.js";import{t}from"./confirm-dialog-DZX6LhLy.js";import{Tt as n}from"./react-query.gen-Cnk5tcFs.js";var r=e();function i({skillName:e,onConfirm:n,onCancel:i}){return(0,r.jsx)(t,{open:e!==null,title:`Remove skill`,message:e?`Remove "${e}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:n,onCancel:i})}function a(e){return e.kind===`installed`}function o(e,t){e.invalidateQueries({queryKey:n({path:{assistant_id:t}})})}export{a as n,i as r,o as t};
@@ -1 +1 @@
1
- import{m as e,n as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{d as r}from"./routes-CsoiCk2y.js";var i=n();function a(){let[n]=e(),a=n.get(`skill`);if(a)return(0,i.jsx)(t,{to:r.skills.detail(a),replace:!0});let o=n.toString();return(0,i.jsx)(t,{to:`${r.superpowers}${o?`?${o}`:``}`,replace:!0})}export{a as SkillsPage};
1
+ import{m as e,n as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{d as r}from"./routes-Dwx_Ibh9.js";var i=n();function a(){let[n]=e(),a=n.get(`skill`);if(a)return(0,i.jsx)(t,{to:r.skills.detail(a),replace:!0});let o=n.toString();return(0,i.jsx)(t,{to:`${r.superpowers}${o?`?${o}`:``}`,replace:!0})}export{a as SkillsPage};
@@ -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{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./check-sC49_hjU.js";import{t as o}from"./clipboard-copy-JwIceweN.js";import{t as s}from"./external-link-CS0aVYGt.js";import"./src-CnF7WXNj.js";import{t as c}from"./input-F_x2LXmm.js";import{t as l}from"./use-copy-to-clipboard-VK_922zc.js";var u=e(t(),1),d=[`app_mentions:read`,`assistant:write`,`channels:history`,`channels:join`,`channels:read`,`chat:write`,`files:read`,`files:write`,`groups:history`,`groups:read`,`im:history`,`im:read`,`im:write`,`mpim:history`,`mpim:read`,`reactions:read`,`reactions:write`,`users:read`],f=[`channels:join`,`files:read`,`files:write`,`reactions:read`,`reactions:write`],p=[`channels:history`,`channels:read`,`groups:history`,`groups:read`,`im:history`,`im:read`,`mpim:history`,`mpim:read`,`reactions:read`,`search:read`,`users:read`],m=[`reactions:read`,`search:read`],h=35,g=140,_=300;function v(e,t=``){let n=e.trim().slice(0,h)||`My Assistant`;return{display_information:{name:n,...t?{description:t.slice(0,g)}:{},background_color:`#1a1a2e`},features:{app_home:{home_tab_enabled:!1,messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},bot_user:{display_name:n,always_online:!0},agent_view:{agent_description:(t||n).slice(0,_),suggested_prompts:[]}},oauth_config:{scopes:{bot:[...d],bot_optional:[...f],user:[...p],user_optional:[...m]}},settings:{event_subscriptions:{bot_events:[`app_mention`,`app_context_changed`,`message.channels`,`message.groups`,`message.im`,`message.mpim`,`reaction_added`]},interactivity:{is_enabled:!0},org_deploy_enabled:!1,socket_mode_enabled:!0,token_rotation_enabled:!1}}}var y=r(),b=`https://api.slack.com/apps?new_app=1`,x=`xoxb-`,S=`xapp-`,C=20;function w(e,t,n){let r=e.trim();return r?r.startsWith(t)?r.length<C?`${n} looks truncated — copy the whole value from Slack.`:null:`${n} should start with "${t}".`:null}function T({assistantName:e,onSave:t,saveStatus:r=`idle`,saveError:d=null}){let[f,p]=(0,u.useState)(e),[m,h]=(0,u.useState)(``),g=(0,u.useRef)(!1);(0,u.useEffect)(()=>{g.current||p(e)},[e]);let[_,C]=(0,u.useState)(``),[T,E]=(0,u.useState)(``),{copy:D,copied:O}=l(),k=(0,u.useMemo)(()=>JSON.stringify(v(f,m),null,2),[f,m]),A=f.trim().length>0,j=w(_,x,`Bot token`),M=w(T,S,`App token`),N=_.trim().length>0&&T.trim().length>0&&!j&&!M&&r!==`pending`,P=(0,u.useCallback)(()=>{D(k)},[D,k]),F=(0,u.useCallback)(()=>{window.open(b,`_blank`,`noopener,noreferrer`)},[]),I=(0,u.useCallback)(()=>{N&&t?.(_.trim(),T.trim())},[N,t,_,T]);return(0,y.jsx)(`div`,{"data-slot":`slack-setup-wizard`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-5 rounded-lg bg-[var(--surface-sunken)] p-4`,children:[(0,y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`Name your Slack app, copy its manifest, then create it in Slack. All permissions and settings come pre-configured.`}),(0,y.jsx)(c,{label:`App Name`,value:f,onChange:e=>{g.current=!0,p(e.target.value.slice(0,35))},placeholder:`My Assistant`,fullWidth:!0}),(0,y.jsx)(c,{label:`Description (optional)`,value:m,onChange:e=>h(e.target.value.slice(0,140)),placeholder:`What this assistant helps with`,helperText:`Shown on the app's Slack profile.`,fullWidth:!0})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`In Slack:`}),(0,y.jsxs)(`ol`,{className:`list-decimal list-inside space-y-1 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,y.jsxs)(`li`,{children:[`Under `,(0,y.jsx)(`strong`,{children:`Or start your own way`}),`, pick`,` `,(0,y.jsx)(`strong`,{children:`From a manifest`}),`, then `,(0,y.jsx)(`strong`,{children:`Continue`})]}),(0,y.jsx)(`li`,{children:`Choose your workspace and give it the manifest you copied`}),(0,y.jsxs)(`li`,{children:[`Review the permissions, then click`,` `,(0,y.jsx)(`strong`,{children:`Create and Install`})]}),(0,y.jsxs)(`li`,{children:[`Expand `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` and copy both the`,` `,(0,y.jsx)(`strong`,{children:`Bot token`}),` and `,(0,y.jsx)(`strong`,{children:`App token`})]})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`Slack's last screen also offers a command-line walkthrough and a `,(0,y.jsx)(`strong`,{children:`Download app files`}),` button. Skip both — they set up a separate local app, and this assistant needs only the two tokens.`]}),(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,y.jsx)(n,{type:`button`,variant:`outlined`,disabled:!A,onClick:P,leftIcon:O?(0,y.jsx)(a,{"aria-hidden":!0,className:`size-4`}):(0,y.jsx)(o,{"aria-hidden":!0,className:`size-4`}),children:O?`Copied!`:`Copy manifest JSON`}),(0,y.jsx)(n,{type:`button`,disabled:!A,onClick:F,rightIcon:(0,y.jsx)(s,{"aria-hidden":!0,className:`size-4`}),children:`Open Slack`})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`If Slack shows “Request approval” instead of`,` `,(0,y.jsx)(`strong`,{children:`Install`}),`, a workspace admin needs to approve the app first.`]})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsxs)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:[`Paste both tokens from Slack's `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` panel:`]}),(0,y.jsx)(c,{label:`Bot Token`,type:`password`,value:_,onChange:e=>C(e.target.value),placeholder:`${x}...`,errorText:j??void 0,fullWidth:!0}),(0,y.jsx)(c,{label:`App Token`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:`${S}...`,errorText:M??void 0,fullWidth:!0}),(0,y.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,y.jsx)(n,{type:`button`,variant:`primary`,onClick:I,disabled:!N,children:r===`pending`?`Connecting…`:`Connect Slack`})}),r===`success`&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-positive)]`,children:`Credentials saved.`}),r===`error`&&d&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--system-negative-strong)]`,children:d})]})]})})}export{T 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{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./check-sC49_hjU.js";import{t as o}from"./clipboard-copy-JwIceweN.js";import{t as s}from"./external-link-CAce-RVu.js";import"./src-BAS7a2RG.js";import{t as c}from"./input-C-GkeWCw.js";import{t as l}from"./use-copy-to-clipboard-BarKTY4m.js";var u=e(t(),1),d=[`app_mentions:read`,`assistant:write`,`channels:history`,`channels:join`,`channels:read`,`chat:write`,`files:read`,`files:write`,`groups:history`,`groups:read`,`im:history`,`im:read`,`im:write`,`mpim:history`,`mpim:read`,`reactions:read`,`reactions:write`,`users:read`],f=[`channels:join`,`files:read`,`files:write`,`reactions:read`,`reactions:write`],p=[`channels:history`,`channels:read`,`groups:history`,`groups:read`,`im:history`,`im:read`,`mpim:history`,`mpim:read`,`reactions:read`,`search:read`,`users:read`],m=[`reactions:read`,`search:read`],h=35,g=140,_=300;function v(e,t=``){let n=e.trim().slice(0,h)||`My Assistant`;return{display_information:{name:n,...t?{description:t.slice(0,g)}:{},background_color:`#1a1a2e`},features:{app_home:{home_tab_enabled:!1,messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},bot_user:{display_name:n,always_online:!0},agent_view:{agent_description:(t||n).slice(0,_),suggested_prompts:[]}},oauth_config:{scopes:{bot:[...d],bot_optional:[...f],user:[...p],user_optional:[...m]}},settings:{event_subscriptions:{bot_events:[`app_mention`,`app_context_changed`,`message.channels`,`message.groups`,`message.im`,`message.mpim`,`reaction_added`]},interactivity:{is_enabled:!0},org_deploy_enabled:!1,socket_mode_enabled:!0,token_rotation_enabled:!1}}}var y=r(),b=`https://api.slack.com/apps?new_app=1`,x=`xoxb-`,S=`xapp-`,C=20;function w(e,t,n){let r=e.trim();return r?r.startsWith(t)?r.length<C?`${n} looks truncated — copy the whole value from Slack.`:null:`${n} should start with "${t}".`:null}function T({assistantName:e,onSave:t,saveStatus:r=`idle`,saveError:d=null}){let[f,p]=(0,u.useState)(e),[m,h]=(0,u.useState)(``),g=(0,u.useRef)(!1);(0,u.useEffect)(()=>{g.current||p(e)},[e]);let[_,C]=(0,u.useState)(``),[T,E]=(0,u.useState)(``),{copy:D,copied:O}=l(),k=(0,u.useMemo)(()=>JSON.stringify(v(f,m),null,2),[f,m]),A=f.trim().length>0,j=w(_,x,`Bot token`),M=w(T,S,`App token`),N=_.trim().length>0&&T.trim().length>0&&!j&&!M&&r!==`pending`,P=(0,u.useCallback)(()=>{D(k)},[D,k]),F=(0,u.useCallback)(()=>{window.open(b,`_blank`,`noopener,noreferrer`)},[]),I=(0,u.useCallback)(()=>{N&&t?.(_.trim(),T.trim())},[N,t,_,T]);return(0,y.jsx)(`div`,{"data-slot":`slack-setup-wizard`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-5 rounded-lg bg-[var(--surface-sunken)] p-4`,children:[(0,y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`Name your Slack app, copy its manifest, then create it in Slack. All permissions and settings come pre-configured.`}),(0,y.jsx)(c,{label:`App Name`,value:f,onChange:e=>{g.current=!0,p(e.target.value.slice(0,35))},placeholder:`My Assistant`,fullWidth:!0}),(0,y.jsx)(c,{label:`Description (optional)`,value:m,onChange:e=>h(e.target.value.slice(0,140)),placeholder:`What this assistant helps with`,helperText:`Shown on the app's Slack profile.`,fullWidth:!0})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`In Slack:`}),(0,y.jsxs)(`ol`,{className:`list-decimal list-inside space-y-1 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,y.jsxs)(`li`,{children:[`Under `,(0,y.jsx)(`strong`,{children:`Or start your own way`}),`, pick`,` `,(0,y.jsx)(`strong`,{children:`From a manifest`}),`, then `,(0,y.jsx)(`strong`,{children:`Continue`})]}),(0,y.jsx)(`li`,{children:`Choose your workspace and give it the manifest you copied`}),(0,y.jsxs)(`li`,{children:[`Review the permissions, then click`,` `,(0,y.jsx)(`strong`,{children:`Create and Install`})]}),(0,y.jsxs)(`li`,{children:[`Expand `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` and copy both the`,` `,(0,y.jsx)(`strong`,{children:`Bot token`}),` and `,(0,y.jsx)(`strong`,{children:`App token`})]})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`Slack's last screen also offers a command-line walkthrough and a `,(0,y.jsx)(`strong`,{children:`Download app files`}),` button. Skip both — they set up a separate local app, and this assistant needs only the two tokens.`]}),(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,y.jsx)(n,{type:`button`,variant:`outlined`,disabled:!A,onClick:P,leftIcon:O?(0,y.jsx)(a,{"aria-hidden":!0,className:`size-4`}):(0,y.jsx)(o,{"aria-hidden":!0,className:`size-4`}),children:O?`Copied!`:`Copy manifest JSON`}),(0,y.jsx)(n,{type:`button`,disabled:!A,onClick:F,rightIcon:(0,y.jsx)(s,{"aria-hidden":!0,className:`size-4`}),children:`Open Slack`})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`If Slack shows “Request approval” instead of`,` `,(0,y.jsx)(`strong`,{children:`Install`}),`, a workspace admin needs to approve the app first.`]})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsxs)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:[`Paste both tokens from Slack's`,` `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` panel:`]}),(0,y.jsx)(c,{label:`Bot Token`,type:`password`,value:_,onChange:e=>C(e.target.value),placeholder:`${x}...`,errorText:j??void 0,fullWidth:!0}),(0,y.jsx)(c,{label:`App Token`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:`${S}...`,errorText:M??void 0,fullWidth:!0}),(0,y.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,y.jsx)(n,{type:`button`,variant:`primary`,onClick:I,disabled:!N,children:r===`pending`?`Connecting…`:`Connect Slack`})}),r===`success`&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-positive)]`,children:`Credentials saved.`}),r===`error`&&d&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--system-negative-strong)]`,children:d})]})]})})}export{T as t};
@@ -1 +1 @@
1
- import{Lr as e}from"./sdk.gen-DeyOX3Kb.js";import{n as t}from"./api-errors-DHvv5HEN.js";var n=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],r=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],i={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function a(){let e={};for(let t of r)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function o(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function s(e){let t=o(e);return n.includes(t)}function c(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:s(e)}function l(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var u=`data/sounds`;async function d(n,r){if(!c(r))return null;try{let{data:i,error:a,response:o}=await e({path:{assistant_id:n},query:{path:`${u}/${r}`},parseAs:`blob`,throwOnError:!1});return t(o,a,`Failed to fetch sound file`),!o.ok||!i?null:i}catch{return null}}function f(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var p=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=f(t.volume),i=n.sounds.filter(c);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=f(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=f(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!c(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await d(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},m=null;function h(){return m||=new p,m}export{l as a,a as i,i as n,r,h as t};
1
+ import{n as e}from"./api-errors-SZKDzMLE.js";import{zr as t}from"./sdk.gen-BySz4QYj.js";var n=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],r=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],i={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function a(){let e={};for(let t of r)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function o(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function s(e){let t=o(e);return n.includes(t)}function c(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:s(e)}function l(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var u=`data/sounds`;async function d(n,r){if(!c(r))return null;try{let{data:i,error:a,response:o}=await t({path:{assistant_id:n},query:{path:`${u}/${r}`},parseAs:`blob`,throwOnError:!1});return e(o,a,`Failed to fetch sound file`),!o.ok||!i?null:i}catch{return null}}function f(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var p=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=f(t.volume),i=n.sounds.filter(c);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=f(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=f(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!c(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await d(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},m=null;function h(){return m||=new p,m}export{l as a,a as i,i as n,r,h as t};
@@ -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"./useQuery-Bz-fbQ-m.js";import{t as i}from"./useMutation-CXGTrp4W.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import{t as s}from"./chevron-down-B5A-0g8A.js";import{t as c}from"./play-B0-JEtcm.js";import{t as l}from"./trash-2-BF5y4UkY.js";import{t as u}from"./toggle-B4nIp0sf.js";import{At as d,Mt as f,Nt as p,Ot as m}from"./react-query.gen-BeiAUt-2.js";import{a as h,i as g,n as _,r as v,t as y}from"./sound-manager-Dy2ohKg4.js";import{t as b}from"./use-active-assistant-id-CUKao_nq.js";var x=e(t(),1),S=a();function C({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,S.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,S.jsx)(u,{checked:n,disabled:r,onChange:i,label:e})]})}function w(){return(0,S.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function T({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:d}){let[f,p]=(0,x.useState)(!1),m=n.filter(e=>!t.sounds.includes(e.filename)),g=n.length>0&&m.length===0;return(0,S.jsxs)(`div`,{className:`py-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:_[e]}),(0,S.jsx)(u,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${_[e]}`})]}),t.enabled&&(0,S.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,S.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:h(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>d(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,S.jsx)(c,{className:`h-3 w-3`})}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Remove ${e}`,children:(0,S.jsx)(l,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):g?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(s,{className:`h-3 w-3`})]}),f&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>p(!1),children:m.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),p(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function E(){let e=n(),t=b(),a=(0,x.useMemo)(()=>d({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>m({path:{assistant_id:t}}),[t]),{data:l}=r(a),{data:u}=r(s),h=l??g(),_=u?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...p(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return f(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&f(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??g());D.mutate({path:{assistant_id:t},body:r})},[t,a.queryKey,e,D]),k=e=>{O(t=>({...t,globalEnabled:e}))},A=e=>{O(t=>({...t,volume:e}))},[j,M]=(0,x.useState)(null),N=j??h.volume,P=(e,t)=>{O(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},F=(e,t)=>{O(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},I=(e,t)=>{O(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},L=()=>{y().previewFallbackBlip(h.volume)},R=e=>{y().previewSound(e,h.volume)};return(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(C,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:h.globalEnabled,onChange:k}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,S.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:N,onChange:e=>M(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!h.globalEnabled,"aria-label":`Sound effect volume`}),(0,S.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(N*100),`%`]})]}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,S.jsxs)(`button`,{type:`button`,onClick:L,disabled:!h.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,S.jsx)(c,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,S.jsxs)(o,{children:[(0,S.jsxs)(`div`,{className:`pb-2`,children:[(0,S.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,S.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:v.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:_,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}function D(){return(0,S.jsx)(E,{})}export{D as SoundsPage};
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"./useQuery-Bz-fbQ-m.js";import{t as i}from"./useMutation-CXGTrp4W.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import{t as s}from"./chevron-down-B5A-0g8A.js";import{t as c}from"./play-CCT817Ah.js";import{t as l}from"./trash-2-De6X8YiM.js";import{t as u}from"./toggle-D776PTw-.js";import{At as d,Ft as f,Mt as p,Pt as m}from"./react-query.gen-Cnk5tcFs.js";import{a as h,i as g,n as _,r as v,t as y}from"./sound-manager-DUo0lHGZ.js";import{t as b}from"./use-active-assistant-id-AtGy8p_R.js";var x=e(t(),1),S=a();function C({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,S.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,S.jsx)(u,{checked:n,disabled:r,onChange:i,label:e})]})}function w(){return(0,S.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function T({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:d}){let[f,p]=(0,x.useState)(!1),m=n.filter(e=>!t.sounds.includes(e.filename)),g=n.length>0&&m.length===0;return(0,S.jsxs)(`div`,{className:`py-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:_[e]}),(0,S.jsx)(u,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${_[e]}`})]}),t.enabled&&(0,S.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,S.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:h(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>d(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,S.jsx)(c,{className:`h-3 w-3`})}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Remove ${e}`,children:(0,S.jsx)(l,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):g?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(s,{className:`h-3 w-3`})]}),f&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>p(!1),children:m.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),p(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function E(){let e=n(),t=b(),a=(0,x.useMemo)(()=>p({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>d({path:{assistant_id:t}}),[t]),{data:l}=r(a),{data:u}=r(s),h=l??g(),_=u?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...f(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return m(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&m(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??g());D.mutate({path:{assistant_id:t},body:r})},[t,a.queryKey,e,D]),k=e=>{O(t=>({...t,globalEnabled:e}))},A=e=>{O(t=>({...t,volume:e}))},[j,M]=(0,x.useState)(null),N=j??h.volume,P=(e,t)=>{O(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},F=(e,t)=>{O(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},I=(e,t)=>{O(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},L=()=>{y().previewFallbackBlip(h.volume)},R=e=>{y().previewSound(e,h.volume)};return(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(C,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:h.globalEnabled,onChange:k}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,S.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:N,onChange:e=>M(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!h.globalEnabled,"aria-label":`Sound effect volume`}),(0,S.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(N*100),`%`]})]}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,S.jsxs)(`button`,{type:`button`,onClick:L,disabled:!h.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,S.jsx)(c,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,S.jsxs)(o,{children:[(0,S.jsxs)(`div`,{className:`pb-2`,children:[(0,S.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,S.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:v.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:_,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}function D(){return(0,S.jsx)(E,{})}export{D as SoundsPage};