@vellumai/web 0.11.0 → 0.11.1-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/dist/assets/{AnimatePresence-xdH2KLtr.js → AnimatePresence-D23js3-M.js} +3 -3
  2. package/dist/assets/{BundleConfirmPage-4StSZy-f.js → BundleConfirmPage-C1-BZKI9.js} +1 -1
  3. package/dist/assets/{a2a-invite-C1xJNSGF.js → a2a-invite-CfhpXDTT.js} +1 -1
  4. package/dist/assets/{about-page-C3tJLjvD.js → about-page-Dtg-I99x.js} +1 -1
  5. package/dist/assets/access-C97H-xHb.js +1 -0
  6. package/dist/assets/{account-page-BvXVc1IK.js → account-page-Cflmw8J6.js} +1 -1
  7. package/dist/assets/{account-shell-D6aWpePp.js → account-shell-BxZ339N3.js} +1 -1
  8. package/dist/assets/{acp-run-actions-8ioRAI8C.js → acp-run-actions-BGbBYETY.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-B8ULpnis.js → acp-run-detail-panel-BZ36-1N5.js} +1 -1
  10. package/dist/assets/{acp-run-store-CpH4OeOS.js → acp-run-store-CmGaPJm1.js} +1 -1
  11. package/dist/assets/activity-steps-panel-KMiSlUt3.js +1 -0
  12. package/dist/assets/{add-credential-modal-Cu6aAlhm.js → add-credential-modal-DQZ43BJU.js} +1 -1
  13. package/dist/assets/{add-credits-modal-BelWmezc.js → add-credits-modal-Daz6j8gm.js} +1 -1
  14. package/dist/assets/ai-page-DPVi-dhB.js +1 -0
  15. package/dist/assets/{animated-avatar-DknFwi9-.js → animated-avatar-CDeJNhwm.js} +1 -1
  16. package/dist/assets/api-C8TlQNEU.js +1 -0
  17. package/dist/assets/api-DDKNgE8n.js +1 -0
  18. package/dist/assets/{api-key-screen-BhynbUuC.js → api-key-screen-CoLZh8vw.js} +1 -1
  19. package/dist/assets/{app-card-BF2l9ot8.js → app-card-JHbWefmm.js} +1 -1
  20. package/dist/assets/{app-info-fS0zIUcN.js → app-info-Bdfw54u1.js} +1 -1
  21. package/dist/assets/{archive-redirect-page-DOF2veAy.js → archive-redirect-page-CWJIEUlH.js} +1 -1
  22. package/dist/assets/{assistant-feature-flag-store-B00tpY5e.js → assistant-feature-flag-store-CMUNSAPL.js} +1 -1
  23. package/dist/assets/assistant-identity-store-BczULg2T.js +1 -0
  24. package/dist/assets/{assistant-status-panel-D2PXdHw0.js → assistant-status-panel-CLMAEQ-v.js} +1 -1
  25. package/dist/assets/auth-store-w_EmIQP7.js +2 -0
  26. package/dist/assets/avatar-random-IysJ0Bdt.js +1 -0
  27. package/dist/assets/{avatar-renderer-BrNjnimz.js → avatar-renderer-3EVhZ7TB.js} +1 -1
  28. package/dist/assets/{background-task-actions-B1bLmbnw.js → background-task-actions-yrapeY1n.js} +1 -1
  29. package/dist/assets/{background-task-detail-panel-56ZpprL7.js → background-task-detail-panel-BV9Y227f.js} +1 -1
  30. package/dist/assets/{background-task-store-C5J8CFan.js → background-task-store-CN04oS2z.js} +1 -1
  31. package/dist/assets/billing-page-CmkTn62f.js +3 -0
  32. package/dist/assets/{billing-redirect-page-BIfv18MY.js → billing-redirect-page-CiHoDQHE.js} +1 -1
  33. package/dist/assets/{bookmarks-page-BOhi-7gN.js → bookmarks-page-B2JvSaKf.js} +1 -1
  34. package/dist/assets/browser-CpgSNbEp.js +2 -0
  35. package/dist/assets/build-state-DDUJ0MId.js +1 -0
  36. package/dist/assets/{capture-error-Dj49ma74.js → capture-error-FWzaVb8P.js} +1 -1
  37. package/dist/assets/channels-page-route-DAp7F6ed.js +9 -0
  38. package/dist/assets/{chat-avatar-C9l3drVu.js → chat-avatar-CIF_o6y5.js} +1 -1
  39. package/dist/assets/{chat-layout-slots-store-KQz1WMKU.js → chat-layout-slots-store-C325hn1X.js} +1 -1
  40. package/dist/assets/chat-markdown-message-B3Qo04ug.js +2 -0
  41. package/dist/assets/{checkbox-D7Eg2K35.js → checkbox-BZTUJtxM.js} +1 -1
  42. package/dist/assets/checkout-continuation-DRPQwh5V.js +1 -0
  43. package/dist/assets/checkout-page-B8CJoCWQ.js +1 -0
  44. package/dist/assets/checkout-return-target-Cib3fzdY.js +1 -0
  45. package/dist/assets/{client-feature-flag-store-BdNCabm_.js → client-feature-flag-store-Bg5XEI2b.js} +1 -1
  46. package/dist/assets/{client-identity-yPmEu-I1.js → client-identity-BSG341dO.js} +1 -1
  47. package/dist/assets/command-palette-DH_ybPTY.js +1 -0
  48. package/dist/assets/command-palette-window-page-KoC7mrpM.js +1 -0
  49. package/dist/assets/{community-page-_nhJqpCD.js → community-page-BZmxfsXK.js} +1 -1
  50. package/dist/assets/{confirm-dialog-D-Yjf2uS.js → confirm-dialog-DZX6LhLy.js} +1 -1
  51. package/dist/assets/{connect-page-DS-7aFqU.js → connect-page-D_I1YM62.js} +1 -1
  52. package/dist/assets/{consent-controls-DVeAjj2Z.js → consent-controls-CiKmEzBn.js} +1 -1
  53. package/dist/assets/consent-s5g0Gmb2.js +1 -0
  54. package/dist/assets/{contacts-gateway-BlLLBft6.js → contacts-gateway-C628mrY_.js} +1 -1
  55. package/dist/assets/contacts-page-route-BJBOnSQK.js +1 -0
  56. package/dist/assets/{conversation-cache-CqrrtLGM.js → conversation-cache-BzPdBPXN.js} +1 -1
  57. package/dist/assets/conversation-list-fetchers-BZnx9EMN.js +1 -0
  58. package/dist/assets/{conversation-navigation-D8y9l5qL.js → conversation-navigation-tj2ntPAn.js} +1 -1
  59. package/dist/assets/conversation-queries-str0jfqv.js +1 -0
  60. package/dist/assets/conversation-selection-B954w311.js +1 -0
  61. package/dist/assets/{conversation-store-D_eevw7L.js → conversation-store-C0tvFESx.js} +1 -1
  62. package/dist/assets/copy-to-clipboard-DaTa8Tbi.js +1 -0
  63. package/dist/assets/{credential-entry-page-C22Mw_ea.js → credential-entry-page-BCAYmsDK.js} +1 -1
  64. package/dist/assets/credentials-page-DFm5A_Dj.js +1 -0
  65. package/dist/assets/{danger-zone-redirect-page-QELjAt0B.js → danger-zone-redirect-page-BcdEHbAX.js} +1 -1
  66. package/dist/assets/debug-page-6DjAgWtl.js +4 -0
  67. package/dist/assets/{deploy-dialogs-DcxJ8zmL.js → deploy-dialogs-CpUMrpHq.js} +1 -1
  68. package/dist/assets/{deploy-store-Dxp-S0Jo.js → deploy-store-BJ-njgv-.js} +1 -1
  69. package/dist/assets/{detail-card-BiNdiBiS.js → detail-card-D-5EWmAS.js} +1 -1
  70. package/dist/assets/detail-drawer-BglFkWVa.js +1 -0
  71. package/dist/assets/{detail-panel-stop-button-CZuQfGZs.js → detail-panel-stop-button-DgKaA6yz.js} +1 -1
  72. package/dist/assets/{detail-shell-DB1cQBnE.js → detail-shell-D9L3L7AM.js} +1 -1
  73. package/dist/assets/developer-page-dHmIDclp.js +1 -0
  74. package/dist/assets/{devices-redirect-page-B3KUr7o2.js → devices-redirect-page-BNpxDctf.js} +1 -1
  75. package/dist/assets/{diagnostics-9AhdBjYA.js → diagnostics-BE1IgjfV.js} +1 -1
  76. package/dist/assets/{dictation-overlay-page-DHI92ftK.js → dictation-overlay-page-DUWJ13of.js} +1 -1
  77. package/dist/assets/{dictation-overlay-CRLGSCST.js → dictation-overlay-w1YHEfFR.js} +1 -1
  78. package/dist/assets/{dist-Ckcpfjj7.js → dist-BswnB-bR.js} +1 -1
  79. package/dist/assets/{dist-CXcArvGs.js → dist-CQN0ZAOZ.js} +1 -1
  80. package/dist/assets/{doctor-handoff-store-DPviL0wb.js → doctor-handoff-store-ClS6J-b-.js} +1 -1
  81. package/dist/assets/document-viewer-container-Doc7G7NK.js +2 -0
  82. package/dist/assets/{document-viewer-page-ClsAgnVX.js → document-viewer-page-DJFR9XhM.js} +1 -1
  83. package/dist/assets/{dropdown-BtWhNXSV.js → dropdown-DswWMJhz.js} +1 -1
  84. package/dist/assets/{edge-swipe-arbiter-store-QUBer3EI.js → edge-swipe-arbiter-store-D9XJTxJJ.js} +1 -1
  85. package/dist/assets/ellipsis-vertical-nov0xhhF.js +1 -0
  86. package/dist/assets/{emails-page-D1eq8Mcq.js → emails-page-Ro1_IIiv.js} +1 -1
  87. package/dist/assets/{environment-store-nuDZk7wN.js → environment-store-Bbx4f6SQ.js} +1 -1
  88. package/dist/assets/esm-B2M2kM_8.js +2 -0
  89. package/dist/assets/esm-BgRAHqeR.js +2 -0
  90. package/dist/assets/esm-CXX8rcv3.js +2 -0
  91. package/dist/assets/esm-Chh8mHmh.js +1 -0
  92. package/dist/assets/esm-Cl2UNC_o.js +2 -0
  93. package/dist/assets/esm-ClO8yhvi.js +2 -0
  94. package/dist/assets/esm-DOATKqE3.js +2 -0
  95. package/dist/assets/esm-UUuqyyp5.js +1 -0
  96. package/dist/assets/eye-bbox-DE8r0Vt3.js +1 -0
  97. package/dist/assets/feature-flag-catalog-CWHnoWvT.js +1 -0
  98. package/dist/assets/file-editor-DcH2Os5o.js +1 -0
  99. package/dist/assets/{file-markdown-B0zje_y3.js → file-markdown-DBLxtb0M.js} +1 -1
  100. package/dist/assets/first-run-scope-CZm4WhC7.js +1 -0
  101. package/dist/assets/{funnel-events-BqvFi8Sp.js → funnel-events-BAmjKdwH.js} +1 -1
  102. package/dist/assets/general-page-BH3Zl4tV.js +1 -0
  103. package/dist/assets/get-memory-stats-CthVfpul.js +1 -0
  104. package/dist/assets/handle-logout-C_CDLqjS.js +1 -0
  105. package/dist/assets/{haptics-BTcSZuHP.js → haptics-agodX1nl.js} +2 -2
  106. package/dist/assets/hatching-screen-CziT_eEj.js +1 -0
  107. package/dist/assets/home-page-route-BSHvc0DH.js +1 -0
  108. package/dist/assets/hosting-screen-D6gwvyR3.js +1 -0
  109. package/dist/assets/identity-Cb4xS1Kk.js +1 -0
  110. package/dist/assets/identity-page-route-CvxG-nhn.js +7 -0
  111. package/dist/assets/index-D-NVGcvg.js +11 -0
  112. package/dist/assets/index-D8Xiv4z3.css +2 -0
  113. package/dist/assets/{ingest-D3dRmJA9.js → ingest-DiiwFQfV.js} +1 -1
  114. package/dist/assets/{inspect-page-DVgajY0Q.js → inspect-page-D0xZPslr.js} +6 -6
  115. package/dist/assets/{installed-plugins-query-s6Kf3pL8.js → installed-plugins-query-6u0jUM-L.js} +1 -1
  116. package/dist/assets/{integration-icon-CmjrEk0J.js → integration-icon-tiuVoy54.js} +1 -1
  117. package/dist/assets/integrations-page-DuKFioaA.js +1 -0
  118. package/dist/assets/{intelligence-layout-DfdvpHl4.js → intelligence-layout-CVzq_bDm.js} +1 -1
  119. package/dist/assets/invalidate-memory-queries-BPL6t0Cu.js +1 -0
  120. package/dist/assets/invalidate-plugin-queries-QmmXCyiN.js +1 -0
  121. package/dist/assets/{keyboard-shortcuts-redirect-page-DMytLINR.js → keyboard-shortcuts-redirect-page-D_Rf5W7f.js} +1 -1
  122. package/dist/assets/{latest-assistant-text-BIlBGS_i.js → latest-assistant-text-DPm0HIWu.js} +2 -2
  123. package/dist/assets/{library-detail-page-BzvbB9Ud.js → library-detail-page-BmD8ODsN.js} +1 -1
  124. package/dist/assets/{library-page-DK2Dx8vo.js → library-page-B1_J428q.js} +1 -1
  125. package/dist/assets/list-row-BYrmPIC4.js +1 -0
  126. package/dist/assets/local-mode-9zpgPNoq.js +39 -0
  127. package/dist/assets/{local-runtime-upgrade-COcJaRWH.js → local-runtime-upgrade-1CLFIVes.js} +1 -1
  128. package/dist/assets/{login-flow-BVUkpWP_.js → login-flow-BnCQjNXm.js} +1 -1
  129. package/dist/assets/login-page-BnF7_s7c.js +1 -0
  130. package/dist/assets/{logout-page-B8EOSvAV.js → logout-page-BguUo424.js} +1 -1
  131. package/dist/assets/{logs-layout-DK6gVU21.js → logs-layout-BiZ4JakR.js} +1 -1
  132. package/dist/assets/machine-sizes-D0oAlF9f.js +1 -0
  133. package/dist/assets/memory-page-route-DwmCqWRb.js +6 -0
  134. package/dist/assets/{memory-router-playground-page-B-6Yt7rp.js → memory-router-playground-page-Bl-5j5de.js} +1 -1
  135. package/dist/assets/{menu-BKrcAFYk.js → menu-CKZtG-s_.js} +1 -1
  136. package/dist/assets/{messages-BuqyOjvT.js → messages-BsXTJIIe.js} +2 -2
  137. package/dist/assets/{metric-card-j9s-2nkl.js → metric-card-B-Tt9p-1.js} +1 -1
  138. package/dist/assets/{mobile-sidebar-drawer-BLGt_R0d.js → mobile-sidebar-drawer-Cp72bTDC.js} +1 -1
  139. package/dist/assets/{modal-CoOkN7c0.js → modal-DwsThLGg.js} +1 -1
  140. package/dist/assets/mutation-error-CXV1BKlB.js +1 -0
  141. package/dist/assets/native-anchor-BpfRwc60.js +1 -0
  142. package/dist/assets/native-biometric-CTR2Zi2w.js +6 -0
  143. package/dist/assets/native-deep-link-BJjxOpZm.js +1 -0
  144. package/dist/assets/native-file-BvwfoU6A.js +2 -0
  145. package/dist/assets/navigation-resolver-CIICT6n9.js +1 -0
  146. package/dist/assets/{not-found-Dh7Vxgjl.js → not-found-p1VhZpMs.js} +1 -1
  147. package/dist/assets/{notice-B6naz_-V.js → notice-DCp7WO3L.js} +1 -1
  148. package/dist/assets/{notifications-page-BB5kRj1s.js → notifications-page-CD8OVGKw.js} +1 -1
  149. package/dist/assets/{oauth-complete-page-01jk0-Xz.js → oauth-complete-page-KSpFlPD6.js} +1 -1
  150. package/dist/assets/{oauth-connection-utils-DhmVsbum.js → oauth-connection-utils-D9CTptlA.js} +1 -1
  151. package/dist/assets/{oauth-popup-complete-page-DdR3sLCH.js → oauth-popup-complete-page-C5cG_z3A.js} +1 -1
  152. package/dist/assets/{onboarding-layout-CYU5QNQ5.js → onboarding-layout-K7X9fV8B.js} +1 -1
  153. package/dist/assets/{onboarding-store-CHsGFmyD.js → onboarding-store-OVV4wyh5.js} +1 -1
  154. package/dist/assets/open-workspace-file-DYklNHQ0.js +2 -0
  155. package/dist/assets/page-empty-state-B0da-Sm9.js +1 -0
  156. package/dist/assets/{page-shell-Ns8K4aqQ.js → page-shell-CN7ioeP_.js} +1 -1
  157. package/dist/assets/{pairing-page-COqX_5vT.js → pairing-page-_kskNw0h.js} +1 -1
  158. package/dist/assets/panel-item-DGs4s9r-.js +1 -0
  159. package/dist/assets/{password-reset-page-Ck1m9qRW.js → password-reset-page-Bq3ehgjW.js} +1 -1
  160. package/dist/assets/{personality-page-B0GpJMv5.js → personality-page-DeZSBQ6W.js} +1 -1
  161. package/dist/assets/plans-page-D924rN93.js +1 -0
  162. package/dist/assets/platform-detection-BY5uzLL8.js +1 -0
  163. package/dist/assets/{platform-login-notice-D_-ZVyk8.js → platform-login-notice-DIS8PWXu.js} +1 -1
  164. package/dist/assets/{platform-loopback-page-B68rydoU.js → platform-loopback-page-BTr35x9U.js} +1 -1
  165. package/dist/assets/{plugin-detail-page-DGzmeb3j.js → plugin-detail-page-DF9vmm23.js} +1 -1
  166. package/dist/assets/{plugins-page-C7Xd3LTL.js → plugins-page-BDZiCqWZ.js} +1 -1
  167. package/dist/assets/plugins-surface-C4peMNec.js +1 -0
  168. package/dist/assets/{popover-CDZiHp1D.js → popover-BFL-uOLh.js} +1 -1
  169. package/dist/assets/{prefs-BplCYXxl.js → prefs-B6fvTCOn.js} +1 -1
  170. package/dist/assets/{privacy-page-NhPZ8klL.js → privacy-page-BGXaPgBR.js} +1 -1
  171. package/dist/assets/privacy-screen-znr9P7PH.js +1 -0
  172. package/dist/assets/{provider-callback-page-Dkxi-_kI.js → provider-callback-page-Bn1Tp_ej.js} +1 -1
  173. package/dist/assets/provider-key-w3CzmGtq.js +1 -0
  174. package/dist/assets/provider-signup-page-C5z8x-YS.js +1 -0
  175. package/dist/assets/provisioning-targets-CT4slXZJ.js +1 -0
  176. package/dist/assets/{proxy-lxbolTGx.js → proxy-CNtrhN4q.js} +1 -1
  177. package/dist/assets/{quick-input-page-DnjOMI1n.js → quick-input-page-COgnUnT_.js} +1 -1
  178. package/dist/assets/react-query.gen-0mspArBl.js +1 -0
  179. package/dist/assets/react-query.gen-BVTEjHsw.js +1 -0
  180. package/dist/assets/{remote-gateway-session-DJ1rzXEw.js → remote-gateway-session-CgxYHgOD.js} +1 -1
  181. package/dist/assets/{research-facts-B5ItKoAK.js → research-facts-BcW4fghT.js} +1 -1
  182. package/dist/assets/{research-mock-page-gbOSvFQL.js → research-mock-page-BFm8-rLU.js} +1 -1
  183. package/dist/assets/{research-onboarding-persistence-CgJDwdl9.js → research-onboarding-persistence-BN6g1lF7.js} +1 -1
  184. package/dist/assets/research-onboarding-route-DpC0dKBR.js +50 -0
  185. package/dist/assets/{research-results-view-WQsLxBlE.js → research-results-view-BBf2iyCA.js} +1 -1
  186. package/dist/assets/resolved-assistants-store-8HQDfxZh.js +1 -0
  187. package/dist/assets/retire-confirm-dialog-BFbPH66U.js +1 -0
  188. package/dist/assets/{review-terms-screen-c4Vt5WqP.js → review-terms-screen-W08isuCB.js} +1 -1
  189. package/dist/assets/risk-FjW-m05l.js +3 -0
  190. package/dist/assets/routes-DOTByxnJ.js +23 -0
  191. package/dist/assets/{routes-CsoiCk2y.js → routes-GmNvdtLW.js} +1 -1
  192. package/dist/assets/runtime-upgrade-banner-4PNA3XVR.js +2 -0
  193. package/dist/assets/schedules-B6KivAAT.js +1 -0
  194. package/dist/assets/schedules-page-BSr0-mjB.js +1 -0
  195. package/dist/assets/{sdk.gen-DeyOX3Kb.js → sdk.gen-BySz4QYj.js} +1 -1
  196. package/dist/assets/sdk.gen-DVW3wpbx.js +1 -0
  197. package/dist/assets/{security-redirect-page-CMMujz_x.js → security-redirect-page-T1J6IoOb.js} +1 -1
  198. package/dist/assets/select-assistant-screen-DAkhS0wl.js +1 -0
  199. package/dist/assets/session-corner-action-CqofVz_i.js +1 -0
  200. package/dist/assets/{setting-row-D10FtQcP.js → setting-row-DEyL7IUP.js} +1 -1
  201. package/dist/assets/{settings-divider-CItcvksF.js → settings-divider-Bf5WJ9ve.js} +1 -1
  202. package/dist/assets/settings-layout-DcuaK8qu.js +1 -0
  203. package/dist/assets/settings-navigation-BDpUXrOI.js +1 -0
  204. package/dist/assets/share-feedback-modal-Dy0GRvA9.js +2 -0
  205. package/dist/assets/{sidebar-tree-CEPitR5K.js → sidebar-tree-DrZXY5Iz.js} +1 -1
  206. package/dist/assets/signup-page-B6mmAQJU.js +1 -0
  207. package/dist/assets/{signup-shell-DxP2zqed.js → signup-shell-CMXUBUal.js} +1 -1
  208. package/dist/assets/site-favicon-CA7jaNnH.js +1 -0
  209. package/dist/assets/{skill-detail-page-o3EhI_Q2.js → skill-detail-page-BCPN6NmR.js} +1 -1
  210. package/dist/assets/{skill-detail-panel-DdQL6oky.js → skill-detail-panel-Cpl1Z7V3.js} +1 -1
  211. package/dist/assets/{skills-DT9YkYm6.js → skills-BL4RgwAd.js} +1 -1
  212. package/dist/assets/{skills-page-BtFhw8jF.js → skills-page-BYtAFZzb.js} +1 -1
  213. package/dist/assets/{slack-setup-wizard-C6ALDSEa.js → slack-setup-wizard-dVkbEE6P.js} +1 -1
  214. package/dist/assets/{sound-manager-Dy2ohKg4.js → sound-manager-DUo0lHGZ.js} +1 -1
  215. package/dist/assets/{sounds-page-D4kMljoY.js → sounds-page-CfeiEoJP.js} +1 -1
  216. package/dist/assets/{src-CnF7WXNj.js → src-BAS7a2RG.js} +39 -39
  217. package/dist/assets/{start-screen-BiV4V5J1.js → start-screen-CqbeEmEE.js} +1 -1
  218. package/dist/assets/subagent-detail-panel-jOUXcDnl.js +4 -0
  219. package/dist/assets/subagent-store-C8qemfgn.js +3 -0
  220. package/dist/assets/superpowers-page-DltosgGe.js +1 -0
  221. package/dist/assets/{system-events-page-CpUI1rsZ.js → system-events-page-DEQyyquu.js} +1 -1
  222. package/dist/assets/{system-events-redirect-page-BQrnMF4i.js → system-events-redirect-page-C44suO-c.js} +1 -1
  223. package/dist/assets/{tag-Dn1d6hKF.js → tag-D8NAGb0r.js} +1 -1
  224. package/dist/assets/{credit-card-C1RL73Rt.js → target-cdw7WP5q.js} +1 -1
  225. package/dist/assets/{theme-stage-page-CW3erTQ4.js → theme-stage-page-CnKpq5QT.js} +1 -1
  226. package/dist/assets/{threshold-presets-ByKylDXk.js → threshold-presets-B-gOdjC4.js} +1 -1
  227. package/dist/assets/{tiptap-document-editor-CbPrzkBM.js → tiptap-document-editor-D-lwPWrV.js} +1 -1
  228. package/dist/assets/{toast-BcMdOTp1.js → toast-DR7D7Uma.js} +1 -1
  229. package/dist/assets/tool-detail-panel-86ruMQAQ.js +2 -0
  230. package/dist/assets/transcript-message-body-shared-CT5pk4wz.js +1 -0
  231. package/dist/assets/{trust-rules-api-CVYU31TU.js → trust-rules-api-iUGCiDDM.js} +1 -1
  232. package/dist/assets/{upgrade-cancel-page-BSAoMrm5.js → upgrade-cancel-page-DmStvNCn.js} +1 -1
  233. package/dist/assets/{upgrade-success-page-CooDWnEr.js → upgrade-success-page-jOEtujYa.js} +1 -1
  234. package/dist/assets/{usage-redirect-page-DtwSt4vM.js → usage-redirect-page-C6qXe-4h.js} +1 -1
  235. package/dist/assets/{use-active-assistant-id-CUKao_nq.js → use-active-assistant-id-CjvzlL4t.js} +1 -1
  236. package/dist/assets/{use-app-theme-BhnyqHgJ.js → use-app-theme-BLGjiz96.js} +1 -1
  237. package/dist/assets/use-assistant-avatar--4s_vvar.js +1 -0
  238. package/dist/assets/{use-assistant-capability-BdWmg2Vg.js → use-assistant-capability-BaZVGuCu.js} +1 -1
  239. package/dist/assets/use-assistant-identity-details-C99kNyQf.js +1 -0
  240. package/dist/assets/use-avatar-accent-var-BaftJG7F.js +1 -0
  241. package/dist/assets/{use-bookmarks-DtteniG3.js → use-bookmarks-B6Y60m9F.js} +1 -1
  242. package/dist/assets/{use-bundled-avatar-components-B1ARUeam.js → use-bundled-avatar-components-IQw2k8-g.js} +2 -2
  243. package/dist/assets/{use-bus-subscription-NoXmdzgx.js → use-bus-subscription-CyRPH_gr.js} +1 -1
  244. package/dist/assets/use-checkout-dismiss-refresh-BZXXQef1.js +1 -0
  245. package/dist/assets/use-command-palette-sections-DWCppiPf.js +1 -0
  246. package/dist/assets/{use-discord-nudge-h0WPtIp6.js → use-discord-nudge-CRU-lEHV.js} +1 -1
  247. package/dist/assets/{use-edge-swipe-back-Rp4TEihl.js → use-edge-swipe-back-Dbz1hC9g.js} +1 -1
  248. package/dist/assets/{use-edge-swipe-DDntz5ZJ.js → use-edge-swipe-sMxDzAcb.js} +1 -1
  249. package/dist/assets/{use-edit-app-BSbRuVnn.js → use-edit-app-BF9YK7AV.js} +1 -1
  250. package/dist/assets/{use-effective-timezone-Om_EkJxK.js → use-effective-timezone-Bx9QaO25.js} +1 -1
  251. package/dist/assets/use-invite-link-dialog-DN2IHVZE.js +1 -0
  252. package/dist/assets/{use-ios-app-nudge-CeOXecJj.js → use-ios-app-nudge-DiqQWH5O.js} +1 -1
  253. package/dist/assets/use-is-org-ready-BbqlQFXw.js +1 -0
  254. package/dist/assets/{use-onboarding-login-DsCjVy0U.js → use-onboarding-login-xZhWGmky.js} +1 -1
  255. package/dist/assets/{use-platform-assistant-id-DSR1LFZF.js → use-platform-assistant-id-BnFEQQeS.js} +1 -1
  256. package/dist/assets/use-platform-gate-D9hR3R0n.js +1 -0
  257. package/dist/assets/use-reduced-motion-bjjt6x6d.js +1 -0
  258. package/dist/assets/use-return-to-short-circuit-B1mhvgIq.js +1 -0
  259. package/dist/assets/use-save-twilio-credentials-CCp1iqBf.js +1 -0
  260. package/dist/assets/{use-skill-actions-DTznrJR1.js → use-skill-actions-BLHTDn21.js} +1 -1
  261. package/dist/assets/{use-skill-detail-files-CKgT7qkY.js → use-skill-detail-files-BVBb8uoK.js} +1 -1
  262. package/dist/assets/use-sticky-profiles-GTUzoFP4.js +1 -0
  263. package/dist/assets/use-subagent-card-data-Cu_-lx6d.js +1 -0
  264. package/dist/assets/use-supports-bookmarks-DbG5HZ6P.js +1 -0
  265. package/dist/assets/use-supports-credentials-settings-CgWfA2eQ.js +1 -0
  266. package/dist/assets/{use-swipe-engine-ehsGV4fb.js → use-swipe-engine-RAFE-Hrf.js} +1 -1
  267. package/dist/assets/utils-C-YNXdkX.js +1 -0
  268. package/dist/assets/{utils-CP1NAeej.js → utils-Ction0uF.js} +1 -1
  269. package/dist/assets/video-CQJlht8Q.js +1 -0
  270. package/dist/assets/{viewer-store-BVsBGqdn.js → viewer-store--hIQLNm5.js} +1 -1
  271. package/dist/assets/voice-list-BMMz4e4M.js +1 -0
  272. package/dist/assets/voice-page-4AS-Fm6W.js +1 -0
  273. package/dist/assets/voice-providers-note-g4IBSHFm.js +1 -0
  274. package/dist/assets/{weather-forecast-display-JW8ecLNy.js → weather-forecast-display-Bg_OjY6Q.js} +1 -1
  275. package/dist/assets/web-BEtLqoWJ.js +1 -0
  276. package/dist/assets/web-C8NouSk8.js +1 -0
  277. package/dist/assets/web-Cv3bLSQ5.js +1 -0
  278. package/dist/assets/web-D82T2zyn.js +1 -0
  279. package/dist/assets/web-RKFLO25W.js +1 -0
  280. package/dist/assets/web-XmQWRS1M.js +1 -0
  281. package/dist/assets/web-ZsA8B5nq.js +1 -0
  282. package/dist/assets/web-s9eE6ZyC.js +1 -0
  283. package/dist/assets/{welcome-screen-D_DTupb3.js → welcome-screen-B-88csxO.js} +1 -1
  284. package/dist/assets/{workflow-detail-panel-DAVe3vEm.js → workflow-detail-panel-BNzNSNAT.js} +1 -1
  285. package/dist/assets/{workflow-store-C3g-qg1u.js → workflow-store-Cbd3x6KN.js} +1 -1
  286. package/dist/assets/workspace-page-b8SfI_28.js +1 -0
  287. package/dist/assets/{workspace-tree-query-D9VBUg-W.js → workspace-tree-query-CqcOBNKw.js} +1 -1
  288. package/dist/index.html +270 -229
  289. package/package.json +1 -1
  290. package/dist/assets/access-B_b48snn.js +0 -1
  291. package/dist/assets/activity-steps-panel-D8fAVo9_.js +0 -1
  292. package/dist/assets/ai-page-Dd-qECGn.js +0 -1
  293. package/dist/assets/api-BpGogBsg.js +0 -1
  294. package/dist/assets/api-Coj5enET.js +0 -1
  295. package/dist/assets/assistant-identity-store-6On4WZ62.js +0 -1
  296. package/dist/assets/auth-store-EmLZOAkN.js +0 -2
  297. package/dist/assets/avatar-random-DjmD5llT.js +0 -1
  298. package/dist/assets/billing-page-CbelI-Ui.js +0 -3
  299. package/dist/assets/browser-DvKwnK9l.js +0 -2
  300. package/dist/assets/build-state-C_Hy9WqC.js +0 -1
  301. package/dist/assets/channels-page-route-CiOtL1JY.js +0 -9
  302. package/dist/assets/chat-markdown-message-9ogr9-mn.js +0 -2
  303. package/dist/assets/checkout-continuation-DmIXoV4L.js +0 -1
  304. package/dist/assets/checkout-page-2Xr9vx27.js +0 -1
  305. package/dist/assets/checkout-return-target-DQBOhh64.js +0 -1
  306. package/dist/assets/command-palette-CzbYrcNM.js +0 -1
  307. package/dist/assets/command-palette-window-page-CHQdRfhu.js +0 -1
  308. package/dist/assets/consent-c8EJ3D2A.js +0 -1
  309. package/dist/assets/contacts-page-route-eTUOUhJL.js +0 -1
  310. package/dist/assets/conversation-list-fetchers-CavIngGf.js +0 -1
  311. package/dist/assets/conversation-queries-688XB7Bh.js +0 -1
  312. package/dist/assets/conversation-selection-Cx6Axfzb.js +0 -1
  313. package/dist/assets/credentials-page-da3G5EjN.js +0 -1
  314. package/dist/assets/debug-page-BElAND4u.js +0 -4
  315. package/dist/assets/developer-page-Ck66ks9T.js +0 -1
  316. package/dist/assets/document-viewer-container-Dxc95Z_9.js +0 -2
  317. package/dist/assets/esm-0ejhUWK7.js +0 -2
  318. package/dist/assets/esm-BPFGl7Zp.js +0 -2
  319. package/dist/assets/esm-C2uShH10.js +0 -2
  320. package/dist/assets/esm-CAByj-hK.js +0 -2
  321. package/dist/assets/esm-Cn1fOTtj.js +0 -2
  322. package/dist/assets/esm-Df-J9imF.js +0 -1
  323. package/dist/assets/esm-t0mP3xUe.js +0 -2
  324. package/dist/assets/eye-bbox-u0VzlPuw.js +0 -1
  325. package/dist/assets/feature-flag-catalog-CWB-r-Pj.js +0 -1
  326. package/dist/assets/file-editor-plAxQBKk.js +0 -1
  327. package/dist/assets/first-run-scope-Br96Z0Ol.js +0 -1
  328. package/dist/assets/general-page-mGY10EuY.js +0 -1
  329. package/dist/assets/get-memory-stats-CdA2IhkV.js +0 -1
  330. package/dist/assets/hatching-screen-DwNw31vj.js +0 -1
  331. package/dist/assets/home-page-route-B2ScoHEE.js +0 -1
  332. package/dist/assets/hosting-screen-DKijoYxW.js +0 -1
  333. package/dist/assets/identity-page-route-DD_U3Te5.js +0 -7
  334. package/dist/assets/impersonate-version-flag-Cad5-ZZv.js +0 -1
  335. package/dist/assets/index-BEpJ8S2b.js +0 -11
  336. package/dist/assets/index-UKZ4bO6i.css +0 -2
  337. package/dist/assets/integrations-page-BnPiOw9v.js +0 -1
  338. package/dist/assets/invalidate-memory-queries-D8VNhm2x.js +0 -1
  339. package/dist/assets/invalidate-plugin-queries-v7687-U8.js +0 -1
  340. package/dist/assets/list-row-BOvxGO5h.js +0 -1
  341. package/dist/assets/local-mode-BKousn41.js +0 -39
  342. package/dist/assets/login-page-BR42WUVt.js +0 -1
  343. package/dist/assets/machine-sizes-CT-fSRKD.js +0 -1
  344. package/dist/assets/memory-page-route-CW1Fgh6X.js +0 -2
  345. package/dist/assets/mutation-error-DoEwwcm3.js +0 -1
  346. package/dist/assets/native-anchor-BeAcmUWk.js +0 -1
  347. package/dist/assets/native-biometric-DUHF57O_.js +0 -6
  348. package/dist/assets/native-deep-link-D4jZANvf.js +0 -1
  349. package/dist/assets/native-file-CfGNNXKe.js +0 -2
  350. package/dist/assets/navigation-resolver-BIPJSTY5.js +0 -1
  351. package/dist/assets/open-workspace-file-AUDky4i4.js +0 -2
  352. package/dist/assets/page-empty-state-DTRXFoHj.js +0 -1
  353. package/dist/assets/panel-item-CQt19wOM.js +0 -1
  354. package/dist/assets/plans-page-GiIsWq7v.js +0 -1
  355. package/dist/assets/platform-detection-D1fBX4KG.js +0 -1
  356. package/dist/assets/plugins-surface-BGSKlIwH.js +0 -1
  357. package/dist/assets/privacy-screen-hSx7ZwqA.js +0 -1
  358. package/dist/assets/provider-key-B07UMm1T.js +0 -1
  359. package/dist/assets/provider-signup-page-BapnHqaW.js +0 -1
  360. package/dist/assets/provisioning-targets-epeYMPhZ.js +0 -1
  361. package/dist/assets/react-query.gen-9VRdubOj.js +0 -1
  362. package/dist/assets/react-query.gen-BeiAUt-2.js +0 -1
  363. package/dist/assets/research-onboarding-route-DpgbtSS0.js +0 -50
  364. package/dist/assets/resolved-assistants-store-FEmi1gGu.js +0 -1
  365. package/dist/assets/retire-confirm-dialog-CFJqb_EM.js +0 -1
  366. package/dist/assets/risk-RmzL2Rk_.js +0 -3
  367. package/dist/assets/routes-NQmj27cY.js +0 -23
  368. package/dist/assets/runtime-upgrade-banner-BM2b81eK.js +0 -2
  369. package/dist/assets/schedules-BMEs36wC.js +0 -1
  370. package/dist/assets/schedules-page-BkOE2joT.js +0 -1
  371. package/dist/assets/sdk.gen-DHJ7Pbqq.js +0 -1
  372. package/dist/assets/select-assistant-screen-S526udI9.js +0 -1
  373. package/dist/assets/semver-Ok0Hi8v9.js +0 -1
  374. package/dist/assets/settings-layout-DKr7K-B6.js +0 -1
  375. package/dist/assets/settings-navigation-ji_jJYq2.js +0 -1
  376. package/dist/assets/share-feedback-modal-GLBRzcZa.js +0 -1
  377. package/dist/assets/signup-page-C0y2CTKm.js +0 -1
  378. package/dist/assets/site-favicon-Dx98M-cB.js +0 -1
  379. package/dist/assets/subagent-detail-panel-Cvmfu7Ym.js +0 -4
  380. package/dist/assets/subagent-store-B2Uhma4F.js +0 -3
  381. package/dist/assets/superpowers-page-CPBz-c5i.js +0 -1
  382. package/dist/assets/tool-detail-panel-DyfiRoE5.js +0 -2
  383. package/dist/assets/transcript-message-body-shared-Cb89j7p1.js +0 -1
  384. package/dist/assets/use-assistant-avatar-BcObK2L0.js +0 -1
  385. package/dist/assets/use-assistant-identity-details-BdFppz9B.js +0 -1
  386. package/dist/assets/use-avatar-accent-var-rnSeYvBI.js +0 -1
  387. package/dist/assets/use-checkout-dismiss-refresh-wRSmB_TU.js +0 -1
  388. package/dist/assets/use-command-palette-sections-GAugkmjU.js +0 -1
  389. package/dist/assets/use-invite-link-dialog-yw1dtYd_.js +0 -1
  390. package/dist/assets/use-is-org-ready-BrKAc9Df.js +0 -1
  391. package/dist/assets/use-platform-gate-Cv2oOK8C.js +0 -1
  392. package/dist/assets/use-reduced-motion-D0Rb5Fd_.js +0 -1
  393. package/dist/assets/use-return-to-short-circuit-DEKlWitV.js +0 -1
  394. package/dist/assets/use-save-twilio-credentials-CecOWIyh.js +0 -1
  395. package/dist/assets/use-sticky-profiles-CdiEmubF.js +0 -1
  396. package/dist/assets/use-subagent-card-data-DJujXR76.js +0 -1
  397. package/dist/assets/use-supports-bookmarks-D4_-FkJA.js +0 -1
  398. package/dist/assets/use-supports-credentials-settings-CGDLraXI.js +0 -1
  399. package/dist/assets/utils-D8KOSvh3.js +0 -1
  400. package/dist/assets/video-BcgduiJ6.js +0 -1
  401. package/dist/assets/voice-list-DeqvOR_J.js +0 -1
  402. package/dist/assets/voice-page-Cas-WIf4.js +0 -1
  403. package/dist/assets/voice-picker-modal-D0K6miA1.js +0 -1
  404. package/dist/assets/web-BTtRunTK.js +0 -1
  405. package/dist/assets/web-Bd-5Eyoa.js +0 -1
  406. package/dist/assets/web-ByAAA1Mb.js +0 -1
  407. package/dist/assets/web-DFbI_g4o.js +0 -1
  408. package/dist/assets/web-DIn7jUpJ.js +0 -1
  409. package/dist/assets/web-DYQ0KCC4.js +0 -1
  410. package/dist/assets/web-Db-2E0qX.js +0 -1
  411. package/dist/assets/web-PfT3uNnR.js +0 -1
  412. package/dist/assets/workspace-page-Dq0z3-Rs.js +0 -1
  413. package/dist/assets/zoom-in-C96B1CNL.js +0 -1
  414. /package/dist/assets/{Combination-BRDRMC4m.js → Combination-C7TWRLS7.js} +0 -0
  415. /package/dist/assets/{api-errors-DHvv5HEN.js → api-errors-SZKDzMLE.js} +0 -0
  416. /package/dist/assets/{app-types-BnzWLsk5.js → app-types-o5Qc-xkK.js} +0 -0
  417. /package/dist/assets/{apple-logo-C3XrRC_i.js → apple-logo-Cg-KnqW2.js} +0 -0
  418. /package/dist/assets/{avatar-bundled-components-yyfTpx_l.js → avatar-bundled-components-CTd294ra.js} +0 -0
  419. /package/dist/assets/{avatar-subagent-Bpy9-0YN.js → avatar-subagent-BpXST4nO.js} +0 -0
  420. /package/dist/assets/{avatar-svg-compositor-DeuQqt-f.js → avatar-svg-compositor-DclcUb1M.js} +0 -0
  421. /package/dist/assets/{avatar-tone-BBZKSrBa.js → avatar-tone-4L7foPzW.js} +0 -0
  422. /package/dist/assets/{build.umd-CpQXlBwc.js → build.umd-oXvZOmIf.js} +0 -0
  423. /package/dist/assets/{chat-B9S7HTkM.js → chat-BIJEFb5u.js} +0 -0
  424. /package/dist/assets/{client.gen-DPP573hb.js → client.gen-DHOmbzD9.js} +0 -0
  425. /package/dist/assets/{create-selectors-B41BzcFF.js → create-selectors-B-P03-8K.js} +0 -0
  426. /package/dist/assets/{definitions-B2pe1hr8.js → definitions-BD-g60mP.js} +0 -0
  427. /package/dist/assets/{definitions-B6TMLvuT.js → definitions-CL6e7nYF.js} +0 -0
  428. /package/dist/assets/{dist-BbzsnMsY.js → dist-BKxs5XmY.js} +0 -0
  429. /package/dist/assets/{dist-CCFYMOVM.js → dist-CFSiz2ry2.js} +0 -0
  430. /package/dist/assets/{dist-BxvMAFS8.js → dist-CKLJHt4Z.js} +0 -0
  431. /package/dist/assets/{domains-BLQZqRIT.js → domains-OaR_FpOR.js} +0 -0
  432. /package/dist/assets/{edit-chat-session-DDnAzqkB.js → edit-chat-session-Beky6Vpg.js} +0 -0
  433. /package/dist/assets/{ellipsis-DnoqTkj4.js → ellipsis-BRJI5_P1.js} +0 -0
  434. /package/dist/assets/{emoji-catalog-data-DvjqmdH4.js → emoji-catalog-data-5pJaL_3N.js} +0 -0
  435. /package/dist/assets/{event-bus-DYZhc6yM.js → event-bus-CvZyJQ26.js} +0 -0
  436. /package/dist/assets/{external-link-CS0aVYGt.js → external-link-CAce-RVu.js} +0 -0
  437. /package/dist/assets/{external-urls-DIbR-npW.js → external-urls-97O9n0lb.js} +0 -0
  438. /package/dist/assets/{eye-BMVGQXHT.js → eye-DTyDWiqu.js} +0 -0
  439. /package/dist/assets/{eye-off-Jdx8qkOK.js → eye-off-fuOP4Lij.js} +0 -0
  440. /package/dist/assets/{file-code-BDHws4Dk.js → file-code-DD3K2kve.js} +0 -0
  441. /package/dist/assets/{file-plus-C3SBA8ll.js → file-plus-Dq2xo7Ic.js} +0 -0
  442. /package/dist/assets/{file-text-Br730Q4B.js → file-text-BCsUYVEF.js} +0 -0
  443. /package/dist/assets/{folder-DF8nFp7N.js → folder-g06qTW2O.js} +0 -0
  444. /package/dist/assets/{folder-open-Nlg0OphT.js → folder-open-CAb0DLYq.js} +0 -0
  445. /package/dist/assets/{format-date-BEAiOK8n.js → format-date-CKGQir4m.js} +0 -0
  446. /package/dist/assets/{format-file-size-BtDHBEb-.js → format-file-size-Eu-Z0CxL.js} +0 -0
  447. /package/dist/assets/{globe-CMtjL_s_.js → globe-BDvXuPkw.js} +0 -0
  448. /package/dist/assets/{hard-drive-DWFPKcXI.js → hard-drive-CncrDZ7V.js} +0 -0
  449. /package/dist/assets/{heart-789ajxtB.js → heart-2AHOP0tB.js} +0 -0
  450. /package/dist/assets/{inbox-B6TknLsk.js → inbox-DXYIwUrn.js} +0 -0
  451. /package/dist/assets/{info-vgPTIsGI.js → info-CYiVdnQV.js} +0 -0
  452. /package/dist/assets/{input-F_x2LXmm.js → input-C-GkeWCw.js} +0 -0
  453. /package/dist/assets/{is-electron-D-TCQRcE.js → is-electron-7N7iyz1y.js} +0 -0
  454. /package/dist/assets/{key-round-0Zop_GsZ.js → key-round-CSc3w5ka.js} +0 -0
  455. /package/dist/assets/{laptop-DSZhU52i.js → laptop-ByoaxLxg.js} +0 -0
  456. /package/dist/assets/{layout-grid-DA_CfD6d.js → layout-grid-PPpVK0nJ.js} +0 -0
  457. /package/dist/assets/{link-2-BKL8QWRX.js → link-2-BMNZFfWH.js} +0 -0
  458. /package/dist/assets/{link-BfUb7cwC.js → link-CowyzCIZ.js} +0 -0
  459. /package/dist/assets/{link-click-BIvzZsRn.js → link-click-BEiniqcG.js} +0 -0
  460. /package/dist/assets/{list-DNbTcxAh.js → list-CDyb1CGV.js} +0 -0
  461. /package/dist/assets/{loader-circle-XREx3i4W.js → loader-circle-BzJ2kz3F.js} +0 -0
  462. /package/dist/assets/{log-in-CqVJRYe-.js → log-in-Bhye1kwc.js} +0 -0
  463. /package/dist/assets/{log-out-B4hsBWnk.js → log-out-BLE632qu.js} +0 -0
  464. /package/dist/assets/{mail-CMdPNysl.js → mail-DABv3_Ue.js} +0 -0
  465. /package/dist/assets/{message-circle-BsH7vHtN.js → message-circle-gk_DFUIg.js} +0 -0
  466. /package/dist/assets/{message-square-text-D0Q7W58R.js → message-square-text-asdoy3SW.js} +0 -0
  467. /package/dist/assets/{message-square-CQGiY4zk.js → message-square-zCNXaHYX.js} +0 -0
  468. /package/dist/assets/{mic-xmDFUbCL.js → mic-DZrWtAAu.js} +0 -0
  469. /package/dist/assets/{minimize-2-CaXsUqSp.js → minimize-2-BR0ed4mI.js} +0 -0
  470. /package/dist/assets/{misc-CXDB4i-X.js → misc-CAQM4FGM.js} +0 -0
  471. /package/dist/assets/{monitor-B1y28fS1.js → monitor-B5vtTCxm.js} +0 -0
  472. /package/dist/assets/{moon-BJzODLTY.js → moon-DSdti3GO.js} +0 -0
  473. /package/dist/assets/{oauth-popup-BsYPnBq7.js → oauth-popup-Ql5xgtlO.js} +0 -0
  474. /package/dist/assets/{onboarding-step-layout-Do2o16kf.js → onboarding-step-layout-DGtbhZJb.js} +0 -0
  475. /package/dist/assets/{optimistic-lifecycle-Dxhc3mFf.js → optimistic-lifecycle-50vNA6dY.js} +0 -0
  476. /package/dist/assets/{paperclip-c8Xlrnx4.js → paperclip-DVE0scjU.js} +0 -0
  477. /package/dist/assets/{pdf-CRRXY5Nb.js → pdf-8fO1Wz7e.js} +0 -0
  478. /package/dist/assets/{pencil-D38YNe2r.js → pencil-CLJIvYKH.js} +0 -0
  479. /package/dist/assets/{play-B0-JEtcm.js → play-CCT817Ah.js} +0 -0
  480. /package/dist/assets/{plugin-attribution-ug-jMTXi.js → plugin-attribution-Hjqz10My.js} +0 -0
  481. /package/dist/assets/{plus-jH3kAliM.js → plus-JG7kWjHA.js} +0 -0
  482. /package/dist/assets/{pointer-DAyn_9jY.js → pointer-QlIwQKYH.js} +0 -0
  483. /package/dist/assets/{profile-metadata-EGAGq_rk.js → profile-metadata-BksFtHNq.js} +0 -0
  484. /package/dist/assets/{progress-bar-B64ghmWk.js → progress-bar-CJxkStgF.js} +0 -0
  485. /package/dist/assets/{public-asset-BoN50HP_.js → public-asset-CD3ouSWU.js} +0 -0
  486. /package/dist/assets/{puzzle-BVC3TGko.js → puzzle-CtM3jM-f.js} +0 -0
  487. /package/dist/assets/{refresh-cw-DzPnoeCh.js → refresh-cw-Ci7hSykC.js} +0 -0
  488. /package/dist/assets/{repeat-GCVYEp1h.js → repeat-CIQpv9Nd.js} +0 -0
  489. /package/dist/assets/{rotate-ccw-BjzeX7qz.js → rotate-ccw-Da_2DvhY.js} +0 -0
  490. /package/dist/assets/{sdk.gen-CtusrdLv.js → sdk.gen-DEFA-6EJ.js} +0 -0
  491. /package/dist/assets/{search-BVW-n8to.js → search-DA3TmTuR.js} +0 -0
  492. /package/dist/assets/{send-Q71Exj3z.js → send-DHWUIK7G.js} +0 -0
  493. /package/dist/assets/{settings-PGZ9c_uo.js → settings-DyEBEqeQ.js} +0 -0
  494. /package/dist/assets/{shield-B69p45Kq.js → shield-9aFTFyT9.js} +0 -0
  495. /package/dist/assets/{shield-check-C7I-REGg.js → shield-check-z7CU-gBq.js} +0 -0
  496. /package/dist/assets/{smartphone-zTfpbpuH.js → smartphone-BbK6bGuE.js} +0 -0
  497. /package/dist/assets/{sparkles-nPSxUfsO.js → sparkles-DC8kqYjt.js} +0 -0
  498. /package/dist/assets/{square-CRVB76KQ.js → square-Bn3X6ZlO.js} +0 -0
  499. /package/dist/assets/{status-badge-pill-CGODAHVT.js → status-badge-pill-ZNNoKV1T.js} +0 -0
  500. /package/dist/assets/{sun-DXlsFvWD.js → sun-BKEPYS7Q.js} +0 -0
  501. /package/dist/assets/{terminal-BvDcWAOW.js → terminal-Cs_TREv-.js} +0 -0
  502. /package/dist/assets/{three-dot-indicator-B_GPAioB.js → three-dot-indicator-CfjkCgEH.js} +0 -0
  503. /package/dist/assets/{toggle-B4nIp0sf.js → toggle-D776PTw-.js} +0 -0
  504. /package/dist/assets/{trash-2-BF5y4UkY.js → trash-2-De6X8YiM.js} +0 -0
  505. /package/dist/assets/{triangle-alert-Dq3v0coH.js → triangle-alert--e3n47gm.js} +0 -0
  506. /package/dist/assets/{typed-storage-CcMT-hWr.js → typed-storage-C-R1po3l.js} +0 -0
  507. /package/dist/assets/{use-copy-to-clipboard-VK_922zc.js → use-copy-to-clipboard-BarKTY4m.js} +0 -0
  508. /package/dist/assets/{user-KBQkOaB5.js → user-Dq9DUxnU.js} +0 -0
  509. /package/dist/assets/{user-plus-CsHAo9W6.js → user-plus-CXMJ1x_5.js} +0 -0
  510. /package/dist/assets/{users-C0mu7-R4.js → users-DWDkv8ju.js} +0 -0
  511. /package/dist/assets/{volume-2-DnyXryvu.js → volume-2-Bj3y3ZBJ.js} +0 -0
  512. /package/dist/assets/{workflow-CN4xwQpa.js → workflow-DbPANJpf.js} +0 -0
  513. /package/dist/assets/{workspace-theme-tokens-D8TTf-DX.js → workspace-theme-tokens-bLqHFK0a.js} +0 -0
  514. /package/dist/assets/{wrench-DDDwrNwL.js → wrench-tjOqvzJ2.js} +0 -0
  515. /package/dist/assets/{x-BGag7vwj.js → x-DuBvjmAE.js} +0 -0
  516. /package/dist/assets/{xterm-coCKWVob.js → xterm-Ip5qSQfD.js} +0 -0
  517. /package/dist/assets/{xterm-addon-fit-B1qPIPGd.js → xterm-addon-fit-BbxIpbO2.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./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-4PNA3XVR.js";import{o as f}from"./src-BAS7a2RG.js";import{t as p}from"./is-electron-7N7iyz1y.js";import{d as m}from"./routes-GmNvdtLW.js";import{n as h}from"./use-is-mobile-Cx2xnNUx.js";import{t as g}from"./use-edge-swipe-back-Dbz1hC9g.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};
@@ -0,0 +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{p as r}from"./native-biometric-CTR2Zi2w.js";import{d as i}from"./routes-GmNvdtLW.js";import{n as a,r as o}from"./login-flow-BnCQjNXm.js";import{t as s}from"./proxy-CNtrhN4q.js";import{t as c}from"./AnimatePresence-D23js3-M.js";import{t as l}from"./apple-logo-Cg-KnqW2.js";import{n as u,r as d,t as f}from"./use-return-to-short-circuit-B1mhvgIq.js";import{t as p}from"./signup-shell-CMXUBUal.js";var m=e(t(),1),h=n();function g({words:e}){let[t,n]=(0,m.useState)(0),r=(0,m.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,m.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,h.jsxs)(`span`,{className:`signup__rotating`,children:[(0,h.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,h.jsx)(c,{mode:`wait`,children:(0,h.jsxs)(s.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 _=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`];function v({returnTo:e}){let[t,n]=(0,m.useState)(null),i=o(e,{authIntent:`signup`});return(0,h.jsxs)(p,{children:[(0,h.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,h.jsx)(`br`,{}),(0,h.jsx)(g,{words:_})]}),(0,h.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,h.jsx)(`div`,{className:`signup__buttons`,children:(0,h.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{n(null),r(a,i,{returnTo:e,intent:`signup`}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Continue`})}),t&&(0,h.jsx)(`p`,{className:`signup__error`,children:t}),(0,h.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,h.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{n(null),r(a,o(e),{returnTo:e}).catch(e=>{console.error(`[signup] sign-in flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Sign in`})]}),(0,h.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,h.jsx)(l,{size:16}),`Download for macOS`]})]})}function y(){let e=f();return u(i.account.signup,e.kind===`proceed`),e.kind===`wait`?(0,h.jsx)(p,{children:(0,h.jsx)(d,{})}):e.kind===`redirect`?e.node:(0,h.jsx)(v,{returnTo:e.returnTo})}export{y 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-FjW-m05l.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-BLHTDn21.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-GmNvdtLW.js";import{St as F,un as I,wt as L}from"./react-query.gen-0mspArBl.js";import{n as ee}from"./use-is-mobile-Cx2xnNUx.js";import{t as te}from"./open-workspace-file-DYklNHQ0.js";import{t as R}from"./use-active-assistant-id-CjvzlL4t.js";import{n as z,t as B}from"./use-skill-detail-files-BVBb8uoK.js";import{n as V,r as ne,t as H}from"./skills-BL4RgwAd.js";import{t as U}from"./use-edge-swipe-back-Dbz1hC9g.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-8HQDfxZh.js";import{d as g}from"./routes-GmNvdtLW.js";import{St as _,ln as v}from"./react-query.gen-0mspArBl.js";import{t as y}from"./detail-shell-D9L3L7AM.js";import{n as b,t as x}from"./use-skill-detail-files-BVBb8uoK.js";import{n as S,r as C,t as w}from"./skills-BL4RgwAd.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-0mspArBl.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-GmNvdtLW.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-0mspArBl.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-CjvzlL4t.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};